Odd data transfers with FLEXIO_SPI slave

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

Odd data transfers with FLEXIO_SPI slave

846 次查看
Henrik-Wires
Contributor IV

I am trying to get tje the MBDT example s32k3xx_spi_async_interr_s32ct to work on s32k396_bga_dc1 + MB, using lpspi2 (master) + flexio_spi_0 (slave), but I am getting very odd results.

lpspi2 is configured for async mode with external buffer. No DMA.

flexio_spi_0 is configured for IB usage in async mode with DMA.

Trying to mimic the SPI configuration of the default K344 profile combined with S32 DS example Spi_Transfer_S32K396.

lpspi2 works fine. If I loop sout to sin then the exact same value is looped back like expected.

But the flexio_spi_0 in slave mode behaves very and only updates randomly. Both input and output behaves odd. Between updates it keeps repeating the same value until it updates suddenly. And from time to time it even behaves well. I can not find any consistent pattern in what it is doing and is out of ideas what might cause this kind of behavior.

The same configuration works just fine with the S32DS example Spi_Transfer_S32K396 after correcting the LPSPI2 pinout and adjusting the buffer size to match.

The callbacks on I/O completetion is called like a clockwork on both. But the data to/from flexio_spi_0 does not behave well when run periodic transferring only 1 byte.

Have attached the mex file I am using. 

The board is wired like

ChannelCLKDIDOCS
LPSPI2P23-15P23-13P27-8P23-9
FLEXIO_SPI_0P13-7P18-12P10-8P17-4

P23-15 <-> P13-7
P23-13 <-> P10-8
P27-8 <-> P18-12
P23-9 <-> P17-4

If I adjust the model priorities so that the slave transfer is triggered before the master transfer then it works somewhat better, but far from reliable.

End goal is to have an automatic periodic repeating master transaction on flexio_spi collecting measurements from a clocked serial device. Each transfer is less than 13 bit so shouldn't even really need any buffers at all other than what is provided by flexio hardware module. But first goal is to understand and get data flowing reliably.


0 项奖励
回复
0 回复数
%3CLINGO-SUB%20id%3D%22lingo-sub-2266449%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%BF%E7%94%A8%20FLEXIO_SPI%20%E4%BB%8E%E7%AB%99%E8%BF%9B%E8%A1%8C%E5%A5%87%E6%95%B0%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2266449%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%AD%A3%E8%AF%95%E5%9B%BE%E8%AE%A9%20MBDT%20%E7%A4%BA%E4%BE%8B%20s32k3xx_spi_async_interr_s32ct%20%E5%9C%A8%20s32k396_bga_dc1%20%2B%20MB%20%E4%B8%8A%E5%B7%A5%E4%BD%9C%EF%BC%8C%E4%BD%BF%E7%94%A8%20lpspi2%EF%BC%88%E4%B8%BB%E8%AE%BE%E5%A4%87%EF%BC%89%2B%20flexio_spi_0%EF%BC%88%E4%BB%8E%E8%AE%BE%E5%A4%87%EF%BC%89%EF%BC%8C%E4%BD%86%E5%BE%97%E5%88%B0%E7%9A%84%E7%BB%93%E6%9E%9C%E9%9D%9E%E5%B8%B8%E5%A5%87%E6%80%AA%E3%80%82%3C%2FP%3E%3CP%3Elpspi2%20%E9%85%8D%E7%BD%AE%E4%B8%BA%E5%B8%A6%E5%A4%96%E9%83%A8%E7%BC%93%E5%86%B2%E5%99%A8%E7%9A%84%E5%BC%82%E6%AD%A5%E6%A8%A1%E5%BC%8F%E3%80%82%E6%97%A0%20DMA%E3%80%82%3C%2FP%3E%3CP%3Eflexio_spi_0%20%E9%85%8D%E7%BD%AE%E4%B8%BA%E5%9C%A8%E5%B8%A6%20DMA%20%E7%9A%84%E5%BC%82%E6%AD%A5%E6%A8%A1%E5%BC%8F%E4%B8%8B%E4%BD%BF%E7%94%A8%20IB%E3%80%82%3C%2FP%3E%3CP%3E%E5%B0%9D%E8%AF%95%E6%A8%A1%E4%BB%BF%E9%BB%98%E8%AE%A4%20K344%20%E6%88%91%E7%9A%84%20SPI%20%E9%85%8D%E7%BD%AE%E4%B8%8E%20S32%20DS%20%E7%A4%BA%E4%BE%8B%20Spi_Transfer_S32K396%20%E7%9B%B8%E7%BB%93%E5%90%88%E3%80%82%3C%2FP%3E%3CP%3Elpspi2%20%E8%BF%90%E8%A1%8C%E6%AD%A3%E5%B8%B8%E3%80%82%E5%A6%82%E6%9E%9C%E6%88%91%E5%B0%86%20sout%20%E5%BE%AA%E7%8E%AF%E5%88%B0%20sin%EF%BC%8C%E9%82%A3%E4%B9%88%E5%B0%B1%E4%BC%9A%E5%83%8F%E9%A2%84%E6%9C%9F%E7%9A%84%E9%82%A3%E6%A0%B7%E5%BE%AA%E7%8E%AF%E5%9B%9E%E5%AE%8C%E5%85%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E5%80%BC%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%86%E4%BB%8E%E5%B1%9E%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%9A%84%20flexio_spi_0%20%E8%A1%A8%E7%8E%B0%E9%9D%9E%E5%B8%B8%E7%B3%9F%E7%B3%95%EF%BC%8C%E5%8F%AA%E8%83%BD%E9%9A%8F%E6%9C%BA%E6%9B%B4%E6%96%B0%E3%80%82%E8%BE%93%E5%85%A5%E5%92%8C%E8%BE%93%E5%87%BA%E8%A1%A8%E7%8E%B0%E9%83%BD%E5%BE%88%E5%A5%87%E6%80%AA%E3%80%82%E5%9C%A8%E4%B8%A4%E6%AC%A1%E6%9B%B4%E6%96%B0%E4%B9%8B%E9%97%B4%EF%BC%8C%E5%AE%83%E4%BC%9A%E4%B8%8D%E6%96%AD%E9%87%8D%E5%A4%8D%E7%9B%B8%E5%90%8C%E7%9A%84%E5%80%BC%EF%BC%8C%E7%9B%B4%E5%88%B0%E7%AA%81%E7%84%B6%E6%9B%B4%E6%96%B0%E3%80%82%E6%9C%89%E6%97%B6%EF%BC%8C%E5%AE%83%E7%94%9A%E8%87%B3%E8%A1%A8%E7%8E%B0%E5%BE%97%E5%BE%88%E5%A5%BD%E3%80%82%E6%88%91%E6%89%BE%E4%B8%8D%E5%88%B0%E4%BB%BB%E4%BD%95%E4%B8%80%E8%87%B4%E7%9A%84%E6%A8%A1%E5%BC%8F%EF%BC%8C%E4%B9%9F%E4%B8%8D%E7%9F%A5%E9%81%93%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E4%BA%86%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%E3%80%82%3C%2FP%3E%3CP%3E%E5%9C%A8%E4%BF%AE%E6%AD%A3%20LPSPI2%20%E5%BC%95%E8%84%9A%E5%B8%83%E5%B1%80%E5%B9%B6%E8%B0%83%E6%95%B4%E7%BC%93%E5%86%B2%E5%8C%BA%E5%A4%A7%E5%B0%8F%E4%BB%A5%E5%8C%B9%E9%85%8D%E5%90%8E%EF%BC%8C%E5%90%8C%E6%A0%B7%E7%9A%84%E9%85%8D%E7%BD%AE%E5%9C%A8%20S32DS%20%E7%A4%BA%E4%BE%8B%20Spi_Transfer_S32K396%20%E4%B8%AD%E4%B9%9F%E8%83%BD%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2FP%3E%3CP%3EI%2FO%20%E5%AE%8C%E6%88%90%E6%97%B6%E7%9A%84%E5%9B%9E%E8%B0%83%E5%9C%A8%E4%B8%A4%E8%80%85%E4%B8%8A%E9%83%BD%E4%BC%9A%E5%83%8F%E6%97%B6%E9%92%9F%E4%B8%80%E6%A0%B7%E8%A2%AB%E8%B0%83%E7%94%A8%E3%80%82%E4%BD%86%E6%98%AF%EF%BC%8C%E5%BD%93%E5%AE%9A%E6%9C%9F%E8%BF%90%E8%A1%8C%E4%BB%85%E4%BC%A0%E8%BE%93%201%20%E5%AD%97%E8%8A%82%E6%97%B6%EF%BC%8C%E8%BF%9B%E5%87%BA%2F%E4%BC%A0%E5%87%BA%20flexio_spi_0%20%E7%9A%84%E6%95%B0%E6%8D%AE%E8%A1%A8%E7%8E%B0%E4%B8%8D%E4%BD%B3%E3%80%82%3C%2FP%3E%3CP%3E%E9%99%84%E4%B8%8A%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%E7%9A%84%20mex%20%E6%96%87%E4%BB%B6%E3%80%82%20%3C%2FP%3E%3CP%3E%E6%9D%BF%E7%9A%84%E6%8E%A5%E7%BA%BF%E6%96%B9%E5%BC%8F%E5%B0%B1%E5%83%8F%3C%2FP%3E%3CTABLE%20border%3D%221%22%3E%3CTBODY%3E%3CTR%3E%3CTD%3E%E9%80%9A%E9%81%93%3C%2FTD%3E%3CTD%3ECLK%3C%2FTD%3E%3CTD%3EDI%3C%2FTD%3E%3CTD%3Edo%3C%2FTD%3E%3CTD%3ECS%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3ELPSPI2%3C%2FTD%3E%3CTD%3EP23-15%3C%2FTD%3E%3CTD%3EP23-13%3C%2FTD%3E%3CTD%3EP27-8%3C%2FTD%3E%3CTD%3EP23-9%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EFLEXIO_SPI_0%3C%2FTD%3E%3CTD%3EP13-7%3C%2FTD%3E%3CTD%3EP18-12%3C%2FTD%3E%3CTD%3EP10-8%3C%2FTD%3E%3CTD%3EP17-4%3C%2FTD%3E%3C%2FTR%3E%3C%2FTBODY%3E%3C%2FTABLE%3E%3CP%3EP23-15%26lt%3B-%26gt%3B%20P13-7%3CBR%20%2F%3EP23-13%26lt%3B-%26gt%3B%20P10-8%3CBR%20%2F%3EP27-8%26lt%3B-%26gt%3B%20P18-12%3CBR%20%2F%3EP23-9%26lt%3B-%26gt%3B%20P17-4%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%88%91%E8%B0%83%E6%95%B4%E6%A8%A1%E5%9E%8B%E4%BC%98%E5%85%88%E7%BA%A7%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%9C%A8%E4%B8%BB%E4%BC%A0%E9%80%81%E4%B9%8B%E5%89%8D%E8%A7%A6%E5%8F%91%E4%BF%A1%E5%8F%B7%E4%BB%8E%E5%B1%9E%E4%BC%A0%E8%BE%93%EF%BC%8C%E9%82%A3%E4%B9%88%E5%AE%83%E7%9A%84%E6%95%88%E6%9E%9C%E4%BC%9A%E5%A5%BD%E4%B8%80%E4%BA%9B%EF%BC%8C%E4%BD%86%E8%BF%9C%E9%9D%9E%E5%8F%AF%E9%9D%A0%E3%80%82%3C%2FP%3E%3CP%3E%E6%9C%80%E7%BB%88%E7%9B%AE%E6%A0%87%E6%98%AF%E5%9C%A8flexio_spi%E4%B8%8A%E8%87%AA%E5%8A%A8%E5%AE%9A%E6%9C%9F%E9%87%8D%E5%A4%8D%E4%B8%BB%E4%BA%A4%E6%98%93%EF%BC%8C%E4%BB%8E%E8%AE%A1%E6%97%B6%E4%B8%B2%E8%A1%8C%E8%AE%BE%E5%A4%87%E6%94%B6%E9%9B%86%E6%B5%8B%E9%87%8F%E5%80%BC%E3%80%82%E6%AF%8F%E6%AC%A1%E4%BC%A0%E8%BE%93%E5%B0%91%E4%BA%8E%2013%20%E4%BD%8D%EF%BC%8C%E5%9B%A0%E6%AD%A4%E9%99%A4%E4%BA%86%20flexio%20%E7%A1%AC%E4%BB%B6%E6%A8%A1%E5%9D%97%E6%8F%90%E4%BE%9B%E7%9A%84%E7%BC%93%E5%86%B2%E5%8C%BA%E5%A4%96%EF%BC%8C%E6%A0%B9%E6%9C%AC%E4%B8%8D%E9%9C%80%E8%A6%81%E4%BB%BB%E4%BD%95%E7%BC%93%E5%86%B2%E5%8C%BA%E3%80%82%E4%BD%86%E9%A6%96%E8%A6%81%E7%9B%AE%E6%A0%87%E6%98%AF%E7%90%86%E8%A7%A3%E6%95%B0%E6%8D%AE%E5%B9%B6%E8%AE%A9%E6%95%B0%E6%8D%AE%E5%8F%AF%E9%9D%A0%E5%9C%B0%E6%B5%81%E5%8A%A8%E8%B5%B7%E6%9D%A5%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E