الدرس ٥ : تعرف على عائلة المتحكمات STM32 ولوحة ديسكفري STM32F429I DISCOVERY


#1

بسم الله الرحمن الرحيم
الحمد لله رب العالمين والصلاة والسلام على أشرف المرسلين، بفضل الله وتوفيقه نقدم لكم الدرس الخامس بسلسلة دروس تعلم برمجة الأنظمة المدمجة والميكروكنترولر STM32 المعتمد على نواة ARM Cortex-M4

بعنوان

تعرف على عائلة المتحكمات STM32 ولوحة ديسكفري STM32F429I DISCOVERY

تأسست شركة STMicroelectronics نتيجة دمج لشركتين أحدهما فرنسية والأخرى ايطالية عام ١٩٨٧ ومنذ ذلك الحين أستطاعت الشركة أن تأخد مكانة لا بأس بيها بين كبرى شركات الإلكترونيات حيث جاءت بالترتيب الخامس سنة ٢٠٠٢ بعد شركة أنتل وسامسونج و Texas Instruments وتوشيبا، واليوم شركة STMicroelectronics أكبر شركة أوربية مصنعة للشرائح الإلكترونية من حيث الأرباح، بدأت الشركة عام ٢٠٠٧ بانتاج أول منتاجتها STM32F1 من عائلة المتحكمات STM32 المعتمدة على معالجات أرم.

تمتاز عائلة المتحكمات STM32 بإحتواءها على المعالج الرائع Cortex-M ٣٢ بت مما يتيح للمستخدم استخدام الأدوات البرمجية من أرم والدعم الكامل من الكثير من بيئات التطوير والبرمجة، كما يسهل عملية التنقل من متحكم لأخر ضمن عائلة STM32 فلا داعي للقلق أذا قمت بالبرمجة والتطوير على متحكم وأردت الأنتقال لمتحكم أخر فيمكنك هذا بكل سهولة. تمتاز أيضا عائلة المتحكمات STM32 برخص سرعها حتى أن سعرها أرخص من بعض المتحكمات ٨ بت.

تحتوي عائلة المتحكمات STM32 على ١١ مجموعة مقسمة إلي ٣ أصناف

أولا من حيث الأداء العالي High-performance

وتشمل STM32H7 و STM32F7 و STM32F4 و STM32F2 وتمتاز بقدرة حسابية عالية وبدعمها لتكنولوجيا ART Accelerator التي تيتج تنفيذ التعليمات مباشرة من ذاكرة الفلاش بدون انتظار وسرعات تصل إلي ٤٠٠ ميجا هرتز، وهي مناسبة لتطبيقات المالتيميديا والجرافيكس ومعالجة الأشارات الرقمية.

من حيث الأداء المتوسط Mainstream

وتشمل STM32F0 و STM32F1 و STM32F3 وتمتاز برخص سعرها وصغر حجمها حيث أنها مناسبة للعديد من التطبيقات التجارية وتمتاز بسرعات تصل إلي ٧٢ ميجا هرتز.

ذات استهلاك قليل للطاقة Ultra Low Power

وتشمل STM32L4 و STM32L4+ و STM32L0 و STM32L1 وتمتاز طبعا بقلة أستهلاكها للطاقة مما يجعلها مناسبة للتطبيقات التي تعتمد على بطارية للتشغيل وتمتاز بدعمها لتكنولوجيا Dynamic Voltage Scaling - DVS التي تتيح تحسين أستهلاك المعالج للطاقة بناء على التردد المستخدم.

المتحكم الدقيق STM32F429

يحتوي على الأتي

  • نواة Arm® Cortex®-M4 ٣٢ بت بسرعة تصل إلي ١٨٠ ميجا هرتز تحتوي على وحدة للمعاملات العشرية Floating point unit (FPU) single precision ووحدة لدعم تعليمات معالجة الأشارات الرقمية DSP ووحدة لحماية الذاكرة memory protection unit - MPU.
  • ذاكرة فلاش ٢ ميجا بايت وذاكرة رام SRAM ٢٥٦ كيلو بايت منها ٦٤ core coupled memory - CCM بالإضافة إلي ٤ كيلو بايت ذاكرة SRAM أحتياطية.
  • ٣ وحدات ADC ١٢ بت ووحدتين DAC
  • ساعة الزمن الحقيقي RTC ذو أستهلاك منخفض للطاقة
  • ١٢ مؤقت ١٦ بت للأستخدام العام منهم مؤقتان يحتويان على معدل عرض النبضة PWM للتحكم بالمحركات ومؤقتان ٣٢ بت
  • ٣ وحدات لبروتوكول الأتصال I2C
  • ٦ وحدات لبروتوكل الأتصال SPI ووحدتان I2S
  • ٤ وحدات USART بالأضافة لأربع وحدات UART
  • وحدة USB OTG بالسرعة الكاملة وأخرى بالسرعة العالية
  • وحدتان CAN
  • وحدة للتعامل مع منفذ الصوت SAI - serial audio interface
  • وحدة للتعامل مع كروت التخزين SDIO/MMC وحدة لدعم flexible memory control - FMC
  • وحدة للتعامل مع بروتوكول Ethernet ومنفذ للتوصيل بالكاميرا DCMI وحساسات CMOS
  • وحدة تحكم للشاشات LCD-TFT
  • وحدة للفحص الدوري التكراري للبيانات cyclic redundancy check - CRC
  • وحدتان DMA لنقل البيانات داخل الذاكرة ومن وإلي النهايات الطرفية بدون تدخل المعالج ويمكن استخدامه مع SPI و I2S و I2C و USART و TIMER و DAC و SDIO و DCMI و ADC و SAI1.
  • وحدة لتوليد المقاطعات والأحداث الداخلية EXTI حيث يمكن على سبيل المثال بدأ تشغيل ADC مباشرة من المؤقت TIM بدون تدخل المعالج.

تطبيقات المتحكم STM32F429

يمتاز المتحكم STM32F429 بأداءه العالي مما يجعله مناسبا للعديد من التطبيقات مثل التحكم الأوتوماتيكي بالمحركات والتطبيقات الصناعية مثل PLC والمحولات والقواطع الكهربية، يمكن أيضا استخدامه بالأجهزة الطبية والطابعات والماسحات الضوئية واجهزة الأنذار والتبريد والتكييف HVAC.

وفي الملف الأتي نجد الشكل العام للمتحكم STM32F429
STM32F429xx block diagram.pdf

خطوط نقل البيانات والتحكم Advanced High-performance Bus

يحتوي المتحكم STM32F429 على خط نقل ٣٢ بت متعدد ذو الأداء العالي Multi-AHB وهو حزء من بنية أرم لخطوط النقل داخل الميكروكنترولر Advanced Microcontroller Bus Architecture - AMBA وسرعته تصل إلي ١٨٠ ميجا هرتز يتم تقسيمه إلي خطين أحدهما APB1 و الأخر APB2 مما يتيح الوصول المتزامن لتوصيل النهايات الطرفية ويتم تصنيف جميع مكونات الميكروكنترولر بناء على الوظيفة حيث يتم تصنيف المكونات الاتية على كأساسية masters وهم CPU, DMAs, Ethernet, USB HS, LCD-TFT, and DMA2D والمكونات الاتية على أنها تابعة slaves وهم Flash memory, RAM, FMC, AHB and APB peripherals ويرجى ملاحظة أن APB هو خط توصيل النهايات الطرفية Advanced Peripheral Bus ويتم ترتيب جميع المكونات داخل مصفوفة كما بالشكل الاتي

حيث يتم الوصول السريع من أى مكون أساسي أو أكثر لأي مكون تابع في نفس الوقت فمثلا يمكن للمعالج جلب التعليمات من ذاكرة الفلاش عبر D-bus وفي نفس الوقت يمكن أيضا للمعالج قراءة او كتابة البيانات داخل الرام عبر S-bus كما يمكن أيضا ان يتعامل DMA و Ethernet مع الذاكرة أو FMC في نفس الوقت.

وللعلم فإن I-bus يستخدم لجلب التعليمات من ذاكرة الفلاش كما أنه موصل أيضا بالرام حيث تدعم معالجات أرم تشغيل البرنامج من الفلاش أو من الرام، أما D-bus فيتسخدم في عمليات أكتشاف وتصحيح الأخطاء debug و S-bus يستخدم لنقل البيانات من وإلي النهايات الطرفية كذلك من وإلي الذاكرة رام كما يمكن أيضا استخدامه لجلب التعليمات من الذاكرة رام ولكن كفاءته أقل من I-bus

لوحة ديسكفري STM32F429I DISCOVERY STM32F429I-DISC1

05

تمتاز لوحة ديسكفري بإحتواءها على المتحكم STM32F429ZI ذو الأداء العالي وسهولة أستخدامها ورخص سعرها

ومن خصائص لوحة ديسكفري STM32F429I DISCOVERY

  • تدعم نظام التشغيل mbed™ من شركة أرم
  • تعمل على فولتية ٣ أو ٥ فولت

وتحتوي على الأتي

  • برمجية ST-LINK/V2-B لبرمجة الميكروكنترولر عن طريق JTAG او SWD
  • منفذ USB للبرمجة وللتخزين Mass storage
  • شاشة ٢,٤ بوصة حساسة للمس QVGA TFT LCD
  • ذاكرة SDRAM ٦٤ ميجا بايت
  • حساس للحركة جيروسكوب ST-MEMS ثلاثي الأبعاد
  • ٦ لمبات ليد ٢ منهم يمكن برمجتهم
  • زرين أحدهما لأعادة التشغيل والأخر يمكن برمجته

وللعلم هناك الكثير من اللوحات تحتوي على متحكمات STM32 والتي يمكن استخدامها لتطبيق الدروس فلا داعي للتقيد بلوحة ديسكفري فمثلا لوحة STM32 NUCLEO متوافرة لدى Future Electronics Egypt أو UGE Electronics

وفيما يلي بعض الروابط والكتيبات الهامة التي سنحتاجها لاحقا

ونستكمل المرة القادمة مع تجهيز بيئة العمل لبرنامج TrueStudio ان شاء الله والي اللقاء.

شرح الدرس في صورة فيديو


تعلم برمجة الأنظمة المدمجة والمتحكم الدقيق STM32 المعتمد على نواة ARM Cortex-M4
الدرس ١ : مقدمة عن الأنظمة المدمجة وبنية الكمبيوتر