ورقة مرجعية
معدل baud وتأطير UART
أزمنة البت لكل معدل baud، وما يرسله 8N1 فعلًا

ملخص معدل baud وتأطير UART
لا يوجد في UART (المرسل-المستقبل العام غير المتزامن) سلك ساعة مشترك، لذا يجب أن يتفق الطرفان مسبقًا على سرعة وصول البتات وطريقة تغليف كل بايت. معدل baud هو واحد فقط من عدة إعدادات يجب أن يتطابق فيها الطرفان، وليس القصة كاملة. اضبط معدل baud صحيحًا مع تأطير خاطئ، وغالبًا لن تكون النتيجة فشلًا واضحًا — بل سيلًا من الأحرف المشوّهة، لأن المستقبل يأخذ عينات الخط في اللحظات الخاطئة.
يبدأ إطار UART من خط خامل مُثبّت على المستوى المرتفع، ثم يسحبه بت البداية إلى المستوى المنخفض لمدة بت واحد ليعلن بداية البايت ويسمح للمستقبل بالتزامن معه. بعدها تأتي بتات البيانات — عادةً 8، وإن كانت بعض الأجهزة تستخدم من 5 إلى 9 — وتُرسل البت الأقل أهمية أولًا. قد يليها بت تكافؤ اختياري (بدون، زوجي، أو فردي) لفحص أساسي للأخطاء، ثم بت توقف واحد أو أحيانًا اثنان (يظهر 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 | الافتراضي الكلاسيكي لـ GPS بمعيار NMEA 0183 — ما زالت كثير من وحدات GPS تقلع بهذا المعدل قبل إعادة تهيئتها. |
| 9600 | 104 µs | 1.04 ms | "الافتراضي الآمن" التاريخي: أمثلة Serial.begin() في Arduino، وكثير من وحدات GSM بأوامر AT (مثل SIM800)، وأول معدل يستحق التجربة على لوحة مجهولة. (ملاحظة: وحدات Bluetooth من نوع HC-05 تستخدم 9600 baud لحركة البيانات العادية، لكنها افتراضيًا على 38400 baud لأوامر AT.) |
| 19200 | 52.1 µs | 521 µs | خطوة أعلى من 9600 في الوصلات الصناعية القديمة؛ الافتراضي لـ Modbus RTU في بعض الأجهزة (يختلف حسب المصنّع). |
| 38400 | 26.0 µs | 260 µs | معدل بديل شائع لوحدات GPS ووحدات Bluetooth Classic بعد إعادة تهيئتها من الافتراضي. وهو أيضًا المعدل الذي تستخدمه أجهزة AIS البحرية لخرج NMEA، لأن حجم بيانات AIS يتطلب 38400 baud بدل 4800 المعتاد. |
| 57600 | 17.4 µs | 174 µs | يُرى في بعض أجهزة راديو القياس عن بُعد لمتحكمات الطيران والمودمات القديمة؛ ويحل محله 115200 تدريجيًا في التصاميم الأحدث. |
| 74880 | 13.4 µs | 134 µs | غير معتاد لكنه حقيقي: معدل سجل boot-ROM في ESP8266، وهو أثر جانبي لكريستاله 26 MHz لا رقم مستدير مختار (يسجّل boot ROM في ESP32 عند 115200). نص الإقلاع المشوّه عند 115200 على لوحة ESP8266 يكون غالبًا بسبب هذا. |
| 115200 | 8.68 µs | 86.8 µs | الافتراضي الفعلي اليوم: UART التطبيقات في ESP32/ESP8266، ومعظم وحدات تصحيح 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 قبل أن تفترض أن المنفذ معطل. ميزة الكشف التلقائي لـ baud أو مفكك البروتوكول في محلل منطقي (أو قياس أقصر عرض نبضة في تدفق البيانات براسم الإشارة) سيحدد معدلًا غير مألوف بسرعة. قاعدة "يجب التطابق ضمن ~2-3%" المتداولة لعدم تطابق معدل baud توجيه تقريبي وليست مواصفة صارمة — فالخطأ المسموح فعليًا يعتمد على أخذ العينات الزائد في UART المعني وعدد بتات كل إطار، لذا اعتبرها تقديرًا تقريبيًا لا حدًا تصميميًا.







