Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

TMDXIDK437X: PRU peripheral interface receive issue

$
0
0

Part Number:TMDXIDK437X

Hi,

I use the Peripheral Interface of the PRU on AM437 to receive asynchronous data that is send from another PRU on the same controller. I send data at a clock of 100kHz and the receiver runs at 800kHz so that I have 8x oversampling. Means, when I send 8 bits I should receive 64.

My problem is that I don't receive 64 but 128, so always twice as much as expected.

I built the receive routine as described in the data sheet. I already changed clock rates, switched the PRUs, switched channels in the peripheral interface and also used another controller to send data, but I always get the same effect.

I tried to analyze the effect I as good as I can, here is how far I've come:

I always send 2 bytes of the same byte, from "0x01 0x01" to "0xFF 0xFF". I doubled the bytes to find out if the bytes I receive are random and just twice as much as I sent or if there is another effect. Here is an example. I send the bytes 0xA3 0xA3, so what I should find in the memory of my receiver (with 8x oversampling) is:

FF 00 FF 00 00 00 FF FF   FF 00 FF 00 00 00 FF FF desampling to 10100011 10100011 or 0xA3 0xA3.

And here is what I actually got:

FF 00 00 00 FF 00 FF 00 00 00 FF 00 00 00 FF FF FF 00 FF FF FF 00 FF 00 00 00 FF 00 00 00 FF FF 00 00 FF FF

This looks random, but you can find the wanted result in it, as I marked in the following:

FF 00 00 00FF 00 FF 0000 00 FF 0000 00 FF FFFF 00 FF FF FF 00 FF 0000 00 FF 00 00 00 FF FF00 00 FF FF

If you take the red parts out and put the rest together, you have the result you actually want. As I said, I tested this for bit combinations from 1 to 255 and you can apply this pattern to all of them. Receive twice as much as I want and always four bytes wrong, for bytes correct, four bytes wrong and so on...

This is what I found out, but I can't explain why this effect appears or how to get rid of it. Can you help me?

Best regards,

Benjamin

Board: AM437x Industrial Development Kit (IDK)

CCS-Version:  7.2.0.00013

Compiler-Version: TI v2.1.5


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>