Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done

60件の閲覧回数
Mike_M3
Contributor III

Hi,

I've been using the LPSPI EDMA transfer API from the SDK (2.16.100) on IMXRT1172 to read and write SPI data simultaneously (i.e. a TX+RX transfer on two DMA channels with two buffers of the same size).  Unfortunately, it appears that the EDMA callback is getting called before the transfer actually finishes.  In the callback, checking LPSPI's SR, FSR, and RSR shows that SPI thinks it's still busy even though DMA thinks it's complete.  I.e. MBF is still set and TXCOUNT is 1.

SR = 0x01000100 (MBF, WCF)

FSR TXCOUNT = 1, RXCOUNT = 0

RSR = 0x00000002 (RXEMPTY, !SOF)

Now, if I was only doing TX, this could somewhat make sense as the SPI peripheral could still be clocking out the last byte loaded from DMA.  So in that case the DMA peripheral would actually be finished loading the last byte from RAM into the SPI data TX register, but SPI still had work to do to send it out.

However, when doing TX and RX simultaneously, I would have expected that if TXCOUNT was 1, then so would RXCOUNT be.  I.e. the DMA shouldn't be complete with RX until all the TX data is clocked out because the last byte needs to be transferred by DMA into RAM from the SPI RX data register, and this would only happen on the last clock cycle of the transfer.

Is this actually a problem?

If so, is it with the SDK?  Or with the hardware IP?

I was hoping to be able to check LPSPI SR in the DMA callback to determine if there are any SPI errors.

Thanks,

-m

0 件の賞賛
返信
2 返答(返信)

24件の閲覧回数
mayliu1
NXP Employee
NXP Employee

Hi @Mike_M3 ,

Thank you so much for your interest in our products and for using our community.

DMA completion and SPI bus completion are two different concepts.

The eDMA callback indicates that the DMA engine has completed moving the configured number of bytes between memory and the LPSPI FIFO/register path. It does not necessarily mean that the LPSPI bus state machine has already completed the last frame or returned to idle.

For LPSPI bus completion, please check SR[TCF] or wait for SR[MBF] to clear.

mayliu1_0-1784876065178.png

mayliu1_1-1784876092476.png

 

Wish it helps you

Best Regards

May

0 件の賞賛
返信

18件の閲覧回数
Mike_M3
Contributor III

Yes, but in a TX/RX transfer, I would have expected the TX_COUNT and RX_COUNT to both be zero when DMA completes.  I.e., it should be impossible for RX DMA to complete before the last SPI clock, because the SPI peripheral wouldn't have shifted the last bit of the data into the RX FIFO until then, and DMA would not be able to copy the last byte into RAM until the last bit is shifted into the RX FIFO.  So in that case, both TX and RX should be completed before the DMA completes.  If it was only a TX transfer then yes, DMA could complete before SPI does and TX_COUNT could still be 1.

Thanks,

-m

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2398412%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMXRT1172%20LPSPI%20EDMA%E8%BB%A2%E9%80%81API%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81SPI%E8%BB%A2%E9%80%81%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B%E5%89%8D%E3%81%ABDMA%20IRQ%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%E3%81%8C%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2398412%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%AFIMXRT1172%E4%B8%8A%E3%81%A7SDK%E3%81%AELPSPI%20EDMA%E8%BB%A2%E9%80%81API(2.16.100)%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%80%81SPI%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%90%8C%E6%99%82%E3%81%AB%E8%AA%AD%E3%81%BF%E6%9B%B8%E3%81%8D%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99(%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81%E5%90%8C%E3%81%98%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%82%92%E6%8C%81%E3%81%A42%E3%81%A4%E3%81%AEDMA%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%A7%E3%81%AETX%2BRX%E8%BB%A2%E9%80%81)%E3%80%82%E6%AE%8B%E5%BF%B5%E3%81%AA%E3%81%8C%E3%82%89%E3%80%81EDMA%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%81%AF%E8%BB%A2%E9%80%81%E3%81%8C%E5%AE%9F%E9%9A%9B%E3%81%AB%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E5%86%85%E3%81%A7LPSPI%E3%81%AESR%E3%80%81FSR%E3%80%81RSR%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81DMA%E3%81%AF%E5%87%A6%E7%90%86%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%9F%E3%81%A8%E8%80%83%E3%81%88%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AB%E3%82%82%E3%81%8B%E3%81%8B%E3%82%8F%E3%82%89%E3%81%9A%E3%80%81SPI%E3%81%AF%E3%81%BE%E3%81%A0%E3%83%93%E3%82%B8%E3%83%BC%E7%8A%B6%E6%85%8B%E3%81%A7%E3%81%82%E3%82%8B%E3%81%A8%E8%80%83%E3%81%88%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%A4%E3%81%BE%E3%82%8AMBF%E3%81%AF%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E3%81%BE%E3%81%BE%E3%81%A7%E3%80%81TXCOUNT%E3%81%AF1%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3ESR%20%3D%200x01000100%20(MBF%E3%80%81WCF)%3C%2FP%3E%3CP%3EFSR%20TXCOUNT%20%3D%201%E3%80%81RXCOUNT%20%3D%200%3C%2FP%3E%3CP%3ERSR%20%3D%200x00000002%20(RXEMPTY%E3%80%81!SOF)%3C%2FP%3E%3CP%3E%E3%82%82%E3%81%97TX%E3%81%A0%E3%81%91%E3%82%92%E6%89%B1%E3%81%86%E3%81%AA%E3%82%89%E3%80%81SPI%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%81%8CDMA%E3%81%8B%E3%82%89%E6%9C%80%E5%BE%8C%E3%81%AB%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BE%E3%82%8C%E3%81%9F%E3%83%90%E3%82%A4%E3%83%88%E3%82%92%E3%81%BE%E3%81%A0%E5%87%A6%E7%90%86%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%A7%E3%80%81%E3%81%82%E3%82%8B%E7%A8%8B%E5%BA%A6%E7%90%86%E3%81%AB%E3%81%8B%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%9D%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81DMA%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8%E3%81%AFRAM%E3%81%8B%E3%82%89SPI%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BFTX%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%B8%E3%81%AE%E6%9C%80%E5%BE%8C%E3%81%AE%E3%83%90%E3%82%A4%E3%83%88%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%82%92%E7%B5%82%E3%81%88%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81SPI%E3%81%AF%E3%81%9D%E3%82%8C%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E4%BD%9C%E6%A5%AD%E3%82%92%E3%81%BE%E3%81%A0%E5%BF%85%E8%A6%81%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81TX%E3%81%A8RX%E3%82%92%E5%90%8C%E6%99%82%E3%81%AB%E8%A1%8C%E3%81%86%E5%A0%B4%E5%90%88%E3%80%81TXCOUNT%E3%81%8C1%E3%81%AA%E3%82%89RXCOUNT%E3%82%821%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A0%E3%81%A8%E4%BA%88%E6%83%B3%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81DMA%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AETX%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%A2%E3%82%A6%E3%83%88%E3%81%95%E3%82%8C%E3%82%8B%E3%81%BE%E3%81%A7RX%E3%81%A7%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%A6%E3%81%AF%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84%E3%80%82%E3%81%AA%E3%81%9C%E3%81%AA%E3%82%89%E3%80%81%E6%9C%80%E5%BE%8C%E3%81%AE%E3%83%90%E3%82%A4%E3%83%88%E3%81%AFSPI%20RX%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%8B%E3%82%89DMA%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6RAM%E3%81%AB%E8%BB%A2%E9%80%81%E3%81%95%E3%82%8C%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF%E8%BB%A2%E9%80%81%E3%81%AE%E6%9C%80%E5%BE%8C%E3%81%AE%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%A7%E3%81%AE%E3%81%BF%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%81%8B%E3%82%89%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%EF%BC%9F%3C%2FP%3E%3CP%3E%E3%82%82%E3%81%97%E3%81%9D%E3%81%86%E3%81%AA%E3%82%89%E3%80%81SDK%E3%81%A7%E5%95%8F%E9%A1%8C%E3%81%A7%E3%81%99%E3%81%8B%3F%20%E3%81%9D%E3%82%8C%E3%81%A8%E3%82%82%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2IP%E3%81%A7%3F%3C%2FP%3E%3CP%3EDMA%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E5%86%85%E3%81%A7LPSPI%20SR%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%97%E3%81%A6%E3%80%81SPI%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92%E5%88%A4%E6%96%AD%E3%81%A7%E3%81%8D%E3%82%8C%E3%81%B0%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E-m%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2398569%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Using%20IMXRT1172%20LPSPI%20EDMA%20transfer%20API%2C%20DMA%20IRQ%20handler%20called%20before%20SPI%20transfer%20is%20done%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2398569%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F70127%22%20target%3D%22_blank%22%3E%40nxp16%20%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%82%3C%2FP%3E%0A%3CP%3E%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AE%E8%A3%BD%E5%93%81%E3%81%AB%E3%81%94%E9%96%A2%E5%BF%83%E3%82%92%E5%AF%84%E3%81%9B%E3%80%81%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%82%92%E3%81%94%E5%88%A9%E7%94%A8%E3%81%84%E3%81%9F%E3%81%A0%E3%81%8D%E3%80%81%E6%9C%AC%E5%BD%93%E3%81%AB%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EDMA%E5%AE%8C%E4%BA%86%E3%81%A8SPI%E3%83%90%E3%82%B9%E5%AE%8C%E4%BA%86%E3%81%AF%E3%80%812%E3%81%A4%E3%81%AE%E7%95%B0%E3%81%AA%E3%82%8B%E6%A6%82%E5%BF%B5%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EeDMA%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%81%AF%E3%80%81DMA%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%8C%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%A8LPSPI%20FIFO%2F%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%83%91%E3%82%B9%E9%96%93%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E3%83%90%E3%82%A4%E3%83%88%E6%95%B0%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E8%BB%A2%E9%80%81%E3%82%92%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%9F%E3%81%93%E3%81%A8%E3%82%92%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E5%BF%85%E3%81%9A%E3%81%97%E3%82%82%E3%80%81LPSPI%E3%83%90%E3%82%B9%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%9E%E3%82%B7%E3%83%B3%E3%81%8C%E6%9C%80%E5%BE%8C%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%82%92%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%9F%E3%80%81%E3%81%82%E3%82%8B%E3%81%84%E3%81%AF%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB%E7%8A%B6%E6%85%8B%E3%81%AB%E6%88%BB%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%82%92%E6%84%8F%E5%91%B3%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%0A%3CP%3ELPSPI%E3%83%90%E3%82%B9%E3%81%AE%E5%AE%8C%E4%BA%86%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81SR%5BTCF%5D%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%8B%E3%80%81SR%5BMBF%5D%E3%81%8C%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%95%E3%82%8C%E3%82%8B%E3%81%BE%E3%81%A7%E3%81%8A%E5%BE%85%E3%81%A1%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22mayliu1_0-1784876065178.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22mayliu1_0-1784876065178.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22mayliu1_0-1784876065178.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F393138iABDEDECB3E9244AE%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22mayliu1_0-1784876065178.png%22%20alt%3D%22mayliu1_0-1784876065178.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22mayliu1_1-1784876092476.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22mayliu1_1-1784876092476.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22mayliu1_1-1784876092476.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F393139iF966F04BCAB1891C%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22mayliu1_1-1784876092476.png%22%20alt%3D%22mayliu1_1-1784876092476.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%81%8A%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A6%E3%82%8C%E3%81%B0%E5%B9%B8%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E5%E6%9C%88%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2398749%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Using%20IMXRT1172%20LPSPI%20EDMA%20transfer%20API%2C%20DMA%20IRQ%20handler%20called%20before%20SPI%20transfer%20is%20done%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2398749%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%AF%E3%81%84%E3%80%81%E3%81%97%E3%81%8B%E3%81%97TX%2FRX%E8%BB%A2%E9%80%81%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81DMA%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%9F%E6%99%82%E7%82%B9%E3%81%A7TX_COUNT%E3%81%A8RX_COUNT%E3%81%AE%E4%B8%A1%E6%96%B9%E3%81%8C%E3%82%BC%E3%83%AD%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E6%9C%9F%E5%BE%85%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81RX%20DMA%E3%81%8C%E6%9C%80%E5%BE%8C%E3%81%AESPI%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%88%E3%82%8A%E5%89%8D%E3%81%AB%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%82%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99%E3%80%82%E3%81%AA%E3%81%9C%E3%81%AA%E3%82%89%E3%80%81SPI%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8%E3%81%AF%E3%81%9D%E3%81%AE%E6%99%82%E9%96%93%E3%81%BE%E3%81%A7%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E6%9C%80%E5%BE%8C%E3%81%AE%E3%83%93%E3%83%83%E3%83%88%E3%82%92RX%20FIFO%E3%81%AB%E3%82%B7%E3%83%95%E3%83%88%E3%81%97%E3%81%A6%E3%81%8A%E3%82%89%E3%81%9A%E3%80%81DMA%E3%81%AF%E6%9C%80%E5%BE%8C%E3%81%AE%E3%83%90%E3%82%A4%E3%83%88%E3%82%92RX%20FIFO%E3%81%AB%E3%82%B7%E3%83%95%E3%83%88%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7RAM%E3%81%AB%E3%82%B3%E3%83%94%E3%83%BC%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%8B%E3%82%89%E3%81%A7%E3%81%99%E3%80%82%E3%81%9D%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81TX%E3%81%A8RX%E3%81%AE%E4%B8%A1%E6%96%B9%E3%81%8CDMA%E3%81%8C%E5%AE%8C%E6%88%90%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99%E3%80%82%E3%82%82%E3%81%97TX%E3%81%AE%E8%BB%A2%E9%80%81%E3%81%A0%E3%81%91%E3%81%AA%E3%82%89%E3%80%81DMA%E3%81%8CSPI%E3%82%88%E3%82%8A%E5%85%88%E3%81%AB%E5%AE%8C%E4%BA%86%E3%81%97%E3%80%81TX_COUNT%E3%81%AF%E3%81%BE%E3%81%A01%E3%81%AE%E3%81%BE%E3%81%BE%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E-m%3C%2FP%3E%3C%2FLINGO-BODY%3E