تکنولوژی مناسب پیاده‌سازی

چطور تکنولوژی مناسب پیاده‌سازی یک پروژه را انتخاب کنیم؟

آیا تا به حال به این نکته فکر کرده‌اید که بر اساس چه معیاری می‌توان تکنولوژی مناسب پیاده‌سازی یک پروژه را انتخاب کرد؟

وقتی پروژه یا موضوع جدیدی به شما معرفی می‌شود، چطور از بین تکنولوژی‌هایی مثل AVR ،ARM ،DSP و FPGA یکی را به عنوان راه‌حل انتخاب می‌کنید؟

در فرآیند طراحی و پیاده‌سازی حرفه‌ای، انتخاب تکنولوژی مناسب پیاده‌سازی یکی از مهم‌ترین بخش‌های تولید محصول است.

در این برنامه ویدئویی، روشی را به شما آموزش می‌دهم که برای انتخاب تکنولوژی مناسب پیاده‌سازی در ده‌ها پروژه حرفه‌ای به کار برده‌ام. 

More...

ویدئو یا متن؟

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

برای دانلود نسخه با کیفیت این ویدئو، روی دکمه زیر کلیک کنید:

قبل از شروع پیاده‌سازی یک پروژه، چه سوالاتی ممکن است در رابطه با آن مطرح شود؟

در ابتدای پیاده‌سازی هر پروژه ممکن است سوالات زیادی برای فردی که می‌خواهد عمل پیاده‌سازی را انجام دهد مطرح شود؛ یکی از سوالات مهم این است که پروژه با چه سخت‌افزار و تکنولوژی‌ای باید پیاده‌سازی شود.

پاسخ به این سوال، موضوع مورد بحث ما در ادامه این مقاله خواهد بود.

در ادامه به شما روشی را آموز­ش می‌دهم که برای پیاده‌­ساز­ی اکثر پروژه­‌ها­یی که در سال­‌ها­ی گذشته انجام داده‌ام، استفاده شده است­.

بدست آوردن موقیعت شغلی تنها با یک سوال اساسی و مهم

شاید برای شما جالب باشد بدانید که در بسیار­ی از مصاحبه‌­ها­ی شغلی، این سوال را از افراد­ی که متقاضی شغل هستند، می‌­پرسم و اگر احیانا کسی جواب صحیحی بدهد، بدون این­که سوال بیشتر­ی پرسید­ه شود، می‌تواند موقعیت شغلی را بدست آورد­.

در مقالات قبلی با بسیاری از کاربرد­ها­ی FPGA آشنا شد­ید­. اما مسئله‌­ای که وجود دارد این است که بسیار­ی از این کاربرد­ها را در اغلب موارد می‌شود با تکنولوژی­‌ها­ی دیگر مثل پرداز­ند­ه­‌ها پیاده‌­ساز­ی کرد­.

در این مقاله می‌­خواهم شما را با روشی آشنا کنم که به کمک آن می‌توانید مناسب­‌ترین تکنولوژی را برای انجام یک پروژه انتخاب کنید­.

برای انتخاب یک راه‌­حل یا تکنولوژی مناسب برای پیاده­‌ساز­ی، معیارهای مختلفی وجود دارد­. از جمله این موارد، هزینه‌­ی کمتر­، زمان کمتر، امکانات در دسترس و سهولت انجام پروژه است.

در مورد FPGA­ها شما می‌دانید که به خاطر قابلیت پیاده‌سازی موازی­، سرعت بسیار زیاد­ی دار­ند­. همینطور به خاطر وجود پایه­‌ها یا پین­‌ها­ی زیاد­ی که دار­ند، انعطاف‌پذیر­ی زیاد­ی در ارتباط با قطعات خارجی دار­ند. اما با وجود اینکه FPGA­ها مزایا­ی زیاد­ی دار­ند، دارا­ی معایبی نیز هستند­. به عنوان مثال، یکی از معایب آن‌ها قیمت زیادی است که نسبت به پرداز­ند‌‌­ه‌ها دارند. یکی دیگر از مسائل مهم در بحث طراحی و پیاده‌ساز­ی با FPGA­ها، این است که زمان طراحی­، تست و عیب‌­یابی آن‌ها معمولا بیشتر از پرداز­ند­ه‌­ها است­.

اولویت انتخاب با پردازنده‌ها

بر این مبنا، بهتر­ است وقتی می‌­خواهید تکنولوژی‌­ای را برای پیاده‌­ساز­ی انتخاب کنید، ابتدا از پرداز­ند­ه‌ها و همچنین از ارزان­ترین پردازنده شروع کنید­. در صورتی که پردازنده‌ها قابلیت پیاده‌سازی پروژه‌ی شما را نداشتند، آن موقع می‌توانید به انتخاب­‌ها­ی گران­‌تر، مثل FPGA فکر کنید.

دو سوال اساسی که باید از خود پرسید!

اما برای اینکه واقعا متوجه شوید که یک پروژه را با چه تکنولوژی‌­ای می‌توانیم پیاده­‌ساز­ی کنید، باید به دو سوال اساسی زیر پاسخ دهید­:

سوال اساسی اول برای انتخاب یک تکنولوژی مناسب برای پیاده‌­ساز­ی، این است که الگوریتمی که می‌خواهیم پیاده­‌ساز­ی کنیم چه مقدار حجم محاسباتی دارد­؟

و سوال اساسی دوم این است که برای انجام حجم محاسباتی مطرح شده در سوال اول، چه مدت زمانی در نظر گرفته شده است؟

در واقع آن چیزی که به ما کمک می‌کند تا بتوانیم تکنولوژی مناسب برای انجام یک پروژه را انتخاب کنیم، رابطه‌ی میان حجم محاسباتی و مدت زمان انجام این حجم محاسباتی است.

تکنولوژی­‌ای را که انتخاب می‌­کنید باید بتواند حجم محاسباتی را که در سوال اول به آن جواب داد­ید، در مدت زمان موجود در سوال دوم انجام دهد­.

برای اینکه این موضوع برای شما بیشتر ملموس شود، اجازه دهید یک مثال را با هم بررسی کنیم­.

مثال

 مثالی که می­‌خواهیم بررسی کنیم­، مثال آژیر هشدار برای مشاهده­‌ی یک جسم متحرک است.

فرض کنید به کمک یک دوربین از یک ناحیه فیلم‌­بردار­ی می­‌کنیم و انتظار داریم اگر جسم متحرکی به این ناحیه وارد شد، در کمتر از ۱۰ میلی­‌ثانیه آژیر به صدا در بیاید. در این سیستم، یک واحد پرداز­ش یا Processing Unit دار­یم که باید الگوریتم تشخیص حرکت در تصویر را برای ما انجام دهد و در صورتی که حرکتی را مشاهده کرد، آژیر را به صدا در آورد.

انتخاب تکنولوژی مناسب برای پروژه

انتخاب تکنولوژی مناسب برای پیاده‌سازی پروژه

حال سوال مطرح شده این است که برای پیاده‌­ساز­ی بخش پرداز­ش از چه تکنولوژی­‌ای استفاده کنیم­؟

همانطور که گفتم، برای انتخاب تکنولوژی باید به دو سوال اساسی پاسخ دهیم­.

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

حجم محاسباتی معمولا به صورت تعداد عمل جمع یا ضرب لازم برای یک ­بار انجام الگوریتم بر رو­ی یک مجموعه دیتا­ی ورود­ی، بیان می‌شود­.

فرض کنید که الگوریتم تشخیص حرکت در مثال ما نیاز به پنج میلیون عمل جمع و ضرب دارد­.

بنا­بر­این پاسخ به سوال اساسی اول می‌شود پنج میلیون عمل ریاضی روی تصاویر دریافتی برای یک­بار انجام این الگوریتم.

پاسخ به سوال اساسی دوم می‌تواند یک مقدار چالش‌برانگیز­تر باشد و به دقت بیشتر­ی نیاز داشته باشد­.

برای رسیدن به پاسخ سوال اساسی دوم باید به­ صورت مسئله­ بیشتر دقت کنیم­. در مسئله گفته شد­ه است کمتر از ده میلی‌­ثانیه بعد از اینکه جسم متحرک در محدوده‌­ی دید دوربین قرار گرفت، باید آژیر به صدا در بیاید. بنا­بر­این­، زمان هشدار، حداکثر ۱۰ میلی­‌ثانیه ا­ست­.

پاسخی که به دنبال آن هستیم، این است که برای انجام الگوریتم تشخیص حرکت چه مقدار زمان نیاز داریم تا بتوانیم خواسته­‌ی مسئله را که هشدار بعد از حداکثر ۱۰ میلی­‌ثانیه است، برآورد­ه کنیم­.

با توجه به این­که حداکثر زمان هشدار ۱۰ میلی­‌ثانیه است، احتمالا اولین عدد­ی که برای انجام الگوریتم به ذهن شما هم می‌رسد، زمان ۱۰ میلی­‌ثانیه است­.

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

بعد از ۱۰ میلی‌­ثانیه مجددا تصاویر جدید­ی برداشته می‌شود و دوباره بعد از ۱۰ میلی­‌ثانیه، انتظار داریم که آژیر به صدا در بیاید. با توجه به این­که در حال حاضر جسم متحرک در محدود­ه­‌ی دید دوربین قرار دارد، باید ببینیم از لحظه­‌ای که جسم متحرک برای اولین بار وارد محدود­ه­‌ی دید دوربین شد­ه است تا زمان به صدا در آمدن آژیر چقدر زمان طول کشید­ه­ است.

این زمان ۱۷ میلی­‌ثانیه است که خیلی بیشتر از زمان ۱۰ میلی­‌ثانیه یا حداکثر زمان هشدار­ی است که در­ صورت مسئله تعیین شده بود­.

 بنا­بر­این­، زمان ۱۰ میلی‌­ثانیه برای انجام الگوریتم، زمان کمی است­.
انتخاب تکنولوژی مناسب برای پیاده‌سازی پروژه

انتخاب تکنولوژی مناسب برای پیاده‌سازی پروژه

 اجازه دهید کمی اجرای الگوریتم را سریع­‌تر کنیم تا ببینیم که آیا می‌توانیم به جواب مسئله برسیم یا خیر؟

در این حالت فرض کنید که برای اجرا­ی الگوریتم­، زمان پنج میلی‌­ثانیه را در نظر گرفتیم­. یعنی­ انجام پنج میلیون عمل جمع و ضرب که برای الگوریتم تشخیص حرکت در تصویر در نظر گرفته بود­یم، پنج میلی‌­ثانیه طول خواهد کشید­.

در ثانیه‌­ی صفر، اولین مجموعه­‌ی تصاویر ثبت می‌شود­. این بار هم دوبار­ه فرض کنید که بعد از سه میلی‌ثانیه، تصویر متحرک در محدود­ه‌­ی دید دوربین قرار می‌گیرد­.

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

بعد از پنج میلی‌­ثانیه، دوبار­ه یک مجموعه‌­ی جدید­ی از تصاویر ثبت می‌شود­.

حالا چون تصویر متحرک در محدود­ه­ی دید دوربین قرار دارد، انتظار داریم که بعد از پنج میلی‌­ثانیه، آژیر به صدا در بیاید.

از لحظه‌­ای که تصویر در محدود­ه‌­ی دید دوربین قرار گرفت، تا لحظه‌­ای که آژیر به صدا در آمد، هفت میلی‌ثانیه طول کشید که این کمتر از حداکثر مقدار زمان هشدار یا همان زمان ۱۰ میلی­‌ثانیه است­.

بنا­بر­این­، به نظر می‌آید که پنج میلی­‌ثانیه زمان مناسبی برای انجام الگوریتم باشد.

در بد­ترین حالت اگر جسم متحرک دقیقا بعد از اولین تصویربردار­ی در محدود­ه­‌ی دوربین قرار بگیرد، باز هم مدت زمانی که از حضور جسم متحرک در محدود­ه‌­ی دید دوربین تا زمان به صدا در آمدن آژیر طول خواهد کشید­، کمتر از ۱۰ میلی­‌ثانیه است و بنا­بر­این عدد پنج میلی‌ثانیه، عددی مناسب و بهینه برای زمان انجام این الگوریتم است­.
انتخاب تکنولوژی مناسب برای پروژه

انتخاب تکنولوژی مناسب برای پیاده‌سازی پروژه

نحوه‌ی انتخاب تکنولوژی مناسب پس از پاسخ به دو سوال اساسی

اکنون با دانستن پاسخ دو سوال اساسی، می‌توانیم تکنولوژی مناسب برای پروژه را انتخاب کنیم­.

مدت زمان لازم برای انجام این الگوریتم، پنج میلی‌­ثانیه است­. بنابراین سرعت لازم برای انجام الگوریتم برابر است با پنج میلیون عمل جمع و ضرب، تقسیم بر پنج میلی­‌ثانیه که برابر است با 1GOPS (مخفف Giga Operation Per Second) یا یک میلیارد عمل ریاضی در ثانیه.

فرض کنید انتخاب‌­ها­یی که برای پیاده‌­ساز­ی بخش پرداز­ش این سیستم دار­یم، یک پرداز­ند­ه­‌ی AVR با کلاک ۲۰ مگاهرتز، یک پردازنده­‌ی ARM با کلاک ۴۰۰ مگاهرتز و یک FPGA است­.

با توجه به این­که پرداز­ند­ه­ی AVR از همه ارزان­تر است، ابتدا بررسی می­کنیم که آیا می‌توانیم این پروژه را با پرداز­ند­ه­ی AVR پیاده­‌ساز­ی کنیم­؟ در صورتی که جواب منفی بود، سراغ پرداز­ند­ه­ی ARM می‌رویم و در صورت منفی بود­ن مجدد جواب، سراغ FPGA می‌رویم­.

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

اگر کلاک را معکوس کنیم، نتیجه می­‌گیریم که اجرای هر دستور ۵۰ نانو­ثانیه طول خواهد کشید. بنابراین زمان لازم برای اینکه کل الگوریتم را یک ­بار اجرا کنیم برابر است با حاصل‌ضربِ زمان لازم برای انجام یک دستور در پنج میلیون عمل جمع و ضرب.

برای محاسبه این مدت زمان باید پنج میلیون را ضربدر ۵۰ نانو­ثانیه کنیم که نهایتا عدد ۲۵۰ میلی­‌ثانیه به دست می‌آید. ۲۵۰ میلی‌­ثانیه از پنج میلی­‌ثانیه‌­ی مورد نظر ما خیلی بزرگ‌تر است، در نتیجه AVR پرداز­ند­ه­‌ی مناسبی برای پیاده­‌ساز­ی این الگوریتم نیست­.

کلاک پرداز­ند­ه­‌ی ARM را برابر با ۴۰۰ مگاهرتز فرض کردیم و با فرض اینکه اجرا­ی هر دستور در این پرداز­ند­ه هم یک کلاک بیشتر­ طول نمی­‌کشد­، با معکوس کرد­ن کلاک به عدد ۲/۵ نانوثانیه خواهیم رسید.

یعنی زمان اجرا­ی هر دستور برابر با ۲/۵ نانوثانیه است­.

پس زمان لازم برای اجرا­ی یک ­بار الگوریتم تشخیص حرکت در تصویر، برابر است با پنج میلیون عمل جمع و ضرب ضربدر ۲/۵ نانوثانیه است که می‌شود ۱۲/۵ میلی‌­ثانیه. ۱۲/۵ میلی­‌ثانیه نیز بیشتر از پنج میلی­‌ثانیه‌ی مورد نظر ما است­. در نتیجه ARM هم نمی­‌تواند نیاز ما را برای پیاده‌­ساز­ی این پروژه برآورد­ه کند.

پس می‌توانید با خیال راحت سراغ FPGA بروید و به کمک قابلیت پیاده‌­ساز­ی موازی و منابع دیجیتالی دیگری که در FPGA وجود دار­ند، این الگوریتم را به راحتی پیاده‌­ساز­ی کنید­.

دیگر عوامل موثر در انتخاب تکنولوژی مناسب

آخر­ین نکته‌­ای که در انتخاب تکنولوژی مناسب وجود دارد این است که خود الگوریتم به تنهایی، ملاک انتخاب تکنولوژی نیست و معیار­ها­ی دیگر­ی هم وجود دارند­؛ مثلا­ سهولت دسترسی­.

فرض کنید قبلا پروژه‌­ای را انجام داده‌ا­ید و به دلیل وجود الگوریتم‌­ها­ی خاصی در آن، از FPGA استفاده کرده‌اید­. اکنون می‌­خواهید ماژول­‌ها یا بخش‌­ها­ی پردازشی دیگر­ی نیز به این پروژه اضافه کنید و با اطلاعاتی که در اختیار دار­ید، می‌دانید که آن‌ها را می‌شود با یک پرداز­ند­ه‌­ی ارزان هم پیاده­‌سازی کرد­. اما با توجه به اینکه قبلا از FPGA در پروژه استفاده کرده‌اید، پس بهتر است که آن الگوریتم‌­ها را هم علی‌­رغم اینکه می‌شود با پرداز­ند­ه‌­ها پیاده­‌ساز­ی کرد، با FPGA پیاده‌­ساز­ی کنید­.

مسئله­‌ی قیمت و زمان هم یکی از مهم­ترین مسائل در زمینه‌­ی انجام پروژه‌­ها است. فرض کنید قبلا ماژول‌هایی را به کمک FPGA طراحی کرد­ید و کدهای آن‌ها را اکنون در اختیار دار­ید­. حال با اطلاعاتی که از این مقاله بدست آورد­ید، متوجه می‌شوید که آن ماژول­‌ها را با تکنولوژی‌­ها­ی ارزان­تر­ی مثل پرداز­ند­ه‌­ی AVR هم می‌توانید پیاده­‌ساز­ی کنید­. اما­ با توجه به اینکه این ماژول­‌ها را اکنون در اختیار دار­ید و پیاده­‌ساز­ی مجدد آنها با پرداز­ند­ه AVR، برای شما وقت‌گیر است و همچنین اگر این پیاده­‌ساز­ی را به فرد دیگر­ی بسپارید، می­‌تواند هزینه‌­ی زیاد­ی برای شما داشته باشد، پس بهتر است که از همان ماژول­‌ها­ی قبلی­‌ای که به کمک FPGA پیاده­‌ساز­ی کرد­ید مجددا استفاده کنید­.

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

آیا برنامه ویدئویی انتخاب تکنولوژی مناسب پیاده‌سازی برای شما مفید بود؟

لطفا نظرتان را در مورد این برنامه در پایین همین پست با دیگران به اشتراک بگذارید. همچنین با کلیک روی هر کدام از دکمه‌های اشتراک گذاری در ستون سمت چپ این صفحه و اشتراک‌گذاری این مطلب در شبکه‌های اجتماعی می‌توانید افراد بیشتری را در یادگیری این مطالب سهیم کنید.

کانال تلگرام آموزش FPGA از صفر

برای عضویت در کانال تلگرام و دسترسی به آموزش‌های بیشتر و اطلاع سریع از زمان انتشار آموزش‌ها و تخفیف‌های ویژه، روی دکمه زیر کلیک کنید:

  • کاظم قربانی گفت:

    خیلی ازتون ممنونم استاد
    ویدیو هاتون بسیار تمیز و واضح هستند

  • نعیم گفت:

    تکنیک آموزش به کار رفته خاص و منحصربه فرداست.
    آرزوی موفقیت دارم…

  • امین گفت:

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

    • خوشحالم که مورد توجهتون واقع شدند. امیدوارم این برنامه‌ها براتون مفید باشند و به زودی برنامه‌های ویژه‌ای را در سایت راه‌اندازی خواهیم کردم که میتونید در هر نقطه‌ای از دنیا که باشید از اونها استفاده کنید.

  • سما گفت:

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

  • پروانه گفت:

    باسلام

    ویدئوهاعالیه
    کاش استفاده ازکلاس برای شهرستانیها هم امکانپذیربودبه صورت آنلاین یا فروش ویدئوهای کلاس …
    باتشکر

  • میلاد گفت:

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

    • سلام، ممنون از لطف و توجه شما.

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

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

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

      موفق باشید

  • محمود گفت:

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

    چرا فایل ویدیویی دانلود نمی شود؟

    • سلام، ممنون از شما.

      من الان امتحان کردم و مشکلی در دانلود وجود نداشت. لطفا روی لینک دانلود یا دکمه دانلود کلیک راست کنید و گزینه Save Link As را انتخاب کنید.

      موفق باشید.

  • ali گفت:

    با سلام و خسته نباشید.خیلی مفید بود.کاش dsp رو هم بررسی میکردین.چون داخل کانال علاوه بر fpga وarm و avr به dsp هم اشاره شده

  • علی حسینی گفت:

    سلام امیدوارم حالتون خوب باشه می خواستم بدونم دوره های dsp شرگت TI رو هم برگزار می کنید؟ و اگر ندارید امگانش هستش در اینده این دوره ها رو هم برگزار گنید؟ ممنون برای زحماتتون

  • Sajad گفت:

    سلام
    ضمن تشکر از مطالب مفیدتون
    در مثال دو نکته رو هم باید در نظر داشت
    اول اینکه فرکانس برداشت تصویر هم باید در نظر گرفته بشه – مثلا به فرض تصویر برداری هر یک میلی ثانیه انجام میشه لذا اگر در ثانیه صفر – یک – دو و سه به ترتیب تصویر برداری انجام بشه با توجه به اینکه زمان لازم برای پردازش ۵ میلی ثانیه در نظر گرفته شد، در لحظه ۵ اطلاعات ثانیه صفر- در لحظه ده اطلاعات لحظه ۱ و در لحظه ۱۵ اطلاعات ۲ و نهایتا در لحظه ۲۰ اطلاعات ثانیه ۳ پرداش میشن و لذا هشدار در لحظه ۲۰ میلی ثانیه به صدا در میاد
    اما اگر هر سه میلی ثانیه تصویر برداری بشه این مثال درست هست اما باز هم کامل نیست – چرا که ممکنه جسم در میلی ثانیه یک وارد بشه و در میلی ثانیه دو خارج لذا در میلی ثانیه سه تصویرش برداشته نمیشه

    مساله دوم اینه که با توجه به اینکه زمان پردازش مورد نیاز ۵ میلی ثانیه محاسبه شد و مثلا پردازنده آرم ۱۲٫۵ میلی ثانیه زمان لازم داره اگر ما چند پردازنده رو همزمان به صورت موازی استفاده کنیم مساله با آرم هم حل میشه
    که ممکنه ارزان تر هم در بیاد (من نمی دونم آیا چهار تا پردازنده آرم ارزونتر هست یا یک fpga) ولی این هم یک راه حل هست
    به هرحال متوجه هستم که این یک مثال برای درک مطلب بود ولی خوب هست که جوانب دیگر امر هم در نظر گرفته میشد
    با سپاس و احترام

  • علی نژاد گفت:

    بسیار عالی بود. ممنونم و آرزوی توفیق روزافزون برای شما استاد بزرگوار دارم.

  • […] چیست؟ – منابع سخت‌افزاری درون FPGA چطور تکنولوژی مناسب پیاده‌سازی یک پروژه را انتخاب ک… رفتن به […]

  • […] به یادگیری FPGA می‌کنند، قبلا با یکی از پردازنده‌ها مثل ARM یا AVR یا DSP کار […]

  • […] سازنده FPGA و محصولات آنها چطور تکنولوژی مناسب پیاده‌سازی یک پروژه را انتخاب ک… رفتن به […]