إعداد معدل الباود للاتصال التسلسلي وخوارزمية معدل الباود
عندما يتم استخدام الاتصالات التسلسلية من الحواسيب الصغيرة رقاقة واحدة ، يجب تعيين معدل الباود ، ويجب تعيين معدل الباود إلى 9600 ، 19200 ...؟ هل هذا تقليد؟ من ماذا؟ مذبذب الكريستال المقابلة هو أيضا عموما 11.0592MHZ.
يتم أولاً تعيين مذبذب البلورات ثم قم بتعيين معدل الباود أو تعيين معدل الباود أولاً ثم تعيين مذبذب الكريستال. لماذا يجب تعيين هذا؟
هناك نوعان من العبارات الموثوقة:
1: وفقا للخصائص المادية للكهرباء ، وسائط النقل ، إلخ. جنبا إلى جنب مع متطلبات استخدام الجهاز التسلسلي
من أجل ضمان التواصل الفعال ، وفقا للخصائص الفيزيائية للكهرباء ، وسائط النقل ، إلخ. جنبا إلى جنب مع متطلبات استخدام الجهاز التسلسلي ، يتم تحديد أن الحد الأقصى لمعدل نقل RS232 يمكن أن يكون فقط 115200 ، ومن ثم الحصول عليها بخطوتين للحصول على 57600 ، 28800 ، 19200 ؛ للتكيف مع هذه المعدلات ، تصميم تردد الكريستال المقابلة.
2: يتم تحديد ذلك من خلال خصائص خط الاتصالات.
Bandpass لخط الهاتف هو 300 - 3KHz. في ذلك الوقت ، تعمل الموصلات أولاً في المودم ، لذا فإن إشارة 2400HZ المستخدمة ، معدل الباود المقابل هو 2400. بما أن التردد الأساسي محدد ، فإن التمريرات المحسنة تتبنى طريقة المعدل مضروبة على أساس 2400 في وقت لاحق ، لذلك تشكيل 9600.19200. . . .
في كلتا الحالتين ، هناك معدل الباود ثم تردد كريستال.
حساب معدل الباود من الاتصالات التسلسلية من الحواسيب الصغيرة رقاقة واحدة.
في الوضع 0 و الوضع 2 ، يتم إصلاح معدل الباود المنفذ التسلسلي و وضع 0 هو Fosc / 12. الوضع 2 هو Fosc / 32 أو Fosc / 64 ، والتي يتم تحديدها بواسطة بتة SMOD في سجل PCON.
في الوضع 1 و 3 وضع ، معدل الباود قيمة متغير. يمكن إنشاء معدل الباود بواسطة المؤقت 1 (يمكن إنشاء 8052 بواسطة التوقيت 2). ما هو معدل الباود؟ سيتم تحديد معدل الباود بواسطة معدل تجاوز سعة المؤقت 1 :
معدل الباود = (2SMOD / 32) * (معدل تجاوز الفاصل الزمني 1)
ملاحظة: 2SMOD هنا SMOD هو مؤشر ، SMOD هو معدل الباود معدل الباود مزدوج ، هذا البت في سجل PCON.
عند استخدام المؤقت 1 كمولد معدل الباود ، عادة ما يكون من الضروري تكوين المؤقت 1 للعمل في وضع إعادة التحميل التلقائي 8 بت ، وأيضا لتعطيل الموقت 1 المقاطعة ، ثم تجاوز الموقت 1 كيفية حسابها؟ معدل الفائض هو تكرار التدفق الزائد. بافتراض أن تردد البلورة هو 12 ميجاهرتز وقيمة TH1 هي 0xFE ، فسيكون هناك حاجة لنبضين على مدار الساعة فقط لتجاوز الفائض ، وتكون فترة الفائض هي 2us ، ومن ثم يكون تردد تجاوز النطاق هو 500 كيلوهرتز. وفقًا لقسم المؤقت ، فإن وقت التوقيت يحتوي على الصيغة التالية:
وقت التوقيت = (أقصى قيمة للعد - قيمة أولية مضادة) * دورة الآلة = (القيمة القصوى للعد - القيمة الأولية المقابلة) * (12 / تردد الكريستال (Hz)) (s) = (256-TH1) * (12 / OSC_FREQ ( هرتز)) (ق).
ثم تواتر الفائض هو بطبيعة الحال:
OSC_FREQ (هرتز) / ((256 TH1) * 12).
لذا فإن معدل الدفع الفوري إلى الباود هو:
(2SMOD / 32) * (OSC_FREQ (هرتز) / ((256 TH1) * 12)).
تتوفر صيغة حساب معدل الباود ، وبطبيعة الحال ، يمكن أن تستمد القيمة الأولية لل TH1 وفقا لمعدل الباود:
BAUD_RATE = (2SMOD / 32) * (OSC_FREQ (هرتز) / ((256 TH1) * 12))
32 * 12 * (256 TH1) = (2SMOD * OSC_FREQ (هرتز)) / BAUD_RATE
256 TH1 = (2SMOD * OSC_FREQ (هرتز)) / (BAUD_RATE * 32 * 12)
TH1 = 256- (2SMOD * OSC_FREQ (هرتز)) / (BAUD_RATE * 32 * 12)
بافتراض أن تردد البلورة هو 11.0592 ميغاهيرتز ، فإن معدل الباود هو 9600 ، SMOD = 0 ، ما هي القيمة الأولية لـ TH1؟ وفقا للصيغة المذكورة أعلاه ، يمكن حسابها TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD.





