<?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 MC56F84763 PWM and ADC Synchronizzation in Digital Signal Controllers</title>
    <link>https://community.nxp.com/t5/Digital-Signal-Controllers/MC56F84763-PWM-and-ADC-Synchronizzation/m-p/507704#M759</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear comunity, &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need support for solve a problem of syncronizzation between PWM and ADC.&lt;/P&gt;&lt;P&gt;In my application I use the DSP MC56F84763 and the PWM signal are generated according the center alligned method.&lt;/P&gt;&lt;P&gt;In my case the I can not use VAL0 register for to generate the synch between PWM and ADC.&lt;/P&gt;&lt;P&gt;On application note (AN4583) I have read that other method is to use a delay timer plus timer A3&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG style="color: #606060; text-decoration: underline;"&gt;This is my problem:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;the synchronization work properly but in two case the point of synchronization is moved:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1) When I use the jtag for debug operation, the point of synchronization is different and is moved when a breakpoint is reached.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2) When I modify the code the inizialization timing is modified and the poind of synchronization is changed.&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need support for solve this problems!!! &lt;SPAN aria-label="Shocked" class="emoticon-inline emoticon_shocked" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;reading this application note I write the following code:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//Crossbar configuration&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;//synch between delay timer PDB0 and Timer TA3&lt;/P&gt;&lt;P&gt;XBARA_SEL19 = 0x00&amp;lt;&amp;lt;CODE_1 | 0x27&amp;lt;&amp;lt;CODE_0;&lt;/P&gt;&lt;P&gt;//synch between Timer TA3 and ADC&lt;/P&gt;&lt;P&gt;XBARA_SEL6&amp;nbsp; = 0x00&amp;lt;&amp;lt;CODE_1 | 0x1C&amp;lt;&amp;lt;CODE_0;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//Timer A3 configuration&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;void timerA3_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_COMP1&amp;nbsp;&amp;nbsp; = 0x0032;&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; //Set Compare register 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_CMPLD1&amp;nbsp; = 0; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_COMP2&amp;nbsp;&amp;nbsp; = 0x186a - TMRA_3_COMP1 - 1; //Set Compare register 2 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_CMPLD2&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_CNTR&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_CTRL&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0b110&amp;lt;&amp;lt;CM | 0b1000&amp;lt;&amp;lt;PCS | 0b11&amp;lt;&amp;lt;SCS | 0&amp;lt;&amp;lt;ONCE | 1&amp;lt;&amp;lt;LENGTH | 0&amp;lt;&amp;lt;DIR | 0&amp;lt;&amp;lt;CO_INIT | 0b100&amp;lt;&amp;lt;OM; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_SCTRL&amp;nbsp;&amp;nbsp; = 0&amp;lt;&amp;lt;TCF | 0&amp;lt;&amp;lt;TCFIE | 0&amp;lt;&amp;lt;TOF | 0&amp;lt;&amp;lt;TOFIE | 0&amp;lt;&amp;lt;IEF | 0&amp;lt;&amp;lt;IEFIE | 0&amp;lt;&amp;lt;IPS | 0&amp;lt;&amp;lt;INPUT | 0b00&amp;lt;&amp;lt;CAPT_MODE | 0&amp;lt;&amp;lt;MSTR | 0&amp;lt;&amp;lt;EEOF | 0&amp;lt;&amp;lt;VAL | 0&amp;lt;&amp;lt;FORCE | 0&amp;lt;&amp;lt;OPS | 1&amp;lt;&amp;lt;OEN;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//delay PDB0 (the signal synchronization of pwm go on this delay timer)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;void PDB_0_init (void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_MCTRL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1&amp;lt;&amp;lt;PDBEN_PDB | 0b000&amp;lt;&amp;lt;TRIGSEL_PDB | 0&amp;lt;&amp;lt;CONT_PDB | 0&amp;lt;&amp;lt;LDOK_PDB | 0&amp;lt;&amp;lt;LDMOD_PDB | 0b000&amp;lt;&amp;lt;PRESCALER_PDB;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_MOD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 7000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_CTRLA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&amp;lt;&amp;lt;FLTA | 0&amp;lt;&amp;lt;FLTAEN | 0&amp;lt;&amp;lt;FPOLA | 0&amp;lt;&amp;lt;FLENA | 0&amp;lt;&amp;lt;DAF | 0&amp;lt;&amp;lt;DAIE | 0&amp;lt;&amp;lt;DBF | 0&amp;lt;&amp;lt;DBIE&amp;nbsp; | 0&amp;lt;&amp;lt;AINIT | 0&amp;lt;&amp;lt;ABSEL | 0&amp;lt;&amp;lt;BYPA | 0&amp;lt;&amp;lt;BYPB | 1&amp;lt;&amp;lt;ENA | 0&amp;lt;&amp;lt;ENB;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_DELAYA&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1600;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_MCTRL&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 1&amp;lt;&amp;lt;LDOK_PDB;&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;Thanks!!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 08 May 2016 18:41:13 GMT</pubDate>
    <dc:creator>liviotilotta</dc:creator>
    <dc:date>2016-05-08T18:41:13Z</dc:date>
    <item>
      <title>MC56F84763 PWM and ADC Synchronizzation</title>
      <link>https://community.nxp.com/t5/Digital-Signal-Controllers/MC56F84763-PWM-and-ADC-Synchronizzation/m-p/507704#M759</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear comunity, &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need support for solve a problem of syncronizzation between PWM and ADC.&lt;/P&gt;&lt;P&gt;In my application I use the DSP MC56F84763 and the PWM signal are generated according the center alligned method.&lt;/P&gt;&lt;P&gt;In my case the I can not use VAL0 register for to generate the synch between PWM and ADC.&lt;/P&gt;&lt;P&gt;On application note (AN4583) I have read that other method is to use a delay timer plus timer A3&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG style="color: #606060; text-decoration: underline;"&gt;This is my problem:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;the synchronization work properly but in two case the point of synchronization is moved:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1) When I use the jtag for debug operation, the point of synchronization is different and is moved when a breakpoint is reached.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2) When I modify the code the inizialization timing is modified and the poind of synchronization is changed.&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need support for solve this problems!!! &lt;SPAN aria-label="Shocked" class="emoticon-inline emoticon_shocked" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;reading this application note I write the following code:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//Crossbar configuration&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;//synch between delay timer PDB0 and Timer TA3&lt;/P&gt;&lt;P&gt;XBARA_SEL19 = 0x00&amp;lt;&amp;lt;CODE_1 | 0x27&amp;lt;&amp;lt;CODE_0;&lt;/P&gt;&lt;P&gt;//synch between Timer TA3 and ADC&lt;/P&gt;&lt;P&gt;XBARA_SEL6&amp;nbsp; = 0x00&amp;lt;&amp;lt;CODE_1 | 0x1C&amp;lt;&amp;lt;CODE_0;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//Timer A3 configuration&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;void timerA3_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_COMP1&amp;nbsp;&amp;nbsp; = 0x0032;&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; //Set Compare register 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_CMPLD1&amp;nbsp; = 0; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_COMP2&amp;nbsp;&amp;nbsp; = 0x186a - TMRA_3_COMP1 - 1; //Set Compare register 2 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_CMPLD2&amp;nbsp; = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_CNTR&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_CTRL&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0b110&amp;lt;&amp;lt;CM | 0b1000&amp;lt;&amp;lt;PCS | 0b11&amp;lt;&amp;lt;SCS | 0&amp;lt;&amp;lt;ONCE | 1&amp;lt;&amp;lt;LENGTH | 0&amp;lt;&amp;lt;DIR | 0&amp;lt;&amp;lt;CO_INIT | 0b100&amp;lt;&amp;lt;OM; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMRA_3_SCTRL&amp;nbsp;&amp;nbsp; = 0&amp;lt;&amp;lt;TCF | 0&amp;lt;&amp;lt;TCFIE | 0&amp;lt;&amp;lt;TOF | 0&amp;lt;&amp;lt;TOFIE | 0&amp;lt;&amp;lt;IEF | 0&amp;lt;&amp;lt;IEFIE | 0&amp;lt;&amp;lt;IPS | 0&amp;lt;&amp;lt;INPUT | 0b00&amp;lt;&amp;lt;CAPT_MODE | 0&amp;lt;&amp;lt;MSTR | 0&amp;lt;&amp;lt;EEOF | 0&amp;lt;&amp;lt;VAL | 0&amp;lt;&amp;lt;FORCE | 0&amp;lt;&amp;lt;OPS | 1&amp;lt;&amp;lt;OEN;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//delay PDB0 (the signal synchronization of pwm go on this delay timer)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;void PDB_0_init (void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_MCTRL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1&amp;lt;&amp;lt;PDBEN_PDB | 0b000&amp;lt;&amp;lt;TRIGSEL_PDB | 0&amp;lt;&amp;lt;CONT_PDB | 0&amp;lt;&amp;lt;LDOK_PDB | 0&amp;lt;&amp;lt;LDMOD_PDB | 0b000&amp;lt;&amp;lt;PRESCALER_PDB;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_MOD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 7000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_CTRLA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0&amp;lt;&amp;lt;FLTA | 0&amp;lt;&amp;lt;FLTAEN | 0&amp;lt;&amp;lt;FPOLA | 0&amp;lt;&amp;lt;FLENA | 0&amp;lt;&amp;lt;DAF | 0&amp;lt;&amp;lt;DAIE | 0&amp;lt;&amp;lt;DBF | 0&amp;lt;&amp;lt;DBIE&amp;nbsp; | 0&amp;lt;&amp;lt;AINIT | 0&amp;lt;&amp;lt;ABSEL | 0&amp;lt;&amp;lt;BYPA | 0&amp;lt;&amp;lt;BYPB | 1&amp;lt;&amp;lt;ENA | 0&amp;lt;&amp;lt;ENB;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_DELAYA&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1600;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB0_MCTRL&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 1&amp;lt;&amp;lt;LDOK_PDB;&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;Thanks!!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 08 May 2016 18:41:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Digital-Signal-Controllers/MC56F84763-PWM-and-ADC-Synchronizzation/m-p/507704#M759</guid>
      <dc:creator>liviotilotta</dc:creator>
      <dc:date>2016-05-08T18:41:13Z</dc:date>
    </item>
    <item>
      <title>Re: MC56F84763 PWM and ADC Synchronizzation</title>
      <link>https://community.nxp.com/t5/Digital-Signal-Controllers/MC56F84763-PWM-and-ADC-Synchronizzation/m-p/507705#M760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Livio,&lt;/P&gt;&lt;P&gt;Regarding your question, I think your scheme is too complicated. I think it is okay to use PWM triggering signal to trigger ADC directly via crossbar.&lt;/P&gt;&lt;P&gt;This is the scheme for example the PWMA_SM0_VAL0 can trigger ADC directly:&lt;/P&gt;&lt;P&gt;1)set the bit0 in PWMA_SM0TCTRL register.&lt;/P&gt;&lt;P&gt;2)set the XBAR_OUT12 bits with the code:&lt;/P&gt;&lt;P&gt;XBARA_SEL6 |=20; //the ADCA triggering source is XBAR_IN20, PWMA0_TRG0&lt;/P&gt;&lt;P&gt;it is okay, it is unnecessary to use quadTimer or PDB module.&lt;/P&gt;&lt;P&gt;Pls refer to the application note an4675(&lt;/P&gt;&lt;P&gt;Using eFlexPWM Module for ADC&lt;/P&gt;&lt;P&gt;Synchronization in MC56F82xx&lt;/P&gt;&lt;P&gt;and MC56F84xx Family of Digital&lt;/P&gt;&lt;P&gt;Signal Controllers&lt;/P&gt;&lt;P&gt;):&lt;/P&gt;&lt;P&gt;You can download an4675 from the website:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A class="jive-link-external-small" href="https://community.freescale.com/external-link.jspa?url=http%3A%2F%2Ftinyurl.com%2Fgwp4ug2" rel="nofollow" target="_blank"&gt;http://tinyurl.com/gwp4ug2&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;BTW, if you use complementary mode, if you use VAL2/VAL3 to control the rising/falling edge of PWM signal, VAL4 or VAL5 can be used to trigger ADC.&lt;/STRONG&gt;&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, 10 May 2016 04:00:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Digital-Signal-Controllers/MC56F84763-PWM-and-ADC-Synchronizzation/m-p/507705#M760</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2016-05-10T04:00:13Z</dc:date>
    </item>
  </channel>
</rss>

