PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سرعت رفرش در tftlcd



esi_52000
08-03-2012, 12:53
سلام به همه ARMبازای گرامی.
رفقا, من یک دونه ال سی دی TFT320*240 از فروشگاه خریدم و الان راه اندازیش کردم (با LPC1768 و البته دستورات CMSIS) مشکل اینجاس که سرعت خیلی پایینی داره.برای نشون دادن یه عکس که روی حافظه فلش ذخیره شده تقریبا 1.5 ثانیه طول میکشه.یادمه مهندس agapa یه جایی نوشته بودن به رفرش 20 فریم بر ثانیه رسیدن (و تا اونجا که میدونم ایشون با AT91 این کار رو کردن که فرکانسی کمتر از LPC داره).دوستان کسی میدونه چطور باید سرعت رو بالا برد.اینم بگم که فرکانس هسته رو روی 100MHZ تنظیم کردم

agape
08-03-2012, 14:47
سلام دوست من!
اولل اگه از کتابخونه های نوشته شده توسط دوستان استفاده میکنید یکی از مشکلات خود کتابخونه هست که اصولی نوشته نشدن و خیلی فرامین بی مورد وجود داره و مشکل بعدی هم خودندن mmc و فایل سیستم هست برای . مثلا من برای نمایش یه عکس جیپگ (که نیاز به دکد هم داره) از روی فلش مموری (سرعت هاب به نسبت mmc کمتر هست) چیزی حدود 1.5 ثانیه طول می کشید!
البته خوب سایز عکس هم مهم من سایز 320*240 رو عرض میکنم

sadmonew
08-03-2012, 14:49
سلام داداش:hi:
یه مساله فعلا به ذهنم میرسه:
احتمالا سرعت میکرو درست تنظیم نشده. چطوری مطمئن شدید سرعت میکرو روی 100MHz تنظیم شده؟

esi_52000
08-03-2012, 15:01
سلام داداش:hi:
یه مساله فعلا به ذهنم میرسه:
احتمالا سرعت میکرو درست تنظیم نشده. چطوری مطمئن شدید سرعت میکرو روی 100MHz تنظیم شده؟

سلام مهندس جان.
واسه تنظیم کلاک در cmsisمیشه توی فایل system_lpc17xx.c مقادیر رو تنظیم کرد .
برای من:

M=25;
N=2
PLL_CLOCK_IN=12000000
PLL_CLOCK_OUT=300000000
CCLK_DIV=3

esi_52000
08-03-2012, 15:04
سلام دوست من!
اولل اگه از کتابخونه های نوشته شده توسط دوستان استفاده میکنید یکی از مشکلات خود کتابخونه هست که اصولی نوشته نشدن و خیلی فرامین بی مورد وجود داره و مشکل بعدی هم خودندن mmc و فایل سیستم هست برای . مثلا من برای نمایش یه عکس جیپگ (که نیاز به دکد هم داره) از روی فلش مموری (سرعت هاب به نسبت mmc کمتر هست) چیزی حدود 1.5 ثانیه طول می کشید!
البته خوب سایز عکس هم مهم من سایز 320*240 رو عرض میکنم

سلام مهندس(اصلش اینه که بگم سلام استاد).
مهندس جان منظورتون از دستورات اضافی چیه .میشه توضیح بدین.
یه چیز دیگه هم که هست من عکس رو روی حافظه فلش خود میکرو ریختم.ولی الان تست کردم تقریبا 5 ثانیه طول میکشه(اول اشتباهی نوشته بودم 1.5 ثانیه)

esi_52000
08-03-2012, 16:57
دوستان کسی نیست با این ال سی دی کار کرده باشه.جناب مزارعی لطف میکنید کمک کنید واسه افزایش سرعت رسم تصویر

agape
08-03-2012, 17:10
خوب که این طور پس به طور حتم یه جای کار میلنگه ! چون که آتمل هم سریعتر از این عکس ها رو رسم میکنه!
و اما تکنیک اشتباه رسم تصویر:
توی بعضی کتابخونه ها دوستان میآد و برای قرار دادن یه تصویر روی نمایشگر از فرمان پون پیکسل استفاده میکنن ، این فرمان میآد و یه نقطه با رنگ دلخواه رو توی مختصات مورد نظر قرار میده و اما داده هایی که برای رسم یه نقطه ارسال میشه به این ترتیب هست ، مختصات x , مختصات y و رنگ پیکسل که ارسال هر یک از این پارامتر ها خود نیز نیاز به ارسال ریجیستر های کنترلی دارد.
و اما راه کار صحیح :
ابتدا توسط فرمان های خود ال سی دی یه ویندوز به ابعاد تصویرتون رو ال سی دی درست میکیند و بعد از اون داده ها رو به ترتیب می فرستم ! این روش در ابتدا 8 فرمان ارسال میشه و بعد رنگ ها پشت سر هم ارسال میشن که می بینید حداقل سرعت رسم عکس 3 برابر خواهد بود!.
دوست من پیشنهاد میکنم برنامتون رو قرار دید که بشه بیشتر نظر داد.

gangi
08-03-2012, 18:59
با سلام
مقداری اطلاعات:

1- حجم فایل عکس بیت مپ 320*240 = 320*240*3 = 76800 پیکسل * 3 بایت = 230400 بایت.

2- اگر از sd/mmc با سرعت 8 یا 16 یا 24 یا 48 مگابیت در ثانیه استفاده کنید،(1 ، 2 ، 3 ، 6 مگابایت برثانیه )حجم انتقال خواهید داشت.

3- اگر از کتابخانه ff.h , ff.c استفاده می کنید، سرعت موثر نصف تا 0.25 برابر کم می شود، چون تعدادی عملیات خواندن و کنترلی اضافه انجام می دهد. لذا سرعت موثر به 0.5 و 1 و 1.5 و 3 مگابایت بر ثانیه کاهش می یابد.
و حتی به نصف این مقدار.

4- tft-lcd مورد نظر برای هر پیکسل از 16 بیت استفاده نموده لذا برای هر پیکسل ، یک محاسبه برای تبدیل 24 بیت فایل بیت مپ به 16 بیت نیاز است که برای هر پیکسل بین 10 تا 30 سایکل در میکرو ها زمان نیاز دارد.

5- در باس 8 بیتی برای انتقال به 76800*2 = 153600 تکرار حلقه ارسال بایت نیاز داریم هر تکرار حلقه بین 5 تا 15 سایکل زمان نیاز دارد. = 768000 سایکل تا 2304000 سایکل

6- در باس 16 بیتی برای انتقال به 76800 تکرار حلقه ارسال بایت نیاز داریم هر تکرار حلقه بین 5 تا 15 سایکل زمان نیاز دارد. = 384000 سایکل تا 1152000 سایکل


*- حالا محاسبه:

- سرعت موثر 0.5 مگابایت بر ثانیه=> زمان خواندن از sd/mmc برابر 0.5 تا 1.0 ثانیه
- سرعت موثر 1.0 مگابایت بر ثانیه=> زمان خواندن از sd/mmc برابر 0.25 تا 0.5 ثانیه
- سرعت موثر 1.5 مگابایت بر ثانیه=> زمان خواندن از sd/mmc برابر 0.17 تا 0.35 ثانیه
- سرعت موثر 3.0 مگابایت بر ثانیه=> زمان خواندن از sd/mmc برابر 0.1 تا 0.2 ثانیه

برای باس 8 بیتی:
تبدیل 24 به 16 = 768000 تا 2304000
انتقال: 768000 سایکل تا 2304000 سایکل
جمع: 1536000 تا 4608000 سایکل( تخمین : بین 0.1 تا 0.4 ثانیه )
زمان نهایی را با سرعت خواندن فایل از mmc جمع کنید

برای باس 16 بیتی:
تبدیل 24 به 16 = 768000 تا 2304000
انتقال: 384000 سایکل تا 1152000 سایکل
جمع: 1152000 تا 3456000 سایکل( تخمین : بین 0.05 تا 0.3 ثانیه )
زمان نهایی را با سرعت خواندن فایل از mmc جمع کنید

ملاحظه می فرمایید که بخش اصلی زمان در خواندن فایل از mmc از دست می رود.

و با این روش به سرعت بهتر از 1 ثانیه برای هر عکس ، نخواهیم رسید !

با سپاس

esi_52000
08-03-2012, 19:51
با سلام
مقداری اطلاعات:

1- حجم فایل عکس بیت مپ 320*240 = 320*240*3 = 76800 پیکسل * 3 بایت = 230400 بایت.

2- اگر از sd/mmc با سرعت 8 یا 16 یا 24 یا 48 مگابیت در ثانیه استفاده کنید،(1 ، 2 ، 3 ، 6 مگابایت برثانیه )حجم انتقال خواهید داشت.

3- اگر از کتابخانه ff.h , ff.c استفاده می کنید، سرعت موثر نصف تا 0.25 برابر کم می شود، چون تعدادی عملیات خواندن و کنترلی اضافه انجام می دهد. لذا سرعت موثر به 0.5 و 1 و 1.5 و 3 مگابایت بر ثانیه کاهش می یابد.
و حتی به نصف این مقدار.

4- tft-lcd مورد نظر برای هر پیکسل از 16 بیت استفاده نموده لذا برای هر پیکسل ، یک محاسبه برای تبدیل 24 بیت فایل بیت مپ به 16 بیت نیاز است که برای هر پیکسل بین 10 تا 30 سایکل در میکرو ها زمان نیاز دارد.

5- در باس 8 بیتی برای انتقال به 76800*2 = 153600 تکرار حلقه ارسال بایت نیاز داریم هر تکرار حلقه بین 5 تا 15 سایکل زمان نیاز دارد. = 768000 سایکل تا 2304000 سایکل

6- در باس 16 بیتی برای انتقال به 76800 تکرار حلقه ارسال بایت نیاز داریم هر تکرار حلقه بین 5 تا 15 سایکل زمان نیاز دارد. = 384000 سایکل تا 1152000 سایکل


*- حالا محاسبه:

- سرعت موثر 0.5 مگابایت بر ثانیه=> زمان خواندن از sd/mmc برابر 0.5 تا 1.0 ثانیه
- سرعت موثر 1.0 مگابایت بر ثانیه=> زمان خواندن از sd/mmc برابر 0.25 تا 0.5 ثانیه
- سرعت موثر 1.5 مگابایت بر ثانیه=> زمان خواندن از sd/mmc برابر 0.17 تا 0.35 ثانیه
- سرعت موثر 3.0 مگابایت بر ثانیه=> زمان خواندن از sd/mmc برابر 0.1 تا 0.2 ثانیه

برای باس 8 بیتی:
تبدیل 24 به 16 = 768000 تا 2304000
انتقال: 768000 سایکل تا 2304000 سایکل
جمع: 1536000 تا 4608000 سایکل( تخمین : بین 0.1 تا 0.4 ثانیه )
زمان نهایی را با سرعت خواندن فایل از mmc جمع کنید

برای باس 16 بیتی:
تبدیل 24 به 16 = 768000 تا 2304000
انتقال: 384000 سایکل تا 1152000 سایکل
جمع: 1152000 تا 3456000 سایکل( تخمین : بین 0.05 تا 0.3 ثانیه )
زمان نهایی را با سرعت خواندن فایل از mmc جمع کنید

ملاحظه می فرمایید که بخش اصلی زمان در خواندن فایل از mmc از دست می رود.

و با این روش به سرعت بهتر از 1 ثانیه برای هر عکس ، نخواهیم رسید !

با سپاس

داداش دمت گرم.خیلی باحال بود این محاسباتت.ممنونم.:018::018::018::018: :018:
البته اینم بگم که من گفته بودم دارم از حافظه فلش خود میکرو استفاده میکنما

esi_52000
11-03-2012, 14:59
استاد مزارعی دستتون درد نکنه با راهنمایی شماتونستم سرعت رو خیلی بالا ببرم.اما هنوز تا ایدال خیلی فاصله داره.به نظر شما اصلا امکان داره با یه 1768 بشه فیلم رو با رفرش مثلا 15 فریم نمایش داد؟؟؟؟؟؟

agape
11-03-2012, 16:13
سلام دایی جان!
خوب خیلی خوبه که تونستی کتابخونه رو تصحیح کردی !
شدنش هم میشه که تا 30 فریم رو هم جواب بگیری - فقط تکنیک برنامه نویسی میخواد و استفاده صحیح از امکانات میکرو مثلا شما الان از dma استفاده نمیکنی !
شدنش میشه ، یه فیلم رو هم برات ضمیمه میکنم حتما ببین !

esi_52000
11-03-2012, 16:31
سلام دایی جان!
خوب خیلی خوبه که تونستی کتابخونه رو تصحیح کردی !
شدنش هم میشه که تا 30 فریم رو هم جواب بگیری - فقط تکنیک برنامه نویسی میخواد و استفاده صحیح از امکانات میکرو مثلا شما الان از dma استفاده نمیکنی !
شدنش میشه ، یه فیلم رو هم برات ضمیمه میکنم حتما ببین !
استاد این کار خودتون بود یا از جایی گرفته بودین!!!!!!!!!!!!!!!!
فوق العاده بود :018::018::018::018::018::018::018::018::018::018: :018::018::018:
اگه کار خودتون هستش لطفا بگین

agape
11-03-2012, 16:41
نه این کار من نبوده منم از یوتیوب دانلود کردم !

esi_52000
12-03-2012, 00:37
دوستان گرامی میخوام یه ایده بدم .البته فعلا خیلی نپخته هستش .اگه دوستان یا علی بگن شاید بشه پختش. مخصوصا کمک بزرگانی چون agapa,1nafar,armstk,sigma_mx ,kavir و بقیه رو می طلبه.
دوستان مشکل کار با ال سی دی ایناس
1 درایوره
2 واکشی تصویر
3 ارسال بایتهای واکشی شده
به نظر استید میشه یه طوری dac رو وارد کار کرد.یعنی میکرو رنگای پیکسل رو واکشی کنه وبه صورت یه عدد انالوگ بفرسته روی dac .بعد یه میکروی دیگه یا یه adc سریع با یه درایور کار رنگ بندی صفحه رو انجام بدن .این وسط میکرو هم کار واکشی رو دوباره انجام بده.به نظر مسخره میاد ولی شاید ارزش کار داشته باشه ها.
اگه ایده ی بچه گانه ای هستش بگین خجالت نکشینااا:mrgreen::mrgreen:

agape
12-03-2012, 16:01
دایی جان ! برای درایور ال سی دی من برای برد های کویر ویزارد طراحی کردم و تقریبا بیتشر امکاناتش قابل تنظیم هست و هم اکنون با بردهای اتمل داره عرضه میشه فکر میکنم کامل ترین کتابخونه ای که نوشته شده باشه !یه عکس از تنظیماتش ضمیمه میکنم خودتون قضاوت کنید.
You can see links before reply

esi_52000
30-04-2012, 02:20
سلإم به دوستإن .إمروز بعد مدتهإ یإد إین پست إفتإدم.إتفإقإ همین إمروز هم تونستم سرعت رفرش رو بدون إوورکلإک کردن میکرو به 66 فریم بر ثإنیه برسونم.برإم خیلی جإلب بود .

agape
30-04-2012, 11:00
خوب - آفرین به شما ! که بلاخره موفق شدید! بهتون تبریک میگم
پیشنهاد میکنم که اگر براتون امکان داره کتالخونه تون رو برای دوستان قرار بدید که این تاپیک به مقصد خوبی ختم شده باشه!

Aghaeifar
30-04-2012, 15:46
آقای مزارعی میشه ویزارد طراحی شده و esi_52000 میشه کتابخونتون رو شیر کنید؟
تشکر

hesam1
30-04-2012, 17:32
سلام
من تونستم با lpc1768 با 112MHz به لود کردن 160 تا 165 فریم رنگ دست پیدا کنم که میشه تا حدود 80 الی 100 فریم عکس در ثانیه رو از حافظه فلش لود کرد.:0013:

Aghaeifar
30-04-2012, 23:28
سلام دایی جان!
خوب خیلی خوبه که تونستی کتابخونه رو تصحیح کردی !
شدنش هم میشه که تا 30 فریم رو هم جواب بگیری - فقط تکنیک برنامه نویسی میخواد و استفاده صحیح از امکانات میکرو مثلا شما الان از dma استفاده نمیکنی !
شدنش میشه ، یه فیلم رو هم برات ضمیمه میکنم حتما ببین !
این فیلم رو من الان دیدم
فوق العاده است واقعا... عجب سرعتی در نمایش داره :018: