آی سی پروگرام شده

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

همان‌طور که گفته شد، آی سی پروگرام شده در حقیقت یک نوع چیپِ کاربردی در ساختار گجت‌های هوشمندی نظیر موبایل بوده که برنامه‌نویسی شده است. پروگرام کردن آی سی باعث می‌شود که امکان کنترل دستگاه برای مصرف‌کننده فراهم شود. به عنوان مثال آی سی هارد گوشی‌های هوشمند را در نظر بگیرید؛ آی سی هارد چه وظیفه‌ای در ساختار گوشی دارد؟

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

آی سی هارد پروگرام شده

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

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

معرفی انواع ic پروگرام شده

آی سی‌های تعبیه شده در مدار گجت‌های هوشمند دارای انواع و مدل‌های مختلفی هستند که هر کدام وظیفه مشخصی دارند. برخی از آی سی‌ها قابلیت پروگرام شدن را داشته و برخی دیگر خیر؛ به عنوان مثال آی سی‌های تقویت‌کننده (Op-amp) فاقد این قابلیت و برخی دیگر دارای قابلیت برنامه‌ریزی هستند. برای درک بهتر این که آی سی پروگرام شده چیست و انواع آن کدام است، بایستی با دو مفهوم میکروپروسسور (Microprocessor) و میکروکنترلر (Microcontroller) آشنا شوید:

میکروپروسسور (Microprocessor)

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

میکروکنترلر (Microcontroller)

این مدل از آی سی‌ها، یک نوع آی سی VLSI به حساب آمده که ضمن در اختیار داشتن میکروپروسسور داخلی، در ساختار خود از یک حافظه اصلی (RAM)، حافظه خواندنی (ROM)، پورت‌های ورودی و خروجی، انواع مبدل، تایمر، پورت سریال (Serial Port) و… نیز بهره می‌برند. در حقیقت، درون میکروکنترلرها یک ریزپردازنده تعبیه شده که با کمک آن قادر است محاسبات منطقی را به انجام رساند. میکروکنترلرها خود دارای انواع گوناگونی هستند که از جمله رایج‌ترینِ آن‌ها می‌توان به AVR و ARM اشاره داشت. به منظور برنامه‌نویسی این مدل از آی سی‌ها می‌توان از نرم‌افزارهای مختلفی نظیر Keil، Atmel Studio، نرم افزار CodeVisionAVR و … استفاده کرد.