17 اردیبهشت 1401
وبعدالحمد، داستان اول مرغ بود یا تخم مرغ را همه شنیدهایم. در قضیهی مایکروکنترلر و پریگرمر هم وقتی به ساخت پریگرمر میرسیم گاهی این تضاد نمود پیدا میکند. به طوری که ممکن است برای ساخت افزارهای که در آن از مایکروکنترلری استفاده شده، نیازمند پریگرمری باشیم، اما وقتی قصد ساخت پریگرمر، برای برنامه ریزی مایکروی افزاره را داریم، درمییابیم که خود پریگرمر هم دارای مایکرویی دیگر هست و نیازمند پریگرمری دیگر! راه حل چیست؟ قید خرید پریگرمر یا ساخت آن را بزنیم و با کمی هزینه و صرف وقت، مایکروکنترلر افزاره را خارج از محل کار برنامهریزی کنیم، یا با صرف هزینهایی پریگرمری مناسب بخریم، و یا با صرف وقت و هزینه، نوعی که معرفی، ساخته و آزموده شده را بسازیم! با اطمینان می شود گفت بنا به شرایط کاری، مالی و اولویتها، هر کسی تصمیم مناسب خود را خواهد گرفت و به طریقی کار را انجام خواهد داد.
با اینکه در سال 2022 میلادی به سر میبریم و دنیای دیجیتال نه تنها با سالهای دیرین، بلکه با روزها و هفتههای گذشته نیز آشکارا تفاوتهای پرشتابی پیدا میکند، اما همچنان انجام بعضی از امور با هزینهی کم، لازمهی اقناع حس علاقمندی و سرگرمیهای الکترونیکی است.
در اوایل سال 1401 خورشیدی برای اندازهگیری پارامترهای الکتریکی بعضی از المانهای الکترونیکی، قصد ساخت افزارهایی که در آن مایکروکنترلری از خانواده PIC استفاده شده بود را داشتم. به علت مواجهه با تعطیلات سال نو و نیز قیمت و توانایی پریگرمرهای موجود در بازار از خرید منصرف، و با جستجویی مثمر در سایتهای الکترونیکی، با طرح پریگرمی ساده، ارزان و کاربردی، برای مایکروکنترلر مورد استفاده خود روبرو شدم. البته با توجه به موجودی قطعات مورد نیاز و نیز از همه مهمتر وجود یک دستگاه رایانه دسکتاپ پنتیوم 4 با سیستم عامل Xp !!، اشتیاق استفاده از این طرح دوچندان شد.
لازم به توضیح است که این طرح، در طول 22 سال بعد از ابداع، بروز رسانی های مفیدی را هم تجربه کرده، و به طور رایگان نیز در اختیار عموم گرفته است. ذکر تاریخچه این پریگرمر، با تمام نکات جالب و اثرگذاری که دارد از حوصله این وبلاگ خارج بوده، ولی مزید اطلاع علاقمندان، و قدردانی از بهبود دهندگان طرح، بعضی از لینک های مربوطه، در متن این مقاله درج می شوند. در این مقاله سعی کردم، در حد وسع و سواد الکترونیکی اندک خود، خلاصه و چکیدهایی از موارد مهم و لازم، برای ساخت و استفاده از این پریگرمر را نشر دهم.
******************************************
JDM-Multi PIC Programmer5Ver2r9
این پریگرمر، به احتمال زیاد، در سال 2002 میلادی توسط شخصی به نام Jens Dyekjar Madsen برای برنامهریزی مایکروکنترلر های خانواده PIC طرح شد. و بر این اساس با بروزرسانیهای بعدی، توسط توسعهدهندگان به نام JDM Programmer نام برده می شود. آدرس صفحه اینترنتی آقای مدسن، اکنون در اختیار یکی از شرکاء حقوقی شرکت مایکروسافت در دانمارک میباشد. (jdm.dk)
اما با جستجوی jdm Programmer، در وب میتوان به مدخل بیشتری از پریگرمرهای طرح شده بر اساس JDM دست یافت.
آخرین تلاشی که تا این تاریخ برای بهبود و به کارگیری این سختافزار، بر اساس JDM Programmer، بر روی وب یافتم، متعلق به مولّفی از سرزمین هند با آدرس https://www.hamradio.in/projects/multi-pic-programmer میباشد. ایشان طرح اخیر خود را پنجمین تلاش و دومین نسخه با تغییرات و بهبودهای سخت افزاری و هشتمین طرح با تغییرات در جایگزینی المانهای الکترونیکی و جانمایی قطعات، به نام Multi PIC Programmer5Ver2r8 نامیده و منتشر کرده است.
طرح پریگرمر ایشان، بر اساس طرح یک توسعهدهنده ژاپنی به نام FENG3 که نسخهی ژاپنی نرم افزار WinPic نیز توسط ایشان نوشته شده، و همچنین، با گردآوری تجربیات مندرج در صفحهی وب آقای Jaroslav Belza ، از کشور چک، که آخرین بروزرسانی و اطلاعرسانی خود را در10 فوریه 2009 منتشر کرده، انجام شده است. هر چند پریگرمر آقای Jaroslav Belza ، با طرحی متفاوت و سادهتر، خود را در عمل دارای مشکلات عدیده و حلنشدنی در ارتباط با بعضی از مایکروکنترلرهای PIC نشان داده به طوری که نویسنده محترم، خود نیز با درج برچسب WRONG WAY در پسزمینه صفحهی وب، اذعان به این مشکلات داشته است.
**********************
لازم هست متذکر شوم، تجربه من در ارتباط با میکروکنترلرها و به خصوص PIC ، بسیار ناچیز و کم ارزش هست. و فقط نیاز به برنامه ریزی یک نوع مایکروکنترلر PIC سرمنشآ این تحقیق و اشتراک گزاری گردیده است.
با توجه به این مقدمه، و برای معرفی پریگرمر JDM-Multi PIC Programmer به علاقمندان جدیدالورود به این وادی، با باز طراحی این سخت افزار در محیط آلتیوم، و لحاظ اندکی تغییر، و نیز با هدف حفظ نام اثر و احترام به اشتراک گزاران رایگان پیشین، این وبلاگ هم این پریگرمر را با نام ترکیبی JDM-Multi PIC Programmer5Ver2r9 در اختیار عموم پارسی زبانان قرار میدهد.
اما به هنگام استفاده از این اینترفیس درون نرم افزارهای کارساز (Software Driver)، همچون WIN PIC و IC-Prog، آن را با نام JDM Programmer خواهید یافت.
*********************
اطلاعات کلی مفید
- رابط JDM Programmer با رایانه، اینترفیس RS232 یا همان سریال بوده، و به ادعای توسعه دهندگان با ترفندهایی که کمی جلوتر به آنها اشاره خواهد شد، سریهایی از مایکروکنترلرهای 8 تا 40 پین PIC امثال PIC12C5XX, 12C67X, 16C55X, 16C61, 16C62X, 16C71, 16C71X, 16C8X, 16F8X, و Serial Memory EEPROM 24CXX را با استفاده از یک سوکت ZIF برنامه ریزی خواهد کرد.
- این پریگرمر، دارای قابلیت "VPP قبل از VDD" و پذیرای مایکروکنترلرهای PIC با حالت LVP (برنامهنویسی ولتاژ پایین) میباشد.
- پیش از ساخت این پریگرمر، توصیه میشود بررسی کنید که آیا ولتاژ خروجی کافی در پورت سریال رایانه شما وجود دارد یا خیر. اگر در پورت های TxD، DTR و RTS بیش از +7.5V (یا -7.5V) موجود نباشد، این پریگرمر کار نخواهد کرد. در لپ تاپ های جدیدی که از آی سی های رابط RS232 کم مصرف استفاده می کنند هم کار نخواهد کرد.
- بنا بر مشخصات مایکروکنترلر PIC و تجربیات کاربر، موثقترین نرم افزارهای کارساز یا (Software Driver)، برای بکارگیری این پریگرمر، دو نرم افزار IC-Prog، از شرکت Bonny Gijzen و WIN PIC میباشند. تحت نام نرم افزار اخیر، نرم افزارهای چندی در وب وجود دارند. اما منظور ما نرم افزاری است که با جستجوی ترکیبی "WinPic" AND "DL4YHF" یافت میشود.
- این پریگرمر از همه مایکروکنترلرهای PIC پشتیبانی نمیکند. PIC16C5x با این پریگرمر قابل برنامه ریزی نیست. البته با استفاده از یک مبدل می توان مایکروکنترلر PIC16C770/771، 20pin را برنامهریزی کرد.
- از آنجائیکه همهی توسعه دهندگان و انتشاردهندگان این پریگرمر، همهی مایکروکنترلرهای PIC را موجود نداشته، و آزمایش نکردهاند و یا حتی ممکن است PIC های مختلفی برنامهریزی کرده باشند ولی اطلاع رسانی نکرده باشند، اطلاعات قطعی اندکی در این باره وجود دارد.
اما PIC هایی که توسط مولّف هندی (Multi PIC Programmer5Ver2r8) ، در زمان آزمایش پریگرمر، با موفقیت برنامهریزی و تأیید گردیده عبارتند از: PIC12F629، PIC12F675، PIC16F627، PIC16F628، PIC16F630، PIC16F676، PIC16F818، PIC16F819، PIC16IC.
- مولّف هندی صفحه (Multi PIC Programmer5Ver2r8)، در تاریخ 06 فوریه 2005 اقدام به انتشار لیست بروزرسانی شدهایی از مایکروکنترلرهای آزمایش شده به صورت زیر میکند. لازم است خوانندگان محترم به این نکته توجه داشته باشند که در آن تاریخ آخرین نسخه نرم افزار IC-Prog، نسخه IC-Prog Software 1.05E Multi-Lingual بوده، و در تاریخ امروز نسخه IC-Prog Software 1.06C Multi-Lingual (updated 5th April 2011) نیز عرضه شده است.
- با احتمال بسیار زیاد و با توجه به بروز رسانی نرم افزارها، این لیست تاکنون تغییرات اساسی به خود دیده است. از کاربران اخیر نرمافزارها و پریگرمر استدعا دارد، اطلاعات بروز خود را در این موارد، برای انتشار عمومی در اختیار این وبلاگ قرار دهند.
- در کنار نام بعضی از مایکروکنترلرها، شماره ایی در داخل پرانتز (x)، به عنوان شماره پانوشت و توضیح برای آن نوع مایکروکنترلر درج شده است. شوربختانه، این پانوشت ها بر اساس عملکرد مایکروکنترلر مذکور، در طرح پریگرمر توسعه دهنده ژاپنی به نام FENG3 و با نرم افزار IC-Prog (1.05D) ذکر گردیده، و با انجام تغییرات در سخت افزار مولّف هندی صفحه (Multi PIC Programmer5Ver2r8)، بعضی از این توضیحات مانند پانوشت (3) در عمل بلا اثر گردیدهاند. بهتر بود این اصلاحات، بعد از معرفی (Multi PIC Programmer5Ver2r8) ، بر روی لیست مایکروکنترلرهای آزمایش شده هم، از سوی ایشان اعمال و سپس مجدد منتشر میشدند.
توقع این است، خوانندگان گرامی، پانوشتهای مربوطه را، با توجه به توضیحاتی که در بالا ذکر گردیده، مطالعه و بررسی نمایند.
Supported and tested devices list (added: 2005-02-06 JST)
- PIC12C508, PIC12C509
- PIC12C508A, PIC12C509A
- PIC12CE518, PIC12CE519
- PIC12C671, PIC12C672, PIC12CE673, PIC12CE674
- PIC12F508, PIC12F509 The trick of programming PIC12F508/509 using IC-Prog
- PIC12F629, PIC12F635(1)(2), PIC12F675, PIC12F683(2)
- PIC16C505
- PIC16C61, PIC16C62A,16C62B (3), PIC16C63, PIC16C63A
- PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67
- PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A
- PIC16CE623, PIC16CE624, PIC16C625
- PIC16F627, PIC16F628
- PIC16F627A (2), PIC16F628A, PIC16F648A
- PIC16F630, PIC16F636(2), PIC16F676, PIC16F684(2), PIC16F688(2)
- PIC16C710, PIC16C711(3),
PIC16C715(6) - PIC16C712, PIC16C716(3)
- PICPIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77
- PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77
- PIC16C745(3), PIC16C765(3)
- PIC16C717, PIC16C770, PIC16C771(7)
- PIC16C773, PIC16C774
- PIC16C781(7), PIC16C782
- PIC16C923, PIC16C924
- PIC16F818, PIC16F819
- PIC16F83
- PIC16C84
- PIC16F84
- PIC16F84A
- PIC16F87(2), PIC16F88
- PIC16F870(8), PIC16F871(8), PIC16F872, PIC16F873, PIC16F874(4), PIC16F876(5), PIC16F877(5)
- PIC16F873A (5), PIC16F874A (5), PIC16F876A, PIC16F877A
- PIC18F1320, PIC18F2320, PIC18F4320
- PIC18F242, PIC18F252, PIC18F442, PIC18F452
- PIC18F248, PIC18F258, PIC18F448, PIC18F458(3)
- PIC18F4539(3)
توضیحات پانوشتها:
(1) با آنکه عمل برنامهریزی به این مایکروکنترلر، به طور معمول پایان مییابد، اما پس از آن، موردی وجود دارد که وظیفه خواندن / تأیید، از آن مایکروکنترلر غیرممکن میشود. نگران نباشید، کدهای برنامه به صورت عادی در مایکروکنترلر نوشته شده است. علاوه بر این، پاک کردن و برنامهریزی مجدد نیز به طور معمول میتواند صورت پذیرد.
(2) هنوز IC-Prog (1.05D) از این مایکروکنترلرها پشتیبانی نکرده است. لطفا از WinPic استفاده کنید.
نکته مهم: با توجه به بروزرسانی های اخیر، ممکن هست، اکنون پشتیبانی شوند.
(3) از آنجایی که افزایش ولتاژ لازم به هنگام برنامه ریزی، در سخت افزار پریگرمر کمتر از مقدار مورد نیاز است، این مایکروکنترلر ها نمی توانند وارد حالت برنامه شوند. اگر MOS-FET به طور موقت حذف شود و VDD همیشه برقرار باشد یا گیت و سورس MOS-FET اتصالی یابد یا یک سوئیچ بین گیت و GND وصل شود، نوشتن برنامه به طور معمول انجام می شود.
نکته مهم: این پانوشت بر اساس طرح پریگرمر FENG3 نگاشته شده و در مورد پریگرمر موضوع این مقاله، موضوعیت ندارد.
(4) WinPic نمی تواند این مایکروکنترلرها را با JDM-Multi PIC Programmer 5 Ver.2 r9 برنامه ریزی/تأیید/پاک کند. لطفا از نرم افزار IC-Prog استفاده کنید.
نکته مهم: با توجه به بروزرسانی های اخیر، ممکن هست، اکنون پشتیبانی شوند.
(5) IC-Prog نمیتواند این مایکروکنترلرها را با JDM-Multi PIC Programmer 5 Ver.2 r9 برنامهریزی/تأیید/پاک کند. لطفا از WinPic استفاده کنید.
نکته مهم: با توجه به بروزرسانیهای اخیر، ممکن هست، اکنون پشتیبانی شوند.
(6) PIC 16C715 یک مایکروکنترلر ویژه با حافظه برنامهی 16 بیتی و یک حافظه قابل پیکربندی است. اگرچه این مایکروکنترلر در لیست پشتیبانی شده WinPic و IC-Prog قرار دارد، اما در عمل نمیتواند این مایکروکنترلر را برنامهریزی کند. علاوه بر این، اگر اقدام به برنامهریزی شود، بیت حفاظت کد ست شده و تبدیل به یک مایکروکنترلر خالی میشود (اگر قصد برنامهریزی بر روی یک مایکروکنترلر گرانقیمت از نوع JW همچون PIC16C715 را دارید، باید مطلع باشید که حتی پس از پاک کردن با UV، برنامهریزی مجدد برای همیشه غیرممکن خواهد بود!).
(7) این مایکروکنترلرهای 20 پین، دارای آرایش پایه های متفاوت با سایر مایکروکنترلرها هستند. برای برنامه ریزی این مایکروکنترلرها از روش ICSP و یا از مبدل استفاده کنید.
(8) این مایکروکنترلرها را میتوان به خوبی برنامهریزی کرد، اما نمیتوان آنها را پاک کرد. برای پاک کردن این مایکروکنترلرها از روش فوق (3) استفاده کنید. اگر برنامهریزی اشتباه پیش رفت، دستور "Erase all" را با استفاده از IC-Prog قبل از ارسال برنامه به مایکروکنترلر، اجرا کنید.
مایکروکنترلرهای خاکستری رنگ، آزمایش نشدهاند.
علاوه بر اطلاعات فوق الذکر، که ممکن است توسط تعدادی از کاربران پریگرمر، مایکروکنترلرهای جدیدی را به لیست اضافه کرده باشند، لیستی نیز توسط توسعه دهنده نرم افزار WinPic، در وبگاه مربوطه ارائه نموده که در تاریخ 25 ژانویه 2016 بروزرسانی گردیده است.
Supported PIC microcontrollers
- dsPIC30F2010 (theoretically ALL dsPIC30F devices supported, a few tested)
- PIC16C61, PIC16C71
- PIC16C84, PIC16F84
- PIC16C710, PIC16C711, PIC16C715
- PIC10F200, PIC10F202, PIC10F204, PIC10F206
- PIC12F629, PIC12F635, PIC12F675, PIC12F683
- PIC12F609, PIC16F610, PIC12F615, PIC16F616
- PIC16F627, PIC16F627A, PIC16F628, PIC16F628A
- PIC16F630, PIC16F636, PIC16F648A
- PIC16F676, PIC16F684, PIC16F688
- PIC16F73, PIC16F737, PIC16F74, PIC16F76, PIC16F77
- PIC16F818, PIC16F819
- PIC16F87, PIC16F88
- PIC16F873A...PIC16F877A
- PIC16F1782, PIC16F1783, and possibly similar devices
- PIC16F1827
- PIC18F242, PIC18F248, PIC18F252, PIC18F258
- PIC18F442, PIC18F448, PIC18F452, PIC18F458
- PIC18F2XX0/2XX5/4XX0/4XX5 (tested: PIC18F2550)
and other "quite compatible" devices, if you have the datasheet and a text editor!
TOP Layer با فرمت pdf
BOTTOM Layer با فرمت pdf
|
www.eboxak.ir © All rights reserved تمامی حقوق برای www.eboxak.ir محفوظ است. بیان شفاهی، بخش یا تمامی یک مطلب از www.eboxak.ir با ذکر واضح "ایباکسک دات آی آر" به عنوان منبع مجاز است. هر گونه استفاده کتبی از بخش یا تمامی هر یک از مطالب www.eboxak.ir در سایت های اینترنتی در صورت قرار دادن لینک مستقیم و قابل "کلیک" به آن مطلب در www.eboxak.ir مجاز بوده و در رسانه های چاپی نیز در صورت چاپ واضح "www.eboxak.ir" به عنوان منبع مجاز است. استفاده تجاری از بخش یا تمامی محتوی این مطلب، باعث ضمان، و حق شرعی ناشر مطلب محفوظ و منتفعین تجاری سازی ضامن رضایت ناشر می باشند. |
|
|





دیدگاهها
هیچ نظری هنوز ثبت نشده است.