We are bringing up a new automotive radar system based on the AWR1843 chip, and we are trying to output data through LVDS. We are trying to root-cause an issue we are seeing where pairs of bytes are being reordered; we do not know whether or not it is a software issue, but if there is an obvious SW fix, we'd save some time investigating.
Here is an excerpt of the data we are seeing (header starts at byte 0x4a. payload starts at byte 0x152 and ends at byte 0x249):
We are emitting a 1-byte counter from 0 up to 247 (0xf7) with user-defined data in a CBUFF SW session. Columns 4, 5, 6, 7, 12, 13, 14, 15 look to be ordered incorrectly. My hypothesis for the reordering is that for each row, bytes [4:5] are swapped with bytes [6:7], and bytes [12:13] are swapped with [14:15]. This would explain why the counter is out-of-order in the payload. Additionally:
- The payload is preceded by 8 bytes of an LVDS header that is composed by the TI drivers. The LVDS header is preceded by an HSI header (also composed by TI driver) which is padded to 256 bytes.
- The last segment of the HSI header is made up of padding bytes of 0x0f to bring header to 256 bytes. Bytes [0x7c:0x7d] look like they could be swapped with [0x7e, 0x7f], but this is not sufficient evidence.
- The HSI header starts at byte 0x4a with a magic number which, in this case, should be 0x0CDA0ADC0CDA0ADC.
- In the packet capture, the magic number is 0x0CDA0CDA0ADC0ADC. That is, bytes [2:3] are swapped with [4:5] which matches my hypothesis if you look at the capture (it is encoded in little-endian).This last point convinces me of the swapping; we do not manipulate the magic number ourselves.
We are continuing to investigate the issue, but it would help if there were a simple configuration option for the HSI data that we've missed.