Які стандартні тарифи на UART?


33

Я знаю 9600, 19200, 38400, 57600, 115200 і 1,88432 Мбо, але інших. Чому ці значення використовуються, і чи просто їх подвоєння кожного разу чи відбувається щось складніше (наприклад, чотириразове число 38400 - це не 115200 бод?)

Я задаю це питання тому, що я розробляю щось, що може мати взаємодію з різними швидкостями передачі. Він буде ініціалізований у 9600, а потім перейде до конкретної швидкості передачі. Але я не можу підтримувати довільні ставки, оскільки dsPIC33F, який я використовую, не підтримує довільних швидкостей, оскільки він обмежений 16-бітовим BRG вниз. У цьому відношенні подібне до багатьох інших процесорів.


На практиці 16-бітового лічильника плюс шкали до / після публікації більш ніж достатньо, щоб отримати "достатньо близько" до довільних швидкостей передачі. UART-серія може терпіти незначні невідповідності швидкості передачі.
Пітер Грін

Uart починається посередині біта START і повинен залишатися біля середини біта STOP після серіалізації 7-10 біт. Що забезпечує мінімальну точну тактову частоту близько 2-3%, бажано краще обробляти шум, тремтіння, відхилення частоти джерела ...
TEMLIB

Відповіді:


36

Це почалося дуже давно з телетайпів - я думаю, 75 бод. Тоді він здебільшого збільшувався вдвічі, з кількома дробовими (x1,5) кратними, наприклад, 28 800, де існували обмеження в технології модему телефонної лінії, що не дозволило йому подвоїтися.

Стандартні значення кристалів виходили з цих ранніх боудратів, і їх доступність диктує майбутні темпи. Наприклад,

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

Більшість UARTS використовують годинник баудратів, більш сучасні частини (наприклад, NXP LPC) мають дробові подільники, щоб отримати ширший діапазон, використовуючи небінарні кратні.2n×16

Інші загальні стандарти - 31 250 (MIDI) і 250 К (DMX), обидва, скоріш за все, вибрані як хороші кратні "круглі" годинники, як 1 МГц і т.д.


4
Я не думаю, що дробові роздільники призначені для отримання нестандартних бітрейтів, а швидше стандартні бітрейти від нестандартних тактових частот MCU.
Йохан.А

3
Я відремонтував два роки 1926 року телетайпи, ще в коледжі (1976), і так, вони пробігли близько 75 бод. Їх позначали телескопами бодо. Підключено до напруги 110 кВ, а мотор забезпечив час, електричне з'єднання між ними. Я занурив їх у бензин, щоб очистити їх. (Дайте мені перерву - мені було 18, але це спрацювало!) Ctrl-G задзвонив чесно на добрий дзвін у іншого. На жаль, я навіть не пам'ятаю, кому я їх віддав. :-( Отже, так, ви наберете механічну клавіатуру, вона механічно серіалізує ваші натискання клавіш і здійснить перерву контакту, про який читала інша сторона.
Doug Null

Так, ревучі 20-ті! Яка якісна технологія триватиме 50 років, і вона опинилася в сараї Джона Сільви в Хейворді, Каліфорнія.
Doug Null

32

RealTerm, безкоштовна термінальна програма Windows, перераховує ці тарифи UART у своєму меню Бод:

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

Однак це фактично біти на секунду (bps), а не бод - див. Нижче.

110 бод використовувались 8-рівневі телетипи типу ASR-33. Мені невідомо, де було використано 150 Бод, але це подвоєння 75 бод, що зазвичай використовується (разом з 60 бодами) для 5-рівневих TTY.

300 біт / с був стандартом для перших широко використовуваних телефонних модемів у 1960-х. Одночасно з'являлося число 30 символів на секунду.

Більше 300 bps / 300 бод, що використовували просту клавішу з частотним зсувом (FSK), цифри для bps і бод (символи або тони в секунду) не однакові. Наприклад, модем з 1200 біт / с насправді працює при 600 бодах, а модем в 4800 біт / с працює при 1600 бодах. Дивіться таблицю під пропускною здатністю в цій статті . Різниця полягає в тому, що крім використання певної кількості тонових імпульсів за секунду застосовується фазовий зсув клавіш та інші методи для отримання додаткової пропускної здатності з тієї ж швидкості передачі для отримання більш високих та більш високих пробілів. (Отже, модем 56K фактично працює лише при 8000 бодах.)

Як бачимо, перелік частот UART, по суті, починається від 75 і постійно збільшується вдвічі (пропускаючи 600), аж до 38400, де він помножився на 1,5, щоб отримати 57600. 56 Кбіт / с - це межа для аналогової телефонної лінії. Більш високі темпи на 115200 вгору (знову подвоєння починаючи з 57600) використовуються для проводів з провідними проводами.

Як уже згадувалося в мікроелектричних товарах, 14400 і 28800 біт / с були введені як 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
Я використовував напівдуплексний акустичний з'єднувач 600 біт / с у вісімдесятих роках. 75 біт / с тривалий час використовувався в німецькій системі BTX у напрямку завантаження, завантаження становило 1200 біт / с.
starblue

2
Я також бачив 62,5 кбауд. Насправді це також залежить від вашого основного годинника, ви можете обчислити, які баудрати призведуть до досить низької помилки.
vsz

5

Тривалий час прийнято використовувати для комунікації підмножини 115200 - або потужність двох підмножин 38 400, або 57 600, або 115 200. Більшість апаратних засобів ПК підтримує ці тарифи. Деякі апаратні засоби ПК можуть підтримувати 230 400 або 460 800. Зауважте, що багатьом вбудованим контролерам подобається швидкість передачі даних, яка є підмножиною їх власної тактової швидкості, а деякі мікросхеми від USB до послідовного вмісту можуть підтримувати будь-яке ціле підмножина в 3 000 000 пробій, тому швидкості, такі як 1 000 000 біт / с або 1500 000 пробій, напевно, стануть більш поширеними для пристрої для підключення до ПК за допомогою мікросхем USB.

До речі, варто згадати ще одну швидкість: 31,250bps - швидкість, яка використовується для стандартного MIDI.


4

Оригінальний комп'ютер IBM мав 8250 UART. Це зайняло 1,8432 МГц та поділило це на деяке ціле число, щоб генерувати його внутрішній такт, і цей годинник працює на 16 циклів до біта.

Якщо встановити 1 в регістрі дільника, ви отримаєте 115 200, 2 отримує 57 600, 3 отримує 38 400, 6 отримує 19 200 і т.д.

Ваша найкраща ставка - використання тактового сигналу, який працює з деяким кратним 1,88432 МГц за допомогою DSPIC.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.