در قسمت دوم از آموزش LVGL به بررسی نرمافزار SquareLine، ساختار سیستمهای گرافیکی و فرمتهای رنگ در سیستمهای گرافیکی پرداختیم. در این قسمت قصد داریم که درباره انواع نمایشگر و انواع پروتکلهای نمایشگر صحبت کنیم. پس تا پایان این قسمت ما را همراهی کنید.
انواع نمایشگر
بهطورکلی ما دو نوع نمایشگر داریم:
- نمایشگرهای دارای درایور
- نمایشگرهای بدون درایور
1. نمایشگرهای دارای درایور
نمایشگرهای دارای درایور به این صورت هستند که درون نمایشگر، یک درایوری داخلی وجود دارد که صفحهی نمایش را درایو میکند و پردازنده از طریق پروتکل درایور ، با آن ارتباط برقرار میکند و اطلاعات نمایشی خود را به صفحهنمایش انتقال میدهد.
اصولاً همه صفحهنمایشها چه درایور دار چه بدون درایور، به این صورت هستند که یک حافظه موقتی را مدام رفرش میکنند: بهعبارتدیگر، درون نمایشگرها، یک حافظه GRAM وجود دارد که این حافظه به صورت مدام توسط درایور خود، رفرش میشوندو نهایت اطلاعات گرافیکی داخل حافظهی موقت به صفحهنمایش منتقل میشود.
نمایشگرهای دارای درایور خودشان یک سری حافظه موقت دارند که این حافظهی موقت همان حافظههایی هست که در بلوک اصلی ساختار سیستم های گرافیکی توضیح داده شد؛ به این صورت که پردازنده اطلاعات درون فلش را پردازش میکند و اطلاعات را از طریق پروتکل ارتباطی درایور به GRAM نمایشگر منتقل میکند و سپس توسط درایور نمایشگر، اطلاعات به صفحهنمایش انتقال میدهد.
اصولاً صفحهنمایشهایی که درایور دار هستند، پروتکلهای مختلفی دارند و شما میتوانید باتوجه به سختافزار خود، با این پروتکلها، LCD خود را راهاندازی کنید.
امکان وجود DMA در پردازندها که قرار است نمایشگرها را راهاندازی کنند، یک پارامتر مثبت است که شما میتوانید، اطلاعات را به صورت مستقل، از حافظه موقتی که به سیستم گرافیکی خود دادید، به حافظه GRAM صفحهنمایش خود منتقل کنید.
در شکل زیر، بلوک دیاگرام یک نمایشگر دارای درایور و نحوه عملکرد آن را مشاهده میکنید:
2. نمایشگرهای بدون درایور
این نمایشگرها نیاز به سیگنال رفرش عمودی و افقی و کلاک برای انتقال اطلاعات دارند وبرای درایو این نمایشگرها تمام عملیات های انتقال به TFT را خود شما باید انجام دهید.
اصولاً پردازندههایی که این نمایشگرهای بدون درایور را راهاندازی میکنند، یک سری واحد دارند که این واحدها، اطلاعات را از روی حافظه موقتی که به سیستم گرافیکی اختصاصدادهشده است، برمیدارند و به صفحهنمایش منتقل میکنند.
البته این اطلاعات به همان شکل وارد نمایشگر نمیشوند و جدا از پردازنده، بخش واحد کنترل LCD، فرایند راهاندازی را انجام میدهد. در واقع، وظیفه واحد LCD کنترل این است که طبق پروتکل، TFT را درایور و اطلاعات تصویر را انتقال دهد.
پردازندههایی که با نمایشگرهای بدون درایور کار میکنند، اغلب پردازندههایی قوی ای هستند و آنها باید به مقدار کافی حافظه موقت داشته باشند تا بتوانند حافظه GRAM ای که نمایشگرهای درایور دار در اختیار TFT قرار میدادند را برای TFT خود فراهم کنند، بهعبارتدیگر، نمایشگرهای بدون درایور نیاز دارند که یک حافظه موقت در اختیار واحد LCD کنترل خود قرار دهند که سیستم بتواند اطلاعات را از این حافظه موقت بخواند و به TFT منتقل کند.
بهطورکلی، نحوهی درایو نمایشگرهای بدون درایور به این صورت هستند که شما یک سری واحدهای DMA و DMA2D دارید که این واحدها، نقش شتابدهنده گرافیکی و یا انتقال دادهی مستقل را دارند و پردازنده بدون عملکرد مستقیم و فقط با اجرای فرمان، این واحدها حافظهی عملیاتهای انتقال را انجام میدهند که این فرایند موجب روان شدن و بهبود سرعت سیستم میشود.
پس به این نکته توجه داشته باشید که زمانی که شما بخواهید یک نمایشگر بدون درایور راهاندازی کنید:
- باید حافظهی موقتی داشته باشید که قابلیت این را داشته باشد که کل TFT را باتوجهبه فرمتهای رنگی که در جلسه قبل توضیح داده شد، پوشش دهد.
- همچنین، اگر بخواهید یک سیستم روان با سرعت بالا داشته باشید، سیستم گرافیکی شما باید حداقل یکی از واحدهای شتابدهنده یا واحدهای انتقال دیتا را بهصورت مستقیم داشته باشد.
در شکل زیر، بلوک دیاگرام نمایشگرهای بدون درایور و نحوه عملکرد آن را مشاهده میکنید:
انواع پروتکلهای نمایشگر
انواع پروتکلهای انتقال داده در صفحهنمایش عبارتاند از:
- Parallel
- SPI 4 pin
- SPI 3 pin
- I2C bus
اصولاً پروتکل نمایشگرهای درایور دار آماده در اختیارتان است. حالا شما باتوجه به نیاز خود، میتوانید این پروتکل را انتخاب کنید. بعضی مواقع، شاید دیده باشید که بعضی از نمایشگرها یک پایه IMO یا یک سری پایه MOD دارند که شما میتوانید MOD راهاندازی آنها را را عوض کنید که اصولاً داخل صفحه نمایشهای درایور دار وجود دارد.
به شکل زیر دقت کنید:
هر چقدر درگاه دیتا بیشتر شود، سرعت نمایش اطلاعات نیز بالاتر میرود؛ یعنی هر چقدر پروتکل به پارالل (Parallel) نزدیکتر شود، سرعت نمایش اطلاعات نیز افزایش مییابد.
✅ نکته
اگر شما بخواهید یک پروژه ایجاد کنید، نیاز دارید که پروژهتان با هزینه پایینتر ساخته شود. گاهی ما یک سری خرجهای اضافهای در پروژه انجام میدهیم که اصلاً کاربردی نیستند و برای ما استفادهای ندارند. پس وقتی شما میخواهید نمایشگرتان را انتخاب کنید، باید نکاتی را مدنظر داشته باشید که بتوانید بهترین و بهصرفهترین انتخاب را داشته باشید.
در ادامه آموزش سیستم گرافیکی LVGL با سیسوگ همراه باشید.