[i.MX RT1040 EVK] SAI EDMA Local Loopback Issue: RX buffer data shifted by 4 bytes

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

[i.MX RT1040 EVK] SAI EDMA Local Loopback Issue: RX buffer data shifted by 4 bytes

867 次查看
nikonz66
Contributor I

Hi NXP Team,

I am currently working on the official i.MX RT1040 EVK and trying to use the SAI interface for custom pure data transfer (not standard audio). To verify my logic, I am performing a Local Loopback Test by physically shorting the SAI TX and RX pins on the EVK, completely bypassing the external audio codec.I want to use the I2S (SAI) interface as a high-speed communication peripheral for pure data transfer (not standard audio) and encapsulate it into a custom communication driver layer. I am currently in the testing phase verifying the basic logic.

I initialized the SAI to work in classic I2S master mode (generating BCLK and SYNC internally) and used SAI_TransferSendEDMA() and SAI_TransferReceiveEDMA() with a buffer size of 128 bytes.

When I populate my tx_buffer starting with 0xAA (e.g., [0xAA, 0x01, 0x02, ...]) and start the DMA transfers, the rx_buffer receives the data, but the entire payload is shifted by 4 bytes. Specifically:

1   rx_buffer[0] to rx_buffer[3] are always 0x00.

2   My actual first byte 0xAA appears at rx_buffer[4].

3   The rest of the data follows sequentially, which means the last 4 bytes of my payload are truncated/lost because the DMA transfer size is strictly 128 bytes.

(Please see the attached Keil debug screenshot showing the tx_buffer and rx_buffer memory windows.)
Any guidance or reference code would be greatly appreciated. Thank you!

0 项奖励
回复
1 回复

790 次查看
nikonz66
Contributor I

solved
If both the transmitter and receiver use the transmitter bit clock and frame sync:
• Configure the transmitter for asynchronous operation and the receiver for
synchronous operation.
• Enable the receiver in synchronous mode only after both the transmitter and receiver
are enabled.
• Enable the transmitter last and disable the tranmitter first.

%3CLINGO-SUB%20id%3D%22lingo-sub-2331478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%5Bi.MX%20RT1040%20EVK%5D%20SAI%20EDMA%20%E6%9C%AC%E5%9C%B0%E7%8E%AF%E5%9B%9E%E9%97%AE%E9%A2%98%EF%BC%9ARX%20%E7%BC%93%E5%86%B2%E5%8C%BA%E6%95%B0%E6%8D%AE%E7%A7%BB%E5%8A%A8%204%20%E5%AD%97%E8%8A%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2331478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8CNXP%E5%9B%A2%E9%98%9F%EF%BC%9A%3C%2FP%3E%3CP%3E%E6%88%91%E7%9B%AE%E5%89%8D%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%3CSPAN%3E%20%3C%2FSPAN%3E%E5%AE%98%E6%96%B9%20i.MX%20RT1040%20EVK%3CSPAN%3E%20%3C%2FSPAN%3E%EF%BC%8C%E5%B9%B6%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20SAI%20%E6%8E%A5%E5%8F%A3%E8%BF%9B%E8%A1%8C%E5%AE%9A%E5%88%B6%E7%BA%AF%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%EF%BC%88%E9%9D%9E%E6%A0%87%E5%87%86%E9%9F%B3%E9%A2%91%EF%BC%89%E3%80%82%E4%B8%BA%E4%BA%86%E9%AA%8C%E8%AF%81%E6%88%91%E7%9A%84%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%91%E6%AD%A3%E5%9C%A8%3CSPAN%3E%3C%2FSPAN%3E%E9%80%9A%E8%BF%87%E7%89%A9%E7%90%86%E7%9F%AD%E8%B7%AF%20EVK%20%E4%B8%8A%E7%9A%84%20SAI%20TX%20%E5%92%8C%20RX%20%E5%BC%95%E8%84%9A%E6%9D%A5%E6%89%A7%E8%A1%8C%3CSPAN%3E%3C%2FSPAN%3E%E6%9C%AC%E5%9C%B0%E7%8E%AF%E5%9B%9E%E6%B5%8B%E8%AF%95%EF%BC%8C%E5%AE%8C%E5%85%A8%E7%BB%95%E8%BF%87%E5%A4%96%E9%83%A8%E9%9F%B3%E9%A2%91%E7%BC%96%E8%A7%A3%E7%A0%81%E5%99%A8%E3%80%82%3CSPAN%3E%E6%88%91%E6%83%B3%E4%BD%BF%E7%94%A8I2S%EF%BC%88SAI%EF%BC%89%E6%8E%A5%E5%8F%A3%E4%BD%9C%E4%B8%BA%E9%AB%98%E9%80%9F%E9%80%9A%E4%BF%A1%E5%A4%96%E5%9B%B4%E8%AE%BE%E5%A4%87%E8%BF%9B%E8%A1%8C%E7%BA%AF%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%EF%BC%88%E4%B8%8D%E6%98%AF%E6%A0%87%E5%87%86%E9%9F%B3%E9%A2%91%EF%BC%89%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%B0%81%E8%A3%85%E5%88%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E9%80%9A%E4%BF%A1%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%B1%82%E4%B8%AD%E3%80%82%E6%88%91%E7%9B%AE%E5%89%8D%E6%AD%A3%E5%A4%84%E4%BA%8E%E6%B5%8B%E8%AF%95%E9%98%B6%E6%AE%B5%EF%BC%8C%E6%AD%A3%E5%9C%A8%E9%AA%8C%E8%AF%81%E5%9F%BA%E6%9C%AC%E9%80%BB%E8%BE%91%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3C%2FSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%E6%88%91%E5%B0%86%20SAI%20%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%BA%E5%9C%A8%E7%BB%8F%E5%85%B8%E7%9A%84%20I2S%20%E4%B8%BB%E6%A8%A1%E5%BC%8F%EF%BC%88%E5%86%85%E9%83%A8%E7%94%9F%E6%88%90%20BCLK%20%E5%92%8C%20SYNC%EF%BC%89%E4%B8%8B%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E4%BA%86%E7%BC%93%E5%86%B2%E5%8C%BA%E5%A4%A7%E5%B0%8F%E4%B8%BA%20128%20%E5%AD%97%E8%8A%82%E7%9A%84%20sai_trans%3C%2FSPAN%3E%20ferSendedMA%20()%20%E5%92%8C%20SAI_TransferReceiveedMA%20()%3C%2FSPAN%3E%3C%2FSPAN%3E%E3%80%82%3CSPAN%3E%3C%2FSPAN%3E%3CSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E5%BD%93%E6%88%91%3CSPAN%3E%3C%2FSPAN%3E%E4%BB%A5%200xAA%20%E5%BC%80%E5%A4%B4%E5%A1%AB%E5%85%85%E6%88%91%E7%9A%84%3CSPAN%3E%3C%2FSPAN%3E%20tx_buffer%3CSPAN%3E%3C%2FSPAN%3E%EF%BC%88%E4%BE%8B%E5%A6%82%EF%BC%8C%3CSPAN%3E%3C%2FSPAN%3E%5B%3CSPAN%3E%3C%2FSPAN%3E0xAA%E3%80%810x01%E3%80%810x02%E3%80%81...%5D%EF%BC%89%E5%B9%B6%E5%BC%80%E5%A7%8B%20DMA%20%E4%BC%A0%E8%BE%93%E6%97%B6%EF%BC%8C%3CSPAN%3E%3C%2FSPAN%3Erx_%3CSPAN%3E%3C%2FSPAN%3E%20buffer%20%E4%BC%9A%E6%8E%A5%E6%94%B6%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%BD%86%E6%95%B4%E4%B8%AA%E6%9C%89%E6%95%88%E8%BD%BD%E8%8D%B7%E4%BC%9A%E7%A7%BB%E5%8A%A8%204%20%E5%AD%97%E8%8A%82%E3%80%82%E5%85%B7%E4%BD%93%E6%9D%A5%E8%AF%B4%3C%2FP%3E%3CP%3E1%20rx_buffer%5B0%5D%3CSPAN%3E%20%3C%2FSPAN%3E%E8%87%B3%3CSPAN%3E%20%3C%2FSPAN%3Erx_buffer%5B3%5D%3CSPAN%3E%20%3C%2FSPAN%3E%E5%A7%8B%E7%BB%88%E4%B8%BA%3CSPAN%3E%20%3C%2FSPAN%3E0x00%E3%80%82%3C%2FP%3E%3CP%3E2%20%E6%88%91%E5%AE%9E%E9%99%85%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AD%97%E8%8A%82%3CSPAN%3E%3C%2FSPAN%3E%200xAA%3CSPAN%3E%3C%2FSPAN%3E%20%E5%87%BA%E7%8E%B0%E5%9C%A8%3CSPAN%3E%3C%2FSPAN%3E%20rx_buffer%20%5B4%5D%20%E4%B8%AD%E3%80%82%3C%2FP%3E%3CP%3E3%20%E5%85%B6%E4%BD%99%E6%95%B0%E6%8D%AE%E6%8C%89%E9%A1%BA%E5%BA%8F%E6%8E%92%E5%88%97%EF%BC%8C%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%E6%88%91%E7%9A%84%E8%B4%9F%E8%BD%BD%E7%9A%84%E6%9C%80%E5%90%8E%204%20%E5%AD%97%E8%8A%82%E8%A2%AB%E6%88%AA%E6%96%AD%2F%E4%B8%A2%E5%A4%B1%EF%BC%8C%E5%9B%A0%E4%B8%BA%20DMA%20%E4%BC%A0%E8%BE%93%E5%A4%A7%E5%B0%8F%E4%B8%A5%E6%A0%BC%E4%B8%BA%20128%20%E5%AD%97%E8%8A%82%E3%80%82%3C%2FP%3E%3CP%3E(%E8%AF%B7%E5%8F%82%E9%98%85%E6%89%80%E9%99%84%E7%9A%84%20Keil%20%E8%B0%83%E8%AF%95%E6%88%AA%E5%9B%BE%EF%BC%8C%E5%85%B6%E4%B8%AD%E6%98%BE%E7%A4%BA%E4%BA%86%20tx_buffer%20%E5%92%8C%20rx_buffer%20%E5%86%85%E5%AD%98%E7%AA%97%E5%8F%A3%EF%BC%89%E3%80%82%3CBR%20%2F%3E%E4%BB%BB%E4%BD%95%E6%8C%87%E5%AF%BC%E6%88%96%E5%8F%82%E8%80%83%E4%BB%A3%E7%A0%81%E5%B0%86%E4%B8%8D%E8%83%9C%E6%84%9F%E6%BF%80%E3%80%82%E8%B0%A2%E8%B0%A2%EF%BC%81%3CEM%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FEM%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2332262%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20%5Bi.MX%20RT1040%20EVK%5D%20SAI%20EDMA%20Local%20Loopback%20Issue%3A%20RX%20buffer%20data%20shifted%20by%204%20bytes%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2332262%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%B7%B2%E8%A7%A3%E5%86%B3%3CBR%20%2F%3E%E5%A6%82%E6%9E%9C%E5%8F%91%E5%B0%84%E5%99%A8%E5%92%8C%E6%8E%A5%E6%94%B6%E6%9C%BA%E9%83%BD%E4%BD%BF%E7%94%A8%E5%8F%91%E5%B0%84%E5%99%A8%E4%BD%8D%E6%97%B6%E9%92%9F%E5%92%8C%E5%B8%A7%E5%90%8C%E6%AD%A5%EF%BC%9A%3CBR%20%2F%3E%E2%80%A2%20%E5%B0%86%E5%8F%91%E5%B0%84%E5%99%A8%E9%85%8D%E7%BD%AE%E4%B8%BA%E5%BC%82%E6%AD%A5%E6%93%8D%E4%BD%9C%EF%BC%8C%E5%B0%86%E6%8E%A5%E6%94%B6%E6%9C%BA%E9%85%8D%E7%BD%AE%E4%B8%BA%3CBR%20%2F%3E%E5%90%8C%E6%AD%A5%E6%93%8D%E4%BD%9C%E3%80%82%3CBR%20%2F%3E%E2%80%A2%20%E5%8F%AA%E6%9C%89%E5%9C%A8%E5%8F%91%E5%B0%84%E5%99%A8%E5%92%8C%E6%8E%A5%E6%94%B6%E6%9C%BA%E9%83%BD%E5%90%AF%E7%94%A8%E5%90%8E%EF%BC%8C%E6%89%8D%E8%83%BD%E5%9C%A8%E5%90%8C%E6%AD%A5%E6%A8%A1%E5%BC%8F%E4%B8%8B%E5%90%AF%E7%94%A8%E6%8E%A5%E6%94%B6%E6%9C%BA%3CBR%20%2F%3E%E3%80%82%3CBR%20%2F%3E%E2%80%A2%20%E6%9C%80%E5%90%8E%E5%90%AF%E7%94%A8%E5%8F%91%E5%B0%84%E6%9C%BA%EF%BC%8C%E5%85%88%E7%A6%81%E7%94%A8%E5%8F%91%E5%B0%84%E5%99%A8%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E