اطلاعیه

Collapse
No announcement yet.

[پروژه] اتصال دوربین با سنسور OV7670 به LCD موبایل (ELT240320ATP)

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #46
    پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

    نوشته اصلی توسط Solsal
    با سلام

    درباره سرعت رفرش ال سی دی مورد نظر این مبحث:

    این مطالب را نوشته بودم،

    در اینجا هم قرار می دهم تا اطلاع رسانی صورت گیرد.

    ///////////////////////////

    مقداری اطلاعات:

    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 از دست می رود.

    و با این روش (خواندن از sd/mmc با کتابخانه فایلی ff.c ) به سرعت بهتر از 1 ثانیه برای هر عکس بیت مپ ( یا یک فریم از فیلم AVI در ثانیه) ، نخواهیم رسید !

    با سپاس
    در کلیپ زیر که قبلا هم لینک آن به ترتیب دیگری در سایت قرار داده شده، از روی SDC توسط XMEGA روی یک نوع LCD دیگر موبایل و با سرعت بسیار بالا فیلمی را نمایش می دهد. البته مطابق توضیحی که روی فیلم قرار داده شده به نظر می رسد کد نوشته شده با زبان اسمبلی باشد:

    http://www.aparat.com/v/96d277917d06...9c8e1f11672022
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #47
      پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

      سلام به دوستان عزیز
      مخصوصا آقای طراح که زحمت میکشند!
      دوستان من ov7670 رو راه انداختم ولی تصویری که تو ال سی دی نشون میده انگاری سیاه سفیده :cry:
      یعنی رنگا یجورایی جالب نیستند
      نمیدونم که از lcd هستش که فکر نمیکنم چون تصاویر دیگه رو خوب نشون میده
      یا از تنظیمات دوربین هستش که احتمال زیاد میدم که از اون باشه
      ولی نمیدونم کدوم رجیستر ها رو باید تغییر بدم
      100 بارم دیتا شت رو خوندم و قاطی کردم!
      کمکم کنید
      :angry: :angry:
      برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

      دیدگاه


        #48
        پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

        سلام دوستان.
        حرف سرعت و نمایش فیلم و ... شد بهتره یه تجربه رو اراعه بدم...
        من تونستم با xmega و LCِD رنگی PCF8833 که 128*128 پیکسل و 8 بیتی هست با سرعت 12 فریم در ثانیه فیلم پخش کنم بدون صدا و با استفاده از Sdram
        البته نکته مهم اینه که این برنامه نویسی با بسکام که تقریبا هر دستورش معادل 3 دستور ASM هست انجام شد .
        و در آخر هم باید بگم که یک فیلم مطلوب برای نمایش باید تقریبا 8 تا 10 فریم باشه.
        این چیزی بود که من بلد بودم.
        الهم عجل لولیک الفرج

        فقط 313 نفر...

        دیدگاه


          #49
          پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

          جناب کی نژاد من این 4 صفحه رو مطالعه کردم ولی لینک پروژه ای در مورد این دوربین و XMEGA ندیدم.
          آیا مراحل کاری ادامه داره و روش داره کار میشه و یا اینکه من متوجه لینک نشدم.

          اگر توضیح دبدید ممنون میشم
          I ❤️ ECA

          دیدگاه


            #50
            پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

            این پروژه اجرا شده اما هنوزجزئیات آن برای XMEGA قرار داده نشده است.دلیل قرار ندادن پروژه تاکنون هم این مطلب است که به غیر از بحث نمونه کد و برنامه نویسی، یک سخت افزار جانبی هم باید در کنار XMEGA اضافه شود که برای کشیدن شماتیک و توضیحات تکمیلی و در آوردن محتوای آن به شکلی که برای همه قابل استفاده نباشد، فرصتی ایجاد نشده است. اما با توجه به علاقه مندی دوستان مختلف سعی می کنم در زمان مناسب و آینده نزدیک این کار را انجام دهم. نمونه ای از عملکرد پروژه در نمایش تصویر روی LCD موبایل در عکس زیر نمایش داده شده است:

            اوژن: به معنای افکننده و شکست دهنده است
            دانایی، توانایی است-Knowledge is POWER
            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

            دیدگاه


              #51
              پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

              من قصد دارم این مورد رو راه اندازی کنم ولی هنوز میکرو رو انتخاب نکردم خواستم با XMEGA هم آزمایشی بکنم. اگر بفرمایین که اون قطعات واسط برای چه منظوری هستند و .... شاید بتونم این کار رو انجام بدم.
              البته احتمال میدم از 1768 استفاده کنم ولی برای تنوع اگر با XMEGA انجام بشه تجربه بهتری خواهد بود.
              متشکرم
              I ❤️ ECA

              دیدگاه


                #52
                پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

                Data bus مربوط به LCD در اکثر موارد در اختیار دوربین است (کار اصلی نوشتن اطلاعات روی LCD با سرعت بالا در واقع توسط دوربین انجام می شود) و در مواقعی هم لازم است Data bus در اختیار میکروکنترلر قرار بگیرد. مدیریت عملیات در اختیار گرفتن Bus و جهت خواندن و نوشتن اطلاعات با کمک یکسری گیت و بافر،توسط میکروکنترلر انجام می شود که مدار جانبی مربوط به این بخش است. جزئیات این امر هم در شماتیک های موجود در لینک های پست های ابتدای تاپیک موجود است.
                اوژن: به معنای افکننده و شکست دهنده است
                دانایی، توانایی است-Knowledge is POWER
                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                دیدگاه


                  #53
                  پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

                  نوشته اصلی توسط طراح
                  این پروژه اجرا شده اما هنوزجزئیات آن برای XMEGA قرار داده نشده است.دلیل قرار ندادن پروژه تاکنون هم این مطلب است که به غیر از بحث نمونه کد و برنامه نویسی، یک سخت افزار جانبی هم باید در کنار XMEGA اضافه شود که برای کشیدن شماتیک و توضیحات تکمیلی و در آوردن محتوای آن به شکلی که برای همه قابل استفاده نباشد، فرصتی ایجاد نشده است. اما با توجه به علاقه مندی دوستان مختلف سعی می کنم در زمان مناسب و آینده نزدیک این کار را انجام دهم.
                  سورس پروژه نمایش تصویر دوربین OV7670 روی LCD و نحوه اتصال سخت افزاری در این پست ضمیمه شد. به این ترتیب کلیه اطلاعات لازم مربوط به این پروژه برای پیاده سازی عملی آن قابل دسترس است.
                  فایل های پیوست شده
                  جدیدترین ویرایش توسط طراح; ۱۱:۰۹ ۱۳۹۶/۰۷/۱۳.
                  اوژن: به معنای افکننده و شکست دهنده است
                  دانایی، توانایی است-Knowledge is POWER
                  برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                  وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                  قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                  اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                  ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                  دیدگاه


                    #54
                    interrupt

                    با سلام خدمت شما دوستان
                    راستش من با سری xmega هنوز کار نکردم و تواایی خوندن تابع int اقای طراح که برای دوربین ov7670 نوشتن رو ندارم کسی میتونه یه توضییح بده
                    که از چه نوع اینتراپتی استفاده شده برای مثال از روش وقفه تو در تو (interrupt netsing) یا روش تله(trap) ممنون میشم در این مورد کمکم کنید
                    پیشاپیش ممنون از لطفتون
                    http://www.4shared.com/file/oeK5wWkQ/int.html
                    یا
                    http://www.eca.ir/forum2/index.php?action=dlattach;topic=45632.0;attach=892 2

                    دیدگاه


                      #55
                      پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

                      trap بیشتر در سیستم عامل و در محاسبات مطرح می شود، در شرایطی که مثلا تقسیم بر صفر اتفاق بیافتد یا دسترسی به حافظه غیر موجود مورد نظر باشد و شرایطی نظیر آن که در کد مورد نظر چندان موضوعیت ندارد. البته در XMEGA در صورت از کار افتادن کلاک سیستم یک وقفه Nonmaskable اتفاق می افتد که شاید بتوان از واژه trap برای آن استفاده کرد. در مورد برنامه هم بصورت موردی و دقیق اگر سوالی دارید آن را مطرح کنید.
                      اوژن: به معنای افکننده و شکست دهنده است
                      دانایی، توانایی است-Knowledge is POWER
                      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                      دیدگاه


                        #56
                        پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

                        با سلام خدمت شما من این مدارو بستم ولی مشکلی که وجود داره اینه که حتی lcd اینیشیال نمیشه دلیلشم هم فکر میکنم به خاطره پایه wr باشه چون
                        وقتی مستقیم به میکرو میدم lcd lمشکلی نداره ولی وقتی میدم به خروجی nand این مشکل پیش میاد من به xclk کلاک 24 مگاهرتز دادم ولی برخلاف گفته ی شما رو پایه pclk به جای نصف فرکانس دقیقا 24 مگ ایجاد میشه من به اسیلوسکوپ دسترسی دارم اگه قراره ازمایشی هم انجام بدم لطفا بگید باید
                        چیکار کنم

                        دیدگاه


                          #57
                          پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

                          اگر سخت افزار پروژه دقیقا مطابق جزئیات قرار داده شده باشد، نباید مشکل خاصی وجود داشته باشد. در مورد PCLK هم به دلیل سوال شما مجددا اندازه گیری را انجام دادم و با دوربینی که در اختیار من است، فرکانس PCLK نصف XCLK است.
                          اوژن: به معنای افکننده و شکست دهنده است
                          دانایی، توانایی است-Knowledge is POWER
                          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                          دیدگاه


                            #58
                            پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

                            با سلام بله دوباره این فرکانسو اندازه گرفتم نصف xclk بودمشکل من اینه که دوربین اینیشیال نمیشه سخت افزار هم بارها چک کردم ولی چنتا سوال در مورد این سورس برنامه
                            1:زمانی که cmos_en که به ورودی گیت nand اولی وصله صفره خروجی nand منطقش یک میشه و هر چی که پایه mcu_wr باشه not میشه در خروجی و طبق سورس lcd باید wr_low و wr_high رو عوض کرد تا lcd اینیشیال بشه و در غیر این صورت اینیشیال نمیشه (این چیزی بود که عملا بهش برخوردم و با این تغییر lcd اینیشیال شد)
                            2:مشگل دوم امن با لین سورس اینه که زمانی که باید ov7670 اینیشیال بشه قبل اون نباید باس 8 بیتی در اختیار دوربین قرار بگیره

                            3:یه سوال از سخت افزار پروژه من دو پایه pwdn و reset رو باید به چیزی وصل کنم یا باید به صورت not_connect باشه

                            دیدگاه


                              #59
                              پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

                              با سلام
                              من دارم با SAM7x256 و این دوربین کار میکنم ولی چند تا مشکل تو مایه های لیلی زن بود یامرد دارم
                              1- من به جای 7410 از 7400استفاده کردم ولی هیج پالسی در یافت نکردم شاید ساختار آرم با xmega فرق داره نمیدونم.
                              2- برای رفع مشکل یعنی تولید پالس برای ورودی دوربین رجیسترهای PMC_SCER و PMC_PCK و PIO_PDR و PIO_MDER و PIO_BSR مقدار دهی کردم تا بتونم از کلاکهای قابل برنامه ریزی استفاده کنم بازم نتونستم پالسی بگیرم
                              3- اگر بدون برنامه ریزی رجیسترهای دوربین دوربین فقط صرفا به تغذیه وصل بشه و پالس بهش داده بشه اطلاعات تصویر روی خروجی دوربین قرار میگیره یانه و اگر مثبته فرمتشون چیست
                              متشکر

                              دیدگاه


                                #60
                                پاسخ : راه اندازی ELT240320ATP و OV7670 با XMEGA

                                نوشته اصلی توسط saeidmo
                                با سلام بله دوباره این فرکانسو اندازه گرفتم نصف xclk بودمشکل من اینه که دوربین اینیشیال نمیشه سخت افزار هم بارها چک کردم ولی چنتا سوال در مورد این سورس برنامه
                                1:زمانی که cmos_en که به ورودی گیت nand اولی وصله صفره خروجی nand منطقش یک میشه و هر چی که پایه mcu_wr باشه not میشه در خروجی و طبق سورس lcd باید wr_low و wr_high رو عوض کرد تا lcd اینیشیال بشه و در غیر این صورت اینیشیال نمیشه (این چیزی بود که عملا بهش برخوردم و با این تغییر lcd اینیشیال شد)
                                2:مشگل دوم امن با لین سورس اینه که زمانی که باید ov7670 اینیشیال بشه قبل اون نباید باس 8 بیتی در اختیار دوربین قرار بگیره

                                3:یه سوال از سخت افزار پروژه من دو پایه pwdn و reset رو باید به چیزی وصل کنم یا باید به صورت not_connect باشه
                                در سورس موجود مسئله Not بودن WR رعایت شده است. سوالات دوم و سوم هم چندان مفهوم نیست و همانطور که در پست های قبل اشاره شد این پروژه بصورت عملی جواب می دهد (که تصویر آن قرار داده شد) و اگر هر مشکلی وجود داشته باشد، یا ناشی از تفاوت دوربین یا LCD مورد استفاده است و یا شماتیک قرار داده شده در پست شماره 52 به درستی متصل نشده است. ضمنا شماتیکی که تصویر آن را قرار داده اید، مربوط به نسخه AVR این پروژه است.
                                اوژن: به معنای افکننده و شکست دهنده است
                                دانایی، توانایی است-Knowledge is POWER
                                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                                دیدگاه

                                لطفا صبر کنید...
                                X