در این مقاله به پیشنهادات جامع STM32 (هم سخت افزاری و نرم افزاری) که برای طراحی رابط های کاربری گرافیکی ارائه شده است، میپردازیم که این امکان را به توسعه دهندگان می دهد تا به راحتی رابط کاربری گرافیکی شبیه گوشی های هوشمند را به دستگاه های امبدد خود اضافه کنند، که تحولی در زمینه "HMI of things" خواهد بود.
بنابراین طراحان و برنامه نویسان سیستم های امبدد ضمن استفاده کامل از میکروکنترلرهای STM32 می توانند تجربه کاربری عالی را در زمینه های کمتر شدن پیچیدگی نرم افزاری، زمان بوت سریعتر، افزایش طول عمر باتری و real time determinism ارائه دهند.
نرم افزارها
نرم افزار گرافیکی TOUCHGFX
TouchGFX یک ابزار UI گرافیکی پیشرفته است که همه چیز را برای ایجاد رابط کاربری گرافیکی cutting-edge ارائه می دهد:
امکانات SMARTPHONE
TouchGFX انیمیشن های گوشی هوشمند و امکاناتی همچون swipe، پیمایش یا scroll، افکت های سه بعدی، پخش ویدیو، شفافیت یا transparency، ترکیب آلفا، حرکات لمسی و فونت های anti-aliased و kerning (فرآیند تنظیم فاصله بین کاراکترها) را به همراه خواهد داشت.
برنامه ها بین المللی و محلی شده است
TouchGFX از بسیاری زبانها مانند انگلیسی، فارسی، چینی، ژاپنی، تایلندی، عربی و زبانهای دیگر پشتیبانی میکند.
از سیستم های نوشتاری چپ به راست و راست به چپ پشتیبانی می کند.
برنامه می تواند فونت های بزرگ را در زمان اجرا، لود و نصب کند.
سیستم عملیاتی REAL-TIME
برنامه TouchGFX خود را بر روی bare metal (مستقیماً روی سخت افزار اجرا می شود بدون داشتن سیستم عامل) اجرا کنید یا RTOS را انتخاب کنید.
کد تولید شده و کد کاربر
TouchGFX امکان ترکیب کد تولید شده با کدهای کاربر را فراهم می سازد.
کدها به زبان ++C نوشته می شود.
بر روی پلتفرم های مختلف کدهایی با کارایی بالا و قابلیت دسترسی آسان ایجاد کنید.
الگوی Model-View-Presenter برای ارتباط آسان با دیگر کامپاننت های ++C/C را فراهم می کند.
ایجاد عناصر نرم افزاری خود با ویجت های موجود.
طراحی ویجت های جدید.
قابلیت تنظیم فریم بافر
برنامه هایی را با عمق رنگ 1 ، 2 ، 4 ، 6/8 ، 16 ، 24 یا 32 بیت در پیکسل اجرا کنید.
تنظیم نوع فریم بافر : partial, single, and double
انتخاب مکان فریم بافر در حافظه داخلی یا خارجی.
TouchGFX یک ابزار UI گرافیکی رایگان و جزئی از اکوسیستم STM32 است که به صورت یک بسته X-CUBE-TOUCHGFX ارائه می شود که شامل موارد زیر است:
TouchGFX GENERATOR : پیکربندی و تولید یک پروژه TouchGFX در CubeMX
TouchGFX ENGIN : کتابخانه گرافیکی بهینه سازی شده و شتاب های سخت افزاری
TouchGFX DESIGNER : بیلدر drag-and-drop GUI
لینک دانلود نرم افزار X-CUBE-TOUCHGFX
نرم افزار گرافیک STEMWIN
STemWin یک چارچوب نرم افزاری گرافیکی ساده است که برای میکروکنترلرهای STM32 بهینه شده است.
STemWin بر اساس كتابخانه گرافیكی از SEGGER Microcontroller GmbH ساخته شده است و به صورت باینری و رایگان در میکروکنترلرهای STM32 قابل استفاده است.
این کتابخانه یک کتابخانه پشته گرافیکی حرفه ای است و امکان ایجاد رابط کاربری گرافیکی (GUI) با هر نوع میکروکنترلر STM32، هر نمایشگر LCD/TFT و هر کنترلر LCD/TFT را فراهم می کند و در هر زمان ممکن از شتاب های سخت افزاری STM32 استفاده می کند.
کتابخانه STemWin یک راه حل جامع است که با مجموعه ای از امکانات غنی مانند دکدینگ JPG ،GIF و PNG، بسیاری از ویجت ها (چک باکس، دکمه ها ...) و سرور VNC امکان نمایش از راه دور نمایشگر محلی و همچنین ابزارهای حرفه ای توسعه مانند GUIBuilder برای ایجاد رابط کاربری گرافیکی با دراگ و دراپ کردن ساده را فرآهم می کند.
STemWin به عنوان بخشی از بسته های نرم افزاری STM32Cube یا در نسخه استاندارد مبتنی بر کتابخانه مستقل توزیع می شود.
لینک دانلود نرم افزار Stemwin و لینک داکیومنت (AN4323)
ابزارهای سخت افزاری و طرح های مرجع
مجموعه ای از بردهای دیسکاوری و نمونه های نرم افزاری و نمایش نسخه های نمایشی (دمو) با پیشنهاد گرافیکی STM32 در دسترس قرار دارد.
کد هر نسخه آزمایشی در بسته های نرم افزاری STM32Cube مرتبط ارائه می شود.
TouchGFX designer همچنین لیست بزرگی از برنامه های الگو را در اختیار شما قرار می دهد که می توانید در بردهای دیسکاوری انتخابی خود از آنها استفاده کنید.
بیشتر میکروکنترلرهای STM32 می توانند با نمایشگرهای پارالل، رابط کاربری شوند و از افزودنی های رابط کاربری گرافیکی ساده پشتیبانی کنند.
برای ایجاد یک تجربه کاربری عالی، خانواده STM32 بیش از 190 میکروکنترلر فعال و با پشتیبانی از رابط های مختلف نمایشگر و پکیج های متفاوت ، را به صنعت ارائه می دهد.
میکروکنترلرهای گرافیکی STM32 دارای ویژگی های گرافیکی متفاوتی هستند که به توسعه دهندگان امکان میدهد به عملکرد گرافیکی دلخواه و بازده های بهینه شده مورد نیاز دستگاه های امبدد خود دست یابند:
- ™Chrom-ART Accelerato شتاب گرافیکی موثر با حافظه دو بعدی ارائه می دهد و افکت های transparency و fluid transition را زمانی که منابع اصلی CPU را بارگیری می کنید، امکان پذیر می کند.
- کدک JPEG افزونه های ویدیویی MJPEG را برای برند سازی و آموزش های مختلف فراهم می کند.
- ™Chrom-GRC هنگام استفاده از صفحه نمایش گرد، 20 درصد بهینه سازی حافظه را ارائه می دهد.
- پشتیبانی از رابط های نمایشگر بزرگ با رابط های پارالل، LCD-TFT و کنترلرهای امبدد MIPI-DSI
برای کمک به شناسایی مناسب ترین میکروکنترلرهای گرافیکی STM32 برای نیازهای شما، ابزار STM32CubeMX یک انتخاب و شبیه ساز گرافیکی را ارائه می دهد.
جهت انتخاب، قطعات پیشنهاد شده STM32، برای رزولوشن صفحه نمایش، عمق رنگ و رابط های هدف لیست شده اند. همچنین با انتخاب هر قطعه عملکردی را که می توان بدست آورد، را تخمین می زند. شبیه ساز گرافیک از تنظیم معماری گرافیک پشتیبانی می کند تا با ارائه نشانه های عملکرد برای پیکربندی های مختلف حافظه مورد استفاده قرار گیرد.
STM32 SERIES |
FREQUENCY |
HARDWARE ACCELERATION |
DISPLAY INTERFACES |
SUPPORTED RESOLUTIONS |
STM32G0 (CM0+) |
64MHz |
|
SPI |
Up to 320*240 |
STM32L4 (CM4) |
80 MHz |
Chrom-ART™ |
Parallel SPI |
Up to 480*272 |
STM32L4+ (CM4) |
120 MHz |
Chrom-ART™ Chrom-GRC™ |
Parallel LCD TFT MIPI-DSI |
Up to 450*450 |
STM32F4 (CM4) |
180 MHz |
Chrom-ART™ |
Parallel LCD TFT MIPI-DSI |
Up to 800*480 |
STM32F7 (CM7) |
216 MHz |
Chrom-ART™ MJPEG |
Parallel LCD TFT MIPI-DSI |
Up to 1024*768 |
STM32H7 (CM7) |
480 MHz |
Chrom-ART™ MJPEG |
Parallel LCD TFT MIPI-DSI |
Up to 1024*768 |
منبع: https://www.st.com/content/st_com/en/ecosystems/stm32-graphic-user-interface.html