قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 22-08-2012, 12:34 AM المشاركة 1   
افتراضي المدخل إلى : الميكروسى برو والاتصال عن طريق المنفذ التسلسلى العام USB interfacing Twitter FaceBook Google+



المدخل إلى : الميكروسى برو والاتصال عن طريق المنفذ التسلسلى العام USB interfacing




مقدمة
لفترة طويلة , كان نظام UART هو السبيل الوحيد والأفضل للتواصل مع الكومبيوتر . فمن السهل التكيف والتعامل معه . على الرغم من أن بعض الأجهزة تحتوى داخلها على UART , لكن للتواصل مع الكومبيوتر لا يوجد الآن سوى شىء واحد , وهو الناقل التسلسلى العام USB (Universal Serial Bus) .
الغرض من هذا الموضوع هو شرح "كيفية تواصل أو ربط الميكروكونترولر PIC بالكومبيوتر من خلال منفذ USB . على الرغم من أن المفاهيم عامة , لكن الأمثلة مخصصة للاستخدام مع الميكروسى برو .
يشتهر الميكروكونترولر PIC18F2550 و PIC18f4550بسبب وجود وحدة (موديول) USB فى بنائها.
أصعب جزء فى الموضوع هو ما هو المطلوب بالضبط (بالتحديد) للحصول على اتصال بين الميكروكونترولر مع منفذ USB . الشيئان الأكثر أهمية واللذان يجب أن يكونا صحيحان تماما هما : إعدادات configurationالميكروكونترولر وواصف descriptorجهاز USB . حتى لو كان هناك شىء صغير جدا غير صحيح حولهما فإن الاتصال لن يتحقق .

السرعة USB Speed :
مواصفات الاتصال التسلسلى الأصلى USB 1.0 تعرف معدلات نقل البيانات بالقيم : للسرعة المنخفضة
1.5 Mbit/s "Low Speed" و للسرعة الكاملة 12 Mbit/s "Full Speed" . وكان معدل البيانات المرتفع 12 Mbit/s معد للأجهزة ذات السرعة العالية مثل مشغلات الأقراص disk drives ومعدل البيانات المنخفض 1.5 Mbit/s معد للأجهزة ذات السرعة المنخفضة مثل أذرع القيادة joysticks.
مواصفات الناقل التسلسلى العام USB 2.0لها معدل نقل بيانات بالقيمة 480 Mbit/s , والذى يعرف أيضا بالسرعة العالية “High Speed” . مواصفات الناقل USB 3.0 الجديد لها معدل نقل بيانات بالقيمة 5 Gbit/s وتعرف "فائقة السرعة" “Super Speed” .
الميكروكونترولر PIC18F2550/4550 يدعم السرعة المنخفضة (1.5 Mb/s) والسرعة الكاملة
(12 Mb/s). لذا فإن أول شىء عليك أن تعرفه هو كيفية تعيين الساعة clock المطلوبة للاتصال عبرUSB .
تعيين الساعة Clock setting :
سوف نوضح كيفية الإعداد بالسرعة الكاملة ‘Full Speed’أى 12 Mb/s . عندما تستخدم الميكروكونترولر للاتصال من خلال USB يجب استخدام ساعة بتردد 6 MHz أو 48 MHz لعمل USBإعتمادا على ما إذا كان يتم استخدام السرعة المنخفضة Low-Speed أو السرعة الكاملة Full-Speed.
أول شىء يمكنك القيام به هو استخدام كريستال بتردد 48MHz ( من أجل السرعة الكاملة ).
لكن يوجد عيبان :
  • أن التردد 48MHz غير متاح بوفرة كما أنه مكلف .
  • كلما ارتفع تردد الكريستال كلما زادت الضوضاء .
قدمت شركة ميكروشيب عمل رائع من أجل حل هذه المشكلة . لقد ضمنت "مضاعف تردد" ( بدائرة "حلقة قفل الطور" Phase Lock Loop (PLL)) , والذى يسمح بمجموعة واسعة من سرعة الساعة , من 4MHz إلى 48MHz . كما تتم المعالجة لإلغاء الضوضاء داخلها . لذلك سوف نستخدم هذه الميزة لإنتاج السرعة الكاملة للاتصال عبر USB .
الشكل التالى يبين المخطط الصندوقى للساعة :

الميكروكونترولر PIC18F2550يدعم كل من المذبذب الخارجة والمذبذب الداخلى على حد سواء . ولإننا سوف نناقش المذبذب الخارجى لذلك تم إزالة الجزء السفلى من المخطط . من المخطط يمكنك أن ترى أن وحدة PLL تنتج بالفعل 96MHz وبعد القسمة على 2 تكون 48MHz . وحدة PLL يجب أن يكون لها دخل 4MHz . لذلك إذا استخدمنا كريستال 4MHz عندئذ يجب تعيين المعامل PLL prescaler بواحد (PLLDIV = 000) . وإذا استخدمنا كريستال 20MHz عندئذ يجب أن يكون المعامل prescaler بخمسة وهكذا .
كان ذلك نهاية ضبط ساعة USB . الآن ماذا عن مصدر ساعة الميكروكونترولر . من المخطط الصندوقى يمكنك أن ترى أنه يمكن استخدام إما خرج PLL أو يمكن مباشرة استخدام خرج الكريستال .
هنا سوف نستخدم كريستال 20MHz . لذلك من أجل USB سوف يكون PLL prescaler بالقيمة 5 . الميكروكونترولر سوف يعمل عند 20MHz ( أى أن المعامل prescaler سوف يكون بواحد
[CPUDIV = 00] )

ضبط الساعة بالميكروسى :

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 22-08-2012, 12:40 AM المشاركة 2   
افتراضي


ضبط الساعة بالميكروسى :
حتى قبل برمجة الميكروكونترولر , يجب أن تكون إعداداته صحيحة . قم بإنشاء برنامج للميكروكونترولر P18F2550 . إذهب إلى القائمة Project→Edit Project,:



سوف يظهر لك النافذة التالية :



راقب بعناية :
  • PLL Prescaler Selection : لإننا نستخدم كريستال20MHz فإن المعامل يجب أن يكون 5.
  • USB Clock Selection : نختار PLL

  • Oscillator Selection : نختار HS (High Speed)

  • System Clock Postscaler Selection : نختار الواحد كما ذكرنا .
منظم الجهد USB voltage regulator :

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 22-08-2012, 12:44 AM المشاركة 3   
افتراضي


منظم الجهد USB voltage regulator :
يوجد ضمن بناء الميكروكونترولر منظم جهد ويجب تمكينه :


الموضوع أن مستوى الجهد لخط بيانات USB(D+ and D-) هو 3.3 volt . ونظرا لأن الميكروكونترولر يعمل عند 5v , لذلك يوجد منظم الجهد 3.3v الخاص بعمل USB . يجب عليك تمكينه enable.
أيضا إذا أمعنت النظر فى مخطط الأطراف فسوف ترى أن هناك طرف يسمى VUSB (pin14) . إذا كنت لا تريد استخدام منظم الجهد 3.3v الداخلى , يمكنك التغذية بمصدر 3.3v على هذا الطرف . وإذا استخدمت المنظم الداخلى عندئذ يتم إضافة مكثف 220nF على هذا الطرف بالنسبة للأرضى لعمل استقرار للمصدر الداخلى (يمكنك استخدام مكثقين 100nF على التوازى) .






ملف الواصف Descriptor file :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 22-08-2012, 12:47 AM المشاركة 4   
افتراضي


ملف الواصف Descriptor file :
كلما قمت بتوصيل جهاز بمنفذ USB , ما الذى يحدث فى الواقع ؟ يظهر لك ما يخبرك بأنك قد قمت بتوصيل جهاز جديد ويسألك عن الدرايفر driver , أليس كذلك ؟ هل لاحظت حقا ما الذى يحدث عندما تقوم بتوصيل ماوس أو لوحة مفاتيح من فئة USB ؟
لاشىء !
هل سبق وتساءلت ما سبب ذلك ؟ السبب هو أن هذه الأجهزة تقع تحت بروتوكول يسمى
‘HID (Human Interface Device) Protocol’ "بروتوكول جهاز التواصل مع البشر" ونظام Windows, فى وضعه الافتراضى , به driver للأجهزة HID. لذلك إذا كان جهازك يتصل مع نظام التشغيل كجهاز HID عندئذ لن تحتاج أى درايفر لجهازك !!

تتضمن الأمثلة النموذجية لأجهزة فئة HID ما يلى :
  • لوحات المفاتيح Keyboards و أجهزة التأشير مثل : أجهزة الماوس القياسية , وكرات تتبع المسار trackballsومقابض القيادة joysticks .
  • وسائل التحكم بلوحات الواجهات الأمامية , مثل : المقابض knobs والمفاتيح العادية switches والمفاتيح الضاغطة buttons والمنزلقات sliders .
  • عناصر التحكم التى قد توجد فى الأجهزة مثل الهواتف , وأجهزة التحكم عن عن بعد لأجهزة VCR والألعاب وأجهزة المحاكاة مثل قفازات البيانات والصمامات الخانقة وعجلات التوجيه ودواسات القيادة .
  • الأجهزة التى قد لا تتطلب التفاعل البشرى ولكنها توفر بيانات فى شكل مماثل لأجهزة فئة HID , مثل أجهزة قراءة عامود الشفرة ( البار كود) bar-code readers وأجهزة قياس درجة الحرارة والأجهزة قياس thermometers الفولت voltmeters .

لجعل جهازك يعمل ضمن الفئة HIDيجب "تضمين (إدراج) include ملف مصدر للوصف والذى يحتوى على رقم الهوية ID واسم البائع (VID), رقم الهوية واسم المنتج (PID), وطول التقريرReport Length, والمعلومات الأخرى ذات الصلة . لا داعى للقلق فالميكروسى يقوم بعمل ذلك .

لإنشاء ملف الواصف , نستخدم نافذة الطرف HID terminal الموجودة ضمن الميكروسى برو :

Tools › USB HID Terminal




تحول إلى التبويب "الواصف" ‘Descriptor’ . يمكنك تغيير المنتج واسم البائع . اترك الباقى كما هو واضغط على ‘Save Descriptor’ . يتم حفظ الملف بمجلد المشروع .
الاسم الافتراضى لملف الواصف هو USBdsc.c , لكن يمكنك إعادة تسميته .




مدير المشروع Project Manager :
الآن بعد اكتمال واصف USB يجب عليك أن تخبر المترجم باستخدام الملف . يتم ذلك بمدير المشروع .



على الجانب الأيمن من شاشة المترجم انقر فوق التبويب “Project Manager” .
يتم فتح مدير المشروع . تأكد من أن ملف الواصف يظهر أسفل مجلد المصادر Sources folder . إذا لم يظهر انقر بالزر الأيمن للماوس على مجلد Sources, وانقر على Add File to Project , ثم اختار ملف الواصف الخاص بك . الآن عندما يتم ترجمة البرنامج الرئيسى سيتم تلقائيا تضمين (إدراج) ملف الواصف . تأكد من حفظ المشروع .

البرمجة :


alolo23
:: مهندس ::
تاريخ التسجيل: Jul 2012
المشاركات: 47
نشاط [ alolo23 ]
قوة السمعة:0
قديم 22-08-2012, 02:19 AM المشاركة 5   
افتراضي


شكرا جزيلا أستاد عبد العزيز موضوع رائع جدا
ومفيد بارك الله فيك
وكل سنة وأنت طيب


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 22-08-2012, 02:27 AM المشاركة 6   
افتراضي


شكرا جزيلا أستاد عبد العزيز موضوع رائع جدا
ومفيد بارك الله فيك
وكل سنة وأنت طيب
أخى الكريم

شكرا جزيلا لك

بارك الله فيك

وكل عام وأنت بخير وصحة وعافية

مع تمنياتى بدوام التوفيق


الصورة الرمزية كرار العامري
كرار العامري
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2010
الدولة: العراق
المشاركات: 159
نشاط [ كرار العامري ]
قوة السمعة:0
قديم 22-08-2012, 02:52 PM المشاركة 7   
افتراضي


ملف الواصف Descriptor file :
كلما قمت بتوصيل جهاز بمنفذ USB , ما الذى يحدث فى الواقع ؟ يظهر لك ما يخبرك بأنك قد قمت بتوصيل جهاز جديد ويسألك عن الدرايفر driver , أليس كذلك ؟ هل لاحظت حقا ما الذى يحدث عندما تقوم بتوصيل ماوس أو لوحة مفاتيح من فئة USB ؟
لاشىء !
هل سبق وتساءلت ما سبب ذلك ؟ السبب هو أن هذه الأجهزة تقع تحت بروتوكول يسمى
‘HID (Human Interface Device) Protocol’ "بروتوكول جهاز التواصل مع البشر" ونظام Windows, فى وضعه الافتراضى , به driver للأجهزة HID. لذلك إذا كان جهازك يتصل مع نظام التشغيل كجهاز HID عندئذ لن تحتاج أى درايفر لجهازك !!

تتضمن الأمثلة النموذجية لأجهزة فئة HID ما يلى :
  • لوحات المفاتيح Keyboards و أجهزة التأشير مثل : أجهزة الماوس القياسية , وكرات تتبع المسار trackballsومقابض القيادة joysticks .
  • وسائل التحكم بلوحات الواجهات الأمامية , مثل : المقابض knobs والمفاتيح العادية switches والمفاتيح الضاغطة buttons والمنزلقات sliders .
  • عناصر التحكم التى قد توجد فى الأجهزة مثل الهواتف , وأجهزة التحكم عن عن بعد لأجهزة VCR والألعاب وأجهزة المحاكاة مثل قفازات البيانات والصمامات الخانقة وعجلات التوجيه ودواسات القيادة .
  • الأجهزة التى قد لا تتطلب التفاعل البشرى ولكنها توفر بيانات فى شكل مماثل لأجهزة فئة HID , مثل أجهزة قراءة عامود الشفرة ( البار كود) bar-code readers وأجهزة قياس درجة الحرارة والأجهزة قياس thermometers الفولت voltmeters .

لجعل جهازك يعمل ضمن الفئة HIDيجب "تضمين (إدراج) include ملف مصدر للوصف والذى يحتوى على رقم الهوية ID واسم البائع (VID), رقم الهوية واسم المنتج (PID), وطول التقريرReport Length, والمعلومات الأخرى ذات الصلة . لا داعى للقلق فالميكروسى يقوم بعمل ذلك .

لإنشاء ملف الواصف , نستخدم نافذة الطرف HID terminal الموجودة ضمن الميكروسى برو :

Tools › USB HID Terminal




تحول إلى التبويب "الواصف" ‘Descriptor’ . يمكنك تغيير المنتج واسم البائع . اترك الباقى كما هو واضغط على ‘Save Descriptor’ . يتم حفظ الملف بمجلد المشروع .
الاسم الافتراضى لملف الواصف هو USBdsc.c , لكن يمكنك إعادة تسميته .




مدير المشروع Project Manager :
الآن بعد اكتمال واصف USB يجب عليك أن تخبر المترجم باستخدام الملف . يتم ذلك بمدير المشروع .



على الجانب الأيمن من شاشة المترجم انقر فوق التبويب “Project Manager” .
يتم فتح مدير المشروع . تأكد من أن ملف الواصف يظهر أسفل مجلد المصادر Sources folder . إذا لم يظهر انقر بالزر الأيمن للماوس على مجلد Sources, وانقر على Add File to Project , ثم اختار ملف الواصف الخاص بك . الآن عندما يتم ترجمة البرنامج الرئيسى سيتم تلقائيا تضمين (إدراج) ملف الواصف . تأكد من حفظ المشروع .

البرمجة :
شكرا اخي الفاضل موضوع اكثر من رائع
تفضل الله عليك بمزيد من العلم والمعرفة لتفيد هذا المنتدى الرائع



وما توفيقي الا بالله العلي العظيم


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 22-08-2012, 05:58 PM المشاركة 8   
افتراضي


شكرا اخي الفاضل موضوع اكثر من رائع
تفضل الله عليك بمزيد من العلم والمعرفة لتفيد هذا المنتدى الرائع



وما توفيقي الا بالله العلي العظيم

أخى الكريم

شكرا جزيلا لك

بارك الله فيك

مع تمنياتى بدوام التوفيق

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 05:51 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025