Skip to content
Menu
bsm300gb120dlc
  • Home
  • components
  • الإخبارية
bsm300gb120dlc

تصميم واجهة USB على أساس 51 MCU و PDIUSB12

Posted on 2022-08-29

“من أجل حل مشكلة الاتصال بين 51 MCU والناقل التسلسلي (USB) للكمبيوتر ، بناءً على شريحة PDIUSB12 ، تم تحديد STC89C52 في 51 MCU كمثال ، وتم تصميم دائرة واجهة USB. صعوبة في اتصال USB.

“

مقدمة: من أجل حل مشكلة الاتصال بين 51 حاسوبًا صغيرًا أحادي الشريحة والناقل التسلسلي (USB) للكمبيوتر ، استنادًا إلى شريحة PDIUSB12 ، تم تحديد STC89C52 في 51 كمبيوتر صغير أحادي الشريحة كمثال ، و تم تصميم دائرة واجهة USB. المشكلة هي صعوبة اتصال الكمبيوتر عبر USB.

المقدمة

يتم تفضيل USB على نطاق واسع من قبل المستخدمين ومصنعي أجهزة الكمبيوتر نظرًا لاستخدامه المريح وسرعة نقله السريعة واتصاله المرن. تعتمد الميكروكونترولر (MCUs) في الغالب على USB للتواصل مع أجهزة الكمبيوتر. من بين وحدات MCU ، يعد 51 حاسوبًا صغيرًا أحادي الشريحة واحدًا من أكثر أجهزة الكمبيوتر الدقيقة أحادية الشريحة استخدامًا في الصين. ومع ذلك ، نظرًا لأن العديد من أجهزة الكمبيوتر الصغيرة أحادية الشريحة البالغ عددها 51 لا يمكنها الاتصال مباشرة بالكمبيوتر من خلال USB ، فإنها تسبب إزعاجًا لتطوير واستخدام العديد من المستخدمين. في هذا البحث ، تم تصميم دائرة واجهة USB على أساس STC89C52 ، وهو ممثل نموذجي لـ 51 من الحواسيب الصغيرة أحادية الشريحة ، و PDIUSB12 لأشباه الموصلات NXP ، وهو يحل مشكلة اتصال USB بين MCU والكمبيوتر. يتمتع هذا الحل بمزايا السعر المنخفض والاستخدام البسيط وعدم الحاجة إلى كتابة برامج تشغيل USB معقدة والتوصيل والتشغيل.

1 تصميم أجهزة الدائرة

1.1 مقدمة للرقاقة

تم بناء هذا النظام على أساس شريحة واجهة STC89C52 و PDIUSB12 أحادية الشريحة. STC89C52 هو معالج دقيق CMOS 8 بت منخفض الطاقة وعالي الأداء من إنتاج شركة الاتصالات السعودية ، وله نواة MCS-51 كلاسيكية وله الميزات التالية: ذاكرة برنامج فلاش مرنة بسعة 8 كيلوبايت وذاكرة بيانات 512 B RAM ، ويحتوي على 32- منفذ إدخال / إخراج بت و EEPROM 4 كيلوبايت مدمج ، 3 عدادات / عدادات 16 بت ، 4 مقاطعات خارجية ، هيكل مقاطعة 7 متجهات 4 مستويات ، منفذ تسلسلي مزدوج الاتجاه ؛ تحت وضع حماية خفض الطاقة ، ذاكرة الوصول العشوائي يتم حفظ المحتوى ، ويتم تجميد المذبذب ، ويتوقف كل عمل المتحكم الدقيق حتى المقاطعة التالية أو إعادة تعيين الأجهزة ؛ الحد الأقصى لتردد التشغيل هو 35 ميجاهرتز ، وهي وحدة MCU شائعة الاستخدام وذات أداء عالي التكلفة.

يعد PDIUSB12 المستخدم في شريحة واجهة USB جهاز واجهة USB عالي الأداء يدمج ذاكرة SIE وذاكرة FIFO وجهاز الإرسال والاستقبال ومنظم الجهد.يدعم نقل DMA المحلي ، ويمكنه تحقيق واجهة متوازية عالية السرعة بسرعة 2 ميجابت / ثانية مع معالج دقيق خارجي ، ودمج ذاكرة FIFO متعددة التكوين 320 ب ، ومعدل نقل بيانات 1 ميجابت / ثانية في وضع نقل الكتلة. متصل بـ USB عن طريق البرنامج ، وضع المقاطعة المتعددة يحقق النقل المتزامن والدُفعي[1]. يمكن توصيل PDIUSB12 و MCU بالكمبيوتر ، ويوضح الشكل 1 مخطط الهيكل المتصل بالكمبيوتر في هذا التصميم.

1.2 دائرة الأجهزة

تصميم واجهة USB على أساس 51 MCU و PDIUSB12

يظهر الرسم التخطيطي لدائرة واجهة USB المكون من STC89C52 و PDIUSB12 في الشكل 2. البيانات المتوازية 8 بت من PDIUSB12 متصلة بمنفذ P0 في STC89C52 على التوالي ؛ تشير ALE إلى وظيفة مزلاج العنوان ، المتصلة بـ GND لإغلاق العنوان مزلاج المعلومات ؛ يشير CS_N إلى وظيفة تحديد الشريحة ، المتصلة بـ GND ، تكون الشريحة دائمًا في حالة العمل ؛ SUSPEND متصل بـ GND ، وظيفة التعليق غير صالحة ؛ دبوس طلب المقاطعة INT_N متصل بالمقاطعة الخارجية INT0 من MCU ، و يكون صالحًا عندما يكون منخفضًا ؛ RD_N و WR_N هما إشارات تحكم متصلة على التوالي بالميكروكونترولر. المنفذ P3.3 متصل بالمنفذ P3.4 ؛ بت العنوان A0 متصل بالمنفذ P3.5 من وحدة التحكم الدقيقة. عندما A0 مرتفع ، فهذا يعني أن المتحكم الدقيق يرسل أمر أمر ، وعندما يكون A0 منخفضًا ، فهذا يعني أن المتحكم الدقيق يرسل أمر بيانات ؛ DMA طلب دبوس DMREQ عائم ؛ دبوس استجابة DMA DMACK_N صالح عند المستوى المنخفض ، يكون متصلاً إلى VCC بدون استجابة DMA ؛ إخراج الساعة القابلة للبرمجة DMACK_N عائم[2].

يوجد وضعان لإمداد الطاقة لأجهزة USB: مزود طاقة الناقل ووضع مصدر الطاقة الذاتية.من أجل تسهيل الاستخدام وتقليل تعقيد الدوائر الطرفية ، يختار هذا الورق وضع مصدر طاقة الناقل. تحتوي واجهة USB على 4 دبابيس ، وهي منفذ 5 VCC و GND ومنفذ البيانات D + و D-. يتم توصيل ضوء LED D2 بمنفذ VCC و GND الخاص بـ USB. عند توصيل النظام بمنفذ USB ، يتم تشغيل ضوء D2. يتم استخدام منفذي البيانات D + و D- للاتصال ، ويمكن أيضًا الحكم على ما إذا كان الكمبيوتر يتعرف على النظام من خلال الحالة المحتملة لـ D + و D-. عندما يكون الاختلاف المحتمل قريبًا من GND ، فهذا يعني أن الاتصال بين النظام والكمبيوتر غير ناجح ؛ عندما يكون الاختلاف المحتمل قريبًا من VCC ، فهذا يعني أن النظام جاهز للتواصل مع الكمبيوتر. يمكن الحكم عليه أيضًا من خلال مصباح LED D1 الخاص بدبوس GL_N: عندما يومض D1 بشكل متقطع ، فهذا يعني أن النظام يتعرف على الكمبيوتر ؛ عندما يكون D1 دائمًا في وضع التشغيل ، فهذا يعني أن التعريف قد اكتمل بنجاح وأن الاتصال ممكن .

2 تصميم برمجيات النظام

بالنسبة لنظام USB المكون من 51 حاسوبًا صغيرًا أحادي الشريحة و PDIUSB12 ، فإن الجزء الأساسي هو تصميم البرنامج ، والذي يتضمن بشكل أساسي جزء برنامج التشغيل وجزء البرنامج الثابت وجزء برنامج التطبيق. من أجل تبسيط التصميم ، يستخدم برنامج التشغيل برنامج التشغيل الذي يأتي مع Windows ويستخدم بروتوكول واجهة نظام HID ، والذي يحفظ عملية تطوير برنامج التشغيل. لذلك ، تعد برامج البرامج الثابتة وبرامج التطبيقات أجزاء أساسية من النظام.

2.1 عملية الاتصال بين جهاز USB والكمبيوتر

يحتوي PDIUSB12 على وظيفة PSIE (محرك الواجهة التسلسلية من Philips) ، وينفذ PSIE جميع طبقات بروتوكول USB ، ويتم تنفيذه بالكامل بواسطة الأجهزة دون مشاركة البرنامج. تتضمن وظائف هذه الوحدة التعرف على نمط المزامنة ، والتحويل المتوازي / التسلسلي ، وحشو / إلغاء حشو البتات ، وفحص / إنشاء CRC ، وفحص / إنشاء PID ، والتعرف على العنوان ، وتقييم / إنشاء المصافحة.لتحقيق الاتصال بين الكمبيوتر وجهاز USB ، يجب إجراء عملية التعداد عند توصيل جهاز USB بالكمبيوتر[3]أي السماح للكمبيوتر بتحديد جهاز USB وتعيينه ، ويتم الاتصال بين الجهاز والمضيف من خلال وضع نقل التحكم. العملية هي بشكل رئيسي على النحو التالي:

(1) عند توصيل جهاز USB بالكمبيوتر ، يكون جهاز USB في حالة التشغيل ، ويتم تشغيل وحدة التحكم الدقيقة و PDIUSB12. تم دمج مقاوم سحب 1.5 كيلو أوم في D + و D- داخل شريحة PDIUSB12 ، ومقاوم السحب هذا غير متصل بـ VCC افتراضيًا. بعد التشغيل ، إذا تم سحب D + إلى مستوى عالٍ ، وفقًا لتغييرات البيانات التي يراقبها المحور ، فمن المعروف أن جهازًا عالي السرعة متصل ؛ إذا قام المقاوم الانسحاب بسحب D- إلى مستوى عالٍ ، من المعروف أن جهازًا منخفض السرعة متصل. تم ضبط هذا النظام على جهاز USB عالي السرعة. عندما تكمل MCU عملية التهيئة ، اضبط D + على المستوى العالي.

(2) عندما يكتشف الكمبيوتر أن جهاز USB قد تم توصيله ويحدد ما إذا كان جهازًا عالي السرعة أو جهازًا منخفض السرعة ، سيرسل الكمبيوتر طلب Set_Port_Feature إلى لوحة الوصل لإدارة منفذ جهاز USB ، وتعيين D + و D- إلى حالة منخفضة (أي إعادة تعيين الحالة) ، والعودة إلى حالة الاتصال بعد 10 مللي ثانية. بعد أن يرسل الكمبيوتر Set_Port_Feature ، سيرسل باستمرار طلبات Get_Port_Status إلى لوحة الوصل للاستعلام عما إذا كان جهاز USB قد أكمل وظيفة إعادة التعيين. عند إعادة تعيين لوحة الوصل ، يكون جهاز USB في حالة خمول ، في انتظار أن يرسل الكمبيوتر أوامر جديدة. العناوين الافتراضية لعمليات نقل جهاز USB والكمبيوتر هي 0 ونقطة النهاية 0.

(3) يقوم الكمبيوتر بتعيين عنوان فريد لجهاز USB عن طريق إرسال طلب Set_Address. بعد ذلك ، تتم جميع الاتصالات بين الكمبيوتر وجهاز USB من خلال هذا العنوان.

(4) بعد تخصيص العنوان ، يحصل الكمبيوتر على واصف الجهاز من العنوان الجديد. يتم تحديد واصف تكوين واحد أو أكثر في واصف الجهاز ، وترسل العملية الحسابية الأمر Get_Descriptor () عدة مرات لقراءة واصفات التكوين هذه. يتضمن واصف الجهاز الحد الأقصى لطول الحزمة لنقطة النهاية 0 ، وتكوين دعم الجهاز ورقمه ، ونوع الجهاز ، و PID ، و VID ، وما إلى ذلك. بعد أن يستلمها الكمبيوتر ، يرسل حزمة 0 B كرد.

(5) يقوم الكمبيوتر بتكوين الجهاز بعد قراءة واصف الجهاز. في هذا الوقت ، سيظهر منفذ الكمبيوتر نافذة منبثقة لعرض المعلومات والشركة المصنعة ووصف المنتج والطراز وما إلى ذلك للجهاز الجديد الذي تم العثور عليه.

(6) بعد أن يحصل الكمبيوتر على معلومات كافية من الواصف ، يبدأ في تثبيت برنامج التشغيل للجهاز.بعد تحميل برنامج التشغيل ، يرسل الكمبيوتر الأمر Set_Configration () لطلب تكوين مناسب للجهاز ، وتنتهي عملية تعداد USB[4]. في هذا الوقت ، إذا أرسل الكمبيوتر أمر بيانات معينًا إلى USB ، يتم إرسال البيانات إلى PDIUSB12 عبر منفذ USB ، ثم إرسالها إلى MCU للمعالجة من خلال PDIUSB12. وبعد اكتمال المعالجة ، يتم إرجاع النتيجة إلى برنامج الكمبيوتر المضيف من خلال واجهة USB للعرض. حتى الآن ، تم تحقيق أبسط اتصال بين جهاز USB والكمبيوتر.

2.2 برمجة البرامج الثابتة

2.2.1 هيكل البرنامج الثابت

تصميم واجهة USB على أساس 51 MCU و PDIUSB12

يظهر هيكل البرنامج الثابت وتدفق البيانات في الشكل 3.في طبقة استخراج الأجهزة ، يجب تنفيذ إعداد الطبقة السفلية وتحديد النظام أولاً ، وهي عملية تحديد وتحميل منافذ الإدخال / الإخراج في PDIUSB12 و MCU ؛ الاتصال ؛ الوظيفة الرئيسية لروتين خدمة المقاطعة (ISR) عندما يرسل PDIUSB12 طلب مقاطعة ، ويتلقى البيانات المرسلة ويضبط العلامة لتمريرها إلى برنامج الحلقة الرئيسية ؛ تعني معالجة الجهاز القياسية معالجة طلب جهاز USB القياسي ؛ تشير معالجة طلب الشركة المصنعة إلى أن طلب الشركة المصنعة تمت إضافته بواسطة تتم معالجة المستخدم[5]؛ الحلقة الرئيسية هي بشكل أساسي للتعامل مع الوظائف التي يحددها المستخدم مثل أزرار المستخدم ومنافذ الإدخال / الإخراج ، وتلقي وظائف معالجة البيانات من كل وحدة.

2.2.2 أوامر واجهة PDIUSB12

تحتوي هذه الوحدة على جميع الإجراءات الفرعية لـ PDIUSB12 ، والتي يمكن استدعاؤها مباشرة عند الحاجة. بعض الوظائف الرئيسية مذكورة أدناه:

INT16U D12_ReadChipID (باطل) // قراءة معرف الشريحة

باطل D12_SetEndpointEnable (INT8U bEnable)

// تعيين نقطة النهاية تمكين

باطل D12_SetMode (INT8U bConfig ، INT8U bClkDiv)

// إعدادات الوضع

D12_SetDMA باطل (INT8U bMode) // إعداد وضع العمل DMA

INT16U D12_ReadInterruptRegister (باطل)

// قراءة قيمة تسجيل المقاطعة

INT8U D12_SelectEndpoint (INT8U bEndp) // تحديد نقطة النهاية

INT8U D12_ReadEndpointStatus (INT8U bEndp)

// قراءة حالة نقطة النهاية

INT8U D12_WriteEndpoint (INT8U endp ، INT8U len ،

INT8U * buf) // كتابة البيانات

باطل D12_AcknowledgeEndpoint (INT8U endp) // Acknowledge setup

تبدأ معظم الوظائف في هذه الوحدة بـ D12. لم يتم تقديم وظائفه التفصيلية واحدة تلو الأخرى ، يرجى الرجوع إلى ورقة البيانات PDIUSB12.

2.3 تصميم البرامج والبرامج التطبيقية

يقوم البرنامج التطبيقي بمعالجة البيانات التي يرسلها الكمبيوتر ومن ثم إعادتها إلى الكمبيوتر ، وعرض البيانات المرسلة والمستلمة من خلال الكمبيوتر المضيف.

أخذ الكمبيوتر إلى +1 الرقم المرسل إلى MCU كمثال ، فإن برنامج التطبيق لتحقيق هذه الوظيفة هو كما يلي:

إذا (bEPPflags.bits.ep2_rxdone)

{

bEPPflags.bits.ep2_rxdone = 0 ؛

D12_WriteEndpoint (5، EP2_PACKET_SIZE، EpBuf) ؛

}

يحدد هذا التصميم مساعد تصحيح الأخطاء متعدد الوظائف للحاسوب المصغر أحادي الشريحة باعتباره برنامج الكمبيوتر المضيف. هذه مجموعة من تصحيح الأخطاء التسلسلي / USB / الشبكة ، والتحويل الثنائي ، وإنتاج كود الخط والأنبوب الرقمي ، وحساب قيمة الاختيار الشائعة ، و UNICODE تحويل الكود ، وملفات bitmap Output C والعديد من برامج تصحيح الأخطاء المتكاملة الأخرى. يتم عرض البيانات التجريبية والنتائج التجريبية ، وتظهر نتائج التحقيق في الشكل 4.

تصميم واجهة USB على أساس 51 MCU و PDIUSB12

3 – الخلاصة

تدرس هذه الورقة تصميم واجهة USB بناءً على متحكم STC 51 و PDIUSB12 ، وتقترح مخطط بحث شامل مع STC89C52 كمثال. يتبنى النظام بروتوكول واجهة نظام HID ، حيث وجد أن أداءه مستقر وسهل الاستخدام وفعال من حيث التكلفة ، ويمكن استخدامه كواجهة اتصال بين الكمبيوتر المصغر أحادي الشريحة STC 51 والكمبيوتر. في الوقت نفسه ، يمكنه أيضًا توفير حلول للبحث عن دوائر واجهة USB الأخرى.

The Links:   AT050TN22-V1   FLC38XGC6V-06

  • components
  • الإخبارية
  • ابدأ من أبعاد متعددة لإنشاء معدات اختبار أوتوماتيكية مستقرة وفعالة لتلبية الفرص والتحديات في عصر تكامل الدائرة المتكاملة
  • نتحدث عن حالة صناعة شنغهاي IC
  • Fuji 2MBI100U4A-120 New Stock
  • Fuji 2MBI200U4H-120 New Stock
  • ما هو الفرق بين المستشعر والمشغل
©2022 bsm300gb120dlc | Created by bsm300gb120dlc
Go to mobile version