संदर्भ शीट
UART baud और फ़्रेमिंग
हर baud रेट का बिट समय, और 8N1 असल में क्या भेजता है

UART baud रेट और फ़्रेमिंग चीट शीट
UART (Universal Asynchronous Receiver-Transmitter) में कोई साझा क्लॉक वायर नहीं होता, इसलिए दोनों सिरों को पहले से तय करना होता है कि बिट कितनी तेज़ी से आएँगे और हर बाइट कैसे पैक होगा। baud रेट उन कई सेटिंग्स में से सिर्फ़ एक है जो दोनों ओर मेल खानी चाहिए, पूरी बात नहीं। baud रेट सही पर फ़्रेमिंग ग़लत हो तो नतीजा आमतौर पर साफ़ विफलता नहीं होता — गड़बड़ अक्षरों की धारा आती है, क्योंकि रिसीवर लाइन को ग़लत समय पर सैंपल करता है।
UART फ़्रेम हाई रखी गई आइडल लाइन से शुरू होता है, फिर एक स्टार्ट बिट उसे एक बिट समय के लिए लो खींचता है ताकि बाइट की शुरुआत दिखे और रिसीवर उससे सिंक हो सके। इसके बाद डेटा बिट आते हैं — आमतौर पर 8, हालाँकि कुछ डिवाइस 5 से 9 इस्तेमाल करते हैं — सबसे कम महत्व वाला बिट पहले भेजा जाता है। बुनियादी त्रुटि जाँच के लिए एक वैकल्पिक पैरिटी बिट (none, even या odd) आ सकता है, और फिर एक या कभी-कभी दो स्टॉप बिट (कुछ पुराने हार्डवेयर पर 1.5 स्टॉप बिट भी) लाइन को वापस आइडल हाई पर लाकर फ़्रेम का अंत दिखाते हैं।
दोनों सिरों को चारों सेटिंग्स पर एक साथ सहमत होना होता है — baud रेट, डेटा बिट की संख्या, पैरिटी और स्टॉप बिट की संख्या — इसीलिए इन्हें आमतौर पर '8N1' (8 डेटा बिट, कोई पैरिटी नहीं, 1 स्टॉप बिट) जैसे छोटे रूप में लिखा जाता है, जो आज सबसे आम कॉन्फ़िगरेशन है। इनमें से कोई एक भी ग़लत हो, भले baud रेट मेल खाए, तो काम करने वाले लिंक के बजाय गड़बड़ बाइट या फ़्रेमिंग त्रुटियाँ दिखेंगी।
| Baud रेट (bps) | बिट समय | बाइट समय (8-N-1, 10 बिट) | सामान्य उपयोग / टिप्पणियाँ |
|---|---|---|---|
| 1200 | 833 µs | 8.33 ms | पुरानी टेलीमेट्री और कुछ बहुत पुराने GPS रिसीवर; नए डिज़ाइन में दुर्लभ। |
| 2400 | 417 µs | 4.17 ms | कभी-कभी पुराने सेंसर या लंबी, शोर वाली केबल पर इस्तेमाल, जहाँ धीमी रेट भरोसा बढ़ाती है। |
| 4800 | 208 µs | 2.08 ms | क्लासिक NMEA 0183 GPS डिफ़ॉल्ट — कई GPS मॉड्यूल दोबारा कॉन्फ़िगर होने से पहले अब भी इसी रेट पर बूट होते हैं। |
| 9600 | 104 µs | 1.04 ms | पुराना 'सुरक्षित डिफ़ॉल्ट': Arduino Serial.begin() उदाहरण, कई AT-कमांड GSM मॉड्यूल (जैसे SIM800), और अनजान बोर्ड पर आज़माने लायक पहली रेट। (नोट: HC-05 Bluetooth मॉड्यूल सामान्य डेटा के लिए 9600 baud इस्तेमाल करते हैं, पर AT कमांड के लिए डिफ़ॉल्ट 38400 baud है।) |
| 19200 | 52.1 µs | 521 µs | पुराने इंडस्ट्रियल लिंक पर 9600 से एक कदम ऊपर; कुछ डिवाइस पर Modbus RTU डिफ़ॉल्ट (निर्माता के हिसाब से बदलता है)। |
| 38400 | 26.0 µs | 260 µs | GPS मॉड्यूल और Bluetooth Classic मॉड्यूल को डिफ़ॉल्ट से बदलने के बाद आम वैकल्पिक रेट। मरीन AIS ट्रांसपॉन्डर भी NMEA आउटपुट के लिए यही रेट इस्तेमाल करते हैं, क्योंकि AIS के डेटा की मात्रा के लिए सामान्य 4800 के बजाय 38400 baud चाहिए। |
| 57600 | 17.4 µs | 174 µs | कुछ फ़्लाइट-कंट्रोलर टेलीमेट्री रेडियो और पुराने मॉडेम पर दिखती है; नए डिज़ाइन में 115200 इसकी जगह ले रहा है। |
| 74880 | 13.4 µs | 134 µs | असामान्य पर असली: ESP8266 की boot-ROM लॉग रेट, जो किसी चुने गए गोल नंबर के बजाय उसके 26 MHz क्रिस्टल का साइड इफ़ेक्ट है (ESP32 का boot ROM 115200 पर लॉग करता है)। ESP8266 बोर्ड पर 115200 पर गड़बड़ बूट टेक्स्ट आमतौर पर यही होता है। |
| 115200 | 8.68 µs | 86.8 µs | आज का व्यावहारिक डिफ़ॉल्ट: ESP32/ESP8266 एप्लिकेशन UART, ज़्यादातर USB-to-serial डीबग कंसोल, और ज़्यादातर मौजूदा माइक्रोकंट्रोलर सैंपल कोड। |
| 230400 | 4.34 µs | 43.4 µs | तेज़ फ़र्मवेयर लॉगिंग; ज़्यादातर आधुनिक USB-serial ब्रिज (CP210x, CH340, FTDI) छोटी केबल पर इसे बिना परेशानी संभालते हैं। |
| 460800 | 2.17 µs | 21.7 µs | हाई-थ्रूपुट लॉगिंग या फ़्लैशिंग; भरोसेमंद रहने के लिए अच्छा USB-serial एडॉप्टर और छोटी, साफ़ वायरिंग चाहिए। |
| 921600 | 1.09 µs | 10.9 µs | तेज़ फ़्लैशिंग टूल (जैसे esptool.py के तेज़ मोड) और ऊँची रेट वाली डेटा स्ट्रीमिंग में इस्तेमाल; वायर की लंबाई, केबल क्वालिटी और क्लॉक सटीकता के प्रति सबसे संवेदनशील। |
अनजान बोर्ड की जाँच करते समय 8N1 लगभग हमेशा सुरक्षित फ़्रेमिंग अनुमान है — असली अनजानी चीज़ आमतौर पर सिर्फ़ baud रेट होती है। पहले 115200 और 9600 आज़माएँ क्योंकि ये ज़्यादातर डिवाइस कवर करते हैं, और अगर ESP8266 बूट लॉग 115200 पर कचरा दिखे, तो पोर्ट को ख़राब मानने से पहले 74880 आज़माएँ। लॉजिक एनालाइज़र का auto-baud या प्रोटोकॉल डिकोडर (या स्कोप से डेटा स्ट्रीम की सबसे छोटी पल्स चौड़ाई मापना) अनजानी रेट जल्दी पकड़ लेगा। baud-रेट बेमेल के लिए अक्सर बताया जाने वाला "~2-3% के भीतर मेल खाना चाहिए" नियम एक मोटा दिशानिर्देश है, पक्का स्पेक नहीं — असली सहनीय त्रुटि उस UART के ओवरसैंपलिंग और हर फ़्रेम के बिट की संख्या पर निर्भर करती है, इसलिए इसे डिज़ाइन सीमा के बजाय अनुमान मानें।







