Tỷ lệ UART tiêu chuẩn là gì?


33

Tôi biết 9600, 19200, 38400, 57600, 115200 và 1.8432 Mbaud, nhưng không có ai khác. Tại sao các giá trị này được sử dụng và chỉ đơn giản là nhân đôi mỗi lần hoặc có điều gì phức tạp hơn đang diễn ra (ví dụ: 38400 tăng gấp bốn lần không phải là 115200 baud?)

Lý do tôi hỏi câu hỏi này là tôi đang thiết kế một cái gì đó có thể phải tương tác với nhiều tốc độ truyền khác nhau. Nó sẽ khởi tạo vào năm 9600, và sau đó chuyển sang tốc độ truyền cụ thể. Nhưng tôi không thể hỗ trợ các mức giá tùy ý vì DSPIC33F tôi đang sử dụng không hỗ trợ các mức giá tùy ý vì nó bị giới hạn ở bộ đếm xuống BRG 16 bit. Nó tương tự như vậy đối với nhiều bộ xử lý khác.


Trong thực tế, bộ đếm 16 bit cộng với bộ chia tỷ lệ trước / sau là quá đủ để có được "đủ gần" với tốc độ truyền tùy ý. UART nối tiếp có thể chịu đựng sự không phù hợp tốc độ baud nhẹ.
Peter Green

Uart bắt đầu ở giữa bit START và phải ở gần giữa bit STOP sau khi tuần tự hóa 7-10 bit. Điều này làm cho độ chính xác của đồng hồ tối thiểu khoảng 2-3%, tốt nhất là tốt hơn để xử lý nhiễu, jitter, độ lệch trong tần số nguồn ...
TEMLIB

Câu trả lời:


36

Nó đã bắt đầu từ lâu với teletypes - tôi nghĩ 75 baud. Sau đó, nó đã tăng gấp đôi kể từ đó, với một số bội (x1,5), ví dụ 28.800, trong đó có những hạn chế đối với công nghệ modem đường dây điện thoại không cho phép tăng gấp đôi.

Các giá trị tinh thể tiêu chuẩn đến từ các baudrate đầu tiên này, và tính khả dụng của chúng chỉ ra tỷ lệ trong tương lai. Ví dụ,

7.3728MHz16=460,800baud7.3728MHz64=115,200baud.

2n×16

Các tiêu chuẩn phổ biến khác là 31.250 (MIDI) và 250K (DMX), cả hai đều có khả năng được chọn là bội số đẹp của đồng hồ 'tròn' như 1MHz, v.v.


4
Tôi không nghĩ rằng các bộ chia phân đoạn là để có được bitrate không chuẩn, mà là bitrate tiêu chuẩn từ tần số đồng hồ MCU không chuẩn.
Johan.

3
Tôi đã tân trang hai năm 1926 teletypes, hồi đại học (1976) và vâng, họ chạy ở khoảng 75 baud. Chúng được dán nhãn teletypes. Cắm vào 110vac và một động cơ cung cấp thời gian, với kết nối điện giữa chúng. Tôi nhúng chúng vào xăng để làm sạch chúng. (Hãy cho tôi nghỉ ngơi - Tôi đã 18. Nhưng nó đã hoạt động!) Ctrl-G vang lên một tiếng chuông trung thực với tiếng chuông tốt lành khác. Than ôi, tôi thậm chí không nhớ người mà tôi đã cho họ đi. :-( Vì vậy, vâng, bạn gõ trên bàn phím cơ, nó sẽ tuần tự hóa các phím bấm của bạn và tạo một số liên lạc mà phía bên kia đọc.
Doug Null

Yay, 20 'ầm ầm! Công nghệ chất lượng nào để tồn tại trong 50 năm và phát triển tại John Silva ở Hayward, California.
Doug Null

32

RealTerm, một chương trình thiết bị đầu cuối Windows miễn phí, liệt kê các tỷ lệ UART này trong menu Baud của nó:

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

Tuy nhiên đây thực sự là các bit trên giây (bps), không phải baud - xem bên dưới.

110 baud đã được sử dụng bởi Teletypes 8 cấp như ASR-33. Tôi không biết 150 Baud đã được sử dụng ở đâu, nhưng nó tăng gấp đôi 75 baud, thường được sử dụng (cùng với 60 baud) cho các TTY 5 cấp.

300 bps là tiêu chuẩn cho các modem điện thoại được sử dụng rộng rãi đầu tiên vào những năm 1960. Một số lượng 30 ký tự trên mỗi thiết bị đầu cuối thứ hai xuất hiện cùng một lúc.

Trên 300 bps / 300 baud, sử dụng khóa dịch chuyển tần số đơn giản (FSK), các số liệu cho bps và baud (ký hiệu hoặc âm báo mỗi giây) không giống nhau. Ví dụ, modem 1200 bps thực sự chạy ở tốc độ 600 baud và modem 4800 bps chạy ở tốc độ 1600 baud. Tham khảo bảng dưới Băng thông trong bài viết này . Sự khác biệt là do ngoài việc sử dụng một số xung âm nhất định trong một giây, phím dịch pha và các phương pháp khác được sử dụng để trích xuất băng thông bổ sung từ cùng tốc độ truyền để có tốc độ bps cao hơn và cao hơn. (Vì vậy, modem 56K thực sự chỉ chạy ở tốc độ 8000 baud.)

Như bạn có thể thấy, danh sách tỷ lệ UART về cơ bản bắt đầu ở mức 75 và liên tục tăng gấp đôi (bỏ qua 600), cho đến khi đạt 38400, trong đó nó được nhân với 1,5 để có được 57600. 56K bps là giới hạn cho một đường dây điện thoại tương tự. Tỷ lệ cao hơn 115200 trở lên (một lần nữa nhân đôi bắt đầu từ 57600) được sử dụng cho các kết nối có dây cứng.

Như các thiết bị điện tử đã đề cập, 14400 và 28800 bps được giới thiệu là 1,5 x 9600 và 1,5 x 19200 khi tốc độ modem không thể tăng gấp đôi tại thời điểm đó, nhưng hiếm khi được sử dụng nữa.


7
Không phải là mô phạm, nhưng chương trình chỉ có thể hỗ trợ tốc độ mà phần cứng cho phép. Nó thậm chí có thể không bận tâm hỏi và chỉ liệt kê ra tốc độ tiêu chuẩn. Hỏi phần cứng của tôi zip(*serial.Serial('COM10').getSupportedBaudrates()), nó trả lời:(50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200)
Nick T

2
Tôi đã sử dụng một bộ ghép âm thanh song công 600 bit / s trong những năm tám mươi. 75 bit / s đã được sử dụng trong hệ thống BTX của Đức theo hướng tải lên trong một thời gian dài, tải xuống ở mức 1200 bit / s.
starblue

2
Tôi cũng đã thấy 62,5 kbaud. Trên thực tế, nó cũng phụ thuộc vào đồng hồ chính của bạn, bạn có thể tính toán những gì baudrates sẽ dẫn đến một lỗi đủ thấp.
vsz

5

Trong một thời gian dài, người ta thường sử dụng các tiểu số 115.200 để liên lạc - có thể là hai tiểu đơn vị của 38.400 hoặc khác là 57.600 hoặc 115.200. Hầu hết các phần cứng PC đều hỗ trợ các mức giá đó. Một số phần cứng PC có thể hỗ trợ 230.400 hoặc 460.800. Lưu ý rằng nhiều bộ điều khiển nhúng như tốc độ dữ liệu là bội số của tốc độ xung nhịp của riêng chúng và một số chip USB nối tiếp có thể hỗ trợ bất kỳ số nguyên nào là 3.000.000bps, do đó tốc độ như 1.000.000bps hoặc 1.500.000bps có thể sẽ trở nên phổ biến hơn đối với thiết bị kết nối với PC thông qua chip USB.

BTW, một tốc độ khác đáng nói đến: 31.250bps là tốc độ được sử dụng cho MIDI tiêu chuẩn.


4

Máy tính IBM ban đầu có 8250 UART. Điều này đã lấy một đồng hồ 1.8432 MHZ và chia cho một số nguyên để tạo đồng hồ bên trong của nó và đồng hồ đó chạy ở 16 chu kỳ cho bit.

Đặt 1 trong thanh ghi chia sẽ giúp bạn có 115.200, 2 được 57.600, 3 được 38.400, 6 được 19.200, v.v.

Đặt cược tốt nhất của bạn là sử dụng đồng hồ chạy ở nhiều mức 1,8432 MHz với DSPIC.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.