PDA

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



arm-mohsen-avr
17-12-2011, 21:21
دوستان من این lcd رو راه انداختم ولی یه مشکل دارم خیلی کند کار می کنه ///
احتمال می دم از رم باشه //
آی سی هم atxmega32a4 هستش با رم 4k اگه علت از اون باشه پیشنهاد می دید از کدوم رم استفاده کنم (خارجی)//
در ضمن فرکانس کاری نیز روی 32 مگاهرتز تنظیم شده ولی زیاد مطمئن نیستم چون تازه با avrstudio کار می کنم شاید مشکل از اونجا باشه///
این هم سورس قسمت تنظیم فرکانس کاری :

#define F_CPU 32000000

int main(void)
{
//---------------------------------------------------------------------
OSC.CTRL |= 0x02;
while(!(OSC.STATUS & OSC_RC32MRDY_bm));
//CCP = 0xD8;
CCP = CCP_IOREG_gc;
CLK.CTRL = 0x01;
//--------------------------------------------------------------------- با تشکر

arm-mohsen-avr
17-12-2011, 21:47
کسی نبود یه کمکی کنه ///
:(:(cry::cry::

kavir
17-12-2011, 21:58
سلام
با xmega سرعتش کم هست چون فرکانس کاری پایینه ولی کاری که میتونید بکنید برخی دستورات ارسال دیتا و ... بهینه تر بهتر میشه
در حال حاظر دوستان برای بردهای آینده برای lpc تا 50 فریم در ثانیه رسوندن

arm-mohsen-avr
17-12-2011, 22:05
یه راهی نیست که سرعت رو زیاد کنیم با رم خارجی یا pll ////
خیلی کارم گیره اگه میشه من رو راهنمایی کنید .
tanks

M.ABDOLLAHI
17-12-2011, 22:52
شاید شما داری پیکسل پیکسل میریزی میفهمی که منظورم چیه یعنی شما هر دفعه داری برای نمایش هر پیکسل یک محدوده گرافیک رم تعریف میکنی در حالی که شما باید یک بار این کار رو انجام بدی و بعد فقط دیتا بفرستی روی صفحه همون هم باید بتونه برای تغییر رنگ کل صفحه تا حداقل 20 فریم کار کنه...

arm-mohsen-avr
17-12-2011, 23:06
میشه بیشتر راهنمایی کنید////
چطوری یکباره این کار رو انجام بدم ////
باتشکر

sadmonew
17-12-2011, 23:10
با سلام
دوست عزيز اون قسمتي كه تو برنامه نوشتين يعني:




#define F_CPU 32000000

البته با توجه به تجربه اي كه تو Avr studio دارم ميگم. ربطي به تنظيم فركانس كاري ميكرو نداره فقط براي تنظيم Baudrate و بقيه تنظيمات مثل ايجاد تاخير كاربرد داره.

pooriya
17-12-2011, 23:10
سلام

یه کار می تونید بکنید اینه که تا 64mhz میکرو را اورکلاک بکنید که دیگه میشه در حد یه arm.

OSC_CTRL=0x03;
while(!(OSC_STATUS & 2 ));
OSC_PLLCTRL=0x88;
OSC_CTRL=0x13;
while(!(OSC_STATUS & 0x10));
CCP=0XD8;
CLK_CTRL=0X04;

و دیگه اینکه ببینید تو تنظیمات avr studio حداکثر حالت optimize رو انتخاب کردید؟

arm-mohsen-avr
17-12-2011, 23:28
با تشکر از دوستان گرامی به خصوص جناب اقای پوریا

با تنظیم کردن optimize وقرار دادن ان در حالت optimize more(-O2( سرعت نمایش اطلاعات بسیار افزایش پیدا کرد ...و با تنظیم کلاک برروی 64 مگاهرتز سرعت نمایش به صورت چشم گیری افزایش پیدا کرد.:125:

Doloop
18-12-2011, 00:38
اقا محسن ميشه چند تا عكس از پروژت بزاري
مخصوصا از السيدي

arm-mohsen-avr
18-12-2011, 01:22
این هم از عکس هاکه واسه تست xmega بود ///
You can see links before reply

arm-mohsen-avr
19-12-2011, 23:48
با سلام خدمت دوستان
یه مشکل دارم دوستان چون میخوام از adc استفاده کنم پورت هام کم میاد حالا می خوام به صورت 8 بیتی راش بندازم ولی نمیدونم چه طوری اگه میشه من رو راهنمایی کنید ... ای سی هم xmega32a4 هستش////یعنی فقط پورت B مونده بقیه پورت ها مشغوله مخصوصا A
باتشکر cry::cry::cry:::(:(:(

arm-mohsen-avr
20-12-2011, 01:26
کسی نیست راهنمایی کنه چطور میشه 8 بیت راه اندازی کرد cry:::(

armstk
20-12-2011, 01:48
سلام مهندس
راستش من هنوز کسی رو ندیدم به صورت 8 بیتی این lcd رو راه بندازه
ولی تا جایی که میدونم باید هر باری که میخاین این 16 بیت رو به چیپ ست lcd ارسال کنین , 16 بیت رو به 2 تا 8 بیت تبدیل کنین و در 2 مرحله دیتا رو به lcd ارسال کنین
البته سرعت به کمتر از 1/2 حالت 16 بیتی میرسه
بازم یه سرچی کنم ببینم چی میشه

sadmonew
20-12-2011, 20:15
کسی نیست راهنمایی کنه چطور میشه 8 بیت راه اندازی کرد cry:::(
با سلام
دوست عزيز ميشه 8 بيتي هم راه اندازيش كرد. البته نكته تو پايه IM0 مربوط به ال.سي.دي n96 ميشه. اگه اين پايه به ولتاژ 3.3V وصل باشه داده ها به صورت 8 بيتي به ال.سي.دي انتقال پيدا ميكنه يعني از ميكرو به پايه هاي DB10-DB17 ال.سي.دي.
لينكي كه گذاشتم راه اندازي همين LCD با ميكروي AVR هستش.
ایـــــــــران میـــــــکرو ™ - مشاهده یک موضوع - Lcd n96 (You can see links before reply)


________________________
برنامه نويسي، الكترونيك(PE) (You can see links before reply)
________________________

arm-mohsen-avr
20-12-2011, 21:56
با تشکر از دوستان گرامی با تغییر پایه های کنترلی lcd در برنامه توانستم پورت A را آزاد کرده و در اختیار adc قرار بدهم //:125::o ///
باتشکر

Doloop
28-12-2011, 22:53
سلام
يه سوال؟
من اين السيدي رو با avr تو بسكام راه انداختم ولي تصوير روي السيدي مثل تصوير تلويزيون برفكيه
كسي ميتونه بگه مشكلش چيه؟

armstk
29-12-2011, 03:22
سلام
ببین این جوری نمیشه گفت مشکلت چیه
ببین من خودم از دستی میومدم یکی از بیت های دیتا این lcd رو قطع میکردم - هر کدوم از بیت ها رو که قطع میکردم یه بلایی سره تصویر میومد
مثلا بیت 15 رو قطع میکردم تصویر آبی تر میشد - بیت 1 رو قطع میکردم تصویر چپه میشد !
احتمال خیلی زیاد از اتصالات مشکل دارین
البته حواسطون باشه این lcd اگه ارجینال نباشه خرابی زیادی داره

Doloop
29-12-2011, 23:40
من الان راش انداختم ولي يه مستطيل رنگي وسط صفحه نمايش ميده
ابعاد مستطيل چيزي حدود 100*130 پيكسل هست
من برنامه مجله نويز رو كپي كردم ولي ميخام براي نمايش از تمام صفحه استفاده كنم
ميشه اينو راهنمائي كنيد

agape
30-12-2011, 12:27
خوب خدا رو شکر که راه افتاد ولی اگر کتابخونه رو بهینه کنی باز به سرعت بالا تری خواهی رسید جدا از سرعت پردازش میکرو؛

Doloop
30-12-2011, 14:44
ولي شما كه سوال منو جواب ندادي!!!
من ميگم چرا السيدي فول اسكرين نمايش نميده؟
كدوم رجيستر رو بايد تغير بدم تا صفحه فول بشه
اين عكس رو ببينيد...

You can see links before reply

Doloop
30-12-2011, 21:15
اقايون زحمت نكشيد
بالاخره جوينده پيدا كرد
اين قسمت از برنامه رو دست كاري كردم



Sub Colorlcd
Index = Horizontal_start_address : Writeindex
Dat = &H0000 : Writedata

Index = Horizontal_end_address : Writeindex
Dat = &H00EF : Writedata

Index = Gram_horizontal_address : Writeindex
Dat = &H0000 : Writedata

Index = Vertical_start_address : Writeindex
Dat = &H0000 : Writedata

Index = Vertical_end_address : Writeindex
Dat = &H013F : Writedata

Index = Gram_vertical_address : Writeindex
Dat = &H0000 : Writedata

Index = Write_read_data_to_gram : Writeindex


بعد از يك روز سرو كله زدن با السيدي و برنامه تونستم تصوير رو فول كنم ولي نميدونم چرا سرعت اينقدر پائينه
من از حد اكثر سرعت AVR استفاده كردم ( 16 مگا هرتز ) ولي بازم به دلم نچسبيد.
من شنيدم ميشه ميكروها over clock دارن آيا مگا 32 هم داره؟
يا شنيدم بعضي ها با حذف كردن توابع اضافي سرعتشون رو بردن بالا كسي ميدونه جواب اين همه سوال چيه؟

ma-bah
30-12-2011, 22:03
سلام . آقا یه چیزی . این السیدی 2.8 فروشگاه رو میشه 8 بیتی هم راه اندازیش کرد ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

منظورم با استفاده از پایه ی im0 هستش

alireza9900
30-12-2011, 22:37
بعد از يك روز سرو كله زدن با السيدي و برنامه تونستم تصوير رو فول كنم ولي نميدونم چرا سرعت اينقدر پائينه

سلام
الان یعنی تصویر رو از طریقه خود ال سی دی scale کردین تا فول شه؟‌ (یعنی مثلا ۱۰۰*۱۰۰ پیکسل دیتا به ال سی دی فرستادین ولی روی ال سی دی فول نشون می ده؟)

agape
30-12-2011, 22:45
سلام . آقا یه چیزی . این السیدی 2.8 فروشگاه رو میشه 8 بیتی هم راه اندازیش کرد ؟؟؟؟؟؟؟؟؟؟؟؟؟؟
بله دایی جان میشه
قبلا این کار رو کردم و میشه

Doloop
31-12-2011, 00:32
الان یعنی تصویر رو از طریقه خود ال سی دی scale کردین تا فول شه؟‌

نه دايي جان اين خبرا نيست من تازه تونستم اندازه كادر نمايش السيدي رو تنظيم كنم
چون برنامه من همون برنامه مجله نويزه و توي اون از كل السيدي استفاده نشده بود و فقط يه كادر رنگي توي مركز السيدي بود من فقط مختصات شروع و پايان رو تغير دادم
البته ايني كه شما ميگيد رو من تو ديتا شيت ديدم كه عكس رو resize ميكنه و در ابعاد كوچكتر نمايش ميده ولي هنوز خودمم نتونستم عكس روش نمايش بدم.:mrgreen::mrgreen::mrgreen:

agape
31-12-2011, 18:35
يا شنيدم بعضي ها با حذف كردن توابع اضافي سرعتشون رو بردن بالا كسي ميدونه جواب اين همه سوال چيه؟
خوب دایی جان بایدم به دلت نجسبه چرا که آرم با سرعت 100 مگا هرتز هم تو نمایش کامل و بدون وقفه مشکل داره ، در رابطه با بالا بردن و آور کلاک کردن AVR بله امکانش هست من خودم m32 رو تا 20 مگ اور کردم و مشکلی هم نداشته ولی خوب در ، کتابخونه های توضیع شده خیلی مشکل دارن و از کد بهینه استفاده نکردن فقط برای این بوده که کار رو راه بندازن ، من خودم کتابخونه رو بهینه کردم سرعتش خیلی بیشتر شد ، شما هم این کار رو میتونی انجام بدی ، سه تا تابع سطح پایین هست که باید تغییرشون بدی یکی write-index, write-data,read-data اینا رو باید بهینه کنی و تابع دیگه ای که خیلی پر استفاده هست تابع write-pix هست که یه پیکسل رو تو صفحه نمایش میده

Doloop
31-12-2011, 19:24
ببخشيد دايي جان مگه از اينم بهينه تر ميشه



Sub Writedata
Reset Cs
Set Rs
Set Rd
Msb_port = High(dat)
Lsb_port = Low(dat)
Reset Wr
Set Wr
Set Cs
End Sub


Sub Writeindex
Reset Cs
Reset Rs
Set Rd
Msb_port = &H00
Lsb_port = Index
Reset Wr
Set Wr
Set Cs
End Sub



چند تا سوال ديگه :
1) با چه نرم افزاري ميشه كد رنگ هارو بدست اورد؟

2) با چه نرم افزاري عكس رو به كد تبديل كنم وچطوري تو بسكام كد هارو بفرستم براي السيدي؟

al.reza
26-12-2012, 00:30
سلام آقا این lcd چطور با بسکام راه انداختی؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

al.reza
26-12-2012, 00:34
دمت گرم برنامه رو میذاری خسته شدم اینقدر با السیدی سر و کله زدم؟؟

Ezatali
23-07-2013, 19:17
[QUOTE=Doloop;33628]ببخشيد دايي جان مگه از اينم بهينه تر ميشه



Sub Writedata
Reset Cs
Set Rs
Set Rd
Msb_port = High(dat)
Lsb_port = Low(dat)
Reset Wr
Set Wr
Set Cs
End Sub


Sub Writeindex
Reset Cs
Reset Rs
Set Rd
Msb_port = &H00
Lsb_port = Index
Reset Wr
Set Wr
Set Cs
End Sub

بله دایی جان میشه؛ یه بنده خدایی نشسته و یک کامپایلری نوشته؛ شما هم توو اون کامپایلر یک کدی نوشتی؛ بدون این که همدیگه رو بشناسین و از نیاز هم آگاه باشین؛ در واقع کدی رو که شما فکر می کنید به صورت بهینه نوشته اید؛ هرگز به صورت بهینه به زبان اسمبلی ترجمه نمی شه!! اگه به Codevision یا AVR-Stadio دسترسی دارید کد رو بنویسید و بعد از کامپایل به نسخا اسمبلی اون توجه کنید؛ می فهمید که اصلا کد بهینه نیست؛ برای این کار باید قسمت هایی رو که بیشتر تکرار می شه و از نظر سرعت در مضیقه هستید رو به اسمبلی و به صورت بهینه بنویسید