MCU에서 SOC로 UART 통신을 구현했습니다.
데이터를 0x0A, 0x02 ...이렇게 전송했는데 제대로 TX 되고있는지 오실로스코프로 확인해보겠습니다.
아래 사진은 10ms task안에 115200bps로 36bytes 데이터를 전송한 것입니다.
확대를 해서 첫번째 데이터가 0x0A가 찍혀있는지 확인해 보겠습니다.
UART는 D1이 LSB라서 데이터를 D8에서 D0순으로 읽어야됩니다.
그럼 0000 1010 이 전송 됐으므로 0A값이 제대로 전송된 것을 확인할 수 있습니다.
LSB란?
0bit 자리 값을 가장 먼저 전송한다는 뜻입니다.
그럼 115200bps 통신이 제대로 되고있는지 확인해 보겠습니다.
1초에 115200bit를 전송한다는 뜻이므로 1bit는 1/115200s가 걸려야합니다.
한 데이터에 8.6us가 찍히는지 확인해 보겠습니다.
우측하단에 보시면 1bit 전송시간을 보면 8.6us가 찍힌 것을 확인했고 115.10kHz이므로 115100bps정도로 전송되는 것을 확인할 수 있습니다.
딱 115200bps로 데이터가 전송되지는 않고 근사치로 전송되고있습니다.