ساخت آیفون تصویری – قسمت دوم

ساخت آیفون تصویری – قسمت دوم

ساخت آیفون تصویری – قسمت دوم
ساخت آیفون تصویری – قسمت دوم

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

 

شما رو نمیدونم ولی ما توی جست و جوهایی که برای این کار داشتیم به نتایج مختلفی برای طرح مفهومی محصول رسیدیم:

یکی اینکه چون نمیشه از مبدل ADC میکرو استفاده کرد، پس بریم از مبدل های خارجی که برای این منظور ساخته شده استفاده کنیم تا کار تبدیل سیگنال آنالوگ تصویر به دیجیتال را توسط اونها انجام بدیم، مثل آی سی های TVP5150، TW9900، GM7150، با جستجوی عبارت Composite Video Decoder IC شما هم میتونید ، یک دوجین آی سی برای این کار پیدا کنید.

خوب ما برای ادامه کار آی‌سی TVP5150AM1 رو انتخاب می‌کنیم.

وقتی به دیتاشیت این قطعه نگاه می کنیم به نظر میاد خروجیش شبیه به خروجی دوربین های دیجیتال هست، پس با این امید که میتونیم به واحد دوربین میکروکنترلر خودمون وصلش کنیم ادامه میدیم.

 

 

درباره TVP5150AM1

 

 

با وصف بالا پیش خودمون میگیم یه دونه TVP5150AM1 میگذاریم و سیگنال تصویر PAL را بهش میدیم و خروجی آی‌سی را هم متصل می کنیم به واحد DCMI میکروکنترلر STM32F429ZI و تمام!

حالا بریم سراغ بررسی پروتکل های ارتباطی و کمی حساب کتاب ریاضی:

پروتکل تصویر خروجی این آی‌سی هاITU−R BT.656   هست.

دراین پروتکل که خودش بر پایه پروتکل ITU-R BT.601 هست، اطلاعات هر پیکسل به فرمت YCbCr(4:2:2) به میکروکنترلر تحویل داده میشه، در حالی که ما برای نمایش تصویر روی LCD چه بخوایم از واحد کنترل TFT-LCD خود میکرو (مثلا واحد LTDC در میکروی پیشنهادی شما) استفاده کنیم و چه از آی‌سی‌های مخصوص راه اندازیLCD مثل SSD129x، ILI94xx و یا FT81x استفاده کنیم، نیاز داریم تصویر با فرمت RGB باشه.

خوب YCbCr 4:2:2 چی هست و چه جوری میشه تبدیلش کرد به RGB ؟

خیلی خلاصه میشه این جور گفت:

Y: میزان روشنایی پیکسل هست (لومینانس Luminance یا برایتنس Brightness )

Cb: اختلاف آبی پیکسل و Cr: اختلاف قرمزی پیکسل هست (کرومیناننس Chrominance)

 و اون 4:2:2 یعنی به ازای هر دو نمونه Y یک نمونه CbCr داریم:

 

YCbCr به RGB YCbCr به RGB

در ویدئو زیر فکر کنم همه چیز خوب توضبح داده شده.

و در حقیقت دیتای 8 بایتی ما اینجوری هست:

یعنی به ازای چهارتا Y دو تا Cb و دو تا Cr داریم.

برای اینکه ما از این اطلاعات به اطلاعات فرمتRGB برسیم سه مرحله رو باید طی کنیم:

  • تبدیل کردن (YCbCr (4:2:2 به (YCbCr (4:4:4
  • تبدیل کردن (YCbCr (4:4:4 به R’G’B’ gamma corrected RGB
  • تبدیل کردن (R’G’B) به RGB خطی

ما در اینجا فقط فرمول‌ها رو میاریم تا متوجه بشیم چرا حتی Raspberry-Pi هم بدون کمک GPU قادر نیست این محاسبات رو به صورت بلادرنگ انجام بده و ما تصویر بلادرنگ روی صفحه نمایشگر داشته باشیم:

 

مرحله 1: تبدیل کردن YCbCr – 4:2:2 – به YCbCr- 4:4:4 

این مرحله کار چندان پیچیده‌ای نیست و فقط کافیه اطلاعات ورودی رو به صورت بسته‌های 7 بایتی توی حافظه RAM ذخیره کنیم و بعد با یه درون یابی ساده خطی (البته پروتکل ITU-R BT.601 درون یابی بسیار پیچیده‌ای پیشنهاد داده ولی همون خطی هم واسه ما قابل قبول هست J‌) تبدیل کنیم به بسته‌های 9 بایتی با ترتیب زیر:

 

مرحله2: تبدیل کردن (YCbCr (4:4:4 به R’G’B’

مرحله 3: تبدیل کردن R’G’B’ به RGB خطی

برخلاف دو مرحله قبل که ما تنها ضرب و جمع اعشاری داشتیم این مرحله یکم کار پیچیده‌تر هست و توان اعشاری هم داریم!

حالا فکر کنم بد نباشه یه حساب کتاب کنیم ببینیم چقدر محاسبات داریم در هر ثانیه که میکروکنترلر محترم باید انجام بده!

خوب تصویر ما 25 فریم در هرثانیه داره و رزولوشن هر فریم هم   720*576  پیکسل هست:

ببینیم به ازای هر پیکسل چندتا ضرب و جمع داریم؟

اول باید دید تابع POW() , double pow(double x, double y) , X^Y  که توی مرحله سه لازمش داریم نیاز به چقدر محاسبات داره یا اصطلاحاً پیچیدگی زمانیش چقدر هست؟
این رو به عنوان تحقیق به خودتون واگذار میکنیم ولی برای محاسبات به صورت تقریبی معادل n1 ضرب و n2 جمع در نظر میگیریم.

 

 

مرحله

تعداد جمع

تعداد ضرب

1

2

2

2

3+5+3

2+3+2

3

3* n2

3* n1+6

کل

3* n2+13

3* n1+15

 

برای سادگی هم فرض میکنیم زمان محاسبه یه ضرب یا جمع اعشاری برای سیستم ما یکسان هست و n2=n1=n رو در نظر میگیریم.

تعداد محاسبه در ثانیه برابر است با:
تعداد پیکسل های عرض تصویر * تعداد پیکسل های ارتفاع تصویر * تعداد فریم بر ثانیه * تعداد محاسبه لازم بر ثانیه طبق جدول

که اگه n=50 در نظر بگیریم حاصل نهایی میشه:

بله بیش از سه گیگ محاسبه اعشاری در ثانیه!

البته باز هم هست :

TFT-LCD ما رزولوشن 480*272 داره ولی تصویر ما رزولوشنش 720*576 هست!!!
پس از این همه محاسبات باز هم باید اطلاعات تصویر رو توی یه ماتریس ضرب کنیم تا کوچکتر بشه!!!

حالا دست آستین را بالا بزنید و شروع کنید به برنامه نویسی روی میکروکنترلر مورد نظرJ

 

خوب واقعاً اگه یه روزی خواستیم این کار رو انجام بدیم راه حل ممکن چی هست؟
به صورت کلی سه تا راه حل داریم:

 

راه حل اول: استفاده از دیکودر تصویر و FPGA

استفاده از آی‌سی‌های مبدل سیگنال آنالوگ تصویر مانند TVP5150 و FPGA  و حافظه جانبی برای پردازش و بقیه ماجرا.

این یک راه حل عملی هست و البته گران قیمت که در مورد درب بازکن تصویری آنچنان دلچسب نیست.

 

راه حل دوم: استفاده از آی‌سی‌های مختص این کار

چند شرکت هستن توی دنیا که آی‌سی‌های مخصوص نمایش سیگنال آنالوگ تصویر روی TFT-LCD را تولید میکنند، مانند BiTEK، M-Star، Terawins و . . . .

آی‌سی‌های این شرکت‌ها فوق العاده ارزان قیمت هستند، معمولا بین یک تا سه دلار و مستقیما توانایی دریافت تصویرآنالوگ با فرمت PAL را دارند و روی TFT-LCD  با سایزهای 4.3 اینچ و 7 اینچ نمایش می‌دهند، البته بدون نیاز به سخت افزار جانبی و بر روی برد دولایه، همان طور که در تصاویر قسمت اول مقاله دیدید.

اغلب روی این آی‌سی‌ها یک میکروکنترلر با هسته MCS-51 هم وجود داره که قابل برنامه نویسی بوده و امکان ساخت OSD و فرامین مورد نیاز را فراهم می کنه

از آی‌سی‌های پرکاربرد می‌توان شماره‌های BIT1612، BIT1802، T581، T113AI، AL582، T117AD رو نام برد.

جالبه بدونید برد تصویر بسیاری ازآیفون های تصویری ساده 4 اینچی و7 اینچی‌های جدید با همین چیپ ها تولید شده است.

اما نکته ای که در این خصوص وجود داره، این هست که اطلاعات برنامه نویسی این آی-سی ها در دسترس نیست و با گوگل کردن اطلاعات به درد بخوری به دست نمیاد، حتی کاتالوگ این آی-سی‌ها هم راحت پیدا نمیشه !!!

این روش برای تولید کنندگان چینی که سطح دسترسی به چنین اطلاعاتی دارند گزینه اصلی هست، ولی برای شما عملا میتونه غیر قابل دسترس باشهK

 

راه حل سوم: استفاده ازآی‌سی‌های دیکودر وSOC های همه منظوره

یک لحظه دقت کنید، اشتباه نکنید منظورمان از SOC در اینجا پردازنده‌هایی نیست که در SBC هایی مثل رسپری‌پای یا اورنج‌پای یا . . . . استفاده شده است چون این SOC ها پکیج BGA دارند و از نظر هزینه اصلا مناسب این کار نیستند، چون حداقل نیازمند برد چندلایه و برخی قطعات جانبی می‌باشند که باعث میشود هزینه تمام شده درب بازکن تصویری بسیار افزایش یابد.

 

برخی شرکت‌ها  از جمله Allwinner، Nuvoton، HiSilicon و … SOC هایی دارند مختص کارهای مولتی‌مدیای تجاری و ارزان قیمت.

این SOC ها عموما داری هسته ARM926EJ-S می‌باشند که در کنار آن امکانات ویژه‌ای مثل کدک صوتی، کدک تصویری، کنترلر TFT-LCD، RAM داخلی و از همه مهمتر برای کار ما، واحد سخت افزاری تبدیل YCbCr به RGB، تعبیه شده است و پکیج این آی‌سی‌ها معمولا از نوع TQFP یا QFN می‌باشد.

مثلا پردازنده F1C100S از شرکت Allwinner، هم ورودی CVBS یا همون تصویر کامپوزیت که همان تصویر آنالوگ است را دارد، هم واحد سخت افزاری تبدیل این تصویر به تصویر RGB و هم درایور TFT-LCD و هم 32 مگابایت رم DDR داخلی با پکیج QFN !

آی‌سی‌های N32926U1DN از شرکت Nuvoton و Hi3518EV200 از شرکت HiSilicon تقریبا مشابه F1C100S هستند با اندکی امکانات کمتر یا بیشتر.

اما در مورد این خانواده از پردازنده ها هم مشکل نبود اطلاعات کماکان پابرجاست. هر چند نمونه بردهای زیادی می‌توان برای آن‌ها پیدا کرد با سورس لینوکس مانند برد LicheePi Nano از SiPEED ولی اطلاعاتی از نحوه نمایش تصویر آنالوگ با آن‌ها و حتی بعضا دیتاشیت آن‌ها هم به صورت رایگان یافت نمی‌شود !!!

ناگفته نماند حتی در صورت پیدا شدن و یا خریدن اطلاعات در هرکدام از مراحل بالا ، شما هستید و یک سری اطلاعات چینی-انگلیسی که می بایست با آن‌ها و بدون Google بتوانید به مقصود برسید.

کسانی که دستی بر آتش دارند، می دانند کار سختی هست ولی ناممکن هم نیست، ولی از لحاظ حرفه ای به Time to market هم بهتره حواسمون باشه 🙂

 

اگر عمری ماند و شما طالب بودید در آینده، و درآموزش‌های Embedded Linux پرده از اسرار یکی از این SOC ها خواهیم برداشت و شما را از شر TouchGFX و پردازنده‌های گران قیمت و RAM های خارجی و برد های چند لایه و . . . رها کرده و  به خیر لینوکس و Qt، به پروژه‌های بسیار زیبا و ارزان قیمتی رهنمون خواهیم شد.

فراموش نکنید درآمدهای بزرگ در الکترونیک در جاهایی ا‌ست که Google نمی‌تواند اطلاعاتی در اختیار شما بگذارد، چه برسد به StackOverflow و یا گروهای تلگرامی خودمان!

تا مقاله بعد خدانگهدار

 

دانلود AN_BT656

دانلود ycbcr2rgb

به‌روزرسانی 1399/05/15
خوب، بالاخره انتظارها به پایان رسید و همون طور که قبلاً هم در موردش گفته بودم، دوره آموزشی امبدد لینوکس رو شروع کردیم. تو این دوره آموزشی شما میتونید قدم به قدم پیش برید و یک SoC رو برای پروژتون لقمش کنید!
ورود به دنیای امبددد لینوکس، قسمت اول!

حمایت از Rich_Dad IRANEMBEDDED

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

Rich_Dad IRANEMBEDDED
Rich_Dad IRANEMBEDDED

طراحی، بهینه سازی و تولید محصولات الکترونیکی، درحوزه های تجاری،صنعتی و تجهیزات پزشکی، مجری سیستم های امبدد لینوکس * (فروش قطعات الکترونیک https://aniroot.com)

دیدگاه ها

44 دیدگاه

  • احسان
    ۱۳ شهریور ۱۴۰۰

    سلام سپاس فراوان جناب مهندس
    منتظر ادامه مطالب هستیم
    عالی بود

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۲۱ شهریور ۱۴۰۰

      سلام احسان جان
      تشکر می کنیم از توجه شما
      ادامه مطالب ما در مقاله های امبدد لینوکس در سایت سیسوگ موجود است
      https://8bi.ir/yovhx

  • mr2
    ۱۹ اسفند ۱۳۹۹

    درود
    سپاس فراوان بابت مقاله ای در این سطح
    فقط یک سوال
    اگر میکروی ما دارای واحد dcmi و دوربین با خروجی RGB داشته باشیم ،حتی با استفاده از ,واحد dma هم نمیتوان دیتای دوربین رو بدون هیچ پردازشی صرفا بر روی پورت اترنت قرار داد؟
    یه جورایی دیتا را به sram منتقل کنیم و از sram روی شبکه بذاریم (قبل از اینکه فریم کامل شود) و کار فریم بندی را در داخل سرور انجام بدیم؟

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۲۸ اسفند ۱۳۹۹

      سلام
      تشکر می کنم از توجه شما به موضوع
      با توجه به اینکه در محصولاتی که ما در دست کار داشتیم هیچگاه چنین نیازی به این شکل مطرح نبوده و از طرفی هزینه تمام شده محصول نهایی حائز اهمیت می باشد، فشاری برای استفاده از میکروکنترلرهای رند و یا نام آشنا در بازار و استفاده حداقلی از ظرفیت آنها نیز وجود نداشته، بنابراین تست مستقیمی در باب سوال شما انجام نشده است.
      با این حال این امکان وجود دارد با استفاده از یک میکروکنترلر با مقدار رم یک مگابایت و یا با رم خارجی 32 بیتی بتوان این کار را انجام داد، که نیاز به تست عملی دارد.
      امیدوارم این موضوع را تست و بررسی نمایید و نتیجه را به اطلاع ما هم برسانید
      موفق و پیروز باشید

      پیشاپیش عید نوروز بر همه همراهان مبارک باشد
      امیدواریم پس از تعطیلات نوروز با ادامه سلسله مقالات ” امبدد لینوکس ” در کنار شما دوستان باشیم.

      • Mr2
        ۲۹ اسفند ۱۳۹۹

        درود
        بعد از مطالعه ی بقیه مقالات متوجه شدم از لحاظ اقتصادی ،تکنولوژی بهتری مثل همون socهایی که فرمودید وجود داره.
        تشکر بابت مقالات پر بارتون و همچنان منتظر ادامه ی این مسیر
        سال خوبی رو براتون آرزو میکنم

        • Rich_Dad IRANEMBEDDED
          Rich_Dad
          ۳ فروردین ۱۴۰۰

          سلام
          بسیار عالی، امیدوارم موفق باشید و در تمامی موارد بحث شده می توانید از مشاوره تیم ما بهره مند شوید.

  • مهدی
    ۴ شهریور ۱۳۹۹

    درود و سپاس از مطالب کاربردی که ارائه می کنید.
    در پروژه ای نیاز به سرعت 1 گیگ نمونه برداری در ثانیه سیگنالی دارم البته تعداد 2000 نمونه کافی است. استفاده از ADC های موجود با این سرعت، علاوه بر گرانی ADC ،مشکل سرعت ذخیره سازی اطلاعات توسط STM32 در حافظه را دارم که در فرصت مناسب ، خوانده و نمایش دهم. ( فرض خواندن یک شکل موج بصورت یک سیکل که زمان استارت آن با میکرو و قابل کنترل است )
    آیا با توجه سرعت این “شماره‌های BIT1612، BIT1802، T581، T113AI، AL582، T117AD” امکان استفاده از این شماره ها را دارم؟ حتی با سرعت نصف ؟
    سپاس

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۲۵ شهریور ۱۳۹۹

      سلام بر مهدی
      با تشکر از توجه شما به موضوع
      نکته اصلی که می بایست به آن توجه داشته باشید این است: مبدل های آی سی های اشاره شده به منظور تبدیل سیگنال تصویر بهینه سازی شده اند.
      نکته بعد: فرکانس نمونه برداری 1 گیگ در حیطه عملکرد قطعات اشاره شده نمی باشد!!!
      و نکته آخر اینکه طراحی سیستم های داده برداری (Data acquisition ) که مد نظر شما می باشد، می بایست با توجه مشخصاتی اعم از :
      نوع سیگنال، فرکانس، نرخ تغییرات در زمان و بر حسب نیاز های اندازه گیری مورد نیاز در پروژه از سیگنال مورد نظر طراحی و بهینه سازی شوند.
      البته وسعت پارامترها و مشخصات نمونه برداری و پردازشی مورد نیاز برای طراحی بهینه یک سیستم داده برداری (Data acquisition ) می تواند بسیارمفصل باشد.
      موفق باشید

  • محمد
    ۲۴ خرداد ۱۳۹۹

    با سلام و درود
    مطالب عادی درجه یک ممنون
    یکی از مطالبتون ذهنمو درگیر کرده اینکه فرمودید اطلاعات برنامه نویسی این ای سی ها در دسترس نیست. میشه یکم بیشتر توضیح بدین چ برنامه نویسی چون منم امکاناتی ک در برگه اطلاعات ای سی بود مگه همه چیز به اتصال دوربین به ای سی و نمایش تصویر بر روی lcd ختم نمی شه؟در رابطه با ارتباط به وسیله I2C برام جالب بود که چ طور و چگونه.
    من برای ساخت رباتی که حاوی دوربین آنالوگه و نمایش تصاویرش روی TFT-lcd وارد این وادی شدم. با intersail که در اروپاست لینک زدم که اطلاعات بده بعد کلی نامه نگاری متاسفانه تا فهمید ایرانی هستم دیگه جواب نداد.
    تو این زمینه اندر خم یک کوچه ام اما مصمم برای این ساخت، پیشنهادتون پیه؟

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۲۴ خرداد ۱۳۹۹

      سلام بر محمد عزیز
      ابتدا تشکر می کنم از اینکه با دقت موضوع را دنبال کردید
      در مورد مطلب اول، در ابتدا به همان دلیل که intersil ( که الان زیر مجموعه renesas هست ) جواب شما را نداد، و در ادامه به خاطر اینکه سود این سیستم ها در فروش محصول نهایی هست، نه در فروش تکنولوژی ساخت و برنامه نویسی آنها و فروش خود آی سی ، بر خلاف میکروکنترلرهای مرسوم مثل ST و NXP و . . . که سودشون در فروش آی سی هست و می بایست اطلاعات کار کردن با محصولاتشان را عرضه کنند.
      این موضوع در حوزه قطعات خودرویی Automotive هم وجود دارد.

      رابط I2C به منظور کانفیگ و تنظیمات آی سی دیکودر استفاده میشود.

      اگر هدف شما فقط نمایش سیگنال آنالوگ دوربین بر روی ال سی دی هست و قرار نیست کار دیگری انجام دهید، به راحتی می توانید از بردهایی که در بازار وجود دارد استفاده نمایید، و معمولاً با آی سی شرکت RealTeck می باشند.

  • Mahdi.h  
    Mahdi.h
    ۲۳ خرداد ۱۳۹۹

    خیلی عالی بود
    امیدوارم هرچه زودتر به اون بحث های شیرینی که انتهای مطلب اشاره کردید برسیم و به خوبی بهش پرداخته بشه

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۲۴ خرداد ۱۳۹۹

      سلام بر حمزه عزیز
      تشکر از پیگیری شما

  • مهدی
    ۲۱ خرداد ۱۳۹۹

    سلام میگم حالا چقدر دیگه باید منتظر باشیم تا قسمت بعدی اموزش منتشر بشه؟

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۲۴ خرداد ۱۳۹۹

      سلام بر مهدی،
      مطالب در 8 فصل در دست آماده سازی هست،
      لطفاً در این فاصله اقدام به مطالعه نمایید

  • ElecCity
    ۱۸ خرداد ۱۳۹۹

    سلام…واقعا جا داره که یک خسته نباشید بگم بایت مطالب بی نظیرتون
    #سوال
    من یک دوربین مدار بسته دارم که انالوگ هستش و میخوام با میکروکنترلر stm32 راه اندازی کنم ایا باید همین مبدل رو بخرم (TVP5150AM1)؟؟؟

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۱۹ خرداد ۱۳۹۹

      سلام بر شما دوست عزیز و تشکر از توجه تان به مطلب

      جواب سوال شما به صورت مشخص در قسمت اول مقاله توضیح داده شده است.

      در صورت وجود هر گونه سوال، در بخش دیدگاه سوال خود را برای ما بنویسید.
      متشکرم

  • Zeus ‌
    زئوس Zeus
    ۱۴ خرداد ۱۳۹۹

    جای چنین مقالاتی توی وب فارسی واقعا خالی است 🙂

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۱۶ خرداد ۱۳۹۹

      سلام بر زئوس
      امید است بر بستری که به همت شما عزیزان در سیسوگ فراهم شده است، دسترسی به چنین مطالبی سریعتر و کاربردی تر گردد.
      جا دارد در اینجا به نوبه خودم مراتب قدردانی از حمایت های مدیریت محترم سیسوگ را اعلام دارم.
      موفق باشید .

  • سوران
    ۱۳ خرداد ۱۳۹۹

    در زمانه ای که الکترونیک اپن سورس نسل ایندرو فلج کرده و همه دارای دانش کاذب هستند ، مطرح کردن این مسائل نقطه امیدی برای حرفه ای ها است . درود بر شما

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۱۶ خرداد ۱۳۹۹

      سلام بر سوران عزیز
      از حسن نظر و توجه شما به مطالب کمال قدردانی را داریم.
      بر این امید هستیم که فرهنگ یادگیری عمیق متداول تر گردد.

  • شهرام
    ۱۳ خرداد ۱۳۹۹

    واقعا عالی.

  • مهدی
    ۱۳ خرداد ۱۳۹۹

    سلام آفرین خیلی عالی بود نظر ممن هم این است که روی f1c200s که داخل ایران هم هست و قیمتاش حدود ۴۰ هزار تومان هست کار کنید کسانی را هم دیدم که داخل ایران روی این ای سی کار کردند و بردش را هم تولید کردند این ای سی واقعا بدرد ایفون تصویری میخوره چون هم با لینوکس میشه و هم با نرم افزار کیل میشه باهاش برنامه نوشت و emwin را هم باهاش کار کردن تو گیت هاب هم یک سری مثال خوب براش هست تو این سایت چینی هم اطلاعات خوبی براش گذاشتن https://whycan.cn/f_17.html

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۱۶ خرداد ۱۳۹۹

      سلام بر مهدی ،
      بله، همانطور که فرمودید، برای دستیابی به این منظور گزینه های مختلفی در دسترس می باشد.
      فقط ۲ نکته حائز اهمیت است، ابتدا تسلط بر بحث امبدد لینوکس و سپس دسترسی به اطلاعات درایورهای مورد نظر که برای تکمیل پروژه لازم می باشد، برای مثال در لینک ارسالی شما هم تمامی امکانات به منظور اجرای پروژه های مختلف به چشم نمی خورد.

    • حسین
      ۲۱ خرداد ۱۳۹۹

      این ایسیش رو کجا موجود داره؟

  • noorsun0035
    ۱۰ خرداد ۱۳۹۹

    سلام استاد.
    وقت بخیر. خدا قوت.
    خیلی خیلی عالی بود. بسیار جذاب و با هدف گذاری بسیار پر فایده.

    دوستان من هم قبلا در شرکت با BITEK درگیر بودم. هیچ اطلاعاتی مفیدی هم در این زمینه نیست. البته این ای سی ضعیف تر بود و بعدا شرکت با قطعه MStar کار کرد که تصویر و کارآیی بهتری داشت.

    در مرحله بعدی قطعا F1C100S گزینه بسیار پر فایده ای است. این قطعه با امکانات فراوان و ایمیجی که برایش است کارهای خیلی زیادی انجام می دهد. قیمت آن هم مناسب است. شما به راحتی می توانید در آن فیلم پخش کنید.

    من کاملا مشتاق ادامه این مسیر هستم.
    با روشی که استاد در پیش گرفتند قطعا به نتیجه خوبی خواهیم رسید.
    استاد عزیز براتون آرزوی موفقیت دارم.
    موفق و پیروز باشید.
    محمد نوری

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۱۱ خرداد ۱۳۹۹

      سلام جناب نوری عزیز
      بله همانطور که فرمودید چالش هایی برای کار با BitekT MStar, Terawins و . . . وجود دارد، که می تواند قابل برطرف کردن هم باشد، ولی با تمهیدات ویژه ای.
      موضوع F1C100S یا دیگر پردازنده ها نیستند، موضوع بر اساس تاب آوری طراح و کارفرما در پیاده سازی اینچنین پروژه های تولیدی می باشد.
      به چه دلیل از واژه ” تاب آوری ” استفاده شد؟
      به این دلیل که، محصولاتی مانند آیفون تصویری، دوربین تحت IP و . . . که جنبه تجاری آنها بسیار پر رنگ است، چالش ها و بحران هایی در مسیر طراحی فنی با قیمت تمام شده پایین را دارند و طی روند تحقیق و توسعه آنها نیاز است که واژه هایی همچون:
      ” غلبه “، ” عبور ” ،” دستیابی ” و ” بازیابی ” برای اعضای تیم فنی، بازرگانی و سرمایه گذار تفهیم شده باشند.

      یکی از دلایلی که برآن شدیم تا مقاله دربازکن تصویری را منتشر کنیم، دراصل القای درک موضوعاتی فراتر از مسائل فنی می باشد.
      موفق باشید

      • noorsun0035
        ۱۱ خرداد ۱۳۹۹

        استاد بسیار عالی بود.

        دوستان توصیه می کنم جمله آخر را کاملا به صورت مفهومی درک کنند. چند روز پیش در خدمت استاد عزیزم دکتر اسماعیل ثنایی استاد درس ریزپردازنده دانشکده برق صنعتی شریف بودم.
        در پایان ملاقات چند توصیه کرد. که یکی همان مطلبی است که ذکر شده.
        توصیه شدید داشت که دانش فنی 30 درصد یک محصول است. و بقیه موضوعاتی فراتر از مسائل فنی و بحثهای بازار و روانشناسی و… می باشد.
        جدا این مسئله قابل تفکر است. شاید یک طرح ساده با فکر اقتصادی و تجاری و بازاریابی خوب به نتیجه خیلی بهتر دست پیدا کند.
        باز هم از این مقاله خوب و این مسیر به سهم خودم تقدیر و تشکر می کنم.

  • حسین
    ۱۰ خرداد ۱۳۹۹

    سلام .
    مقاله بسیار خوبی بود .
    یک سوال من بعضا lcd هایی دیدم که منحنی گامای اونها را از حالت پیشفرض ( خطی ) میشه به حالت غیر خطی تنظیم کرد .
    درآن صورت آیا باز هم نیاز هست که محاسبات نمایی مربوط به تبدیل RGB پریم به RGB رو انجام داد یا میشه حذف کرد ؟
    آیا تنظیمات گاما در lcd مربوط به همین مورد میشه ؟
    فکر کنم تبدیلات نمایی بار محاسبات رو چندین برابر بکنه .

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۱۱ خرداد ۱۳۹۹

      سلام حسین جان، متشکرم
      صفحه نمایش های TFT-LCD که در آیفون های تصویری استفاده می شوند، امکان نمایش RGB غیر خطی را ندارند
      ولی اگر چنین صفحه نمایشی وجود دارد، از محاسبات اعشاری فارغ می شوید

      • حسین
        ۱۴ خرداد ۱۳۹۹

        راستش این توضیحات مربوط به فرمت های انتقال تصویر خیلی جذاب بود .
        سپاس از توضیحتون.
        ولی من متوجه نشدم که چیزی که در دیتا شیتها به عنوان گاما معرفی شده مربوط به همین محاسبات نمایی میشه یانه ؟
        یک دوربین دیجیتال هست که اطلاعات رو به این فرمت ارسال میکنه و RGB رو هم ساپورت میکنه ( البته فرمتهای دیگه هم داره ) این اطلاعات رو برای کار با اون دوربین میخوام .
        سپاس.

  • MEYTICOM
    ۱۰ خرداد ۱۳۹۹

    سلام ممنون از اطلاعات خوبتون
    بله این soc شرکت allwinner خیلی جذاب ،بحث قیمت خود این چیپ آدم وسوسه می‌کنه تا هر طوری هست یادش بگیره

    • احسان
      ۱۰ خرداد ۱۳۹۹

      سلام
      خیلی عالی بود ممنون از این که اطلاعات با ارزشتون رو به رایگان در اختیار دیگران قرار میدید
      اگر در مورد embedded Linux که گفتید مطلب ارائه بدید هم عالی میشه

      • Rich_Dad IRANEMBEDDED
        Rich_Dad
        ۱۰ خرداد ۱۳۹۹

        سلام بر احسان
        یکی از اهداف ارتقاء سطح دانش پایه دوستان هست، تا به اصطلاح time to market در طراحی کاهش یابد.
        زیرا افزایش زمان طراحی و تولید یک محصول باعث از دست رفتن بازار و سربار شدن هزینه های تحقیق و توسعه در طراحی محصول شده و کلا محصولی را که می توان به راحتی عرضه نمود را، از چرخه بازار خارج می کند و این بزرگترین ضرری است که طراحان و تولید کنندگان داخلی در موارد متعددی متحمل آن می شوند.
        از دلایل مهم عدم موفقیت این عزیزان، عدم آشنایی با تکنولوژی های مختلف و یا عدم توانایی در دسترسی و تامین مالی به منظور خرید اطلاعات تکنولوژی مورد نظر است.

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۱۰ خرداد ۱۳۹۹

      سلام و تشکر
      از یکجا می بایست شروع کنید!
      البته دقت کنید هدف دار، وقت خود را به یادگیری اختصاص دهید
      موفق باشید

  • حسن
    ۱۰ خرداد ۱۳۹۹

    عالی بود. ممنون

  • نیما
    ۱۰ خرداد ۱۳۹۹

    مثل همیشه عالی. شدیدا در انتظار آموزش soc qt هستیم

  • دانش آموز
    ۹ خرداد ۱۳۹۹

    سلام خدا قوت خواهش می کنم ادامه بدید.

  • سهیل
    ۹ خرداد ۱۳۹۹

    عالی بود واقعا توی سطح اینترنت این مطلب تک هستش ادامه بدید.

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۱۰ خرداد ۱۳۹۹

      سلام، سپاس از دقت نظر تان،
      بله، نه تنها مطالب کاربردی حتی مطالب پایه ای هم در این زمینه در فضای سایبر به چشم نمی خورد

  • علی
    ۹ خرداد ۱۳۹۹

    سلام.
    باتشکر از مقاله خوبتون.
    منتظر آموزش امبدد لینوکس ها هستیم امیدوارم حداقل توی سیسوگ یه مقاله جامع در این رابطه بخونم.

    • Rich_Dad IRANEMBEDDED
      Rich_Dad
      ۹ خرداد ۱۳۹۹

      سلام بر شما
      تشکر ، البته امبدد لینوکس موضوعی نیست که در یک مقاله بتوان حق مطلب را در آن به جا آورد، با این حال برنامه ریزی هایی در این زمینه انجام شده است.

  • تسلا
    ۹ خرداد ۱۳۹۹

    بسیار عالی و آموزنده. ممنون.

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک