<?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>Kinetis Software Development KitのトピックRe: K02 Clock Manager Setup</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492374#M4480</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, An,&lt;/P&gt;&lt;P&gt;At the time being, I think you have to know the exact clock frequency of the core/system clock. There is a pin &lt;/P&gt;&lt;P&gt;PTC3/CMP1_IN1/SPI0_PCS1/UART1_RX/FTM0_CH2/CLKOUT&lt;/P&gt;&lt;P&gt;you can use the code and hook the scope to PTC3 to test the flash clock.&lt;/P&gt;&lt;P&gt;//enable PORTC clock&lt;/P&gt;&lt;P&gt;SIM_SCGC5|=0x800;&lt;/P&gt;&lt;P&gt;PORTC_PCR3&amp;amp;=~(0x700);&lt;/P&gt;&lt;P&gt;PORTC_PCR3|=5&amp;lt;&amp;lt;8;&lt;/P&gt;&lt;P&gt;SIM_SOPT2|=2&amp;lt;&amp;lt;5; //CLKOUT output flash clock&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//checking the SIM_CLKDIV1 register&amp;nbsp; setting, you can figure out out the core/system clock, the core/system clock drive the UART module for K0&lt;/P&gt;&lt;P&gt;Hope it can help you.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 03 May 2016 09:09:08 GMT</pubDate>
    <dc:creator>xiangjunrong</dc:creator>
    <dc:date>2016-05-03T09:09:08Z</dc:date>
    <item>
      <title>K02 Clock Manager Setup</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492372#M4478</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Our design is using an 16 Mhz external crystal for the K02.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm setting the clock manger for SystemCoreClock = 80000000 (80 MHz) with the following parameters:&lt;/P&gt;&lt;P&gt;const clock_manager_user_config_t g_defaultClockConfig =&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .mcgConfig =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .mcg_mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = kMcgModeFEE,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .irclkEnable&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = true,&amp;nbsp; // MCGIRCLK enable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .irclkEnableInStop&amp;nbsp; = false, // MCGIRCLK disable in STOP mode.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ircs&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; = kMcgIrcSlow, // Select IRC32k.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .fcrdiv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0U,&amp;nbsp;&amp;nbsp;&amp;nbsp; // FCRDIV is 0.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .frdiv&amp;nbsp;&amp;nbsp; = 4U,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .drs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = kMcgDcoRangeSelLow,&amp;nbsp; // Low frequency range&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .dmx32&amp;nbsp;&amp;nbsp; = kMcgDmx32Default,&amp;nbsp;&amp;nbsp;&amp;nbsp; // DCO has a default range of 25%&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .oscsel&amp;nbsp; = kMcgOscselOsc,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Select OSC&lt;/P&gt;&lt;P&gt;#if FSL_FEATURE_MCG_HAS_PLL1&amp;nbsp; /* There are NO PLL on K02 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pll0EnableInFllMode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = false,&amp;nbsp; // PLL0 disable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pll0EnableInStop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = false,&amp;nbsp; // PLL0 disalbe in STOP mode&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .prdiv0&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x1U,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .vdiv0&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x6U,&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .simConfig =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pllFllSel = kClockPllFllSelFll,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .er32kSrc&amp;nbsp; = kClockEr32kSrcOsc0,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .outdiv1&amp;nbsp;&amp;nbsp; = 0U,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .outdiv2&amp;nbsp;&amp;nbsp; = 1U,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .outdiv3&amp;nbsp;&amp;nbsp; = 3U,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .outdiv4&amp;nbsp;&amp;nbsp; = 4U,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .oscerConfig =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .enable&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = true,&amp;nbsp; // OSCERCLK enable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .enableInStop = false, // OSCERCLK disable in STOP mode.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .erclkDiv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0U,&amp;nbsp;&amp;nbsp;&amp;nbsp; // OSCERCLK divider setting.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Our UART driver module is not reading the proper characters from our device.&amp;nbsp; This configuration is from the K02 Reference Manual.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="148363_148363.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/121520i8EEB4C784713225D/image-size/large?v=v2&amp;amp;px=999" role="button" title="148363_148363.png" alt="148363_148363.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_6.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/56408iDF3FDF42B6D2070F/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_6.png" alt="pastedImage_6.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 May 2016 20:56:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492372#M4478</guid>
      <dc:creator>anbui</dc:creator>
      <dc:date>2016-05-02T20:56:57Z</dc:date>
    </item>
    <item>
      <title>Re: K02 Clock Manager Setup</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492373#M4479</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The OSC0 configuratation:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; osc_user_config_t osc0Config =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .freq&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; = OSC0_XTAL_FREQ,&amp;nbsp; // 16000000U&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .hgo&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; = MCG_HGO0,&amp;nbsp; //kOscGainLow&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .range&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; = MCG_RANGE0,&amp;nbsp; //kOscRangeVeryHigh&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .erefs&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; = MCG_EREFS0,&amp;nbsp; // kOscSrcOsc&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .enableCapacitor2p&amp;nbsp;&amp;nbsp; = OSC0_SC2P_ENABLE_CONFIG,&amp;nbsp; //false&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .enableCapacitor4p&amp;nbsp;&amp;nbsp; = OSC0_SC4P_ENABLE_CONFIG,&amp;nbsp; //false&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .enableCapacitor8p&amp;nbsp;&amp;nbsp; = OSC0_SC8P_ENABLE_CONFIG,&amp;nbsp; //false&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .enableCapacitor16p&amp;nbsp; = OSC0_SC16P_ENABLE_CONFIG,&amp;nbsp; //false&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 May 2016 21:43:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492373#M4479</guid>
      <dc:creator>anbui</dc:creator>
      <dc:date>2016-05-02T21:43:34Z</dc:date>
    </item>
    <item>
      <title>Re: K02 Clock Manager Setup</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492374#M4480</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, An,&lt;/P&gt;&lt;P&gt;At the time being, I think you have to know the exact clock frequency of the core/system clock. There is a pin &lt;/P&gt;&lt;P&gt;PTC3/CMP1_IN1/SPI0_PCS1/UART1_RX/FTM0_CH2/CLKOUT&lt;/P&gt;&lt;P&gt;you can use the code and hook the scope to PTC3 to test the flash clock.&lt;/P&gt;&lt;P&gt;//enable PORTC clock&lt;/P&gt;&lt;P&gt;SIM_SCGC5|=0x800;&lt;/P&gt;&lt;P&gt;PORTC_PCR3&amp;amp;=~(0x700);&lt;/P&gt;&lt;P&gt;PORTC_PCR3|=5&amp;lt;&amp;lt;8;&lt;/P&gt;&lt;P&gt;SIM_SOPT2|=2&amp;lt;&amp;lt;5; //CLKOUT output flash clock&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//checking the SIM_CLKDIV1 register&amp;nbsp; setting, you can figure out out the core/system clock, the core/system clock drive the UART module for K0&lt;/P&gt;&lt;P&gt;Hope it can help you.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 May 2016 09:09:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492374#M4480</guid>
      <dc:creator>xiangjunrong</dc:creator>
      <dc:date>2016-05-03T09:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: K02 Clock Manager Setup</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492375#M4481</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi An,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Xiangjun Rong has good suggestion.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;What development tools are you using?&amp;nbsp; KDS_3.2 + KSDK_v2 ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Have you downloaded the KSDK_v2 for the K02 device?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;It has a example to allow playing with clock:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;C:\NXP\KSDK_v2\SDK_2.0_MK02FN128xxx10\boards\frdmk22f\driver_examples\mcg\fee_blpe\kds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;David &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 May 2016 20:16:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492375#M4481</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2016-05-03T20:16:30Z</dc:date>
    </item>
    <item>
      <title>Re: K02 Clock Manager Setup</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492376#M4482</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Muxing the flash clock out to PTC3 gave us the following results with:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;.mcgConfig.&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;drs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = kMcgDcoRangeSelMidHigh, // 12Mhz = 60 Mhz &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;SystemCoreClock &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;.mcgConfig.&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;drs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = kMcgDcoRangeSelHigh, // 16Mhz&amp;nbsp; = 80 Mhz &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;SystemCoreClock.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;We went with &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;kMcgDcoRangeSelHigh to get us the 80 Mhz frequency.&amp;nbsp; We continued with out testing on the UART and the data received match what was expected.&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;We moved on to the SPI module to continue our hardware verification.&amp;nbsp; The SPI is configured as followed:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; userConfig.isChipSelectContinuous = false;&lt;/P&gt;&lt;P&gt;&amp;nbsp; userConfig.isSckContinuous&amp;nbsp; = false;&lt;/P&gt;&lt;P&gt;&amp;nbsp; userConfig.pcsPolarity&amp;nbsp; = kDspiPcs_ActiveLow;&lt;/P&gt;&lt;P&gt;&amp;nbsp; userConfig.whichCtar&amp;nbsp; = kDspiCtar0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; userConfig.whichPcs&amp;nbsp; = kDspiPcs0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spiDevice.dataBusConfig.bitsPerFrame = 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spiDevice.dataBusConfig.clkPhase = kDspiClockPhase_FirstEdge;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spiDevice.dataBusConfig.clkPolarity&amp;nbsp; = kDspiClockPolarity_ActiveHigh;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spiDevice.dataBusConfig.direction = kDspiMsbFirst;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spiDevice.bitsPerSec = 100000;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We transfer 28 bytes / transfer with DSPI_DRV_MasterTransferBlocking();&lt;/P&gt;&lt;P&gt;The clock between bits( 8 &amp;amp; 9, 16 &amp;amp; 17, 24 &amp;amp; 25 .....) does not allow enough setup.&amp;nbsp; Exactly every 8 bits, the duty cycle for the SCLK is invalid.&amp;nbsp; However, if we changer the baudrate from 100khz to 3 Mhz, there is a much larger delay of the SCLK. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 May 2016 22:23:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492376#M4482</guid>
      <dc:creator>anbui</dc:creator>
      <dc:date>2016-05-06T22:23:34Z</dc:date>
    </item>
    <item>
      <title>Re: K02 Clock Manager Setup</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492377#M4483</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi An,&lt;/P&gt;&lt;P&gt;From the code provide I can see (correct me if wrong) that you are using KSDK_1.3.&amp;nbsp; Correct?&lt;/P&gt;&lt;P&gt;If you look at the following example as reference:&lt;/P&gt;&lt;P&gt;C:\Freescale\KSDK_1.3.0\examples\frdmk22f\driver_examples\dspi\dspi_polling\master\kds &lt;/P&gt;&lt;P&gt;You will see in the main() in main.c for setting up the SPI Master there is a HAL call to set various delays:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Initialize the configurable delays: PCS-to-SCK, prescaler = 0, scaler = 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DSPI_HAL_SetDelay(dspiBaseAddr, kDspiCtar0, 0, 1, kDspiPcsToSck);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The fsl_dspi_hal.h header has following information:&lt;/P&gt;&lt;P&gt;/*!&lt;/P&gt;&lt;P&gt; * @brief Manually configures the delay prescaler and scaler for a particular CTAR.&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * This function configures the PCS to SCK delay pre-scalar (PCSSCK) and scalar (CSSCK),&lt;/P&gt;&lt;P&gt; * after SCK delay pre-scalar (PASC) and scalar (ASC), and the delay&lt;/P&gt;&lt;P&gt; * after transfer pre-scalar (PDT)and scalar (DT).&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * These delay names are available in type dspi_delay_type_t.&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * The user passes which delay they want to configure along with the prescaler and scaler value.&lt;/P&gt;&lt;P&gt; * This&amp;nbsp; allows the user to directly set the prescaler/scaler values if they have&lt;/P&gt;&lt;P&gt; * pre-calculated them or if they simply wish to manually increment either value.&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * @param base Module base pointer of type SPI_Type.&lt;/P&gt;&lt;P&gt; * @param whichCtar The desired Clock and Transfer Attributes Register (CTAR) of type&lt;/P&gt;&lt;P&gt; *&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;&amp;nbsp; dspi_ctar_selection_t.&lt;/P&gt;&lt;P&gt; * @param prescaler The prescaler delay value (can be an integer 0, 1, 2, or 3).&lt;/P&gt;&lt;P&gt; * @param scaler The scaler delay value (can be any integer between 0 to 15).&lt;/P&gt;&lt;P&gt; * @param whichDelay The desired delay to configure, must be of type dspi_delay_type_t&lt;/P&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;void DSPI_HAL_SetDelay(SPI_Type * base, dspi_ctar_selection_t whichCtar, uint32_t prescaler,&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t scaler, dspi_delay_type_t whichDelay);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The fsl_dspi_hal.c has the following:&lt;/P&gt;&lt;P&gt;/*FUNCTION**********************************************************************&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * Function Name : DSPI_HAL_SetDelay&lt;/P&gt;&lt;P&gt; * Description&amp;nbsp;&amp;nbsp; : Manually configures the delay prescaler and scaler for a particular CTAR.&lt;/P&gt;&lt;P&gt; * This function configures the:&lt;/P&gt;&lt;P&gt; * PCS to SCK delay pre-scalar (PCSSCK) and scalar (CSSCK),&lt;/P&gt;&lt;P&gt; * After SCK delay pre-scalar (PASC) and scalar (ASC),&lt;/P&gt;&lt;P&gt; * Delay after transfer pre-scalar (PDT)and scalar (DT).&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * These delay names are available in type dspi_delay_type_t.&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * The user passes which delay they want to configure along with the prescaler and scaler value.&lt;/P&gt;&lt;P&gt; * This basically allows the user to directly set the prescaler/scaler values if they have&lt;/P&gt;&lt;P&gt; * pre-calculated them or if they simply wish to manually increment either value.&lt;/P&gt;&lt;P&gt; *END**************************************************************************/&lt;/P&gt;&lt;P&gt;void DSPI_HAL_SetDelay(SPI_Type * base, dspi_ctar_selection_t whichCtar, uint32_t prescaler,&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t scaler, dspi_delay_type_t whichDelay)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* these settings are only relevant in master mode */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((bool)SPI_RD_MCR_MSTR(base))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (whichDelay == kDspiPcsToSck)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_BWR_CTAR_PCSSCK(base, whichCtar, prescaler);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_BWR_CTAR_CSSCK(base, whichCtar, scaler);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (whichDelay == kDspiLastSckToPcs)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_BWR_CTAR_PASC(base, whichCtar, prescaler);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_BWR_CTAR_ASC(base, whichCtar, scaler);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (whichDelay == kDspiAfterTransfer)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_BWR_CTAR_PDT(base, whichCtar, prescaler);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_BWR_CTAR_DT(base, whichCtar, scaler);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From the "C" code it shows there are 3 delays you can tune.&amp;nbsp; The example code is only adjusting the "kDspiPcsToSck" delay but you can also add in calls to the "kDspiLastSckToPcs", and "kDspiAfterTransfer".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now if you want the code to calculate the nears possible delay value(s) there is a function to review as well:&lt;/P&gt;&lt;P&gt;/*!&lt;/P&gt;&lt;P&gt; * @brief Calculates the delay prescaler and scaler based on the desired delay input in nanoseconds.&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * This function calculates the values for:&lt;/P&gt;&lt;P&gt; * PCS to SCK delay pre-scalar (PCSSCK) and scalar (CSSCK), or&lt;/P&gt;&lt;P&gt; * After SCK delay pre-scalar (PASC) and scalar (ASC), or&lt;/P&gt;&lt;P&gt; * Delay after transfer pre-scalar (PDT)and scalar (DT).&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * These delay names are available in type dspi_delay_type_t.&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * The user passes which delay they want to configure along with the desired delay value in&lt;/P&gt;&lt;P&gt; * nanoseconds.&amp;nbsp; The function calculates the values needed for the prescaler and scaler and&lt;/P&gt;&lt;P&gt; * returning the actual calculated delay as an exact delay match may not be possible. In this&lt;/P&gt;&lt;P&gt; * case, the closest match is calculated without going below the desired delay value input.&lt;/P&gt;&lt;P&gt; * It is possible to input a very large delay value that exceeds the capability of the part, in&lt;/P&gt;&lt;P&gt; * which case the maximum supported delay is returned. It is to the higher level&lt;/P&gt;&lt;P&gt; * peripheral driver to alert the user of an out of range delay input.&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; * @param base Module base pointer of type SPI_Type.&lt;/P&gt;&lt;P&gt; * @param whichCtar The desired Clock and Transfer Attributes Register (CTAR) of type&lt;/P&gt;&lt;P&gt; *&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;&amp;nbsp; dspi_ctar_selection_t.&lt;/P&gt;&lt;P&gt; * @param whichDelay The desired delay to configure, must be of type dspi_delay_type_t&lt;/P&gt;&lt;P&gt; * @param sourceClockInHz Module source input clock in Hertz&lt;/P&gt;&lt;P&gt; * @param delayInNanoSec The desired delay value in nanoseconds.&lt;/P&gt;&lt;P&gt; * @return The actual calculated delay value.&lt;/P&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;uint32_t DSPI_HAL_CalculateDelay(SPI_Type * base, dspi_ctar_selection_t whichCtar,&lt;/P&gt;&lt;P&gt;&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;&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; dspi_delay_type_t whichDelay, uint32_t sourceClockInHz,&lt;/P&gt;&lt;P&gt;&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;&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; uint32_t delayInNanoSec);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In summary I think the dspi_blocking_example_master_frdmk22f example is setting up the Driver with default delays.&amp;nbsp; Using the polling example to see how using HAL function calls to setup delays, should allow you to tune the SPI interface for your application.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 May 2016 19:43:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/K02-Clock-Manager-Setup/m-p/492377#M4483</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2016-05-09T19:43:16Z</dc:date>
    </item>
  </channel>
</rss>

