Hangi standart UART oranları var?


33

9600, 19200, 38400, 57600, 115200 ve 1.8432 Mbaud’u biliyorum ama başkaları yok. Bu değerler neden kullanılıyor ve her seferinde iki katına çıkıyor mu yoksa daha karmaşık bir şey mi var (örneğin, 38400 dörtlü 115200 baud değil mi?)

Bu soruyu sormamın nedeni, çeşitli farklı baud oranlarıyla etkileşime girmesi gereken bir şey tasarlamam. 9600'de başlayacak ve ardından belirli bir baud oranına geçecektir. Ancak, kullandığım dsPIC33F, 16 bitlik bir BRG aşağı sayıcı ile sınırlı olduğundan, keyfi oranları desteklemiyor çünkü. Bu konuda diğer birçok işlemciye benzer.


Uygulamada 16 bitlik bir sayaç artı öncesi / sonrası ölçekleyiciler, keyfi baud oranlarına "yeterince yakın" olmak için fazlasıyla yeterli. UART seri hafif baud hızı uyumsuzluklarını tolere edebilir.
Peter Green,

Uart, START bitinin ortasında başlar ve 7-10 bit seriledikten sonra STOP bitinin ortasına yakın durmalıdır. Asgari saat hassasiyetini% 2-3 civarında yapan, tercihen kaynak frekansındaki gürültü, titreşim, sapmaların
giderilmesi

Yanıtlar:


36

Teletiplerle çok uzun zaman önce başladı - sanırım 75 baud. O zamandan bu yana çoğunlukla iki katına çıktı, birkaç fraksiyonel (x1.5) katları, örneğin 28.800, telefon hattı modem teknolojisinde ikiye katlanmasına izin vermeyen kısıtlamalar vardı.

Standart kristal değerleri bu ilk baudratlardan geldi ve kullanılabilirliği gelecekteki oranları belirler. Örneğin,

7,3728M'Hz16=460,800baud7,3728M'Hz64=115,200baud.

Çoğu UARTS, baudratın saatini kullanır , daha modern kısımlar (örneğin NXP LPC), ikili olmayan katları kullanarak daha geniş bir aralık elde etmek için kesirli bölücülere sahiptir.2nx16

Diğer ortak standartlar, her ikisi de 1MHz vb. Gibi 'yuvarlak' saatlerin güzel katları olarak seçilen 31.250 (MIDI) ve 250K'dir (DMX).


4
Kesirli bölücülerin standart olmayan bit hızları almak için olduğunu sanmıyorum, ancak standart dışı MCU saat frekanslarından gelen standart bit hızları.
Johan.A

3
İki yıl 1926 teletiplerini, üniversiteye (1976) döndüm ve evet, yaklaşık 75 baud'da koştular. Baudot teletipleri etiketlendi. 110vac'a takılı ve bir motor aralarında elektrik bağlantısı olan zamanlamayı sağladı. Onları temizlemek için benzinle doldurdum. (Bana bir mola verin - 18 yaşındaydım. Ama işe yaradı!) Ctrl-G, diğer yandan iyilik ziline dürüst davrandı. Ne yazık ki, onları kime verdiğimi bile hatırlamıyorum. :-( Öyleyse, evet, mekanik klavyeyi girersiniz, mekanik olarak tuş vuruşlarınızı seri hale getirir ve diğer tarafın okuduğu bir
Doug Null

Yay, Kükreyen '20's! 50 yıldır süren kaliteli teknoloji ve John Silva'nın Kaliforniya'daki Hayward şehrindeki kulübe.
Doug Null,

32

Ücretsiz bir Windows terminal programı olan RealTerm, bu UART hızlarını Baud menüsünde listeler:

110, 150, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 sayılı belge.

Ancak bunlar aslında saniyede bit (bps), baud değil - aşağıya bakınız.

ASR-33 gibi 8 seviyeli Teletipler tarafından 110 baud kullanıldı. 150 Baud'un nerede kullanıldığının farkında değilim, ancak 5 seviyeli TTY'ler için yaygın olarak kullanılan (60 baud ile birlikte) 75 baud'un iki katı.

1960'lı yıllarda ilk yaygın olarak kullanılan telefon modemlerinin standardı 300 bps idi. Aynı anda, saniyede 30 karakterlik bir sayı belirdi.

Basit frekans kaydırma tuşlaması (FSK) kullanılan 300 bps / 300 baud'un üstünde, bps ve baud (saniye başına sembol veya ton) değerleri aynı değildir. Örneğin, 1200 bps modem aslında 600 baud'da, 4800 bps modem ise 1600 baud'da çalışır. Bu makaledeki Bant Genişlikleri altındaki tabloya bakın . Aradaki fark, saniye başına belirli sayıda ton atımı kullanmaya ek olarak , faz değiştirme anahtarlamanın ve diğer yöntemlerin aynı baud hızından daha fazla ve daha yüksek bps elde etmek için ek bant genişliği elde etmek için kullanılmasıdır. (Yani bir 56K modem aslında sadece 8000 baud'da çalışıyor.)

Gördüğünüz gibi, UART oranlarının listesi esasen 75'te başlamış ve sürekli olarak iki katına çıkmış (600 atlayarak), 38400'e ulaşana kadar, 1.5 ile 57600'e ulaşması için sınırlandırılmıştır. 115200'den daha yüksek oranlar (bir kez daha 57600'den başlayarak iki katına çıkarılan) sert kablolu bağlantılar için kullanılır.

Mikeselectricstuff'ın bahsettiği gibi, 14400 ve 28800 bps, modem hızlarının o zaman iki katına çıkamadığı, ancak nadiren kullanıldığı zaman 1,5 x 9600 ve 1,5 x 19200 olarak tanıtıldı.


7
Bilgi niteliğinde olmak değil, ancak program yalnızca donanımın izin verdiği hızları destekleyebilir. Sormaya zahmet etmeyebilir ve standart hızları listeleyebilir. Donanımımı sorarak zip(*serial.Serial('COM10').getSupportedBaudrates()), cevap veriyor:(50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200)
Nick T

2
Seksenlerde 600 bit / sn yarım çift yönlü akustik kuplör kullandım. Alman BTX sisteminde yükleme yönünde 75 bit / s uzun bir süre kullanıldı, indirme işlemi 1200 bit / s idi.
starblue

2
Ayrıca 62.5 kbaud gördüm. Aslında, ana saatinize de bağlı, baudratların ne kadar düşük bir hataya yol açacağını hesaplayabilirsiniz.
vsz

5

Uzun süredir, iletişim için 115.200 alt alt-dilini kullanmak yaygındı - ya 38.400 olan iki alt güç ya da 57.600 ya da 115.200 alt-sınıfı. Çoğu PC donanımı bu oranları destekler. Bazı PC donanımları 230,400 veya 460,800'ü destekleyebilir. Kendi saat hızlarının alt katları olan veri hızları ve bazı USB-seri cipslerinin veri katları gibi birçok yerleşik denetleyicisinin 3.000.000 b / sn'lik herhangi bir tamsayı altını destekleyebileceğini, bu nedenle 1.000.000 bps veya 1.500.000 bps gibi hızların muhtemelen daha yaygın olacağını unutmayın. PC'lere USB yongaları ile bağlanma cihazları.

BTW, bahsetmeye değer başka bir oran: 31.250bps, standart MIDI için kullanılan orandır.


4

Orijinal IBM PC'de 8250 UART vardı. Bu, 1.8432 MHZ'lik bir saat aldı ve iç saatini oluşturmak için bazı tamsayılarla bölüştürüldü ve bu saat bit için 16 döngüde çalışıyor.

Bölen kayıt defterinde 1 ayarı 115,200, 2 57,600, 3 alır 38,400, 6 19,200 vb. Alır.

En iyi seçeneğiniz DSPIC ile 1.8432 MHz’nin birkaç katında çalışan bir saat kullanmak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.