انتقل إلى المحتوى

كيفية تصميم أصغر نظام للميكروكنترولر

سيتم شرح هذا المقال بناءً على ميكروكنترولر STM32 (سلسلة F1).

الخلفية

عندما نتعلم النظم المدمجة ، نبدأ عادةً من الميكروكنترولر. عندما نتعلم الميكروكنترولر ، لا يمكننا أن نتعلم فقط البرمجيات ، بل يجب أن نتعلم أيضًا المعرفة الأجهزة. التصميم الذي يجمع بين البرمجيات والأجهزة هو التصميم الممتاز الحقيقي.

عند الحديث عن تصميم الأجهزة للميكروكنترولر ، سنقوم بتجميعها أولاً كأصغر نظام ، وهو التصميم الأبسط الذي يمكن تحقيقه لتنفيذ الوظائف الأساسية. على سبيل المثال ، في حالة ميكروكنترولر STM32 (سلسلة F1) ، لا يوجد أصغر نظام سوى هذه الأجزاء القليلة: الطاقة ، وإعادة التعيين ، والساعة ، ووضع البدء ، وتنزيل التصحيح.

الطاقة

يوجد عدة أنواع من طاقة STM32:

الطاقة الرئيسية (VDD / VSS)

تشير الطاقة الرئيسية إلى الأقطاب الموسومة بـ VDD1 و VDD2 ...
يجب وضع مكثف تنقية 100nF على كل قطب ، ويفضل وضعه بالقرب من القطب. بالإضافة إلى ذلك ، يتطلب ذلك مكثف تانتالوم مشترك بسعة 10uF.

الطاقة الاحتياطية (VBAT)

يمكن استخدام دبوس VBAT لتوصيل البطارية. إذا لم يتم استخدامه ، فيمكن توصيله مع VDD. يحتاج VBAT أيضًا إلى مكثف تنقية 100nF.
يمكن الاطلاع على الدائرة الكهربائية التالية لاختيار الطاقة:

طاقة ADC (VDDA / VSSA)

لتحسين دقة التحويل ، يمكن لجهاز ADC أن يستمد الطاقة من هنا. عادةً ما يتم توصيل VDDA بواسطة ملف مغناطيسي مع VDD.

إذا لم يتم استخدام ADC ، فيمكن توصيل VDD و VDDA و VREF + (إذا كان موجودًا) معًا ، وتوصيل مكثف تانتالوم سعة 1uF + مكثف سيراميك سعة 10nF إلى الأرض لتنقية الطاقة.

إعادة التعيين

نظرًا لوجود مقاومات السحب العلوية في STM32 ، يكفي توصيل مكثف 100nF + زر خارجي:

عند التشغيل ، يكون المعالج في وضع إعادة التعيين ، وفي هذا الوقت يتم شحن المكثف ، ويتم سحب جهد دبوس NRST باستمرار. عندما يتم شحن المكثف بالكامل ، يصبح جهد NRST عاليًا ، وفي هذا الوقت يخرج المعالج من وضع الإعادة التعيين ويدخل وضع التشغيل العادي. عند الضغط على الزر ، يتم تفريغ المكثف وتفريغ الطاقة ، وبعد تحرير الزر ، يتم إعادة شحن المكثف وتنشيط إعادة التعيين.

وفقًا لدليل التصميم الرسمي ، يمكن اختيار مكثف 100nF لضمان أن الجهد المنخفض NRST يستمر لفترة زمنية تلبي الحد الأدنى لعرض النبضة المطلوب لإعادة التعيين للمعالج وتنشيطه بشكل صحيح.

إذا لم يكن هناك حاجة لوظيفة إعادة التعيين اليدوية ، يمكن تجاهل الزر.

الساعة

كما هو موضح في الشكل أعلاه ، يتم تقسيم ساعة STM32 إلى الأنواع التالية:

  1. HSI: ساعة داخلية عالية السرعة ، وهي مذبذب RC داخلي بتردد 8 ميجاهرتز
  2. HSE: ساعة خارجية عالية السرعة ، يمكن توصيلها بمولد كوارتز / سيراميك أو مصدر ساعة خارجي ، بتردد يتراوح بين 4 ميجاهرتز و 16 ميجاهرتز
  3. LSI: ساعة داخلية منخفضة السرعة ، مذبذب RC بتردد 40 كيلوهرتز. يمكن أن يكون مصدر ساعة مراقبة الكلب المستقل الوحيد له ، وفي الوقت نفسه يمكن أن يكون مصدر ساعة RTC
  4. LSE: ساعة خارجية منخفضة السرعة ، توصيلها ببلورة الكوارتز بتردد 32.768 كيلوهرتز. يتم استخدام LSE كمصدر ساعة لـ RTC
  5. PLL: مضاعف تردد دوائر القفل المرحلي ، يمكن اختيار مصدر الساعة الخاص بها كـ HSI / 2 ، HSE أو HSE / 2. يمكن أن يكون مضاعف التردد من 2 إلى 16 ، ولكن التردد الناتج لا يجب أن يتجاوز 72 ميجاهرتز

من الناحية الاستقرار ، عند التصميم ، نستخدم عادة مولد الكوارتز الخارجي كمصدر للساعة. عادةً ما يتم اختيار مولد الكوارتز بتردد 8 ميجاهرتز كـ HSE ، لتسهيل التضاعف (عادةً ما يتم تضاعفه إلى 72 ميجاهرتز) ؛ يتم اختيار مولد الكوارتز بتردد 32.768 كيلوهرتز كـ LSE ، لاستخدام RTC وتقسيم الساعة (32768 هو 2 مرفوع إلى القوة 15 ، ويمكن الحصول على وقت دقيق).

بالنسبة لاختيار المولد الكوارتز ، فإن المولد النشط لديه دقة عالية والمولد الغير نشط لديه تكلفة منخفضة ، وعادةً ما يكون المولد الغير نشط كافيًا.
إذا تم اختيار مولد الكوارتز الغير نشط ، فيجب وضع مكثف تشغيل على كلا الطرفين لتصفية التشويش عالي التردد في موجة المولد. يمكن اختيار السعة بين 10 و 40 بيكوفاراد.

يمكن إضافة مقاومة 1M بين دبابيس إدخال وإخراج المذبذب الكوارتز لتوليد ردود فعل سلبية وضمان عمل المكبر في منطقة الزيادة الخطية العالية. في الوقت نفسه ، يعمل أيضًا كحماية من التحميل الزائد لمذبذب الكوارتز.

تكوين وضع التشغيل

عادةً ما يتم سحب دبوس BOOT0 (متصل بمقاومة 10K ثم متصل بالأرض) ، أما BOOT1 فيمكن تركه على أي حال.

إذا كنت بحاجة إلى تبديل الوضع ، فيمكنك الاستشارة التصميم التالي:

لمزيد من التفاصيل حول وضع التشغيل ، يرجى الرجوع إلى وضع التشغيل في STM32

واجهة التنزيل والتصحيح

عادةً ما نستخدم واجهة SWD (أقل أسلاك وأكثر ملاءمة) ، يمكن توصيل SWDIO و SWCLK و VCC و GND مباشرةً.
لا حاجة لإضافة مقاومات سحب عالية أو سحب منخفض خارجية ، لأن STM32 مدمج بها بالفعل.

الاستنتاج

هذا هو تصميم الدائرة الكهربائية الأدنى لنظام STM32 (سلسلة F1). لمزيد من التفاصيل ، يمكنك الانتقال إلى الوثائق الرسمية والمقالات ذات الصلة أدناه.

المراجع والشكر

تمت ترجمة هذه المشاركة باستخدام ChatGPT، يرجى تزويدنا بتعليقاتكم إذا كانت هناك أي حذف أو إهمال.