Rotary mode with GPT of MPC5121e don't work

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Rotary mode with GPT of MPC5121e don't work

Jump to solution
891 Views
davidalvesdesou
Contributor I

Hello,

 

I develop an application whose need to interface an rotary sensor that generate these signals bellow:

146360_146360.pngpastedImage_0.png

 

These signals are used to determinate the RPM and the direction of rotation of wheel. So on MPC5121e I want to use one pair of GPT timer: GPT2 and GPT3, respectively on PSC10_4 and PSC11_4 pins.

 

for the first test I generate the two signals with simple push button and deglitching circuit connected on PSC10_4 and PSC11_4.

 

From reference manual I write a code that to do :

 

Define IOCONTROL_BASE = IMMRBAR + 0xA000

Define GPT_BASE = IMMRBAR + 0x0B00

CONFIGURE I/O

Write 0x0000_0183 into STD_PSC10_4 @(IOCONTROL_BASE + 0x2E4)

Write 0x0000_0183 into STD_PSC11_4 @(IOCONTROL_BASE + 0x2F8)

Set timer mode

Write 0x000D_0400 into GPT2_MODE @(GPT_BASE + 0x20)

Write 0x000C_0400 into GPT3_MODE @(GPT_BASE + 0x30)

Set COUNTER

Write 0x0001_0000 into GPT2_COUNTER @(GPT_BASE + 0x24)

Write 0x0001_0000 into GPT3_COUNTER @(GPT_BASE + 0x34)

Set PWM

Write 0x0000_0000 into GPT2_PWM @(GPT_BASE + x028)

Write 0x0000_0000 into GPT3_PWM @(GPT_BASE + x038)

Clear STATUS

Write 0x0000_001F into GPT2_STATUS @(GPT_BASE + 0x2C)

Write 0x0000_001F into GPT3_STATUS @(GPT_BASE + 0x3C)

Enable timers

Write 0x000D_1401 into GPT2_MODE @(GPT_BASE + 0x20)

Write 0x000C_1401 into GPT3_MODE (GPT_BASE + 0x20)

 

At this point my program is in pause, and I generate 1~10 pulses on ODO_1 with ODO_2 at 0.

 

And when with my program I want to read CAPTURE into GPT2_STATUS (CAPTURE = (@(GPT_BASE+0x2C) >> 16) &0xFFFF), I have CAPTURE randomly equal to 0~65535 instead of to have CAPTURE equal to 1~10.

 

David

Labels (1)
0 Kudos
1 Solution
780 Views
Pavel
NXP Employee
NXP Employee

What method is used for timer pulse generation?

Is there bounce of your signals?

Usually bounce produces similar behavior.


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
781 Views
Pavel
NXP Employee
NXP Employee

What method is used for timer pulse generation?

Is there bounce of your signals?

Usually bounce produces similar behavior.


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
780 Views
davidalvesdesou
Contributor I

Hi Pavel Chubakov,

 

We have resolved this problem with a low-frequency square signal generator in low impedance. And at this time, the number of events on GPT2-GPT3 is right in regards to number of events on inputs of MPC5121e.

Thank you for your assistance.

Best regards

David

0 Kudos