<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic SCI baud rate,  PLL ? in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175766#M6138</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello again,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm able to send a receive the correct data using the below Initialization registers. My clock frequency is 4MHz and I'm using HCS12&lt;/P&gt;&lt;PRE&gt;void OpenSCI(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0BDL=0x68; /* 4000000/16/2400==&amp;gt;2400 bps 4MHz is Bus clock for crystal freq of 8MHz*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0BDH=0x00; /* 0x00 ==&amp;gt;0x0068 is divisor to produce 2400 bps */&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0CR2=0x2C; /* enable SCI, enable receive interrupt */}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem starts when I change the clock from 4MHz to 24MHz using PLL code below and try to send data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;void Set_Clock(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; CLKSEL &amp;amp;= 0x7F;&amp;nbsp;&amp;nbsp;&amp;nbsp; PLLCTL |= 0x40;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYNR&amp;nbsp; = 0x05;&amp;nbsp;&amp;nbsp;&amp;nbsp; REFDV = 0x01;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!(0x08 &amp;amp; CRGFLG));&amp;nbsp;&amp;nbsp;&amp;nbsp; CLKSEL |= 0x80;} void OpenSCI(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0BDL=0x71; /* 24000000/16/2400==&amp;gt;2400 bps 24MHz is Bus clock for crystal freq of 48MHz*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0BDH=0x02; /* 0x00,0x0271 is divisor to produce 2400 bps */&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0CR2=0x2C; /* enable SCI, enable receive interrupt */}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I can still send and receive data but its sending strange characters.&lt;/P&gt;&lt;P&gt;I think there's a problem with the baud rate. I have gone over the math and initialization and it looks correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any ideas as to why I'm getting random characters ??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Oct 2020 09:24:32 GMT</pubDate>
    <dc:creator>MO_84</dc:creator>
    <dc:date>2020-10-29T09:24:32Z</dc:date>
    <item>
      <title>SCI baud rate,  PLL ?</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175766#M6138</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello again,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm able to send a receive the correct data using the below Initialization registers. My clock frequency is 4MHz and I'm using HCS12&lt;/P&gt;&lt;PRE&gt;void OpenSCI(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0BDL=0x68; /* 4000000/16/2400==&amp;gt;2400 bps 4MHz is Bus clock for crystal freq of 8MHz*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0BDH=0x00; /* 0x00 ==&amp;gt;0x0068 is divisor to produce 2400 bps */&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0CR2=0x2C; /* enable SCI, enable receive interrupt */}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem starts when I change the clock from 4MHz to 24MHz using PLL code below and try to send data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;void Set_Clock(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; CLKSEL &amp;amp;= 0x7F;&amp;nbsp;&amp;nbsp;&amp;nbsp; PLLCTL |= 0x40;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYNR&amp;nbsp; = 0x05;&amp;nbsp;&amp;nbsp;&amp;nbsp; REFDV = 0x01;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!(0x08 &amp;amp; CRGFLG));&amp;nbsp;&amp;nbsp;&amp;nbsp; CLKSEL |= 0x80;} void OpenSCI(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0BDL=0x71; /* 24000000/16/2400==&amp;gt;2400 bps 24MHz is Bus clock for crystal freq of 48MHz*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0BDH=0x02; /* 0x00,0x0271 is divisor to produce 2400 bps */&amp;nbsp;&amp;nbsp;&amp;nbsp; SCI0CR2=0x2C; /* enable SCI, enable receive interrupt */}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I can still send and receive data but its sending strange characters.&lt;/P&gt;&lt;P&gt;I think there's a problem with the baud rate. I have gone over the math and initialization and it looks correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any ideas as to why I'm getting random characters ??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:24:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175766#M6138</guid>
      <dc:creator>MO_84</dc:creator>
      <dc:date>2020-10-29T09:24:32Z</dc:date>
    </item>
    <item>
      <title>Re: SCI baud rate,  PLL ?</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175767#M6139</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why don't you write whole SCIBD register at once, SCIBD = 0x271.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From baud rate register bits description:&lt;/P&gt;&lt;P&gt;-Writing to SCIBDH has no effect without writing to SCIBDL, since writing to SCIBDH puts the data in a&lt;BR /&gt;temporary location until SCIBDL is written to.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or,&amp;nbsp;what you write to SCIBDH is ignored until you write to SCIBDL. Looking at you code it seems that SCI module sees SCIBD=0x71, which is about 13kbps at 24MHz bus. You may check that with scope.&lt;FONT face="Helvetica" size="1"&gt;&lt;FONT face="Helvetica" size="1"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 13:11:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175767#M6139</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2011-01-13T13:11:20Z</dc:date>
    </item>
    <item>
      <title>Re: SCI baud rate,  PLL ?</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175768#M6140</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm still can't see where the problem is.&lt;/P&gt;&lt;P&gt;The code does what you say.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;first it writes to SCIBDL and then to SCIBDH.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So I don't see how SCIBDH is engnored since it is written to after SCIBDL.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 14:22:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175768#M6140</guid>
      <dc:creator>MO_84</dc:creator>
      <dc:date>2011-01-13T14:22:48Z</dc:date>
    </item>
    <item>
      <title>Re: SCI baud rate,  PLL ?</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175769#M6141</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As kef says, the recommended way is to write SCIBD as a word, but if you want to write it as two bytes, you must write SCIBDH first and then SCIBDL, otherways the write of SCIBDH is ignored.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sten&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 14:54:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175769#M6141</guid>
      <dc:creator>Sten</dc:creator>
      <dc:date>2011-01-13T14:54:05Z</dc:date>
    </item>
    <item>
      <title>Re: SCI baud rate,  PLL ?</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175770#M6142</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ok. that fixed the problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks Kef and Sten for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Its much appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Mo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jan 2011 03:07:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/SCI-baud-rate-PLL/m-p/175770#M6142</guid>
      <dc:creator>MO_84</dc:creator>
      <dc:date>2011-01-14T03:07:04Z</dc:date>
    </item>
  </channel>
</rss>

