پروژه پروگرمر میکروکنترلر و اینترفیس WiCardKit 1 (سخت افزاری)
پروگرمر میکروکنترلر WiCardKit، با استفاده از متد برنامه ریزی با پروگرمر موازی (High voltage programmer/parallel programmer) بالاترین لایه دسترسی به حافظه میکروکنترلر است و با استفاده از این پروگرمر می توان میکروکنترلر هایی که قفل شده و قابل برنامه ریزی با پروگرمر های معمولی نیستند را بازیابی کرد.
لینک پروژه (سورس کد و نقشه ها): سورس کد و نقشه های مدار برد پروگرمرWiCardKit 1
پروژه (باینری و نقشه برد): باینری و نقشه پی سی بی برد پروگرمرWiCardKit 1
لینک نرم افزار (باینری): نرم افزار WiCardKit 1، پروگرمر میکروکنترلر و ماژول
نرم افزار (سورس کد): سورس کد ویژوال بیسیک پروژه نرم افزاری پروگرمرWiCardKit 1
از دیگر ویژگی های این پروگرمر، قابل استفاده کردن پین Reset در میکروکنترلرهایی است که از این پین نیز به عنوان یکی دیگر از IO ها استفاده می شود. داشتن یک پین بیشتر در جنبه های اقتصادی تولید انبوه بسیار موئر است.
این برد سخت افزاری با استفاده از میکروکنترلر 40 پین PIC18F4550 طراحی شده است و دارای مجموعه ای از امکانات مختلف برای طراحی های بر پایه میکروکنترلر و بطورکلی پردازنده های قابل برنامه ریزی است.
در نسخه فعلی علاوه بر پروگرمر، مبدل USB به سریال (UART) نیز قابل استفاده است. یکی از کاربردهای اساسی این مبدل برنامه ریزی ماژول های ESP است.
میکروکنترلر های زیر با استفاده از نسخه فعلی قابل برنامه ریزی هستند:
ATtiny13A
ATmega48P
ATmega48V
ATmega8
ATmega8A
ATmega8L
ATmega88P
ATmega88V
ATmega16A
ATmega168P
ATmega168PV
ATmega32A
ATmega328P
راهنمای پروگرمر میکروکنترلر WiCardKit
این برد شامل یک عدد سوکت ZIF مخصوص قرار دادن میکروکنترلر های دیپ AVR است. همچنین یک عدد پین هدر 6 تایی (H2) برای ICSP میکروکنترلر های PIC و خروجی Rx-Tx پورت UART در نظر گرفته شده است.
کانکتور Con1 مربوط به اتصال کابل یو اس بی از نو B بزرگ است و Con2 مربوط به اتصال فیش نری 5 میلی متر تغذیه است. تغذیه برای برنامه ریزی صحیح لازم است بین 12 تا 15 ولت باشد.
همیشه ابتدا تغذیه را متصل کنید، سپس USB.
همیشه ابتدا USB را جدا کنید، سپس تغذیه.
ولتاژ زیر12 ولت برای تغذیه احتمال خطا در برنامه ریزی را بالا می برد.
برای برنامه ریزی میکروکنترلر، همیشه یک جامپر روی پین 1 (مربعی) و 2 پین هدر H1 باید قرار گیرد.
پین های هدر H2 به صورت زیر است:
- ریست میکروهای PIC (پین مربعی)
- تغذیه 5 یا 3.3 ولتی (قابل انتخاب با استفاده از H3)
- گراند
- PGD میکروهای PIC – RxD پورت سریال (UART)
- PGC میکروهای PIC – TxD پورت سریال (UART)
- PGM میکروهای PIC
پین هدر H3 برای تعیین ولتاژ هدر ICSP مورد استفاده قرار می گیرد. جامپر روی پین 1 (مربعی) و پین 2 : 3.3 ولت و روی پین 2 و پین 3 : 5 ولت
پین های هدر H3 به صورت مجزا نیز برای دریافت تغذیه 5 یا 3.3 ولتی کاربرد دارند.
از خط 5 ولتی حداکثر دریافت 100 میلی آمپر مجاز است.
از خط 3.3 ولتی، درصورت اتصال تغذیه مجزای 15-12 ولتی، دریافت حداکثر 700 میلی آمپر مجاز است، در غیر این صورت حداکثر 90 میلی آمپر.
تنظیمات DIP Switch
تنظیم صحیح این سویچ ها (SW1) برای جلوگیری از آسیب رسیدن به پروگرمر ویا میکروکنترلر و برنامه ریزی صحیح بسیار اهمیت دارد.
این دیپ سویچ دارای 8 عدد سویچ به صورت روشن یا خاموش است. هر گروه از میکروکنترلر ها، تنظیمات اختصاصی خود را دارند که قبل از قرار دادن میکروکنترلر روی سوکت باید انجام شود.
قبل از تنظیم ابتدا همه سویچ ها را در حالت خاموش قرار دهید.
حالت تنظیم در تصویر راهنمای نرم افزار نیز موجود است
و به صورت زیر میباشد:
تنظیم برای ATtiny13A: تمامی سویچ ها خاموش، فقط 2 روشن، به صورت زیر:
برایATmega8P-ATmega48V-ATmega8-ATmega8A=ATmega8L-ATmega88P-ATmega88V- ATmega168P-ATmega168PV- ATmega328P: تمامی خاموش- 2، 4، 6 روشن
تنظیم برای ATmega16A-ATmega32A: تمامی خاموش – 1، 4، 5، 7 روشن
برنامه ریزی PIC18F4550
این میکروکنترلر با استفاده از MPLAB IDE ویا PICKit 2 با پروگرمر PICKIT2 قابل برنامه ریزی است. تنظیمات Configuration به صورت زیر است:
CONFIG1L(300000) = 0x20
CONFIG1H(300001) = 0x0E
CONFIG2L(300002) = 0x39
CONFIG2H(300003) = 0x1E
CONFIG3L(300004) = —-
CONFIG3H(300005) = 0x01
CONFIG4L(300006) = 0x81
CONFIG4H(300007) = —-
CONFIG5L(300008) = 0x0F
CONFIG5H(300009) = 0xC0
CONFIG6L(30000A) = 0x0F
CONFIG6H(30000B) = 0xE0
CONFIG7L(30000C) = 0x0F
CONFIG7H(30000D) = 0x40
نصب درایور پروگرمر میکروکنترلر WiCardKit
داخل پوشه WiCard Kit 1.0 WinDriver فایل نصب درایور قرار دارد. بعد از اتصال برد WiCardKit 1.0 به پورت USB، فایل نصب درایور را باز کنید و با زدن دکمه اینتر درایور نصب خواهد شد.
به صورت دستی می توانید فایل پوشه Driver را از طریق Device Manager نیز نصب کنید.
بعد از نصب درایور یک بار پورت USB برد را جدا کنید و بعد 30 ثانیه دوباره به همان پورت متصل کنید.
در صورتی که درایور به درستی نصب شده باشد، می توانید آدرس COM آن را در Device Manager مشاهده کنید:
نسخه نرم افزار و فریمور سخت افزاری باید مطابقت داشته باشد.
نصب نرم افزار پروگرمر میکروکنترلر WiCardKit
برای نصب وارد فلدر SoftwareBin شوید و روی setup کلیک کنید و در پنجره ای که ظاهر می شود، روی Install کلیک کنید.
نرم افزار به صورت خودکار نصب خواهد شد و آیکن آن نیز در دسکتاپ کپی خواهد شد. پس از نصب به صورت خودکار باز می شود و از شما می خواهد که پورت سخت افزاری را ابتدا انتخاب کنید.
شناسایی سخت افزار
پس از اتصال برد WiCardKit به USB، در صورتی که درایور آن نیز به درستی نصب شده باشد، پورت آن به صورت COM ثبت خواهد شد.
در نرم افزار روی Port کلیک کنید و پورت مربوط به برد را انتخاب کنید.
درصورتی که به درستی انتخاب شده باشد، “WiCardKit 1.0 Found” را در پایین پنجره مشاهده خواهید کرد.
برنامه ریزی آیسی میکروکنترلر
برای برنامه ریزی میکروکنترلر، ابتدا آیسی مورد نظر را از منوی Chip Selection انتخاب کنید.
بعد از انتخاب آیسی، نحوه قرارگیری آیسی و نحوه تنظیم دیپ سویچ را مشاهده خواهید کرد.
در قسمت زیرین منو، سه نوع فایل با پسوند های .hex، .rom و .bin را می توانید برای فلش میکروکنترلر و سه نوع فایل با پسوند های .hex، .eep و .bin را برای برنامه ریزی در حافظه EEprom میکروکنترلر انتخاب نمایید.
ناحیه Fuse and Config Bits تنظیمات فیوز و قفل حافظه را نشان می دهد و همچنین مقدار دلخواه خود را می توانید در کادر مربوطه وارد کنید.
قسمت Device IDs and Status اطلاعات میکروکنترلر را نمایش می دهد.
با کلیک روی دکمه Check، اطلاعات آی دی میکروکنترلر، کالیبراسیون، فیوزها و قفل خوانده می شود.
دکمه Erase and Unlock، ابتدا حافظه فلش میکروکنترلر را پاک می کند، سپس مقادیر فیوز را به حالت پیش فرض برمیگرداند تا با پروگرمر معمولی قابل برنامه ریزی باشد.
دکمه Program and Verify ابتدا یک مرحله فلش را پاک می کند، سپس برنامه فایل انتخابی فلش و eeprom را در میکروکنترلر برنامه ریزی می کند. پس از آن فیوز ها و قفل را برنامه ریزی می کند و درستی برنامه ریزی را نیز چک می کند.
درصورت کلیک بر روی دکمه Read EEprom، داده های EEprom درصورتی که قفل نشده باشد خوانده میشود و در پنجره ای برای ذخیره فایل باینری، مسیر را دریافت می کند.
دکمه Read Flash نیز اطلاعات فلش را در صورت قفل نبودن خوانده و ذخیره می کند.
دکمه Write Config/Fuse برای برنامه ریزی فیوز ها مورد استفاده قرار می گیرد. در صورتی که نوشتن فیوز در قسمت Lock bits از پیش قفل نشده باشد، فیوز ها نیز برنامه ریزی خواهند شد.
پروژه ها را می توانید از بخش زیر دریافت کنید:
نوشته شده توسط: محمد مهدی کفش کنان – مهندس الکترونیک و برنامه نویسی فول استک و بنیانگذار WiCardTech