پروگرامر چیست ؟؟ نحوه عملکرد پروگرامر و میکرو کنتلر های AVR (نحوه عملکرد ؛  کاربرد و انواع ) مهندسی برق _ الکترونیک

پژوهشگر و نویسنده:  دکتر (  افشین رشید )

 نکته : پروگرامر ها در مارک های بسیاری تولید میشوند. اما AVR و یونیورسال عمومی ترین پروگرامر ها از لحاظ کاربرد گسترده میباشند.

پروگرامر ( (programmerچیست؟

پروگرامر دستگاهی است که با کمک کامپیوتر یا به تنهایی قادر به انتقال برنامه یا تغییر تنظیمات یک قطعه الکترونیکی برنامه پذیر است.

انواع پروگرامر و تفاوتهای آنها؟

پروگرامرها در 2 گروه اصلی طبقه بندی می شوند پروگرامرهای تخصصی و عمومی (یونیورسال). برای

پروگرامر های یونیورسال برای انواع قطعات استفاده می شود

پروگرامرهای تخصصی برای یک گروه خاص از قطعات از یک سازنده مشخص هستند و عموما از طرف شرکتهای سازنده همان قطعات ارائه می شوند.

چه کسانی نیاز به پروگرامر تخصصی دارند؟

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

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

پروگرامر مشابه سازی شده (clone) چیست؟

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

مشکلات پروگرامرهای کلون.

در بعضی موارد مثل پروگرامرهای STK یا بایتبلستر یا کابل پارالل شرکت xilinx ، چون نقشه پروگرامر توسط سازنده برای عموم به رایگان منتشر شده است ، اگر ساخت پروگرامر دقیقا مطابق مشخصات سازنده باشد مشکلی وجود ندارد البته معمولا این پروگرامرها قابلیت بالایی نداشته و از باسهای قدیمی مانند پارالل پورت و سریال پورت استفاده میکنند و نمونه های USB توسط رابطهایUSB->Serial انجام میشود.

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

پروگرامر های یونیورسال کپی شده (غیر اصلی).

بخش زیادی از قیمت پروگرامرهای یونیورسال را هزینه مهندسی و برنامه نویسی مداوم برای آی سی های جدید تشکیل می دهد . برخی شرکتهای چینی با کپی سخت افزار دستگاههای معروف و استفاده از نرم افزار این شرکتها قیمت دستگاهها مشابه دستگاه اصلی را به نصف کاهش داده اند و در اثر اینکار با کاهش فروش شرکت اصلی خسارات زیادی به شرکت مادر وارد کرده اند. برای مثال شرکت xeltek سازنده پروگرامر های سوپرپرو به علت کپی محصولاتش در ابتدای سال 2010 مجبور به قطع تولید پروگرامرهای 280Uو 580U و 3000U شده است و در یک اعلامیه از خریداران درخواست کرده که این مدلها را دیگر خریداری نکنند و اینکار به ضرر خریداران محصول اصلی نیز شده است چون به علت از رده خارج شدن ، اضافه کردن خانواده های جدید قطعات بعد از 2010 نیز دیگر برای این مدلها انجام نمی شود.

تفاوت پروگرامر اصلی با کپی در چیست؟

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

جی تگ (Jtag) چیست؟

جیتگ یک پروتکل استاندارد ارتباطی است که در ابتدا برای تست قطعات ابداع شد اما امروزه بیشتر برای پروگرام و دیباگ کردن قطعات استفاده میشود. این ارتباط از 4 سیگنال به نامهای TDO-TCK-TDI-TMS و یک سیم زمین تشکیل شده است.

دیباگر جیتگ چیست ؟

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

آیا پروگرامر یونیورسال می تواند کار دیباگر را انجام دهد ؟

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

کانکتور JTAG پروگرامر TNM چه استفاده ای دارد؟

این کانکتور علاوه بر استفاده برای حالتهای ISP در حالت JTAG برای پروگرام آی سی های CPLD وFPGA و ATXMEGA استفاده میشود.

آی سی تستر چیست و چه تفاوتی با پروگرامر دارد؟

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

حافظه فلش چیست و چه انواعی دارد ؟

حافظه فلش حافظه ای است که به روش الکتریکی قابل پاک کردن و پروگرام مجدد است. فرق آن با اییپرام در اینست که هرخانه اییپرام را بدون پاک کردن میتوان پروگرام مجدد کرد ولی فلش ابتدا باید پاک شود و پاک شدن آن بصورت خانه به خانه نیست ، بلکه تعداد مشخصی خانه که تعداد آنها معمولا یکی از توانهای 2 است و سکتور نام دارد بطور همزمان پاک میشوند. حافظه فلش دارای 2 گروه اصلی Nor وNand است. فلشهای Nor همان فلشی است که درون میکروکنترلرها و قطعات قابل پروگرام یافت میشوند و دارای قابلیت نگهداری اطلاعات به مدت 10 سال و قابلیت پروگرام مجدد به تعداد 100 هزار بار را دارند.اکثر حافظه های زیر 128 مگابایت فعلی نیز از این تکنولوژی استفاده میکنند. امتیاز آن ضریب اطمینان بالا و ایراد آن قیمت بالا نسبت به واحد حجم آن است.

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

از نظر شکل ظاهری و باس نیز فلشها به دو گروه پارالل و سریال تقسیم می شوند که با توجه به اینکه برای ظرفیتهای بالای 16 مگابایت برای فلشهای Norدر حالت موازی نیاز به 56 پایه است ولی فلشهای سریال در تمام ظرفیتها بسته بندی 8 پایه دارند و براحتی بجای هم نصب می شوند، در اکثر سیستمهای امروزی فلشهای رایج Nor از نوع سریال است.

پروگرامر 2000 قادر به پروگرام چه انواعی از فلش است؟

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

آیا حافظه با قابلیت محافظت در برابر کپی وجود دارد؟

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

آیا قطعاتی وجود دارند که حافظه آنها قابل پاک کردن نباشد؟

بله غیر از میکروکنترلرهایی که Mask ROM هستند یعنی در هنگام تولید به سفارش مشتری داخل آنها برنامه حک می شوند ، انواعی از فلش نیز وجود دارد که One Time Programmable یا OTP هستند که فلش آنها تنها یکبار پروگرام میشود و دیگر قابل پاک کردن نیستند مانند میکروهای میکروچیپ سری 12Cو 16C یا ایپرامهای سری 27C . قطعاتی نیز بنامPROM وجود دارند که تنها یکبار پروگرام می شوند.

پژوهشگر و نویسنده:  دکتر (  افشین رشید )