تكملة دورة المعالجات والمتحكمات المصغرة الجزء الثاني (01-20)
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
21 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
المسجل A للتحكم والحالة ل UCSRA ( UCSRA )
البت
الوصف
RXC
يأخذ قيمته عندما يؤشر لاستقبال عنصر تسلسلي
TXC
يأخذ قيمته عندما يؤشر لإرسال عنصر تسلسلي
UDRE
يأخذ قيمته عندما يؤشر إلى أن ال UDR المرسل فارغ.
FE
يأخذ قيمته عندما يؤشر إلى خطأ في الإطار.
DOR
يأخذ قيمته عندما يؤشر إلى خطأ بسبب التراكب.
PE
خطأ الازدواجية
U2X
يأخذ قيمته من أجل مضاعفة سرعة الإرسال.
MPCM
يأخذ قيمته من أجل تفعيل نمط التواصل بعدة معالجات.
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
22 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
المسجل B للتحكم والحالة ل USART ( UCSRB )
البت
الوصف
RXCIE
بت من نوع القناع، من أجل تفعيل مقاطعة الاستقبال. يأخذ قيمته من أجل الإفصاح عن المقاطعة.
TXCIE
بت من نوع القناع، من أجل تفعيل مقاطعة الإرسال. يأخذ قيمته من أجل الإفصاح عن المقاطعة.
UDRIE
مسجل بيانات « بت من نوع القناع، من أجل تفعيل مقاطعة العلم USART يأخذ قيمته للإفصاح عن المقاطعة. .» فارغ
RXEN
يأخذ قيمته لتفعيل المستقبل التسلسلي.
TXEN
يأخذ قيمته لتفعيل المستقبل التسلسلي.
UCSZ2
مع UCSZ1:0 ، يحدد عدد بتات البيانات.
RXB8
البت التاسع المستقبل في حالة ال 9 بتات.
TXB8
البت التاسع المرسل في حالة ال 9 بتات.
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
23 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
.1 تحديد حالة ال USART ( UMSEL 🙂
◦0 ، تحدد العملية الغير متزامنة. 1 ، تحدد العملية المتزامنة.
.2 حالة الازدواجية ل USART ( UPM[1:0] 🙂
◦00 ، لا توجد ازدواجية. 10 ، ازدواجية زوجية. 11 ، ازدواجية زوجية.
.3 تحديد بت الإيقاف ل USART ( USBS 🙂
◦0 ، بت إيقاف واحد. 1 ، بتين إيقاف.
.4 حجم الرمز ل USART ( UCSZ[2:0] 🙂
◦000 ، 5 بتات. 001 ، 6 بتات. 010 ، 7 بتات. 011 ، 8 بتات. 111 ، 9 بتات.
المسجل C للتحكم والحالة ل USART ( UCSRC )
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
24 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
مسجلات تردد البتات والبيانات في USART
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
25 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
النشاط الأساسي ل USART
◦ البدء، الإرسال، الاستقبال.
في حالة الإرسال،
◦ مراقبة علم UDRE إلى أن يتم تفعيله.
◦ تحميل البيانات اللازم إرسالها في مسجل ال UDR .
في الاستقبال،
◦ مراقبة بت ال RXC إلى أن يتم تفعيله.
◦ استقبال البيانات من مسجل UDR .
العملية والبرمجة
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
26 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
المخطط الصندوقي للبرمجة
USART تحديد بارامترات الاتصال ل
)بتات البي انات بتات الإيقاف الا دوا ية(
تشغيل المرسل و/أو
المستقبل
تفعيل حالة عدم
المزامنة ل
USARTتحديد تردد البتات.
يو د علم
محدد UDRE
نعم
تحميل باي البيانات
UDR إل مسجل
من أ ل إرسال
لا
يو د علم
محدد RXC
نعم
إحضار البيانات التي
تم استقبال ا من
UDR مسجل
لا
USART بدء USART الإرسال في USART الاستقبال في
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
27 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
شريحة ATmega16 تعمل بسرعة 10 ميغاهرتز
◦ قيمة تردد البتات هي 9600 ،
◦8 بتات للبيانات،
◦ غير متزامن،
◦ لا توجد خانة ازدواجية،
◦ بت إيقاف واحد.
للحصول على تردد بتات قيمته 9600 باستخدام تردد العمل 10 ميغاهرتز، يجب تحديد
قيمة المسجل UBRR على 64 « ، أي إدخال القيمة 0x40 .»
UBRR = ] )مولد نبضات ساعة النظام( / ) 16 تردد البتات( [ – × 1
مثال برمجي
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
28 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
//USART_init: يبدأ تشغيل نظام يوزارت
Void USART_init(void)
{
UCSRA = 0x00; // التحكم ببدء المسجل
UCSRB = 0x08; // تفعيل المرسل
UCSRC = 0x86; // غير متزامن، لا توجد خانة ازدواجية، بت إيقاف وحيد، 8 بتات
// تحديد قيمة تردد البتات
UBRRH = 0x00;
UBRRL =0x40
}
بدء USART
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
29 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
// USART_transmit: تقوم بإرسال بايت واحد من البيانات
void USART_transmit(unsigned char data)
{
while((UCSRA & 0x20)==0x00)
◦// انتظار العلم UDRE
◦// تفعيله يعني أن مسجل البيانات فارغ .
{;}
UDR = data; // من أجل الإرسال » يو دي آر « تحميل البيانات إلى
}
الإرسال في USART
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
30 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
// USART_receive: يستقبل بايت واحد من البيانات
Unsigned char USART_receive(void)
{
while ((UCSRA & 0x80)==0x00)
◦// انتظر العلم RXC
◦// » يو دي آر « يشير إلى وجود بيانات غير مقروءة في .
{;}
data = UDR; // » يو دي آر « إحضار البيانات من
return data;
}
الاستقبال في USART
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
31 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
يمكنه التعامل مع خطوط نقل بطول 1.2 كيلو متر وبتردد بتات قدره 80
كيلوبت في الثانية، أو 10 ميغابت في الثانية لمسافة 12 متر، ويدعم عدد
مستقبلات يصل إلى 10 .
1 . قياسيات النهاية الوحيدة:
◦ الممانعة المتشكلة بسبب طول الخط تؤدي إلى حصول فرق بين كموني الخط الأرضي
في الدارة، مما يقلل مقاومة الخط للضجيج.
◦ ستؤثر أي قيمة ضجيج يتم اكتسابها من الخارج على إشارة الخطوط بشكل مختلف عن
القطب الأرضي نظرا لمميزاتهما الكهربائية المختلفة.
الربط مع RS-423
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
32 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
الربط مع RS-423
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
33 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
قاعدة تواصل مختلفة،
عند تردد بتات يصل إلى 10 ميغابت في الثانية،
لمسافات تصل إلى 1000 متر
الربط مع RS-422
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
34 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
2 . مواصفات قياسية تعتمد على الاختلاف:
◦ تحتوي كل وصلة على ناقلين، عادة ما يتم لفهما حول بعضهما.
◦ المستوى المنطقي هو الاختلاف في الكمون بين الناقلين، وليس الاختلاف في الكمون
عن النقطة الأرضية.
◦ إذا كان اسمي الناقلين هما A و B، فيكون ال 0 منطقي عندما A<B وال 1 منطقي
عندما A>B .
يجب أن يكون الفارق في كموني الخطين عند الاستقبال أكبر من ± 200 ميللي
فولت، ويجب أن يولد المرسل فرقا في الكمون يساوي ± 5 فولت.
المواصفات القياسية ل RS-422 و RS-485
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
35 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
المواصفات القياسية ل RS-422 و RS-485
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
36 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
وصل شريحتي AVR باستخدام ربط RS-422 .
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
37 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
البيانات الأصلية والبيانات التفاضلية في RS-422
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
38 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
.1 الربط نصف زوجي
◦ أي أنه لا يمكن إلا لمعالج صغري وحيد أن يرسل في كل مرة.
يختلف عن RS-232 في:
. 1 تحويل القيم المنطقية إلى كمونات.
. 2 تردد البيانات الأعظمي.
.3 طول الكابل.
. 4 جهة الانتقال.
الربط مع RS-485
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
39 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
تحتوي دارة القيادة على منفذ للتفعيل من أجل المرسل، وأيضا من أجل
المستقبل.
يمكن لشريحة AVR أن تقرر – بالاعتماد على البرنامج – فيما إذا كانت
سترسل أو تستقبل البيانات.
يقوم المصمم بتحديد أية شريحة AVR ستكون القائدة عند بدء التشغيل أو عند
إعادة الضبط.
المعالج الصغري القائد يقوم بتمكين المرسل فيه، بينما تقوم باقي المعالجات
بتمكين المستقبل فيها.
عملية الربط مع RS-485
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
40 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
يمكن لسرعة البيانات أن تصل إلى 10 ميغابت في الثانية و
المسافة تصل إلى 1000 متر )لكن ليس بالسرعة الأعظمية(.
تسمح لوجود 32 خط قيادة ومستقبل.
الشرائح الشائعة للمرسلات والمستقبلات النصف مزدوجة هي:
عملية الربط مع RS-485
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
41 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
الوا ة القياسية من RS-232 إل RS-485
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
42 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
من RS-232 إل RS-485 من أ ل مسافات قصيرة
مرسل ومستقبل تفاضلي
مرسل ومستقبل بنهاية وحيدة
ترجمة أحمد رامي قباني || RamiKabbani.wordpress.com
43 ترجمة وتنسيق: رامي قباني. إلقاء الدكتور: عبد الغني البكار.
وصل عدة شرائح AVR باستخدام ممر حزمة من
النوع RS-485