کتابخانه درایور tft lcd 3.2 اینچ و چیپ ili9341 با اینترفیس موازی 8 و 16 بیت و 65K رنگ برای stm32
با درود .
قبلا در یک اطلاعیه ، گفته بودم که دارم روی نوشتن یک درایور ( هسته) برای ili9341 کار میکنم به طوری که به راحتی به کتابخانه های متنی و گرافیکی و نمایش تصویر مربوط به lcd nokia1661 متصل بشه و فونت فارسی و بقیه امکانات به راحتی استفاده کنه .
خوشبختانه در حال حاظر تکمیل شده و قابل ارایه هست .
این کتابخانه مربوط به " 3.2 lcd و 240*320 پیکسل با چیپ کنترلر ili9341 هست که با اینترفیس پارالل 8 , 16 بیتی راه اندازی میشه و 34 پین داره . ( نمونه های spi هم داره ولی این از نوع spi نیست) و
یک نمونه از این lcd را در تصویرهای زیر میبینید .


اطلاعات کاملتر در مورد این lcd را میتوانید در (اینجا ) پیدا کنید .
*****************************************
مشخصات کتابخانه :
1- زبان کتابخانه : زبان C استاندارد C99 است.
2- کتابخانه به صورت رجیستری و بدون استفاده از HAL یا SPL نوشته شده است.
3- میکروکنترلر های قابل استفاده : stm32f0xx , stm32f1xx , stm32f4xx
4- عمق رنگ : 16 بیت ( 65 هزار رنگ)
5- اینترفیس ارتباطی : پشتیبانی از اینترفیس ارتباطی موازی 8 و 16 بیت ( II_8080 )
6- قابلیت کنترل حجم و سرعت کتابخانه: دارد ( مدهای normal , fast , super fast ).
7 - کمپایلر :arm-gcc ( cubeIDE , True Studio)
8 - انعطاف : قابلیت قرار دادن پایه های کنترل و دیتای lcd روی پورتها و پینهای دلخواه ( فقط در مود fast و normal وجود دارد)
9-خواندن مقادیر رجیسترهای فرمان
10 - خواندن حافظه صفحه نمایش .
11 - کتابخانه در مد GPIO کارمیکند .( از fsmc استفاده نمیکند )
*****************************************
شرح انعطاف پذیری:
مشخصات حالت normal :
در این حالت میتوان پایه های ال سی دی را روی هر پورت و پین دلخواهی قرار داد.
از لحاظ حجم کمترین حجم نسبت به حالتهای دیگر را دارد و سرعت آن نیز کمترین است .
مشخصات حالت fast :
شبیه حالت نرمال میتوان پایه های ال سی دی را روی هر پورت و پین دلخواهی قرار داد.
از لحاظ سرعت نسبت به حالت نرمال سریعتر است ولی حجم بیشتری دارد ( حدود 600 بایت )
مشخصات حالت superfast :
این مد سریعترین حالت کتابخانه است . و در عین حال حجم آن کمترین است ( تقریبا برابر با مد نرمال)
اما مانند مدهای قبل انعطاف پذیر نیست و برای پایه های کنترلی امکان انخاب هر پین و پورت دلخواهی وجود دارد ولی برای پایه های دیتای lcd فقط پورت قابل انتخاب است و پینها باید به ترتیب خاصی به پورت متصل شوند.
اطلاعات مروط به ارتباط حجم و انعطاف پذیری به طور خلاصه در نمودار زیر آورده شده است .

*****************************************
*****************************************
*****************************************
تست سرعت برای رابط 8 و 16 بیت و مدهای fast , normal , superfast:
در فیلم های زیر سرعت رفرش صفحه برای حالت های مختلف کنترل حجم و سرعت نسخه ( مدهای normal , fast , super fast ) و همچنین اینترفیسهای 8 بیت و 16 بیت آورده شده است .
** کلیه سرعتها در فرکانس 72 مگاهرتز اندازه گیری شده است .
** سرعتهایی که در فیلمها نشان داده میشود بوسیله کمپایلر arm gcc از طریق اپتیمایز کد رو حجم بدست آمده ، که یک اپتیمایز رایج برای کمپایل کد است .
و میکرو کنترلر استفاده شده stm 32 f103 CB T6 میباشد .
در صورت استفاده از اپتیمایز روی سرعت ، سرعت رفرش سریعتر خواهد بود .
*****************************************
*****************************************
1- اینترفیس موازی 8 بیت :
***************
1-1- سرعت رفرش برای حالت super fast :
مشاهده میکنید 10 بار رفرش صفحه ، 384 میلی ثانیه زمان برده است
سرعت رفرش :26 فریم در ثانیه
**سرعت رفرش بدون هیچ گونه اپتیمایز : 10.75 فریم در ثانیه ( 10 بار رفرش 930 میلی ثانیه زمان برده است )
***************
1-2- سرعت رفرش برای حالت fast :
سرعت رفرش :5.45 فریم در ثانیه(10 بار رفرش در زمان 1836 میلی ثانیه )
**سرعت رفرش بدون هیچ گونه اپتیمایز : 2.47 فریم در ثانیه ( 10 بار رفرش 4055 میلی ثانیه زمان برده است )
***************
1-3- سرعت رفرش برای حالت normal :
سرعت رفرش :3.49 فریم در ثانیه(10 بار رفرش در زمان 2861 میلی ثانیه )
**سرعت رفرش بدون هیچ گونه اپتیمایز : 1.87 فریم در ثانیه ( 10 بار رفرش 5337 میلی ثانیه زمان برده است )
*****************************************
*****************************************
2- اینترفیس موازی 16 بیت :
***************
2-1- سرعت رفرش برای حالت super fast :
سرعت رفرش : 34.6 فریم در ثانیه(10 بار رفرش در زمان 289 میلی ثانیه )
**سرعت رفرش بدون هیچ اپتیمایزی : 13.55 فریم در ثانیه ( 10 بار رفرش 738 میلی ثانیه زمان برده است )
***************
2-2- سرعت رفرش برای حالت fast :
سرعت رفرش : 8 فریم در ثانیه(10 بار رفرش در زمان 1250 میلی ثانیه )
**سرعت رفرش بدون هیچ اپتیمایزی : 2.64 فریم در ثانیه ( 10 بار رفرش 3792 میلی ثانیه زمان برده است )
***************
2-3- سرعت رفرش برای حالت normal:
سرعت رفرش : 4.48 فریم در ثانیه(10 بار رفرش در زمان 2232 میلی ثانیه )
**سرعت رفرش بدون هیچ اپتیمایزی : 2.12فریم در ثانیه ( 10 بار رفرش 4722 میلی ثانیه زمان برده است )
***************
*****************************************
*****************************************
جدولهای خلاصه سرعت رفرش :
اندازه گیری با میکروکنترلر stm32f103 CB t6 ( بورد blue pill ) و کلاک 72 مگاهرتز انجام شده است .
| super fast | fast | normal | سوییچ کنترل نسخه |
| 26 f/s | 5.45 f/s | 3.49 f/s | بهینه سازی روی حجم |
| 10.75 f/s | 2.47 f/s | 1.87 f/s | بدون بهینه سازی |
| super fast | fast | normal | سوییچ کنترل نسخه |
| 34.6 f/s | 8 f/s | 4.48 f/s | بهینه سازی روی حجم |
| 13.55 f/s | 2.64 f/s | 2.12 f/s | بدون بهینه سازی |
*****************************************
*****************************************
اجرای قابلیتهای متنی و گرافیکی :
این کتابخانه یک درایور ( هسته )است و همانطور که قبلا گفته شده است قابلیت اتصال به قسمتهای متنی و گرافیکی کتابخانه lcd nokia1661 ( نسخه 1.0.3 به بعد ) را دارد. و برای نمایش رویlcd از آنها استفاده شده است که در تصویرهای زیر میبینید .
برای اطلاع دقیقتر از مشخصات قسمت متنی و گرافیکی لطفا ( اینجا ) و برای اطلاع از جزییات بیشتر و نحوه ی استفاده از قسمتهای متنی و گرافیکی لطفا ( اینجا ) را ببینید.
***********
قابلیت تعویض فونت هنگام اجرای برنامه

******************
خواندن رجیسترهای کنترلی و چرخش صفحه

*****************
سرعت تایپ متن :
(این سرعت در مد super fast و اینترفیس 8 بیت میکرو f103 و کلاک 72 مگاهرتز میباشد.)

*** توجه : سرعت نمایش متن برحسب نوع فونت و نوع حروف میتواند متغیر باشد.
**************
نمایش قابلیتهای گرافیک و خواندن حافظه نمایش را در تصیویر زیر میبینید .
مربع مشکی قسمتی ازحافظه نمایش است که خوانده شده است و در سمت راست دوباره نمایش داده شده است .

****************
*****************************************
*****************************************
*****************************************
برای اینکه از عملکرد کتابخانه مطمئن باشید یک فایل هگز برای تست اینجا قرار دادم که میتونید امتحانش کنید .
دانلود فایل هگز تست کتابخانه درایور ili9341 در حالت superfast
*****************************************
***************************************************************************
راهنمای راه اندازی و استفاده از کتابخانه را لطفا در اینجا ببینید .
***************************************************************************
قیمت کتابخانه درایور( هسته) : 45,000 تومان
قیمت کتابخانه کامل برای stm32f1xx( به همراه قسمتهای متنی و گرافیکی و نمایش تصویر ): 135,000 تومان
***توجه:دوستانی که قبلا کتابخانه lcd nokia1661 نسخه 1.1.3 برای stm32 تهیه کرده اند ، نیاز به تهیه کتابخانه کامل نیست و میتوانند با تهیه درایور و جایگزینی پوشه ili9341 با پوشه lcd از آن استفاده نمایند.( حتی نیاز به تغییر کدهای اصلی برنامه هم نیست )
نحوه ی خرید با پرداخت مستقیم : برای خرید لطفا اینجا را ببینید
در صورت بروز هر گونه مشکل یا سوال در این باره لطفا با شماره 09169252500 تماس بر قرار کنید یا کامنت بگذارید.
برای اطلاع از اخبار جدید و موارد اصلاحی در مورد این کتابخانه خواهشمندم در کانال تلگرام وبلاگ: dastsazemanblogfa@
عضو شوید .
با سپاس.
پستهای مرتبط :
کتابخانه منو ( فارسی و انگلیسی ) 4 دگمه
نرم افزار تولید فونت برای میکروکنترلر
اتصال درایور ili9341 به کتابخانه lcd nokia1661( اجرای کتابخانه منو روی ili9341 )