میکروکنترلر STM32F767 یکی از محصولات شرکت STMicroelectronics است که برای کاربردهای حساس و پیچیده طراحی شده است. این میکروکنترلر از خانوادهی STM32F7 و دارندهی هستهی ARM Cortex-M7 است. در این مقاله ابتدا با هستهی پردازشی Cortex-M7 آشنا میشویم. برای آشنایی بیشتر با انواع معماری ARM، مقالهی میکروکنترلرهای ARM را مطالعه کنید.
یکی از هستههای پردازشی پرکاربرد در صنعت الکترونیک، هستهی Cortex-M7 از خانوادهی Cortex-m است. این هسته در سال 2014 توسط شرکت ARM عرضه شده است.
از ویژگیهای این هسته میتوان به قدرت پردازشی بالای 32 بیتی، مصرف کم انرژی، امنیت بالا و پشتیبانی از انواع رابط و سیستمعاملهای مختلف اشاره کرد.
این هسته در پروژههای صنعتی مانند رباتیک، کنترل صنعتی و اتوماسیون، در پروژههای خانگی مانند سیستم خانه هوشمند و سیستمهای امنیتی و در پروژههای خودرویی مانند سیستمهای ناوبری و رانندگی خودکار استفاده میشود.
میکروکنترلر STM32F767 دارای CPU با معماری Cortex-M7 32 بیتی و FPU 64 بیتیdouble-precision floating point) unit) با فرکانس کاری 216 مگاهرتز است. با وجود بالا بودن فرکانس کاری، مصرف انرژی این میکروکنترلر در حالت توقف (stop) نسبت به میکروکنترلرهای سری STM32F4، کمتر است. در ادامه با ویژگیهای این میکروکنترلر آشنا میشویم.
میکروکنترلر STM32F767، دارای 1082Coremark و DMIPS (Dhrystone millions of instructions per second) با مقدار 462 میباشد و به لطف واحد شتابدهندهی گرافیکی (Chrome-ART یا DMA2D) قادر است بخشی از دادههای تصویری را بدون وقفه از حافظهها به واحدهای دیگر انتقال دهد.
به دلیل پشتیبانی STM32F767 از دستورالعمل پردازش سیگنال دیجیتالی (DSP)، FPU و حافظهی نهان L1 با حجم 16 کیلوبایت، عملیات آدرسدهی حافظههای خارجی میتوانند بدون وقفه و خطا اجرا شوند.
به لطف فناوریهای شرکت ST مانند فناوریهای 90 نانومتری، Chrome art و مقیاس توان پویا (Dynamic power scalling)، میزان توان مصرفی این میکروکنترلر در حالت اجرا به مقدار 7mW/Coremark در ولتاژ کاری 8/1 ولت میرسد. در حالت توقف، میزان جریان مصرفی آن برابر 100 میکرو آمپر است.
این میکروکنترلر دارای رابطهای کاربردی متعددی است که برای برنامهنویسان و توسعهدهندگان بسیار مفید است. برخی از این رابطها عبارتاند از:
در این رابط با کمک شتابدهندهی chrom-art، عملهای کپی دادههای دوبعدی، تبدیل فرمت تصویر و ترکیب تصویر اجرا میشوند. در نتیجه میتوان گفت که Chrom-ART Accelerator، محتوای تصویری را تقویت میکند.
این رابط دارای RGB (Red-Green-Blue) دیجیتال موازی 24 بیتی است و از نمایشگرهای LCD تا وضوح XGA (1024×768) پشتیبانی میکند.
این واحد از دو رابط PLL صوتی اختصاصی (phase lock loop)، سه رابط I²S نیمه دوبلکس (integrated inter IC sound bus)، یک رابط صوتی سریال (SAI: Serial Audio Interface) با قابلیت حالت تقسیم زمانی (TDM: Time-division multiplexing) و یک DFSDM (Digital filters for sigma-delta modulators or MEMS microphone) پشتیبانی میکند.
این میکروکنترلر دارای دو مبدل دیجیتال به آنالوگ 12 بیتی (DAC)، سه مبدل آنالوگ به دیجیتال 12 بیتی (ADC) که در حالت اتلاف زمانی (Time interleaved) به 4/2 تا 7/2 مگا نمونه در ثانیه (Megasamples per second) میرسد.
STM32F767 دارای 18 تایمر (13 تایمر 16 بیتی و 2 تایمر 32 بیتی) است که هر کدام از این تایمر دارای 4 عدد شمارندهی پالس و فرکانس کاری تا 216 مگاهرتز است.
با استفاده از رابط انعطافپذیر موازی 32 بیتی و پشتیبانی از حافظههای Compact Flash، SRAM، PSRAM، NOR، NAND و SDRAM و همچنین رابط Quad-SPI، امکان اجرای کدها از حافظهی فلش سریال خارجی، وجود دارد.
میکروکنترلر stm32f767 دارای رابطهای ارتباطی متعددی شامل 4 عدد رابط USART و 4 عدد رابط UART با سرعت 5/12 مگابیت بر ثانیه، 6 عدد رابط SPI با سرعت 50 مگابیت بر ثانیه، 4 عدد رابط I²C با قابلیت فیلتر دیجیتال و 3 عدد رابط CAN، 2 عدد رابط SDIO و یک رابط OTG با سرعت کامل USB2.0 میباشد.
STM32F767 دارای یک پردازنده ARM Cortex-M7 با سرعت 216 مگاهرتز است که عملکرد بالایی در برنامههای پردازشی و کنترلی ارائه میدهد.
این میکروکنترلر دارای 1 تا 2 مگابایت حافظه فلش و 512 کیلوبایت حافظه SRAM است که امکان ذخیره و اجرای برنامههای پیچیده را فراهم میکند.
STM32F767 شامل واحدهای دیجیتالی متنوعی مانند USB، UART، SPI، I2C و PWM است که ارتباط برقراری با سایر دستگاهها را آسان میکند.
برای استفاده بهینه از تواناییهای STM32F767، نیاز به دانش و تجربه برنامهنویسی پیشرفته است. برنامه نویسان باید با معماری ARM و محیط توسعه مرتبط آشنا باشند تا بتوانند از این میکروکنترلر بهطور کامل بهره ببرند.
پروژهی کنترل اتوماتیک نمونهای از پروژههای کاربردی است که میتوان از STM32F767 استفاده کرد. در این کاربرد، STM32F767 میتواند دادههای سنسورها را دریافت و آنها را پردازش کند. سپس بر اساس دادههای دریافتی، الگوهای مناسبی را ایجاد و سیگنالهای کنترلی را به اجزای اجرایی مانند موتورها و تنظیمکنندهها ارسال کند.
یا فرض کنید که یک ربات خانگی با میکروکنترلر STM32F767 دارید. این ربات میتواند دما، رطوبت و نور محیط را اندازه گیری کند و بر اساس این اطلاعات، تصمیمهای هوشمندانهای بگیرد. مثلاً اگر دما بالا باشد، ربات میتواند خنککننده را روشن کند یا اگر رطوبت بالا باشد، میتواند سیستم آبیاری را فعال کند.
با استفاده از STM32F767، میتوانید بر اساس نیاز کاربران، سنسورها را به میکروکنترلر متصل کنید، دادههای سنسورها را خوانده و پردازش کنید و سپس بر اساس مقادیر دریافتی تصمیمات کنترلی را اجرا کنید و سیگنالهای کنترلی را به سایر عناصر اجرایی ارسال کنید. برای استفاده از این قطعهی کارآمد، میتوانید آن را از فروشگاه اسکایتک تهیه کنید.