Test the SCI (UART) communication of 28379D[Copy link]
C:\ti\c2000\C2000Ware_1_00_06_00\device_support\f2837xd\examples\cpu1\sci_echoback The above path contains the UART routine of TMS320F28379D, which is used to receive data from the computer and then return the data in the original path. The routine is not written for the LAUNCHXL-F28379D board, although there is a macro definition #ifdef _LAUNCHXL_F28379D to judge _LAUNCHXL_F28379D. However, it is useless to define only _LAUNCHXL_F28379D. It is only used to configure the clock. Places like pin definitions need to be modified by yourself. This problem has been mentioned before. It feels that the code design is quite unreasonable. The default clock LSPCLK of SCI is SYSCLK/4. The main frequency is 200MHz, which is 50MHz. When SCIHBAUD and SCILBAUD are both set to 0, the baud rate of UART is 50MHz/16=3125000. Because of the large amount of data transmission involved, I want to try to increase the baud rate of UART. I change LSPCLK to SYSCLK/1, which is 200MHz. In this way, the baud rate of UART should reach 12500000 in theory. In actual testing, the baud rate does not change. PC can communicate normally using 3125000. Referring to other codes, it is found that modifying the clock requires executing __asm(" EALLOW"), the baud rate changes after adding the code, but the communication is garbled. Through this method, LSPCLK is modified to SYSCLK/8. Communication is normal at the corresponding baud rate. This shows that LSPCLK is modified successfully, but garbled characters appear at the baud rate of 12500000 and 6250000. The waveform can be seen when measuring 12500000 with an oscilloscope. I don't know if the bandwidth of the oscilloscope is not enough or the waveform itself is abnormal. The waveform I see is quite ugly. Try to set LSPCLK to 100MHz, SCILBAUD=2, SCI Asynchronous Baud = LSPCLK / ((BRR + 1) *8) The baud rate is 4166666, and communication can be normal. Try to set the baud rate to 5000000, and communication can also be normal. Basically, 5000000 is the maximum baud rate supported by the UART of 28379D. I began to suspect that the speed of the isolation chip ISO7240CDWR is not enough. Look at the data sheet and it says 2.5 kVrms, 25 Mbps, 4-Channel 4/0 Digital Isolator, 25Mbps is not a drag. I can't figure out what the problem is now. I can't find any relevant introduction in the data sheet and user manual. I'm not sure what the highest baud rate 28379D can support in theory.