بسم الله الرحمن الرحيم
الحمد لله رب العالمين والصلاة والسلام على أشرف المرسلين، بفضل الله وتوفيقه نقدم لكم الدرس الخامس بسلسلة دروس تعلم برمجة الأنظمة المدمجة والميكروكنترولر 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
تمتاز لوحة ديسكفري بإحتواءها على المتحكم 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
وفيما يلي بعض الروابط والكتيبات الهامة التي سنحتاجها لاحقا
- صفحة المتحكم STM32F429ZI حيث تحتوي على العديد من التطبيقات
- الداتا شيت Datasheet
- الدليل المرجعي RM0090 Reference manual
- صفحة لوحة ديسكفري 32F429I DISCOVERY
- دليل المستخدم User manual
ونستكمل المرة القادمة مع تجهيز بيئة العمل لبرنامج TrueStudio ان شاء الله والي اللقاء.
شرح الدرس في صورة فيديو