50MHz CLK에서 BaudRate 표

YumeIroVillain·2022년 10월 17일
0

졸프Project

목록 보기
9/9

출처

여기서 1 뺀 값까지 cnt 시켜줘야한다.
e.g. 115200:
for (clk_cnt = 0; ; clk_cnt ++)
if(clk_cnt == 433) goto ANOTHER_STATE
else goto THIS_STATE

주의사항

434카운트가 올라가는 엣지 순간의 시점은 0번 카운트가 시작되는 시점으로부터 8.28us가 지난 시점이인데요, 이 엣지에서 볼 수 있는 카운터값은 그 엣지에서 올라가는 434가 아니라 이전 엣지에 미리 올라가있는 433이예요

즉, 아래 표값에서 1 빼야함

-- UART_TX Component의 UART TX 통신 규약
-- 통신속도 : CLOCK_PER_BIT 지정 값에 따라 설정
-- 1200bps : 41666.67 = 41666
-- 2400bps : 20833.33 = 20833
-- 4800bps : 10416.67 = 10416
-- 9600bps : 5208.33 = 5208
-- 14400bps : 3472.22 = 3472
-- 19200bps : 2604.17 = 2604
-- 38400bps : 1302.08 = 1302
-- 57600bps : 868.06 = 868
-- 115200bps : 434.03 = 434
-- 230400bps : 217.01 = 217
-- 460800bps : 108.51 = 108
-- 921600bps : 54.25 = 54
-- 시작 Bit : 1 Bit
-- 데이터 Bit : 8 Bit
-- 패리티 Bit : 패리티 없음
-- 정지 Bit : 1 Bit
profile
HW SW 둘다 공부하는 혼종의 넋두리 블로그 / SKKU SSE 17 / SWM 11th

0개의 댓글