<?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>MPC5xxxのトピックRe: [MPC5553] Can't Read Z-pulse of Encoder with eTPU QD function</title>
    <link>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652015#M6840</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks to your comment :smileygrin:&lt;/P&gt;&lt;P&gt;Um... I think that's configuration is right.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I made the virtual signals using PWM of another board (TRK-MPC5604P). The signals have 25Hz, 0 to 5 [V], and 90 degree of phase &amp;nbsp;difference. Z-pulse is recieved at once per 64 pulses (Both A and B have 64-pulses per 1 revolution). And Z-pulse is coming when A and B are high. I checked by oscilloscope&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;&lt;STRONG&gt;&lt;EM&gt;.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;I attached my test projects.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;If you check my projects, I really appreciate.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;Thanks.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;&lt;STRONG&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 03 Jan 2017 03:11:25 GMT</pubDate>
    <dc:creator>limheesun</dc:creator>
    <dc:date>2017-01-03T03:11:25Z</dc:date>
    <item>
      <title>[MPC5553] Can't Read Z-pulse of Encoder with eTPU QD function</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652013#M6838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello. I have a question.&lt;/P&gt;&lt;P&gt;I have to use the qd function of eTPU for Encoder Signals&lt;/P&gt;&lt;P&gt;I used 10, 11, 12 channel of eTPU_A for A(primary), B(secondary), Z(index) pulse and c-files that compiled on NXP site.&lt;/P&gt;&lt;P&gt;The Result, Position Counter using A and B Pulse was increasing well. But the Revolution Counter wasn't increasing and Position Counter &amp;nbsp;cannot be&amp;nbsp; reset by Index(Z pulse).&lt;/P&gt;&lt;P&gt;When I saw IPS bit of 12 channel using&amp;nbsp;Trace32, IPS bit have correct behavior when the signal come in.&lt;/P&gt;&lt;P&gt;So, I saw the memory of RC and the value was zero.&lt;/P&gt;&lt;P&gt;I can't understand why it doesn't working well.&lt;/P&gt;&lt;P&gt;Please, Check my code.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;etpu initializing function in etpu_gct.c&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;int32_t my_system_etpu_init()&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int32_t err_code;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/*&amp;nbsp;Initialization of eTPU global settings*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;fs_etpu_init( my_etpu_config, (uint32_t *)etpu_code, sizeof(etpu_code),&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; (uint32_t *)etpu_globals, sizeof(etpu_globals));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/*&amp;nbsp;Initialization of eTPU channel settings*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/*&amp;nbsp;eTPU API Function initialization: 'QD - Quadrature Decoder'*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt; err_code = fs_etpu_qd_init (QD0_PRIMARY, &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;/* engine: A; channel: 10 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;ETPU_CHAN_NOT_USED, /* This channel is not used */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;QD0_INDEX, &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;/* engine: A; channel: 12 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;FS_ETPU_QD_PRIM_SEC_INDEX, /* Index, primary and secondary. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;FS_ETPU_PRIORITY_HIGH, /* priority: High */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;FS_ETPU_QD_CONFIGURATION_1, /* configuration: Both QD pins are 1 when the &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; &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;INDEX is &amp;nbsp;reached. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;FS_ETPU_TCR1, /* timer: FS_ETPU_TCR1 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;0, /* pc_max: 0 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;0, /* slow_normal_threshold: 0 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;0, /* normal_slow_threshold: 0 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;0, /* normal_fast_threshold: 0 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;0, /* fast_normal_threshold: 0 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;0, /* window_ratio1: 0 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;0, /* window_ratio2: 0 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;FS_ETPU_QD_HOME_TRANS_LOW_HIGH, /* home_transition: Detection of low-high &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;&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;&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;&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; transition. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FS_ETPU_QD_INDEX_PULSE_POSITIVE, /* index_pulse: Index pulse of positive &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; &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; polarity. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;&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;FS_ETPU_QD_INDEX_PC_RESET, /* index_pc_reset: Position Counter is reset on Index &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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; transition. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;FS_ETPU_QD_ETPU_A_TCR1_FREQ, /* etpu_tcr_freq: frequency of eTPU engine A - &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; &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;TCR1 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&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;256); /* pc_per_rev: 0 */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;if (err_code != 0)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; return ((QD0_PRIMARY) + 1);&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And then I called this function in main.c&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Next,&lt;/P&gt;&lt;P&gt;Channel is defined in etpu_gct.h&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; **************************************************************************/&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define QD0_PRIMARY ETPU_ENGINE_A_CHANNEL(10)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define QD0_SECONDARY ETPU_ENGINE_A_CHANNEL(11)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define QD0_INDEX ETPU_ENGINE_A_CHANNEL(12)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And etpu_qd_auto.h&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/****************************************************************&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;* Function Configuration Information.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;****************************************************************/&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define FS_ETPU_QD_FUNCTION_NUMBER 0 &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define FS_ETPU_QD_TABLE_SELECT 1 &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define FS_ETPU_QD_NUM_PARMS 0x0040&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;#define FS_ETPU_QD_INDEX_FUNCTION_NUMBER 1 &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define FS_ETPU_QD_INDEX_TABLE_SELECT 0 &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define FS_ETPU_QD_INDEX_NUM_PARMS 0x0040&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/****************************************************************&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;* Host Service Request Definitions.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;****************************************************************/&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define FS_ETPU_QD_INIT 1 &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#define FS_ETPU_QD_INDEX_INIT 1 &lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And I used the API of qd function in main interrupt rountine.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; if(enablesw)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fs_etpu_qd_enable(QD0_PRIMARY,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETPU_CHAN_NOT_USED,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;QD0_INDEX,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FS_ETPU_QD_PRIM_SEC_INDEX,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FS_ETPU_PRIORITY_HIGH);&lt;/STRONG&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enablesw = 0;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; }&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;mnew2&amp;nbsp;= fs_etpu_qd_get_pc(QD0_PRIMARY);&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; dirEnc = fs_etpu_qd_get_direction(QD0_PRIMARY);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; EncZCnt = fs_etpu_qd_get_rc(QD0_PRIMARY);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;testEnc = fs_etpu_qd_get_pc_sc(QD0_PRIMARY);&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And PCR register of 10,11,12 channels initialized&amp;nbsp;in main.c&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SIU.PCR[124].R = 0x0500; // Configure pad for signal ETPU_A[10] input &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; SIU.PCR[125].R = 0x0500; // Configure pad for signal ETPU_A[11] input &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; SIU.PCR[126].R = 0x0500; // Configure pad for signal ETPU_A[12] input&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In addition, when I saw this project's behavior on Trace32, 'dirEnc' that have the direction information is toggle sometimes.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I attached a capture below.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I need help and I'll appreciate your help. Please.&lt;/P&gt;&lt;P&gt;Thank you. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-338376"&gt;Encoder_with_Zpulse_Example.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-338376"&gt;Example_PWM2Encoder_MPC5604.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Dec 2016 09:25:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652013#M6838</guid>
      <dc:creator>limheesun</dc:creator>
      <dc:date>2016-12-30T09:25:17Z</dc:date>
    </item>
    <item>
      <title>Re: [MPC5553] Can't Read Z-pulse of Encoder with eTPU QD function</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652014#M6839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don’t see anything obvious. Do you have right configuration fitting to you sensor (I mean FS_ETPU_QD_CONFIGURATION_0/1) ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jan 2017 14:04:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652014#M6839</guid>
      <dc:creator>davidtosenovjan</dc:creator>
      <dc:date>2017-01-02T14:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: [MPC5553] Can't Read Z-pulse of Encoder with eTPU QD function</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652015#M6840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks to your comment :smileygrin:&lt;/P&gt;&lt;P&gt;Um... I think that's configuration is right.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I made the virtual signals using PWM of another board (TRK-MPC5604P). The signals have 25Hz, 0 to 5 [V], and 90 degree of phase &amp;nbsp;difference. Z-pulse is recieved at once per 64 pulses (Both A and B have 64-pulses per 1 revolution). And Z-pulse is coming when A and B are high. I checked by oscilloscope&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;&lt;STRONG&gt;&lt;EM&gt;.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;I attached my test projects.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;If you check my projects, I really appreciate.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;Thanks.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #6a6a6a;"&gt;&lt;STRONG&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jan 2017 03:11:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652015#M6840</guid>
      <dc:creator>limheesun</dc:creator>
      <dc:date>2017-01-03T03:11:25Z</dc:date>
    </item>
    <item>
      <title>Re: [MPC5553] Can't Read Z-pulse of Encoder with eTPU QD function</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652016#M6841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have tried to connect TRK-MPC5604P with your QD simulating software, but I dont see QD-like signal. You you only one phase toggling, you are changing the line by button.&lt;/P&gt;&lt;P&gt;Quadrature decoder in fact generates two signals like on the picture below:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/4118iA572FAF75AE819C2/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Apparently you will have to modify the code on the TRK-MPC5604P side to have both lines toggling with different phases.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jan 2017 09:39:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652016#M6841</guid>
      <dc:creator>davidtosenovjan</dc:creator>
      <dc:date>2017-01-03T09:39:40Z</dc:date>
    </item>
    <item>
      <title>Re: [MPC5553] Can't Read Z-pulse of Encoder with eTPU QD function</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652017#M6842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank your comment. But I think, there are right signals of phase A and B generated on&amp;nbsp;TRK-MPC5604P.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void intc_U_Center(void)&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;FLEXPWM_0.SUB[0].STS.B.CMPF = 1;&lt;BR /&gt; &lt;BR /&gt; SW=SIU.GPDI[48].R;&lt;BR /&gt; &lt;BR /&gt; switch(SW)&lt;BR /&gt; {&lt;BR /&gt; case 1:&lt;BR /&gt; intcU_Ctr++;&lt;BR /&gt; &lt;BR /&gt; if(intcU_Ctr&amp;gt;=64)&lt;BR /&gt; {&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[2].R = (unsigned short)-20000; &lt;STRONG&gt;//&amp;nbsp;PWMA[0];PCR[58]--&amp;gt;rising ; phase A&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[3].R = (unsigned short) 0;&lt;STRONG&gt;//PWMA[0];PCR[58] --&amp;gt; falling&amp;nbsp;; phase A&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[4].R = (unsigned short)-10000;&lt;STRONG&gt;//PWMB[0];PCR[59]--&amp;gt;rising&amp;nbsp;; phase&amp;nbsp;B&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[5].R = (unsigned short) 10000;&lt;STRONG&gt;//PWMB[0];PCR[58] --&amp;gt; falling&amp;nbsp;; phase&amp;nbsp;B&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[2].R = (unsigned short)-10000;&lt;STRONG&gt;//PWMA[1];PCR[61]--&amp;gt;rising ; Generate Z pulse when &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; &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;intcU_Ctr is up to 64&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[3].R = (unsigned short) 0;&lt;STRONG&gt;//PWMA[1];PCR[61]--&amp;gt;falling&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[4].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[2].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[3].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[4].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.MCTRL.B.LDOK |= 0xF; // Load config values into buffers &lt;BR /&gt; FLEXPWM_0.MCTRL.B.RUN |=0xF; //1, 2, 3, 4 RUN&lt;BR /&gt; intcU_Ctr=0;&lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[2].R = (unsigned short)-20000;&lt;STRONG&gt;//&amp;nbsp;PWMA[0];PCR[58]--&amp;gt;rising&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[3].R = (unsigned short) 0;&lt;STRONG&gt;//PWMA[0];PCR[58] --&amp;gt; falling&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[4].R = (unsigned short)-10000;&lt;STRONG&gt;//PWMB[0];PCR[59]--&amp;gt;rising&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[5].R = (unsigned short) 10000;&lt;STRONG&gt;//PWMB[0];PCR[58] --&amp;gt; falling&lt;/STRONG&gt;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[2].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[3].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[4].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[2].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[3].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[4].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.MCTRL.B.LDOK |= 0xF; // Load config values into buffers &lt;BR /&gt; FLEXPWM_0.MCTRL.B.RUN |=0xF; //1, 2, 3, 4 RUN&lt;BR /&gt; }&lt;BR /&gt; break;&lt;BR /&gt; case 0: &lt;STRONG&gt;&amp;nbsp;//And then, When I push the switch1, The direction of revolution is changed. So, Position Counter is decreasing and Revolution Counter is decreasing too. That means, phase B has a leading position.&lt;/STRONG&gt;&lt;BR /&gt; intcU_Ctr--;&lt;BR /&gt; &lt;BR /&gt; if(intcU_Ctr&amp;lt;=0)&lt;BR /&gt; {&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[2].R = (unsigned short)-10000;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[3].R = (unsigned short) 10000;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[4].R = (unsigned short)-20000;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[2].R = (unsigned short)-10000;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[3].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[4].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[2].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[3].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[4].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.MCTRL.B.LDOK |= 0xF; // Load config values into buffers &lt;BR /&gt; FLEXPWM_0.MCTRL.B.RUN |=0xF; //1, 2, 3, 4 RUN&lt;BR /&gt; intcU_Ctr=64;&lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[2].R = (unsigned short)-10000;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[3].R = (unsigned short) 10000;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[4].R = (unsigned short)-20000;&lt;BR /&gt; FLEXPWM_0.SUB[0].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[2].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[3].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[4].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[1].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[2].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[3].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[4].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.SUB[2].VAL[5].R = (unsigned short) 0;&lt;BR /&gt; FLEXPWM_0.MCTRL.B.LDOK |= 0xF; // Load config values into buffers &lt;BR /&gt; FLEXPWM_0.MCTRL.B.RUN |=0xF; //1, 2, 3, 4 RUN&lt;BR /&gt; }&lt;BR /&gt; break;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What am I missing? I can't&amp;nbsp;found it.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thanks. ; )&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jan 2017 10:19:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5553-Can-t-Read-Z-pulse-of-Encoder-with-eTPU-QD-function/m-p/652017#M6842</guid>
      <dc:creator>limheesun</dc:creator>
      <dc:date>2017-01-03T10:19:02Z</dc:date>
    </item>
  </channel>
</rss>

