어떤 표준 UART 요금이 있습니까?


33

나는 9600, 19200, 38400, 57600, 115200 및 1.8432 Mbaud를 알고 있지만 다른 것은 없습니다. 이러한 값이 사용되는 이유는 매번 두 배로 증가하거나 더 복잡한 작업이 있습니까 (예 : 38400 4 배가 115200 보드가 아님)?

이 질문을하는 이유는 다양한 보오율과 상호 작용해야하는 것을 설계하고 있기 때문입니다. 9600에서 초기화 된 다음 특정 전송 속도로 전환됩니다. 그러나 사용중인 dsPIC33F는 16 비트 BRG 다운 카운터로 제한되므로 임의의 속도를 지원하지 않기 때문에 임의 속도를 지원할 수 없습니다. 이와 관련하여 다른 많은 프로세서와 비슷합니다.


실제로 16 비트 카운터와 프리 / 포스트 스케일러는 임의의 전송 속도에 "충분히 근접"하기에 충분합니다. UART 직렬은 약간의 전송 속도 불일치를 허용 할 수 있습니다.
피터 그린

uart는 START 비트의 중간에서 시작하며 7-10 비트를 직렬화 한 후 STOP 비트의 중간 가까이에 있어야합니다. 약 2-3 %의 최소 클럭 정밀도를 제공하며, 소스 주파수의 잡음, 지터, 편차를 처리하는 것이 좋습니다.
TEMLIB

답변:


36

그것은 텔레타이프와 함께 오래 전에 시작되었습니다. 그런 다음 전화선 모뎀 기술에 대한 제약이 두 배가되지 않는 28,800과 같은 소수 (x1.5) 배수로 인해 거의 두 배가되었습니다.

표준 크리스털 값은 이러한 초기 전송 속도에서 나 왔으며 이의 가용성은 미래 속도를 결정합니다. 예 :

7.3728H16=460,800보오드7.3728H64=115,200보오드.

2×16

다른 일반적인 표준은 31,250 (MIDI) 및 250K (DMX)이며, 둘 다 1MHz 등과 같은 '라운드'클럭의 멋진 배수로 선택 될 수 있습니다.


4
분수 분할기가 비표준 비트 레이트를 얻는 것이 아니라 비표준 MCU 클럭 주파수에서 표준 비트 레이트를 얻는다고 생각합니다.
Johan.A

3
나는 1926 년의 텔레타이프를 대학 (1976 년)으로 2 년 동안 개장했으며, 약 75 보드에서 뛰었습니다. 그들은 baudot teletypes로 표시되었습니다. 110vac에 꽂고 모터는 타이밍을 제공하며 전기적으로 연결되어 있습니다. 나는 그들을 청소하기 위해 휘발유에 담갔다. (나에게 휴식을 줘라 – 나는 18 살이었다. 그러나 그것은 효과가 있었다!) Ctrl-G는 다른쪽에 선종에 정직하게 울렸다. 아아, 내가 누구에게 줬는 지조차 기억하지 못한다. :-( 예, 기계식 키보드로 입력하면 키 입력을 기계적으로 직렬화하고 상대방이 읽는 접촉을 끊어지게합니다.
Doug Null

으르렁 거리는 20 년대! 캘리포니아 주 헤이워드에있는 존 실바의 창고에서 50 년 동안 지속될 우수한 기술.
Doug Null

32

프리웨어 Windows 터미널 프로그램 인 RealTerm은 이러한 UART 속도를 Baud 메뉴에 나열합니다.

110, 150, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600

그러나 이들은 실제로 전송 속도가 아닌 초당 비트 수 (bps)입니다 (아래 참조).

110 보드는 ASR-33과 같은 8 단계 텔레타이프에 의해 사용되었습니다. 150 Baud가 사용 된 위치는 알 수 없지만 5 보드 TTY에 일반적으로 사용되는 (60 보드와 함께) 75 보드의 배가입니다.

300 bps는 1960 년대에 가장 널리 사용 된 전화 모뎀의 표준이었습니다. 초당 30 개의 문자가 동시에 나타납니다.

FSK (Simple Frequency Shift Keying)를 사용하는 300bps / 300 baud 이상에서 bps 및 baud (초당 기호 또는 톤) 수치는 동일하지 않습니다. 예를 들어 1200 bps 모뎀은 실제로 600 baud에서 실행되고 4800 bps 모뎀은 1600 baud에서 실행됩니다. 이 기사의 대역폭 아래에있는 표를 참조 하십시오 . 차이점은 초당 특정 수의 톤 펄스를 사용하는 것 외에도 위상 변이 키잉 및 기타 방법 을 사용하여 동일한 보드 율에서 추가 대역폭을 추출하여 더 높고 더 높은 bps를 얻을 수 있기 때문입니다. (56K 모뎀은 실제로 8000 보드에서만 실행됩니다.)

보시다시피 UART 요율 목록은 기본적으로 75에서 시작하여 38400에 도달 할 때까지 지속적으로 두 배 (600 건너 뛰기)하여 57600을 얻기 위해 1.5를 곱한 값입니다. 56Kbps는 아날로그 전화선의 한도입니다. 하드 배선 연결에는 115200 이상의 높은 속도 (한 번 더 57600에서 두 배로 증가)가 사용됩니다.

mikeselectricstuff가 언급했듯이, 14400과 28800bps는 모뎀 속도가 두 배가되지 않았지만 더 이상 거의 사용되지 않을 때 1.5 x 9600과 1.5 x 19200으로 도입되었습니다.


7
헛소리는 아니지만 프로그램은 하드웨어가 허용하는 속도 만 지원할 수 있습니다. 그것은 표준 속도를 묻고 귀찮게하지 않을 수도 있습니다. 내 하드웨어에 다음 zip(*serial.Serial('COM10').getSupportedBaudrates())과 같이 대답합니다.(50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200)
Nick T

2
80 년대에 600 비트 / s 반이중 음향 커플러를 사용했습니다. 독일 BTX 시스템에서 75 비트 / 초가 업로드 방향으로 오랫동안 사용되었으며 다운로드는 1200 비트 / 초였습니다.
starblue

2
62.5kbaud도 보았습니다. 실제로, 그것은 또한 당신의 메인 클럭에 달려 있으며, 어떤 보오 레이트가 충분히 낮은 에러를 야기 할 것인지 계산할 수 있습니다.
vsz

5

오랫동안 통신을 위해 115,200의 서브 멀티플을 사용하는 것이 일반적이었습니다. 대부분의 PC 하드웨어는 이러한 속도를 지원합니다. 일부 PC 하드웨어는 230,400 또는 460,800을 지원할 수 있습니다. 자체 클럭 속도의 하위 배수 인 데이터 속도와 같은 많은 임베디드 컨트롤러와 일부 USB- 직렬 칩은 3,000,000bps의 정수 하위 배수를 지원할 수 있으므로 1,000,000bps 또는 1,500,000bps와 같은 속도가 더 일반적 일 것입니다. USB 칩을 통해 PC에 연결하는 장치

BTW, 언급 할만한 다른 속도 : 31,250bps는 표준 MIDI에 사용되는 속도입니다.


4

원래 IBM PC에는 8250 UART가있었습니다. 이것은 1.8432 MHZ 클럭을 가져 와서 내부 클럭을 생성하기 위해 정수로 나누었고, 클럭은 16 사이클에서 비트로 실행됩니다.

제수 레지스터에서 1을 설정하면 115,200, 2는 57,600, 3은 38,400, 6은 19,200 등을 얻습니다.

가장 좋은 방법은 DSPIC과 함께 1.8432MHz의 배수로 실행되는 클럭을 사용하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.