Not applicable
Jun 06, 2018
01:55 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 06, 2018
01:55 AM
Hello,
I would like to demodulate a Biphase Mark encoded signal with an XMC1100.
The signal has a constant frequency of 2kHz. The binary value 1 is displayed as a transision within a period. The binary value 0 is displayed as full period.
my approach would be to define two events with CCU4_Slice_Config app -> capture. the first Event_0 started a timer when a rising edge occurred and Event_1 ends the timer.
The only problem is that the timer should be started again at the falling edge at the same time.
How can you realize something like that? can someone help me
I would like to demodulate a Biphase Mark encoded signal with an XMC1100.
The signal has a constant frequency of 2kHz. The binary value 1 is displayed as a transision within a period. The binary value 0 is displayed as full period.
my approach would be to define two events with CCU4_Slice_Config app -> capture. the first Event_0 started a timer when a rising edge occurred and Event_1 ends the timer.
The only problem is that the timer should be started again at the falling edge at the same time.
How can you realize something like that? can someone help me
2 Replies
Not applicable
Jun 07, 2018
01:17 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 07, 2018
01:17 PM
Really nobody?
Jun 14, 2018
02:12 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 14, 2018
02:12 PM
Hi,
Two alternatives:
1. You could assign the input signal to two input events, one that starts/clears the timer on both edges and the other one that captures also on both edges.
In the ISR triggered by the second one you get the pulse length and advance the state machine according to the pulse length.
I did not test if the timer value would be cleared before captured.
2. You could assign the input signal to the event doing the capturing. This one also triggers a service request. In the ISR you clear and restart the timer by software and you update the state machine perfoming the decoding using the measured pulse length.
Regards,
Jesus
Two alternatives:
1. You could assign the input signal to two input events, one that starts/clears the timer on both edges and the other one that captures also on both edges.
In the ISR triggered by the second one you get the pulse length and advance the state machine according to the pulse length.
I did not test if the timer value would be cleared before captured.
2. You could assign the input signal to the event doing the capturing. This one also triggers a service request. In the ISR you clear and restart the timer by software and you update the state machine perfoming the decoding using the measured pulse length.
Regards,
Jesus