مشخصات :
1. رزولیشن 640*480 و تصویر برداری با 30 فریم
2. سنسور تصویر OV7670 ، دارای بخشهای مختلف برای پردازش تصویر اولیه روی تصویر (میزان رنگ ، کنترانس و....)
3. ابعاد تصویر قابل تعریف در استاندار های مختلف ( vga , qvga ,...)
4. ارتباط با میکرو کنترلر با پرتکل مشابه I2C
5. باس داده 8 بیتی
6. مدارات بایاسینگ و رگولاتور 1.8 ولت بر روی خود برد
7. لنز قابل تنظیم برای تعیین فوکوس و بزرگنمایی دانلود دیتاشیت ، مثال avr و سایر اطلاعات
معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
سلام
اخرش کسی تونست این ov7670 را به میکرو وصل کنه یا نه ؟
اون کدهایی که همراهش هست اومده sccb را خودش دستی ساخته و به نظر میاد که درست هم هست و بعد هم تصویر رو انتقال داده به lcd با چیپست ili9325 که تو بازار هم گیر میاد 37 تا پین داره
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
در یک بررسی اولیه در مورد نحوه ارتباط این دوربین و با میکروکنترلر و LCD و تحلیل کدهای نوشته شده می توان به این نتیجه رسید که نمایش اطلاعات روی LCD مستقیما بوسیله دوربین انجام می شود و دخالت میکروکنترلر در این پروسه بسیار محدود است. روش کار به این ترتیب است که برای تغییر رجیسترهای کنترل کننده دوربین، ارتباطی با پروتکل SCCB و با دوسیم توسط میکروکنترلر برقرار است. اما نمایش Data خروجی دوربین بصورت دائمی روی خطوط D0-D7 انجام می شود و با استفاده از سه سیگنال خروجی PCLK و HREF و VSYNC می توان پی برد که این اطلاعات در چه لحظه ای معتبر است و مربوط به کدام مختصات از تصویر است. کاری که میکروکنترلر انجام می دهد این است که با استفاده از وقفه ای که توسط سیگنال VSYNC ایجاد می شود، LCD را برای نمایش تصویر initialize می کند و سپس در هر پالس خروجی PCLK و در زمانی که HREF در سطح High باشد، اطلاعات بصورت خودکار روی LCD نوشته می شود و تا پایان نمایش یک صفحه کامل هم میکروکنترلر دخالتی در نمایش اطلاعات نخواهد داشت. این عملیات به کمک گیت های NAND موجود در سخت افزار مدار انجام می شود. دو خروجی از میکروکنترلر هم به ورودی این گیت ها اعمال شده که هرگاه که لازم باشد، کنترل خط WR مربوط به LCD را در اختیار می گیرند و در زمان لازم هم کنترل این خط را به سیگنال های خروجی دوربین می سپارند. همچنین برای آنکه در زمان لازم بتوان از میکروکنترلر و یا دوربین ( بر حسب نیاز) به LCD اطلاعات 8 بیتی لازم را اعمال کرد، یک بافر 74245 قرار داده شده که هرگاه میکروکنترلر بخواهد روی LCD اطلاعات مورد نظر خود را بنویسد، خروجی این بافر را High Z می کند تا اطلاعات تداخل پیدا نکند و در سایر مواردی که لازم است دوربین راسا اطلاعات را روی LCD بنویسد، خروجی بافر فعال می شود.
اوژن: به معنای افکننده و شکست دهنده است
دانایی، توانایی است-Knowledge is POWER
برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
نوشته اصلی توسط طراح
اکنون حدود نصف روز است که در بین انبوه کارهای گوناگون، موفق به مطالعه قرارداد ارتباط این دوربین و بررسی سورس های موجود درباره آن شده ام. با مطالعه این تاپیک می توان متوجه شد که به غیر از قرار دادن لینک سورس های موجود، اطلاعات چندان شفافی در مورد آن عرضه نشده است. حال سوالی که مطرح می شود این است که آیا دوستان موفق به جواب گرفتن از این دوربین نشدند و یا نتیجه کارهای عملی خود را به هر دلیلی در انجمن منعکس نکردند. به هر حال در آینده سعی می کنم نتیجه تجربیات خود را (مانند بحث ساخت MKII) در اختیار سایر دوستان قرار دهم تا این مبحث از این وضعیت مبهم و غیر فعال خارج شود و استفاده از این دوربین در دستور کار پروژه های عملی قرار بگیرد.
سلام
من دوربین OV6620 رو راه اندازی کردم.(دریافت تصویر و کنترل پارامترها از طریق SCCB) به کمک LPC2378 . یه مقدار سرم خلوت تر شه داکیومنتش رو در اختیار دوستان قرار میدم. در حال حاضر درگیر پایان نامه هستم.
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
سلام برای راه اندازی اولیه کدوم رجیستر هارو باید مقدار دهی کرد
ما زنده به آنیم که آرام نگیریم موجیم که آسودگی ما عدم ماست
وقتی یک ملت برای فرهنگ و نژاد و ملیت خویش ارزشی قائل نشد و حقی را که طبیعت برای نگاهداری نژاد پاکش به او ارزانی داشته بود پایمال ساخت و به بیگانگان روی آورد و تسلیم شد دیگر حق ندارد از شکست و بدبختی سیاسی که خودش باعث آن شده است شکایت کند .ادولف هیتلر
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
سلام
ببخشید دیر به دیر میام
در شماتیک زیر اتصال سنسور تصویری به ARM نشان داده شده است.
برای ارتباط با این نوع سنسورهای تصویری دو راه وجود دارد.
راه اول دریافت مستقیم تصویر توسط پردازنده هست. یعنی بدون هیچ گونه سخت افزار جانبی. باس 8 بیتی دوربین رو به یکی از پورت های پردازنده متصل می کنیم و توسط سیگنال های سنکرون کننده VSYNC، HREF و PCLK با دوربین سنکرون میشیم.
سیگنال VSYNC آغاز و پایان یک فریم رو به ما نشون میده.
سیگنال HREF ابتدا و انتهای سطرهای تصویر رو نشون می ده.
سیگنال PCLK هم با پکسل ها سنکرونه. در لبه بالا رونده این سیگنال پیکسل ها آماده هستند.
خوب حالا اگه بخوایم به صورت مستقیم با دوربین ارتباط برقرار کنیم چه جوریه؟ با توجه به اینکه ما اطلاعات دریافتی رو باید برای نمایش به جایی ارسال کنیم...حالا یا LCD جداگونه یا ارسال به PC و نمایش در اون....
آیا مشکلی پیش میاد؟ نمیاد؟ سرعت کم نمیاریم؟
اگه یه مقدار حساب کتاب کنیم... خواهیم دید که از لحاظ سرعت به مشکل بر می خوریم. من این مشکل رو تو سورس کد ارتباط با دوربین بیشتر توضیح می دم.
خوب بپردازیم به روش دوم. روش دوم به این شکله که ابتدا اطلاعات فریم های تصویر رو در یک حافظه ذخیره کنیم... بعد هر کاری خواستیم روی اطلاعات انجام بدیم. این روش دیگه نیازی به درگیر بودن CPU نداره... نیازی نیست که منتظر بمونیم تا پیکسل ها آماده شه و دریافتشون کنیم. بنابراین روش دوم بهتر و ساده تر خواهد بود.
من بنا به دلایلی از روش اول استفاده کردم. (چون حافظه نداشتم و سخت افزارم رو تهیه کرده بودم.)
خوب حالا یه حساب کتاب کنیم ببینیم چقدر طول می کشه تا اطلاعات تصویر یا به عبارتی یک فریم آماده شه:
کلاک دوربین در حالت پیشآفرض
در حالت پیشآفرض سایز تصویر 288*352 است.
کریستال اصلی ماژول دوربینC3088 ، 17.734MHz است. کلاکی که سنسور تصویرآبرداری با آن کار میآکند، میآتواند تقسیم بر 2 یا 4 شود. این قابلیت با تنظیم رجیستر COMO امکانآپذیر است.
حال فرض کنیم برای این رجیستر مقدار 2 را در نظر گرفتهآایم، در این صورت طبق رابطهآی زیر کلاک سنسور در حالت پیشآفرض برابر 8.86MHz خواهد شد.
Main Clock = 17.734/2 = 8.86MHz
این بدین معنی است که پیکسلآها با نرخ 8.86MHz در دسترس خواهند بود.
برای درک بهتر از زمانآبندی سیگنالآها مدت زمان آماده شدن یک فریم را محاسبه میآکنیم:
Tp = 1/8.86 = 112nSec
با توجه به اینآکه سیگنال HREF با آماده شدن سطر همزمان شده است، مدت 352 کلاک طول میآکشد تا یک سطر از تصویر آماده شود. به عبارت دیگر:
در این مدت زمان، سیگنال HREF در سطح منطقی High خواهد بود، سپس به مدت 20usec در سطح منطقی Low میآماند. بنابراین مدت زمان واقعی آماده شدن یک سطر برابر :
خواهد بود. با توجه به اینآکه 288 سطر داریم.مدت زمان آماده شدن تصویر برابر:
و در نهایت نرخ تولید فریمآها برابر :
که حدود همان مقدار 60fps است که در برگه اطلاعاتی دوربین آمده است.
همون طور که میبینید زمان تولید پیکسل ها، زمان فوق العاده کمی هست. و در این زمان نمیشه یک پیکسل رو دریافت کرد. کاری که میشه انجام داد اینه که کلاک دوربین رو کم کنیم.
تنظیم کلاک
کلاک دوربین را میآتوان بر اساس نیاز، توسط رجیسترهای دوربین به مقادیر دلخواه تغییر داد. برای رسیدن به حداقل کلاک میآبایست رجیستر CLKRC را بر اساس فرمولی که در PDF قبل اشاره شد و در دیتاشیت هم اومده تغییر داد.
با در نظر گرفتن حداکثر مقدار برای CLKRC یعنی 63 داریم:
با تکرار روابط بالا مدت زمان مورد نیاز برای آماده شدن یک فریم برابر 1.45 ثانیه خواهد بود.
حالا یه بحثه دیگه میمونه این که اطلاعات رو از چه طریقی به PC منتقل کنیم. Rs-232 یا USB .
طبیعتا RS-232 ساده تر خواهد بود. ولی مشکل سرعت اون هست که کار رو سخت میکنه و در کل برای انتقال اطلاعات تصویر راه اصولی نیست. ولی خوب چون در این جا سایز فزیم های تصویر کم هست و کلا حدود 100کیلوبایت دیتا داریم، میشه از RS-232 استفاده کرد.
سورس کد ارتباط دوربین با پردازنده در پست های آینده
فعلا خدانگهدار
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
سلام علیکم
دوست عزیز فکر کنم خیلی سرتون شلوغه که وقت ندارید ادامه بدید!!! :read:
لطف کنید نمونه برنامتون رو برامون بگذارید!! :redface:
و یه سوال دارم: میشه این ماژول رو به AVR وصل کرد به این شکل که ابتدا با شبیه سازی پورت SCCB فرکانس خروجی رو کم کنیم بعد با پالسهای کلاک همزمانی به راحتی خروجی رو بخونیم؟ :-?
و سوال آخر: من از دیتا شیت متوجه نشدم که آیا تو حالت RGB بایتی که به ازای هر پیکسل با یک پالس خارج میشه از لحاظ ترکیب به همون شکل استاندارده که 2 بیت با ارزش مال آبی هستش و 3 بیت بعد مال سبز و 3 بیت کم ارزش مال قرمز؟
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
نوشته اصلی توسط hesam1
سلام علیکم
دوست عزیز فکر کنم خیلی سرتون شلوغه که وقت ندارید ادامه بدید!!! :read:
لطف کنید نمونه برنامتون رو برامون بگذارید!! :redface:
و یه سوال دارم: میشه این ماژول رو به AVR وصل کرد به این شکل که ابتدا با شبیه سازی پورت SCCB فرکانس خروجی رو کم کنیم بعد با پالسهای کلاک همزمانی به راحتی خروجی رو بخونیم؟ :-?
و سوال آخر: من از دیتا شیت متوجه نشدم که آیا تو حالت RGB بایتی که به ازای هر پیکسل با یک پالس خارج میشه از لحاظ ترکیب به همون شکل استاندارده که 2 بیت با ارزش مال آبی هستش و 3 بیت بعد مال سبز و 3 بیت کم ارزش مال قرمز؟
سلام
خیلی عذر می خوام. بله متاسفانه درگیر کارای سربازی هستم، دارم به این در اون در می زنم زمانش رو کم کنم.
بله من تو نت نمونه برنامه راه اندازیش با Avr رو دیدم، که در اون به کمک تغییراتی در ماژول TWI میکرو پورت SCCB رو کنترل کرده بود.
کدهای AVR و توضیحات مربوط رو ضمیمه کردم. کدها رو ببینید هر جا سوال داشتید بپرسید.
http://upir.ir/1393.2/AVRcam-rel-1-4.zip
http://upir.ir/1393.2/AVRcam-v1-1-schematic.pdf
http://upir.ir/1393.2/AVRcam-Users-Manual-v1-4.pdf
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
سلام دوستان
من میخوام با این دوربین اطلاعات رو پیکسل به پیکسل بگیرم یریزم رو میکرو روشون پردازش انجام بدم اما نمیدونم میشه یا نه ؟
دیتا شیت دوربینم که خوندم چیز زیادی متوجه نشدم نمیدونم چه جوری میشه با دوربین ارتباط برقرار کرد که اطلاعات هر پیکسل رو بذار روپین دیتاش و بعد ذخیرش کنیم؟
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
میکروکنترلر از دوجهت دارای محدودیت در خواندن اطلاعات دوربین است. یکی سرعت ارسال اطلاعات از طرف دوربین است که بسیار بالاست و دوم حافظه محدود میکروکنترلر است که حتی اگر مشکلی از نظر سرعت وجود نداشت، قادر به ذخیره سازی تمام اطلاعات نبود. اما اگر یک حافظه در کنار دوربین قرار بگیرد که اطلاعات دوربین با تمهیدات مناسب و بصورت مستقیم روی آن نوشته شود، میکروکنترلر می تواند بصورت Offline روی یک صفحه از تصویر پردازش خود را انجام دهد. در پروژه های موجود که یک LCD در کنار دوربین قرار داده می شود ومطابق توضیحات چند پست قبل، اطلاعات بصورت مستقیم از دوربین به LCD نوشته می شود، می توان با خواندن اطلاعات از حافظه داخلی LCD، عمل پردازش مورد نظر را انجام داد ( با فرض متوقف کردن نوشته شدن اطلاعات تصویر در LCD تا پایان پردازش مورد نظر از طریق فرمان های خروجی میکروکنترلر).
اوژن: به معنای افکننده و شکست دهنده است
دانایی، توانایی است-Knowledge is POWER
برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
با سپاس فراوان از پاسخ شما
اگر از میکرو سری XMEGA استفاده کنیم RAM 2-32kb کلاک 32 هرتز چه طور؟ یا با ARM ؟
چه فرقی میکنه ما اطلاعات رو از lcd بخونیم یا اطلاعات یک فریم دوربین رو ذخیره کنیم تو میکرو وپردازش کنیم و بعد فریم بعدی؟
من این طوری حساب کردن تصویر 256*256 هر پیکسل 8 بیت کلا 2kb که تو یه ارایه ذخیر بشه
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
سوالی که برام پیش اومد گفتین که خروجی این دوربین d0-d7 مستقیم به Tft lcd وصل میشه ، از چه نوع lcd باید استفاده کنیم ؟ این lcd ها که از d0 تا d15 هست پایه هاش که بیشتره ؟
یا مثلا lcd n96 که الان دارند میفروشند میتونیم مستقیم بهش وصل کنیم ؟ چون این دوربین فقط 8 تا پایه دیتا داره اما lcd ها خیلی بیشتر هست . میشه لطفا راهنمائی کنید ؟ من حتما باید درست کنم
و سوال دوم اینکه از چه نوع lcd ها میتونیم استفاده کنیم ؟ من میخوام بعضی وقتها تصویر دوربین را نشون بدم و بعضی وقتهای دیگه یک عکس bmp یا یک نوشته
اگر دوستانی که کار کردن راهنمائی کنند خیای ممنون میشم این پروژه را حتما باید انجام بدم ممنونم
همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
کانت
پاسخ : راه اندازی دوربین با سنسور OV7670 توسط میکروکنترلر
سلام مطالب خیلی عالی بود من هر کاری کردم نتونستم فایلها رو دانلود کتم اگه ممکنه از ی طریق دیگه شرایط دانلود فراهم شود
ممنون
http://up.iranblog.com/images/ba12eyeckln3562dfofz.rar
http://up.iranblog.com/images/7rt5bpew7k75m4t5j1l.pdf
[/quote]
دیدگاه