سلام دوستان
می خواستم یک فرمولاسیون رو در اختیارتون قرار بدم.
دوستان عزیزی که می خوان از LCD به صورت اتصال Parallel (نه به صورت LVDS یا سایر روشها) بهره ببرند
لازمه بدونن که هر عددی رو اگه بخوان توی پارامترهای مربوط به lcd0 در فایل FEX قرار بدن ممکنه کیفیت درستی از تصویر خروجی دریافت نکنند...
برای این موضوع قسمتی از تجربیاتم رو در کار کردن با LCD 7 اینچی که در فروشگاه با پارت نامبر at070tn92 فروخته میشه رو تو ین تاپیک منتشر کنم
با مراجعه به دیتاشیت صفحه نمایش فوق (نگارش پنجمش رو می تونید از اینجا دانلود کنید) جداولی رو در صفحه ۱۳ مشاهده می کنید که روابط اسکن افقی و عمودی صفحه نمایش بر اساس کلاک نوشته شده است.
توجه بکنید که برای این lcd مقادیر Back Porch یا همون Blanking برای افقی و عمودی اعداد ثابت ۴۶ و ۲۳ هستند و Front porch نیازی نیست برای سیستم عامل مشخص گردد زیرا که از تفریق th-800-46 یا tv-480-23 به راحتی قابل محاسبه هستند.
با توجه به اینکه کلاک این صفحه نمایش می تواند از ۲۶.۴ مگاهرتز تا ۴۶.۸ مگاهرتز باشد و اینکه پارامتر lcd_dclk_freq که بر اساس مگاهرتز مقدار میگیرد نمی تواند اعشاری باشد من محاسباتم رو برای ۲۷ تا ۴۶ مگاهرتز انجام دادم...
محاسباتی که می گم اصلا سخت نیست و با سه تا for تو در تو در هر زبانی که نشون بده اعداد ضرب شده بر فرکانس تصویر بخش پذیر هستند به راحتی به دست میاد
من این کار رو برای شما انجام دادم و برای فرکانسهای ۵۰ و ۶۰ و ۷۵ هرتز که بیشترین محبوبیت رو دارن نتایجش رو براتون می زارم. این اطلاعات به شما میگه که برای بدست آوردن مثلا ۷۵ هرتز نتیجه نمایش تصویر باید مقادیر lcd_dclk_freq و lcd_ht و lcd_vt رو چی باید بگذارید:
Refresh rate = 60Hz
33MHz .. HT:880 .. VT:2*625
33MHz .. HT:1000 .. VT:2*550
36MHz .. HT:960 .. VT:2*625
36MHz .. HT:1000 .. VT:2*600
39MHz .. HT:1000 .. VT:2*650
39MHz .. HT:1040 .. VT:2*625
42MHz .. HT:1120 .. VT:2*625
45MHz .. HT:1200 .. VT:2*625
Refresh rate = 50Hz
27MHz .. HT:864 .. VT:2*625
27MHz .. HT:900 .. VT:2*600
27MHz .. HT:1000 .. VT:2*540
28MHz .. HT:875 .. VT:2*640
28MHz .. HT:896 .. VT:2*625
28MHz .. HT:1000 .. VT:2*560
29MHz .. HT:928 .. VT:2*625
29MHz .. HT:1000 .. VT:2*580
30MHz .. HT:960 .. VT:2*625
30MHz .. HT:1000 .. VT:2*600
31MHz .. HT:992 .. VT:2*625
31MHz .. HT:1000 .. VT:2*620
32MHz .. HT:1000 .. VT:2*640
32MHz .. HT:1024 .. VT:2*625
33MHz .. HT:1056 .. VT:2*625
33MHz .. HT:1100 .. VT:2*600
33MHz .. HT:1200 .. VT:2*550
34MHz .. HT:1088 .. VT:2*625
35MHz .. HT:1120 .. VT:2*625
36MHz .. HT:1125 .. VT:2*640
36MHz .. HT:1152 .. VT:2*625
36MHz .. HT:1200 .. VT:2*600
37MHz .. HT:1184 .. VT:2*625
39MHz .. HT:1200 .. VT:2*650
Refresh rate = 75Hz
39MHz .. HT:1000 .. VT:2*520
42MHz .. HT:875 .. VT:2*640
42MHz .. HT:896 .. VT:2*625
42MHz .. HT:1000 .. VT:2*560
45MHz .. HT:960 .. VT:2*625
45MHz .. HT:1000 .. VT:2*600
توجه داشته باشید که درسته بازه مقدار VT در دیتاشیت بین ۵۱۰ تا ۶۵۰ هست ولی در تنظیمات FEX مقدار مورد نیاز را باید در ۲ ضرب کنید
به طور مثال من برای بدست آوردن سرعت بروزرسانی ۷۵ بار در ثانیه از این مقادر استفاده کردم:
lcd_dclk_freq = 39
lcd_hbp = 46
lcd_ht = 1000
lcd_vbp = 23
lcd_vt = 1040
lcd_vspw = 10
lcd_hspw = 10
مقادیر این دو پارامتر اخیر زیاد مهم نیستند و همین عدد ۱۰ مناسب می باشد.
اگر توجه کنید در مثال فوق 1000*520*75 دقیقا برابر 39000000 یا همان 39MHz میشود.
موفق باشید