در استفادهای که ما امروزه از دستگاهها و محصولات الکترونیکی داریم نیازمند انجام پردازشهایی از این دستگاهها هستیم. این پردازشها به صورتهای مختلفی انجام میشود مثلا زمانی که یک نرم افزار را در گوشی تلفن همراه خود باز میکنید در اصل پردازندهی موبایل شما این نرم افزار برنامه نویسی شده را پردازش میکند. در نهایت با پردازش این جریانهای الکتریکی و اطلاعات باعث میشود تا نرم افزار در صفحهی نمایش گوشی شما باز شود. این کار که بتوان پردازندههای را برای انجام کارهای مختلف برنامه ریزی کرد نیازمند یک علم به نام IC Programming یا همان برنامه نویسی IC است.
در ادامهی این مقاله با برنامه نویسی IC، نرم افزارهای مناسب برنامه نویسی IC و انواع ICها از نطر برنامه نویسی آشنا میشویم، پس تا انتهای این مقاله با آوند الکترونیک همراه باشید.
IC یا مدار مجتمع چیست؟
مدار مجتمع یا همان IC یکی از قطعات الکترونیکی است. این قطعهی الکترونیکی از تعداد بالایی مدار الکترونیکی تشکیل شده است که روی یک سطح قرار گرفتهاند. سطحی که مدارهای الکترونیکی روی آن قرار میگیرند معمولا از جنس سیلیکون است که مادهای نیمه رسانا به حساب میآید. این مدارهای الکتریکی از تعداد بسیار زیادی ترانزیستور، مقاومت و خازن تشکیل شدهاند. هر IC از تعداد زیادی پایهی اتصال به برد تشکیل شده است و این پایهها وظیفهی ورود و خروج اطلاعات به مدار مجتمع را بر عهده دارند. ICها به صورت SMD روی بردهای الکترونیکی مونتاژ میشوند و دارای پایههای بلند برای عبور از برد الکترونیکی نیستند.
مدار مجتمع، IC یا همان چیپ یکی از قطعات الکترونیکی و المانهای اصلی سیستمها و دستگاههای الکترونیکی است. این قطعه یکی از انواع قطعات الکترونیکی است که تشکیل دهندهی پردازندهی مرکزی یا همان CPU دستگاههای الکترونیکی است. این دستگاه از این نظر اهمیت بسیار بالایی دارد که چون با استفاده از این قطعه برنامهها و عملکردهای دستگاه الکترونیکی انجام میشود باید دقت عمل بالایی داشته باشد. در اصل ICها باید تمامی وظایف خود را به درستی انجام دهند تا عملکرد محصول مورد نظر مطابق با انتظار باشد.
وظایفی که مدارهای مجتمع یا همان ICها باید انجام دهند به وسیلهی برنامهای که برای آنها نوشته میشود مشخص میشود این برنامه توسط متخصصان این حوزه به وسیلهی کد نویسی نوشته میشود. به این کار برنامه نویسی IC یا IC Programming میگویند. هنگامی که برنامه نویسی IC به پایان برسد باید آن را به مدار مجتمع ایمپورت کرد تا IC بتواند با استفاده از این برنامه وظایف خود را انجام دهد.
از آنجایی که مدارهای محتمع دارای پایههای زیادی هستند، این پایهها به عنوان ورودی و خروجی اطلاعات عمل میکنند. اطلاعات به IC از طریق یکی از پایهها وارد میشود و مدار محتمع مطابق با برنامه نویسی ICای که روی آن پیاده شده است اطلاعات را پردازش میکند و ورودی را به خروجی تبدیل میکند.
از مدارهای مجتمع در تمامی کامپیوترها و بردهای الکترونیکی پیچیده استفاده میشود اما مهمترین کاربرد آنها در سیستمهای پردازشگر مرکزی یا همان CPUها است. CPUها از تعداد بسیار زیادی IC یا به طور دقیقتر ترانزیستور ساخته شده است گاها تعداد این ترانزیستورها به چند میلیارد میرسد.
IC Programming یا برنامه نویسی IC چیست؟
برنامه نویسی IC به پروسهی نوشتن و انتقال یک برنامه که وظایف مدار مجتمع را تعیین میکند به IC گفته میشود. یک نکتهی حائز اهمیت این است که مدار مجتمعی که برای آن برنامه نویسی IC انجام میشود باید قابل برنامه ریزی و برنامه پذیری باشد. برنامه نویسی IC مطابق با هر IC و وظیفهای که قرار است مدار مجتمع آن را انجام دهد، نوشته میشود و به IC وارد میشود.
روش انتقال برنامهی نوشته شده به IC
انتقال برنامهی نوشته شده به IC یکی از مراحل مهم برای برنامه دهی به IC است. این روش در گذشته به این صورت انجام میشد که IC را روی یک پروگرمر قرار میدادند و برنامه را به مدار مجتمع ایمپورت میکردند. این روش برای ICهای PROM، EPROM و PLDها انجام میشد و دلیل استفاده از این روش برای این ICها این بوده است که این ICها از طریق گذرگاههای موازی اطلاعات را دریافت یا منتقل میکردند. در این روش انتقال اطلاعات از تعداد بسیار زیادی از پینهای IC برای انتقال اطلاعات استفاده میشد.
امروزه و با پیشرفت علم در زمینهی انتقال اطلاعات و برنامه نویسی IC روش انتقال برنامه به مدار مجتمع دچار تحولاتی شده است. این روش امروزه به وسیلهی پروتکلهای سریالی که به آنها JTAG میگویند به مدار مجتمع ایمپورت میشود.
روش انتقال برنامه به ICها و دریافت ورودی و خروجی در مدار
روش برنامه نویسی ICها
برای آشنایی با این موضوع لازم است بدانیم که ICها انواع مختلفی دارند. برخی از ICها به منظورهای خاصی تولید شده اند و نمیتوان آنها را برای کارهای دیگری برنامه ریزی کرد. نمونههایی از این ICها عبارتند از مدارهای مجتمع تقویت کننده، مدارهای مجتمع تایمری و…
برخی دیگر از ICها قابل برنامه ریزی هستند و میتوان برای آنها برنامه نویسی IC انجام داد. این مدارهای مجتمع را میتوان برای انجام کارهایی که میتوانید برنامه ریزی کرد و وظایف مختلفی را به آنها محول کرد. برای درک برنامه نویسی ICها و تفاوت ICهای برنامه پذیر و ICهای تک منظوره باید با ۲ مفهوم میکروپروسسور و میکروکنترلر آشنا شویم که در ادامه آنها را بیان میکنیم.
میکروپروسسورها (microprocessor)
این نوع از ICها با پیشرفت صنعت مدارهای مجتمع به وجود آمدند و به آنها ریز پردازنده نیز میگویند. این پردازندهها برای عملکردهایی مثل پردازش، انجام محاسبات منطقی و انتقال اطلاعات به سایر واحدهای سیستم ساخته شدهاند. میکرو پروسسورها فقط قابلیت پردازشی دارند و برای آنکه بتوانند برای کارهای مختلف برنامه ریزی شوند به حافظههای RAM و المانهای دیگر نیاز دارند.
میکلرو کنترلرها (microcontroller)
میکروکنترلرها نوع دیگری از ICها هستند که از یک آی سی VLSI تشمیل شده است. این ICها دارای یک حافظهی اصلی RAM، یک حافظهی مخصوص خواندن (ROM)، تایمر، پورتهای ورودی و خروجی، پورت سربال، مبدلها و… هستند. این ICها به علت دارا بورن این المانها قابلیت برنامه پذیری دارند. در اصل میکروکنترلرها از یک میکرو پروسسور در خود بهره میبرند که قابلیت پردازش را دارا میباشد و وجود المانهای دیگر این مدارهای مجتمع را قابل برنامه ریزی میکند.
برای برنامه نویسی میکروکنترلرها باید از نرم افزارهای تخصصی و مناسبی استفاده کرد. این نرم افزارها را با نام نرم افزارهای IDE میشناسیم که به معنی محیط توسعهی یکپارچه (integrated Development Environment) هستند. این نرم افزارهای برای نوشتن برنامه نویسی IC و به طور کلی برنامه نویسی الکترونیک ساخته شدهاند و دارای یک محیط برای ویرایش کد، یک کامپایلر، نرم افزار پروگرمر که از پروتکل JTAG استفاده میکند، یک رابط گرافیکی و ابزارهای برای توسعهی نرم افزار ساخته شدهاند. تعدادی از معروفترین این نرم افزارها عبارتند از:
- نرم افزار Keli
- نرم افزار Atmel Studio
- نرم افزار CodeVisionAVR
روش کار این نرم افزارها به این صورت است که شما با استفاده از یک زبان برنامه نویسی، برنامهی مد نظرتان برای IC را در محیط ویرایش کد مینویسید. این برنامهی نوشته شده را به وسیلهی کامپایلر به زبان ماشین یا همان ۰ و ۱ (باینری) تبدیل میشود. دلیل کامپایل شدن برنامه، قابل درک شدن برنامه برای سخت افزار است. پس از کامپایل شدن، پروگرمری که در نرم افزار وجود دارد به وسیلهی پروتکل سریالی JTAG به IC ایمپورت میشود.
برنامه نویسی IC در بسیاری از مواقع ممکن است قبل از تولید برد الکترونیکی انجام شود و طراح برد با توجه به عملکردی که از برد انتظار دارد برنامهی مناسب برای IC را بنویسد. این برنامه در مرحلهی طراحی برد الکترونیکی در فایل طراحی شده قرار میگیرد. برخی از نرم افزارهای طراحی برد الکترونیک این قابلیت ایمپورت شدن فایل کد برای IC را دارند که برای تولید مدارها و بردهای پیشرفته از آنها استفاده میشود. برای شناخت این نرم افزارها میتوانید مقالهی بهترین نرم افزارهای طراحی برد الکترونیکی را مطالعه کنید.
زبان برنامه نویسی IC
برای برنامه نویسی ICها از زبانهای برنامه نویسیای استفاده میشود که نزدیک به زبان قابل درک سخت افزار یعنی باینری باشند. بهترین زبانی که برای برنامه نویسی IC میتوان از آن استفاده کرد زبان C است چرا که این زبان هم برای انسان تا حدودی قابل درک است و هم به زبان سخت افزار نزدیک است. بعد از آشنایی با زبان C و شناخت الگوریتمها و روش کار با آن میتوانیم به سراغ زبان ++C برای برنامه نویسی IC برویم. با استفاده از این ۲ زبان به راحتی میتوانید برنامه نویسی مدارهای مجتمع را انجام دهید.
زبانهای برنامه نویسی مناسب IC
برای برنامه نویسی IC از زبانهای دیگری مثل assembly و visual basic هم استفاده میشود اما کار با زبانهای C و ++C بیشتر توصیه میشود.
برنامه نویسی IC؛ یکی از دلایل تحول صنعت الکترونیک
برنامه نویسی IC باعث شد تا بتوان عملکردهای مختلف و پیچیدهای را از ICها انتظار داشت که این موضوع باعث شد تا بتوان پردازشها و محاسبات زیادی را با روش دلخواه در دستگاههای الکترونیکی پیاده سازی کرد. علاوه بر این موضوع باعث شد تا یک IC بتواند در زمانهای مختلف و با ورودیهای مختلف پردازشهای مختلفی را انجام دهد و نیازی به تعداد بیشماری IC برای انجام انواع پردازشها نباشد. این موضوع باعث افزایش تراکم بردهای الکترونیکی و کاهش سایز دستگاههای الکترونیکی شد. از اینکه تا انتهای این مقاله همراه آوند الکترونیک بودید از شما سپاسگزاریم.