Hi! We did try to try a few combination of wiring for experimental purpose.
- First we tried to connect the board to the device with an LA attached and we could see that Logic Analyzer could capture the data correctly but our board will get some control characters sometimes.
- Secondly we wire the PC com port to the board to simulate the device. This time the board could read the data correctly every time.
- We use a PC to connect to the device and the PC could receive the data correctly without problem.
The scenario one suggests that the strange character may be the result of the error generated by the code we developed. The second scenario also indicates the code could receive the data from PC without problem. The third scenario indicates that device may be correct. Nevertheless, the Logic Analyzer could recognize the data from the device without problem.
We also observe a strange phenomenon in the process. In the UART2 RX line, the initial voltage is pulled to 2.8V instead of 3.3V on UART2 but the TX line maintains a 3.3V level. We also measure the voltage level on UART4 and both TX and RX are configured at 3.3V when booted up.
I also checked iomux_mx53.h and discovered some strange configuration on UART2 PAD.
#define _MX53_PAD_PATA_DMARQ__UART2_TXD_MUX IOMUX_PAD(0x5F8, 0x278, 3, 0x0, 0, 0)
#define _MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX IOMUX_PAD(0x5FC, 0x27C, 3, 0x880, 3, 0)
The fourth parameters of TXD and RXD are different. One is 0x0 and the other is 0x880. Do you think this is something we need to modify this time as well?
Vincent