چگونه یک مهندس امبدد سیستم(سامانه ی نهفته) شویم؟(۱)

امبدد سیستم چیست؟

امبدد سیستم(سامانه ی نهفته) به سیستم‌های تعبیه شده قابل برنامه‌ریزی یا با برنامه ثابت گفته می‌شود که برای انجام یک عملکرد خاص درون یک سیستم بزرگ‌تر طراحی میشود.

امبدد سیستم‌ها برخلاف یک رایانه چند منظوره، مانند یک رایانه شخصی که به شکلی انعطاف‌پذیر (از نظر معماری پردازنده) طراحی شده‌است که قسمت بزرگی از نیازهای مصرف‌کننده‌ها را برآورده کند برای انجام کار مشخصی طراحی شده‌اند. سامانه‌های نهفته، امروزه برای کنترل خیلی از دستگاه‌ها به کار می‌روند. از لحاظ فیزیکی، گستره سامانه‌های نهفته از دستگاه‌های قابل حمل مانند: ساعت مچی و پخش کننده‌های MP3 تا ایستگاه-های نصب شده و ثابت، مانند چراغ راهنمایی،کنترل کننده منطقی برنامه پذیر و سامانه‌های بزرگ و پیچیده مانند: خودرو هیبرید، تصویربرداری با تشدید خودروی هیبریدی، ام‌آرآی و اویونیک به‌کار می‌روند.

قلب امبدد سیستم‌ها را یک چیپست برنامه پذیر (microcontroller / DSP / FPGA ) تشکیل میدهد. و هسته ی اصلی شغل‌های مرتبط با این رشته برنامه‌ریزی کردن این چیپست هاست. در واقع میشه گفت این رشته یه محدوده ی مشترک بین رشته الکترونیک تا نرم افزار رو پوشش میده.

خب از اونجایی که از این دست توضیحات در اینترنت فراوونه و خودتون بهتره بیشتر بخونید،بریم سراغ مسائل دیگه. اول اینکه برای شروع کار در حوزه امبدد سیستم چه تخصص ها و چه ابزار هایی نیاز دارید؟-برای اینکه به این سؤال دقیق‌تر جواب بدیم بهتر این هستکه از سؤال اصلی‌تری شروع کنیم که: در شغل مهندسی امبدد سیستم چه کارهایی انجام میشه؟

در هر پروژه مراحل زیر به ترتیب انجام میشه:

  • اول : مشخص کردن مشکل ، راه حل و انتخاب نوع سخت افزار
  • دوم : طراحی مدار راه انداز و مدار های جانبی میکروکنترلر
  • سوم : طراحی برد مدار چاپی (PCB)
  • چهارم : کدنویسی و برنامه ریزی
  • پنجم : شبیه سازی سیستم (البته این مرحله میتونه به مرحله دوم انتقال پیدا کنه تا قبل از هزینه تولید برد اولیه از کارکرد مدار مطمئن شد.)
  • ششم : تست کارکرد

شما میتوانید در یک موقعیت شغلی (به عنوان متخصص امبدد سیستم) در یک یا چند مرحله از مراحل تولید ذکر شده در بالا قرار بگیرد.

قابل به ذکر است در کشور زیبامون ایران به لایلی که خودتون شاید بهتر بدونید به احتمال زیاد همه این‌ها یکپارچه به عهده شماست!!!! و با حقوق اداره کار! خلاصه اینکه از همین اول بدونید بهتره 🙂

خب حالا میتونیم به ازا هر مرحله نرم‌افزار ها ، دانش و ابزار های مورد نیاز رو معرفی کنیم:

مرحله اول (مشخص کردن مشکل، راه حل و سخت‌افزار) به نظر من مهمترین مرحله کاره، شناخت کامل از مشکل خیلی مهمه ، اینکه دستگاهی که قصد ساختشو داریم چه تعداد ورودی و خروجی داره چه قطعاتی از چه جنسی رو قراره کنترل کنه و آیا نیاز به رابط کاربری تصویری داره یا صوتی یا ارتباط با رایانه یا…؟اینکه اگر قرار هست یک سنسور را به عنوان ورودی بدهیم به چه دقتی نیاز داره؟ این دستگاه قراره در چه محیطی کار کنه؟ آیا پر از نویز است یا مرطوب است یا…؟ آیا دستگاه در شوک های مکانیکی یا الکتریکی قرار میگیرد؟ و …

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

arduino uno
arduino uno

میکروکنترلر ها و ای سی های برنامه پذیر متنوعی وجود دارد که برای کارتان میتوانید انتخاب کنید .اما به عنوان سرنخ در بازار امروز ایران میشه از میکروکنترلر های STM32 , AVR ATMEGA Series , PIC16 , PIC18 , MSP430 و FPGA های xilinx , یا DSP های شرکت microchip به اسم DSPIC نام برد.

stm32 board
stm32 board
برای شما

لازم نیست در همه ی این‌هایی که گفتم متخصص باشید چون احتمالاً عمرتون کفاف نمیده و تازه به همین‌ها محدود نمیشه. قبلاً میگفتن برای شروع از avr شروع کنید که سادست . اما به نظرم این روزها با توجه به اهمیت قیمت و کاربرد های متنوع و… صاف برید سراغ STM32.

اینکه چرا STM32 رو ایشالا در یه پست مفصلاً توضیح میدم.

من برای اینکه ایده اولیه رو در ذهنم پرورده کنم و تمام وجه های ممکن رو بررسی کرده باشم از نرم‌افزار Xmind استفاده میکنم.یکی دیگه از برنامه‌های خوب برای این کار visio هست . که توسط شرکت مایکروسافت ارائه شده.

visio
visio

البته اگر از لینوکس و نرم‌افزار آزاد استفاده میکنید: freemind , mindmaster گزینه های خوبی هستن.

در مرحله دوم(طراحی مدار راه انداز و مدارهای جانبی میکروکنترلر) نیاز به کمی دانش الکترونیک(دربارهء منابع تغدیه ، مدار های سوییچ رله ها ، بافر کردن ورودی ها و…. ) و دانش خوب زبان انگلیسی(برای خواندن دیتاشیت قطعات و میکروکنترلری که استفاده کرده‌اید) و یک نرم‌افزار طراحی مدار که صدرنشین Altium Designer هست.

Altium Designer
Altium Designer

البته اگر قصد دارید آدم خوبی باشید و از نرم افزارهای کرک شده استفاده نکنید. نرم‌افزار های رایگان خوبی هم برای این کار هست. من kicad و eagle رو پیشنهاد میکنم. اولی کاملاً رایگان و دومی با محدودیت‌هایی به صورت رایگان قابل استفاده است.

مرحله سوم (طراحی pcb ) تقریباً راحت ترین و حوصله سر بر ترین قسمت کار است. درسته که کمی اطلاعات الکترونیکی(شامل ضخامت صحیح برای ترک ها و شناخت بلوک های مدار برای جدا سازی و شناخت از قطعات و نوع آن‌ها بر اساس شکل ظاهری و …) برای شروع میخواد ولی به نظرم چالش آن چیزی بیشتر از موش را به خانه برسانید نیست :)) از همان نرم‌افزار های معرفی شده در بخش سه برای کشیدن برد مدار چاپی استفاده میکنیم و نهایتاً به چیزی میرسیم شبیه عکس زیر که به آن برد مدار چاپی میگویند.

PCB(printed circuit board)
PCB(printed circuit board)

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

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

اگر نکته‌ای رو فراموش کردم حتماً بهم یادآوری کنید.ممنون.

نویسنده مطلب: Farzin Rb

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

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

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
2 نظرات
  1. ساعد صنعت نگار می گوید

    با توجه به حقوق پایین برای متخصصین الکترونیک واقعا چه انگیزه یی میتونه آدم رو به ادامه راه تشویق کنه. درسته علاقه مهمه ولی وقت و گذران زندگی هم مهمه. الان یک برنامه نویس php دو الی چهار برابر یک متخصص الکترونیک تو ایران داره حقوق میگیره. اونایی هم که خیلی برای آردوینو و رزبری پای تبلیغ میکنن تنها هدفشون فروش بردهاشون هست و لا غیر. این همه میگن اینترنت اشیا … کو پس؟ تو جابینجا سرچ کنید. کل موقعیت های کاری مربوط به حوزه الکترونیک به زور به 50 تا میرسه که از این 50 تا 40 تاش مربوط به تهران هست. حالا حوزه تکنولوژی های وب رو سرچ کنید. حوزه دات نت ، php … javascript , غیره هر کدوم بین 300 تا الی 400 موقعیت کاری تو ایران دارن که یک سوم این تعداد حقوق های رنج 15 میلیون به بالا پیشنهاد میدن. مشکل ناامید کننده دیگه که پیش روی الکترونیکی ها هست اینه نمی تونن در سطح بین المللی کار فریلنس داشته باشن و کسب درآمد ارزی کنن. در صورتیکه یک فول استک دولوپر سینیور تو ایران با چند نا کانال زدن میتونه این کار رو انجام بده. من که دیگه نا امید شدم و تصمیم دارم فیلد کاریم رو عوض کنم. نهایتا یک سال کمتر وقت میذارم ولی از این رکود بازار نجات پیدا می کنم. خدا روشکر برنامه نویسی وب رو تا حد قابل قبولی یاد گرفتم.

    1. امیرحسین می گوید

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

نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.