Part Number: TMS320F280049C
Hi,
Currently I am working with LIN/SCI module on TMS320F280049C MCU and trying to add DMA functionality to it. LIN module is used as SCI.
First of all I would like co complain that there is no examples describing LIN+DMA at all (I've checked the latest C2000ware available on TI site). Though I am already familiar with Piccolo MCU's, it was a real challenge to make transmission with DMA working correctly. For example SET_RX_DMA and SET_TX_DMA bits of SCISETINT register are not described in c2000ware peripheral library. In the latest TRM (August 2019) they are described as bit_16 and bit_17 but in structure SCISETINT_BITS these bits are describet as reserved ! But as long as it works I consider it as solved problem.
The latest problem I have encountered is that sci doesn't trigger DMA when address frame is received.
I chose idle multiprocessor mode because address bit would ruin needed frame format. In this case every byte which is received after an lDLE period is being considered as address byte. And I noticed that instead of DMA trigger I get RX interrupt generated. SET_RX_DMA bit is set and SETRXINT is cleared.
Then I found this paragraph in the TRM (at page 2491, paragraph 27.2.3.1 Receive DMA Requests):
In multiprocessor mode, the SCI can generate receiver interrupts for address frames and DMA requests
for data frames or DMA requests for both. This is controlled by the SET RX DMA ALL bit.
This looks exactly like that what I need - both address and data frames should trigger DMA transfer.
However the described SET_RX_DMA_ALL is not even mentioned anywhere else. Is it possible to know an address and a description of this bit?
Looking forward to hearing from you.
Regards,
Vladislavas