Saya tahu 9600, 19200, 38400, 57600, 115200 dan 1.8432 Mbaud, tetapi tidak ada yang lain. Mengapa nilai-nilai ini digunakan, dan itu hanya dua kali lipat setiap kali atau ada sesuatu yang lebih kompleks terjadi (misalnya, 38400 empat kali lipat tidak 115200 baud?)
Alasan saya mengajukan pertanyaan ini adalah saya merancang sesuatu yang mungkin harus berinteraksi dengan berbagai baud rate yang berbeda. Ini akan mulai pada 9600, dan kemudian beralih ke kecepatan baud tertentu. Tetapi saya tidak dapat mendukung tarif sewenang-wenang karena dsPIC33F yang saya gunakan tidak mendukung tarif sewenang-wenang karena terbatas pada penghitung turun BRG 16-bit. Ini serupa dalam hal ini dengan banyak prosesor lainnya.
Jawaban:
Itu sudah lama sekali dimulai dengan teletype - saya pikir 75 baud. Maka itu sebagian besar telah berlipat ganda sejak itu, dengan beberapa kelipatan fraksi (x1.5), misalnya 28.800, di mana ada kendala pada teknologi modem saluran telepon yang tidak cukup memungkinkan untuk menggandakan.
Nilai kristal standar berasal dari baudrate awal ini, dan ketersediaannya menentukan tingkat di masa depan. Misalnya,
Sebagian besar UARTS menggunakan jam2n×16 dari baudrate, bagian yang lebih modern (misalnya NXP LPC) memiliki pembagi fraksional untuk mendapatkan rentang yang lebih luas dengan menggunakan kelipatan non-biner.
Standar umum lainnya adalah 31.250 (MIDI) dan 250K (DMX), keduanya cenderung dipilih sebagai kelipatan jam 'putaran' yang bagus seperti 1MHz dll.
sumber
RealTerm, program terminal Windows freeware, mencantumkan tarif UART ini di menu Baud-nya:
110, 150, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600
Namun ini sebenarnya bit per detik (bps), bukan baud - lihat di bawah.
110 baud digunakan oleh 8-level Teletypes seperti ASR-33. Saya tidak tahu di mana 150 Baud digunakan, tetapi ini merupakan penggandaan dari 75 baud, yang biasa digunakan (bersama dengan 60 baud) untuk TTY 5 tingkat.
300 bps adalah standar untuk modem telepon pertama yang banyak digunakan pada tahun 1960-an. Sejumlah 30 karakter per terminal kedua muncul pada waktu yang bersamaan.
Di atas 300 bps / 300 baud, yang menggunakan pengalihan frekuensi sederhana (FSK), angka untuk bps dan baud (simbol atau nada per detik) tidak sama. Misalnya, modem 1200 bps benar-benar berjalan pada 600 baud, dan modem 4800 bps berjalan pada 1600 baud. Lihat tabel di bawah Bandwidth di artikel ini . Perbedaannya adalah karena selain menggunakan sejumlah pulsa nada per detik, penguncian fase-shift dan metode lain digunakan untuk mengekstraksi bandwidth tambahan dari baud rate yang sama untuk mendapatkan bps yang lebih tinggi dan lebih tinggi. (Jadi modem 56K sebenarnya hanya berjalan pada 8000 baud.)
Seperti yang Anda lihat, daftar tarif UART pada dasarnya dimulai pada 75 dan terus berlipat ganda (melompati 600), hingga mencapai 38400, di mana dikalikan 1,5 untuk mendapatkan 57600. 56K bps adalah batas untuk saluran telepon analog. Tingkat yang lebih tinggi 115200 ke atas (sekali lagi dua kali lipat mulai dari 57600) digunakan untuk koneksi kabel.
Seperti disebutkan mikeselectricstuff, 14400 dan 28800 bps diperkenalkan sebagai 1,5 x 9600 dan 1,5 x 19200 ketika kecepatan modem tidak dapat digandakan pada saat itu, tetapi jarang digunakan lagi.
sumber
zip(*serial.Serial('COM10').getSupportedBaudrates())
,, itu menjawab:(50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200)
Untuk waktu yang lama, sudah umum untuk menggunakan submultiples dari 115.200 untuk komunikasi - baik kekuatan dari dua submultiples dari 38.400 atau 57.600 atau 115.200. Sebagian besar perangkat keras PC mendukung tarif tersebut. Beberapa perangkat keras PC dapat mendukung 230.400 atau 460.800. Perhatikan bahwa banyak pengontrol yang disematkan seperti kecepatan data yang merupakan sub-kelipatan dari kecepatan clock mereka sendiri, dan beberapa chip USB-ke-serial dapat mendukung submultiple integer dengan 3,000,000bps, sehingga kecepatan seperti 1,000,000bps atau 1,500,000bps mungkin akan menjadi lebih umum untuk perangkat untuk terhubung ke PC melalui chip USB.
BTW, satu tarif lain yang layak disebutkan: 31.250bps adalah tarif yang digunakan untuk MIDI standar.
sumber
IBM PC asli memiliki 8250 UART. Ini mengambil jam 1,8432 MHZ dan membaginya dengan bilangan bulat untuk menghasilkan jam internalnya, dan jam itu berjalan pada 16 siklus ke bit.
Pengaturan 1 di register pembagi memberi Anda 115.200, 2 mendapat 57.600, 3 mendapat 38.400, 6 mendapat 19.200, dll.
Taruhan terbaik Anda adalah menggunakan jam yang berjalan di beberapa kelipatan 1,8432 MHz dengan DSPIC.
sumber