برنامه نویسان میکروکنترلر USB برای مبتدیان. ساخت برنامه نویس COM برای میکروکنترلرهای AVR. برنامه نویس با استفاده از پورت LPT

خوب، وقت آن است که یک برنامه نویس USB بسازیم. برای مدت طولانی نمی توانستم تصمیم بگیرم کدام برنامه نویس را مونتاژ کنیم. من با توجه به معیارهای سادگی طراحی و سهولت کار با آنها را انتخاب کردم، اما چیزی را دوست نداشتم. شانس به من کمک کرد تا یک برنامه نویس انتخاب کنم. یا بهتر است بگویم، من اصلاً آن را انتخاب نکردم - به طور تصادفی آن را بدون شک خودم مونتاژ کردم!

و همینطور بود. چند پست پیش ما یک مبدل USB به UART روی ATtiny2313 ساختیم (حتی PCB را نیز بهبود بخشیم). حتی هنگام انتخاب مدار مبدل، من قصد داشتم بر اساس آن (با پر کردن سیستم عامل های مختلف) دستگاه هایی را برای اهداف مختلف به دست بیاورم. در آن زمان، من شک نداشتم که این مبدل می تواند بیشتر از آنچه برنامه ریزی کرده بودم مورد استفاده قرار گیرد. دیدن مدار USBبرنامه نویس - USBtiny در ATtiny2313 متوجه شدم که قبلا یک برنامه نویس آماده دارم!

با نگاهی به نمودار ساخته شده قبلی، مبدل USB به UART(صفحه نخست)


و یک نمودار از USBTiny برنامه نویس USB(صفحه نخست)

می توانید آن را ببینید این همان الگوی است. تفاوت ها جزئی هستند - هیچ LED سیگنال و چند مقاومت وجود ندارد. برای اینکه مبدل تبدیل به یک برنامه نویس USB شود، فقط باید میکروکنترلر را فلش کنید سیستم عامل جدیدو یک کابل برای اتصال ایجاد کنید.

حالا همه چیز مرتب است.
1 ابتدا باید مبدل را مونتاژ کنید(اگر هنوز آن را جمع آوری نکرده اید).
این هم عکسی از PCB مبدل:
اگر علاقه مند هستید، اینجاست.
مبدل مونتاژ شده به شکل زیر است:

2 تخته را کمی اصلاح می کنیم
برای ارائه تمام سیگنال های لازم برای برنامه نویسی، مقاومت های محافظ با مقدار اسمی 100 اهم را در خط پایه های 12، 16، 17، 18، 19 لحیم می کنیم (مقدار مهم نیست - می توانید آن را تغییر دهید).


3 حالا باید میکروکنترلر را فلش کنید.
خطوط برنامه نویس به کانکتور مشترک برد آورده می شود (به جز تنظیم مجدد - هزینه جداگانه دارد).

احتمالاً نیازی نیست بگویید که برای فلش میکروکنترلر به یک برنامه نویس نیاز دارید. با عجله می توانید مونتاژ و فلش کنید.


نمودار مدار ساده است.

از ویژگی ها - من LED نشانگر و مقاومت بالاست را برای آن با هزینه روی کانکتور بیرون آوردم - این به این دلیل است که می توان از برد برای دستگاه های دیگر بدون لحیم کاری استفاده کرد (خب خنک تر است - LED درست در کانکتور چشمک می زند :)). علاوه بر این، خط Vcc از کانکتور مشترک جدا می شود - این در صورتی است که دستگاه در حال برنامه ریزی نه از USB، بلکه از منبع خودش (که در اصل مطلوب است) تغذیه شود. مطلوب است که خطوط سیگنال (SCK، MISO، MOSI) محافظت شود (به عنوان مثال، با متناوب سیگنال و خطوط زمین در یک حلقه). طول قطار نباید بزرگ باشد - تا 50 سانتی متر، نه بیشتر. اگر نیاز به برنامه نویسی دارید دستگاه از راه دورهمیشه می‌توانید از کابل USB استفاده کنید - قابل اعتمادتر است. در اینجا رشته تمام شده من است:



5 برنامه نویس آماده است اکنون باید درایور را نصب کنیدبرای اینکه ویندوز با آن کار کند (به نظر می رسد برای Mac OS X و Linux به هیچ درایوری نیاز نیست). همه چیز در اینجا ساده است:

5.1 درایور را دانلود کنید، آن را از حالت فشرده خارج کنید.
صفحه درایورها


5.2 ما برنامه نویس خود را در پورت USB قرار می دهیم.




5.3 پیامی در سینی ظاهر می شود مبنی بر اینکه دستگاه جدیدی پیدا شده است.



5.4 جادوگر سخت افزار جدید یافت شده شروع می شود.



5.5 پوشه با درایور را در کادر "جستجوی محل" مشخص کنید.



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

Winda یک دستگاه جدید دید و آماده کار با آن است.

برنامه نویس USBtiny که توسط AVRDude پشتیبانی می شودیعنی بسیاری از محیط های برنامه نویسی بدون مشکل با آن کار خواهند کرد. مزیت دیگر کار با AVRDude این است که پوسته‌های رابط کاربری گرافیکی زیادی برای کار با AVRDude وجود دارد که می‌توانید از بین آن‌ها موردی را که مناسب شماست انتخاب کنید (اما در مقاله بعدی در مورد آن بیشتر توضیح خواهیم داد).

من قبلاً با USBTiny کار نکرده ام ، اما بررسی های مربوط به آن در شبکه مثبت است (با قابلیت اطمینان و سرعت برنامه نویسی متمایز می شود) - سیستم عامل آزمایشی من این را تأیید کرد. ATtiny2313 در 10 ثانیه فلش می شود (این با تأیید است). میکروکنترلر به طور قابل اعتماد تعریف و برنامه ریزی شده است - در طول آزمایش های من هیچ خطایی وجود نداشت. برنامه نویس خوب!


فایل های مقاله:
- ترسیم PCB UART-USB روی ATtiny2313
- نرم افزار برنامه نویس USBtiny برای ATtiny2313
- فیوز بیت ATtiny2313 برای USBtiny
- نمودار کابل برای برنامه نویس USBtiny

مسابقه رادیو آماتور مبتدی
"طراحی رادیوی آماتور من"

برنامه نویس USB AVR

طرح و نرم افزاریک برنامه نویس ساده USB AVR با سرعت بالا که یک رادیو آماتور تازه کار می تواند با دستان خود آن را جمع کند

طراحی رقابتی یک رادیو آماتور تازه کار -
برنامه نویس USB AVR

سلام دوستان عزیزو مهمانان سایت!
دومین اثر رقابتی را به دادگاه شما تقدیم می کنم.
نویسنده طرح گریگوریف ایلیا سرگیویچ.
اکنون در سایت ما نه تنها "یخ شکسته است"، بلکه "جلسه ادامه دارد".

برنامه نویس USB AVR

کمی در مورد این طراحی
در نگاه اول، به نظر می رسد که این طرح برای مبتدیان پیچیده است، نه "خیلی سخت"، و نویسنده در حال حاضر یک آماتور رادیویی نسبتاً با تجربه است.
من جرات دارم به همه اطمینان دهم که ایلیا سرگیویچ یک آماتور رادیویی تازه کار است. و با طراحی خود ثابت کرد که با میل، پشتکار، اراده، هر آماتور رادیویی تازه کار می تواند طرحی به این پیچیدگی را مونتاژ کند.
خوب، اکنون، کلمه به نویسنده.

گریگوریف ایلیا سرگیویچ، شهر خاباروفسک

سلام به همه!
دومین کار تکمیل شده ام را به دادگاه شما تقدیم می کنم (اولی فلاشر ساده است).
تصمیم گرفتم در آینده مدارهایی را بر اساس هر ریز مداری که نیاز به برنامه ریزی دارد جمع کنم، که در واقع به یک برنامه نویس نیاز دارد!
تعداد زیادی طرح در اینترنت برای هر سلیقه ای وجود دارد، اما مشکل اصلی و نکته به طرح ها این است که من نه LTP دارم و نه پورت COMو گزینه برنامه نویس USB باقی می ماند. اما حتی در اینجا یک مشکل وجود دارد - برای اکثر برنامه نویسان، برای شروع، ریزمدارهای آنها باید برنامه ریزی شود تا کار کنند، و برای این کار شما به ... - درست است، یک برنامه نویس! البته این امکان وجود داشت که برنامه نویس گروموف را مونتاژ کنم، از طریق دوستان بروید و یک پورت LTP یا COM پیدا کنید، اما من نمی خواستم. آخرین گزینه باقی مانده است - استفاده از برنامه نویس مبتنی بر تراشه FT232RL، منهای این برنامه نویس و این تراشه فقط قیمت دومی است - در خاباروفسک حدود 230 روبل هزینه دارد. تصمیم گرفتم در چنین پولی صرفه جویی نکنم و مونتاژ برنامه نویس را در FT232RL انجام دهم.

بنابراین لیست قطعات اینجاست:
این قلب برنامه نویس است - FT232RL. قیمت - 230 R
تراشه دوم 74HC244 است، به آن نیاز است، زیرا این برنامه نویس یک منهای دیگر دارد - در پایان برنامه نویسی خط RESET را نمی دهد. بنابراین، برای شروع مدار، لازم است کانکتور ISP را از برد جدا کنید، که بسیار ناخوشایند است. این را می توان با اضافه کردن یک تراشه بافر 74HC244 به این مدار حل کرد. قیمت 20-30 تومان
و سپس مجموعه ای از چیزهای کوچک:
- 4 مقاومت 47 اهم
- 4 مقاومت 100 اهم
- 1 مقاومت در 4.7Kom
– 3 مقاومت 300 اهم
- 3 کندر در 0.1u
– 3 LED (s، h، g)
- 1 دیود شاتکی (به طوری که یک جریان معکوس احتمالی از دستگاه در حال فلش، پروگرامر و رایانه شخصی را نمی سوزاند)
– 1 نوع USBب، به آن چاپگر نیز می گویند
این تمام چیزی است که شما نیاز دارید! چیزهای کوچک حدود 50 روبل قیمت دارند
من تمام کامپوننت ها را در نسخه معمولی و smd گرفتم، زیرا. من به طور کامل نمی دانستم کار من با اجزای smd چگونه به پایان می رسد، ناگهان مجبور شدم یک نسخه بزرگ را مونتاژ کنم.

این هم خود طرحواره:

اصل عملیات.
برنامه نویس از پورت USB تغذیه می شود. سطوح خروجی پروگرامر با استفاده از جامپر JP1 را می توان روی 5 ولت یا 3 ولت تنظیم کرد.
ولتاژ منبع تغذیه پروگرامر را می توان از طریق کانکتور X2 به برد مورد برنامه ریزی اعمال کرد که برای این کار باید جامپر JP2 را ببندید.
باید در نظر داشت که با منبع تغذیه 5 ولت، ولتاژ از درگاه USB تامین می شود. و حداکثر جریانی که می توان از پروگرامر دریافت کرد به 500 میلی آمپر محدود می شود. با این حال، برای این جریان، تراشه FT232 باید با استفاده از ابزار FT Prog پیکربندی شود.
با منبع تغذیه 3 ولت، ولتاژ از خروجی تثبیت کننده داخلی میکرو مدار FT232 گرفته می شود که حداکثر جریان آن حدود 50 میلی آمپر است.
برای جلوگیری از برق رسانی به پورت USB از دستگاه خارجیبرنامه نویس دارای یک دیود شاتکی است (آنها یک افت ولتاژ کوچک در جهت جلو دارند). در صورت تمایل، دیود VD1 را می توان با یک دیود معمولی یا یک جامپر جایگزین کرد، اما این یکی در معرض خطر و خطر شماست.
همچنین پروگرامر را می توان به عنوان مبدل USB-UART استفاده کرد. برای انجام این کار، سیگنال های RXD، TXD به کانکتور X2 خروجی می شوند و LED2، LED3 وصل می شوند. هنگام انتقال داده ها چشمک می زنند.
پروگرامر نیازی به جدا شدن از برد در حال برنامه ریزی ندارد، زیرا پس از برنامه ریزی، تراشه DD1 بافرهای خروجی را به حالت سوم تغییر می دهد.
زمانی که برنامه ریزی در حال انجام است، LED1 روشن می شود.
یک سیگنال ساعت می تواند به پد JP خروجی شود. این نیاز به پیکربندی FT232 با استفاده از ابزار FT Prog دارد.

خود فرآیند ساخت.
ابتدا نمودار را روی یک ورق مجله براق چاپ کردم (هم از کاغذ عکس و هم کاغذ چسب برای چاپگر استفاده کردم، همه چیز درست نیست ... بهترین اثر چاپ نمودار روی یک مجله براق است). سپس، پس از اتصال ورق براق با یک تکه تکستولیت، شروع به اتو کردن با اتو می کنیم و حداکثر دما را روی آن قرار می دهیم. ابتدا اتو را مستقیماً روی برگ قرار دادم تا به تکستولیت بچسبد، آن را به مدت 10 ثانیه نگه داشتم، سپس یک تکه کاغذ را روی آن گذاشتم و 3-4 دقیقه شروع به اتو کردن کردم، سپس تکه کاغذ را برداشتم و چند ثانیه دیگر اتو را گذاشتم و گوشه تیز اتو را روی جاهایی که مسیرهای آینده برای ریزگردها قرار خواهد گرفت، حرکت دادم.

پس از آن اتو را بردارید و بگذارید تخته کاملا خنک شود. سپس تکستولیت خود را با یک کاغذ گلاسه به مدت 5 دقیقه در آب گرم فرو می کنیم تا کاغذ خیس شود و از تکستولیت عقب بماند سپس کاغذ را با احتیاط گرد می کنیم. این چیزی است که اتفاق می افتد:

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

سپس یک سواب پنبه ای با استون برداشتم و تونر را برداشتم و سپس آن را قلع کردم.

و شروع به لحیم کردن کرد:

من برنامه نویس را مونتاژ کردم و پس از آن اجباری همه چیز را برای اتصال کوتاه بررسی کردم. به طور کلی، از آنجایی که من ابتدا با چنین ریزه کاری کار کردم ، سپس بعد از هر مقاومت ، بعد از هر مجرا ، برنامه نویس را از نظر خلاص شدن بررسی کردم (بسیار واضح است که آیا لحیم کاری به مسیرهای مجاور برخورد کرده است) و با یک مولتی متر اتصال کوتاه را بررسی کردم. نتیجه این است - 2 بار اتصال کوتاه در زیر مقاومت ها وجود داشت ... همه چیز را با موفقیت تعمیر کردم.
همچنین پس از مونتاژ پروگرامر، نباید فورا آن را به پورت USB وصل کنید. اطمینان حاصل کنید که هیچ اتصال کوتاهی بین زمین و پاور پلاس وجود ندارد، جامپرها را در موقعیت مورد نیاز قرار دهید و تنها پس از آن پروگرامر را به کامپیوتر وصل کنید.
راستش من نگران بودم، هرچند مطمئن بودم که اتصال کوتاهی وجود ندارد.
پس از اتصال، احساس کردم برد در ناحیه FT232RL گرم می شود و رایانه شخصی پیامی مبنی بر اتصال یک دستگاه ناشناخته با عملکرد نادرست داد. من به سرعت برنامه نویس را خاموش کردم و دوباره، همه مسیرها را برای چسبیدن لحیم به مسیرهای همسایه با دقت بررسی کردم و دوباره همه سرنخ های ریز مدار را لحیم کردم. بعدش دوباره پروگرامر رو وصل کردم و دیدم! ، برنامه نویس تصمیم گرفت و خواست که هیزم نصب کند! من هیزم نصب کردم و 2 دستگاه جدید در مدیر برنامه ظاهر شد:

هورا! اکنون می توانید به طور جدی به کار با ریز مدارها فکر کنید!
با تشکر از توجه شما!

(666.9 کیلوبایت، 2785 بازدید)

دوستان و مهمانان عزیز سایت!

فراموش نکنید که نظر خود را در مورد آثار رقابتی بیان کنید و در بحث های انجمن سایت شرکت کنید. متشکرم.

همانطور که تئاتر با آویز شروع می شود، برنامه ریزی میکروکنترلر نیز با انتخاب یک برنامه نویس خوب شروع می شود. از آنجایی که من شروع به تسلط بر میکروکنترلرهای ATMEL کردم، مجبور شدم کاملاً با آنچه تولید کنندگان ارائه می دهند آشنا شوم. آنها چیزهای جالب و خوشمزه زیادی را ارائه می دهند، فقط با قیمت های بسیار بالا. به عنوان مثال، یک روسری با یک میکروکنترلر بیست پا با یک جفت مقاومت و دیود به عنوان تسمه مانند یک "هواپیما" هزینه دارد. بنابراین، این سوال در مورد خود مونتاژ برنامه نویس مطرح شد. پس از مطالعه طولانی در مورد پیشرفت آماتورهای رادیویی با تجربه، تصمیم گرفته شد که یک برنامه نویس USBASP به خوبی تثبیت شود که مغز آن میکروکنترلر Atmega8 است (گزینه های سیستم عامل برای atmega88 و atmega48 نیز وجود دارد). حداقل اتصال میکروکنترلر به شما امکان می دهد یک برنامه نویس نسبتا مینیاتوری را جمع آوری کنید، که همیشه می توانید مانند یک درایو فلش آن را با خود ببرید.

نویسنده این برنامه نویس Thomas Fichl آلمانی است، صفحه توسعه آن با نمودارها، فایل های PCB و درایورها.
هنگامی که تصمیم به مونتاژ یک برنامه نویس مینیاتوری گرفته شد، مدار میکروکنترلر Atmega8 را در بسته TQFP32 دوباره ترسیم کردم (پایه میکروکنترلر با پین اوت بسته DIP متفاوت است):

در صورت نیاز به فلاش زدن میکروکنترلر با فرکانس کلاک زیر 1.5 مگاهرتز از جامپر J1 استفاده می شود. به هر حال، این جامپر را می توان با کاشت پایه 25 MK روی زمین به طور کلی از بین برد. سپس برنامه نویس همیشه روی آن کار خواهد کرد کاهش فرکانس. من شخصاً متوجه شدم که برنامه نویسی با سرعت کاهش یافته کسری از ثانیه طولانی تر است و بنابراین اکنون جامپر را نمی کشم بلکه دائماً با آن می دوزم.
دیودهای Zener D1 و D2 برای مطابقت با سطوح بین برنامه نویس و گذرگاه USB کار می کنند، بدون آنها کار می کند، اما نه در همه رایانه ها.
LED آبی نشان می دهد که مدار آماده برنامه ریزی است، LED قرمز در حین برنامه ریزی روشن می شود. مخاطبین برای برنامه نویسی به کانکتور IDC-06 آورده می شوند، پین اوت مطابق با استاندارد ATMEL برای یک کانکتور ISP 6 پین است:

این کانکتور دارای کنتاکت هایی برای تغذیه دستگاه های قابل برنامه ریزی است، در اینجا مستقیماً از درگاه USB رایانه گرفته شده است، بنابراین باید مراقب باشید که اجازه اتصال کوتاه را ندهید. از همین کانکتور برای برنامه ریزی میکروکنترلر کنترل نیز استفاده می شود، برای این کار کافی است پین های Reset را روی کانکتور و روی MK وصل کنید (خط نقطه چین قرمز را در نمودار ببینید). در طرح نویسنده، این کار توسط یک جامپر انجام می شود، اما من تخته را شلوغ نکردم و آن را حذف کردم. برای یک سیستم عامل، یک بلوز سیمی ساده کافی است. تخته دو طرفه به اندازه 45x18 میلی متر بود.

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

سیستم عامل میکروکنترلر کنترلی
بنابراین، پس از مونتاژ دستگاه، مهمترین چیز باقی می ماند - فلش کردن میکروکنترلر کنترل. برای این منظور، دوستانی که کامپیوتر را با پورت LPT ترک کرده اند، مناسب هستند :) ساده ترین برنامه نویس پنج سیم برای AVR
با اتصال پایه های Reset میکروکنترلر (پایه بیست و نهم) و کانکتور می توان میکروکنترلر را از کانکتور برنامه نویسی فلاش کرد. سفت‌افزار برای مدل‌های Atmega48، Atmega8 و Atmega88 وجود دارد. توصیه می شود از یکی از دو سنگ آخر استفاده کنید، زیرا پشتیبانی از نسخه Atmega48 متوقف شده است و آخرین نسخهسیستم عامل به سال 2009 باز می گردد. و نسخه های سنگ های 8 و 88 به طور مداوم به روز می شوند و به نظر می رسد نویسنده در حال برنامه ریزی برای اضافه کردن یک دیباگر در مدار به عملکرد است. ما سیستم عامل را در صفحه آلمانی می گیریم. برای آپلود برنامه کنترل روی میکروکنترلر از برنامه PonyProg استفاده کردم. هنگام برنامه نویسی، لازم است که کریستال از یک منبع ساعت خارجی با فرکانس 12 مگاهرتز کار کند. اسکرین شات برنامه با تنظیمات فیوز جامپر در PonyProg:

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

نصب درایور
نصب بر روی دستگاهی با سیستم ویندوز 7 انجام شد و هیچ مشکلی ایجاد نشد. هنگام اتصال به رایانه برای اولین بار، پیامی در مورد کشف یک دستگاه جدید ظاهر می شود که از شما می خواهد درایور را نصب کنید. نصب را از محل مشخص شده انتخاب کنید:

فوراً یک پنجره با هشداری ظاهر می شود که درایور نصب شده ندارد امضای دیجیتالیبرای کوچک ها:

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

همه چیز، اکنون برنامه نویس آماده کار است.

برنامه نویس Khazama AVR
برای کار با پروگرامر فلاشر Khazama AVR Programmer را انتخاب کردم. یک برنامه فوق العاده با رابط مینیمالیستی.

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

همانطور که ممکن است حدس بزنید، ضبط فیوزها در حافظه MK با فشار دادن دکمه Write All انجام می شود. دکمه Save پیکربندی فعلی را ذخیره می کند و دکمه Load پیکربندی ذخیره شده را برمی گرداند. حقیقت این است که من نتوانستم آن را بفهمم. کاربرد عملیاین دکمه ها دکمه پیش فرض برای نوشتن یک پیکربندی فیوز استاندارد در نظر گرفته شده است، مانند میکروکنترلرها از کارخانه (معمولاً 1 مگاهرتز از RC داخلی).
در کل در تمام مدت استفاده از این پروگرامر از نظر پایداری و سرعت از بهترین طرف خود را نشان داد. هم روی یک کامپیوتر ثابت قدیمی و هم روی یک لپ تاپ جدید بدون مشکل کار می کرد.

می توانید فایل PCB را در SprintLayout دانلود کنید

در این مقاله مراحل ساخت "گام به گام" را شرح خواهیم داد برنامه نویس USBasp برای میکروکنترلرهای AVR. در مقالات جداگانه نصب درایورها برای کارکرد را شرح خواهیم داد سیستم های ویندوز XP و Windows 7 (x64/x86). در انتهای پست لینکی با مدارک لازم برای ساخت برنامه نویس USBasp DIY وجود دارد.

پروگرامر USBasp به دلیل سهولت ساخت و استفاده از قطعات ارزان قیمت و در دسترس، محبوبیت زیادی در بین رادیو آماتورها پیدا کرده است. پارامترهای عملیاتی آن دست کمی از برنامه نویسان میکروکنترلر AVR حرفه ای و گران قیمت ندارد.

ویژگی های کلیدی برنامه نویس USBasp

  • با چندین سیستم عامل - لینوکس، مک او اس ایکس و ویندوز - از جمله ویندوز 8 کار می کند!
  • نیازی به برق خارجی ندارد.
  • قابلیت برنامه ریزی تا سرعت 5 کیلوبایت بر ثانیه
  • یک گزینه (سوئیچ 2) برای کاهش سرعت برنامه نویسی وجود دارد - برای پردازنده هایی با کوارتز کمتر از 1.5 مگاهرتز
  • ولتاژ برنامه ریزی (سوئیچ 1) 5 ولت را ارائه می دهد
  • نمایش عملکرد پروگرامر با استفاده از LED

قبل از شروع کار، ارزش دارد که با توالی تمام اقدامات انجام شده آشنا شوید، یعنی:

  1. انتخاب نمودار / ترسیم برد مدار چاپی
  2. انتقال الگوی برد مدار چاپی به فایبرگلاس فویل
  3. حکاکی PCB در محلول کلرید آهن
  4. حفاری سوراخ
  5. عناصر نصب (لحیم کاری)
  6. برنامه نویسی برنامه نویس Atmaga8
  7. اتصال برنامه نویس به کامپیوتر
  8. نصب درایور - ویندوز XP، ویندوز 7
  9. انتخاب برنامه ای با پشتیبانی USBasp

نسخه های زیادی از برنامه نویس USBasp وجود دارد، اما همه آنها بر اساس مدار اصلی، نویسنده توماس فیشل هستند. فریمور میکروکنترلر برنامه نویس نیز نویسندگی اوست.

مدار برنامه نویس اصلی:

در این مورد، طرح اصلی به عنوان پایه انتخاب شد. از آنجایی که استفاده از جامپرها در مدار اصلی چندان راحت نیست، تصمیم گرفته شد از کلیدهای DIP استفاده شود. برخی از مقادیر مقاومت نیز تغییر کرده اند.
علاوه بر این، در طرح اصلی، خطوط TxD و RxD به کانکتور ISP هدایت می شوند، اگرچه این ضروری نیست (به طور دقیق تر، آنها در عمل استفاده نمی شوند).

در زیر نمودار تغییرات ایجاد شده را مشاهده می کنید:

ساخت برنامه نویس USBasp

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

متأسفانه به دلیل استفاده از سوئیچ های DIP، طراحی برد کمی پیچیده تر شد که منجر به استفاده از 2 جامپر کوتاه شد تا تخته مدار چاپیهنوز یک طرفه بود

در زیر نتیجه PCB آمده است:

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

لیست عناصر مورد استفاده در برنامه نویس USBasp:

  • R1: 10 هزار
  • R2: 180
  • R3: 100
  • R5، R6: 68
  • R7: 2d2
  • C1, C2: 22 بخیه
  • C3: 10μ
  • C4: 100n
  • LED1: LED قرمز 20 میلی آمپر
  • LED2: LED سبز با 20 میلی آمپر
  • D2، D3: دیودهای زنر 3.6 ولت
  • X1: کانکتور USB نوع B
  • SV1: سوکت IDC-10
  • Q1: کوارتز 12 مگاهرتز، مورد HC49-S
  • SW1: سوئیچ سه موقعیت
  • IC1: Atmega8 ( توجه: از میکروکنترلر Atmega8 - PU به دلیل محدودیت حداکثر فرکانس ساعت تا 8 مگاهرتز استفاده نکنید!)

انتقال الگوی برد مدار چاپی پروگرامر USBasp به فایبرگلاس با استفاده از روش LUT () انجام شد. ما نحوه انجام این کار را شرح نمی دهیم، زیرا تعداد زیادی از این اطلاعات در شبکه وجود دارد.

به طور خلاصه بگوییم که ابتدا یک نقاشی در مقیاس 1:1 روی کاغذ گلاسه چاپ می شود، سپس روی قسمت مسی تمیز و چربی زدایی شده فایبرگلاس قرار می گیرد و با نوار کاغذی ثابت می شود. در مرحله بعد، طرف کاغذ را با اتو روی 3-ke به دقت صاف می کنیم. بعد از اینکه همه چیز در آب خیس شد و به آرامی از کاغذ تمیز شد.

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


پس از اتمام فرآیند اچینگ، تونر باید با استون حذف شود.

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

آماده چاپ (در فرمت PDF) نقشه PCB در انتهای مقاله است. همچنین می توانید چندین گزینه را در وب سایت رسمی پروژه پیدا کنید.

اولین راه اندازی برنامه نویس USBasp

اکنون که تمام قطعات لحیم شده اند، فقط باید میکروکنترلر Atmegę8 خود برنامه نویس را "فلش" کنیم. برای این کار به یک پروگرامر جداگانه نیاز دارید، می تواند مثلاً STK 200 (پورت LPT)، STK500 و غیره باشد. پروگرامر LPT از طریق کانکتور IDC-10 به USBasp متصل می شود.

لطفا توجه داشته باشید که توزیع پین در کانکتور برنامه نویس اصلی (USBasp) در سمت راست است، در حالی که در نسخه توصیف شده در این مقاله در سمت چپ است:

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

در طول برنامه ریزی، حالت SELF را با چرخاندن سوئیچ DIP شماره 3 به وضعیت ON روشن کنید. این امکان برنامه ریزی Atmega8 را فراهم می کند. پس از اتمام برنامه ریزی، موقعیت سوئیچ (3) باید روی OFF تنظیم شود.

آخرین نسخه سیستم عامل را می توان از وب سایت رسمی دانلود کرد. ما نسخه را برای Atmega8 که در آرشیو موجود است توصیه می کنیم: usbasp.2011-05-28.tar.gz.

لطفا توجه داشته باشید که قبل از برنامه ریزی Atmega8، باید فیوزهایی را تنظیم کنید که دارای مقادیر زیر هستند:

  • # برای Atmega8: HFUSE=0xC9 LFUSE=0xEF
  • # برای Atmega48: HFUSE=0xDD LFUSE=0xFF

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

نصب درایورهای برنامه نویس USBasp

روش نصب درایورهای برنامه نویس در مقالات جداگانه توضیح داده شده است، خود درایورها نیز وجود دارد. در زیر لینک مستقیم این مقالات وجود دارد:

  • نصب درایور برای برنامه نویس USBasp تحت ویندوز XP
  • نصب درایور برای برنامه نویس USBasp Windows 7 x64/x86

برنامه های برنامه نویس USBasp

اکثر برنامه محبوبکه از برنامه نویس USBasp پشتیبانی می کند، برنامه کنسول AVRdude است. همچنین برنامه های مشتق زیادی وجود دارد که استفاده از آنها بسیار راحت تر است. آنها در مقاله مقایسه برنامه های پشتیبانی از برنامه نویس USBasp ارائه شده اند.

برنامه نویس مبتنی بر درایور Objective Development است و با برنامه نویس اصلی ATMEL AVR910 کاملاً سازگار است. توضیحات دستگاه. فیوز از خطوط برق محافظت می کند پورت USBاز اتصال کوتاه تصادفی در مدارهای منبع تغذیه برنامه نویس. دیودهای VD1، VD2 یکسو کننده های سیلیکونی هستند، آنها برای کاهش منبع تغذیه میکروکنترلر به 3.6 ولت طراحی شده اند. طبق مستندات، کنترل کننده می تواند در این ولتاژ تغذیه تا فرکانس کمی بیش از 14 مگاهرتز کار کند. LED VL1 (" RD")، VL2(" WR”) اقدامات فعلی برنامه نویس را علامت می دهد و حالت های خواندن و نوشتن را نشان می دهد. LED VL3 (" PWR”) نشان می دهد که برق در حال تامین است.

جامپر J1 - ( تغییر) برای برنامه نویسی اولیه برنامه نویس کنترل MK خدمت می کند. هنگامی که بسته می شود، یک برنامه نویس خارجی به کانکتور ISP متصل می شود و برنامه کنترل در MK بارگذاری می شود. پس از برنامه ریزی پروگرامر کنترلی MK، این جامپر باید باز شود و جامپر J2 - NORMal بسته شود.

جامپر J3 SCK کمفرکانس ساعت پورت SPI برنامه نویس MK را تا 20 کیلوهرتز کاهش می دهد. هنگامی که جامپر باز است، فرکانس SPI نرمال است، هنگامی که جامپر بسته است، کاهش می یابد. شما می توانید جامپر را در حال حرکت تغییر دهید برنامه کنترلبرنامه نویس MK هر بار که به پورت SPI دسترسی پیدا می کند وضعیت خط PB0 را بررسی می کند. زمانی که بلوز را تعویض کنید توصیه نمی شود فرآیند در حال اجرانوشتن / خواندن یک MK قابل برنامه ریزی، زیرا، به احتمال زیاد، این منجر به تحریف داده های نوشته شده / خوانده شده می شود. Jumper J3 برای امکان برنامه نویسی MK AVR با کلاک از یک ژنراتور داخلی 128 کیلوهرتز معرفی شده است.

مقاومت های R10 - R14 برای مطابقت با سطوح سیگنال میکروکنترلر برنامه نویس و مدارهای خارجی (MK قابل برنامه ریزی یا برنامه نویس دیگر) طراحی شده اند. فرکانس کلاک پورت SPI پروگرامر MK با جامپر باز J3 187.5 کیلوهرتز است. این اجازه می دهد تا کنترلرها در حدود 570 کیلوهرتز برای ATtiny/ATmega، 750 کیلوهرتز برای 90S و 7.5 مگاهرتز برای 89S برنامه ریزی شوند. بسته به میزان حافظه FLASH و فرکانس ساعت، کنترلرها از 10 تا 30 ثانیه (با استفاده از ابزار AVRProg v.1.4 از بسته AVR Studio) همراه با تأیید برنامه ریزی می شوند.

یک موج مربعی با فرکانس 1 مگاهرتز به خروجی LED کانکتور ISP برای "احیای" MK که به اشتباه فیوز بیت های مسئول ساعت را برنامه ریزی کرده بود، خارج می شود. سیگنال به طور مداوم تولید می شود و به حالت عملکرد برنامه نویس بستگی ندارد. برنامه نویس با برنامه های AVRProg v.1.4 (که در بسته AVRStudio موجود است)، ChipBlasterAVR v.1.07 Evaluation، CodeVisionAVR، AVROSP (برنامه نویس متن باز ATMEL AVR) آزمایش شد. برای عملکرد عادی کنترل کننده در مدار، لازم است که بیت ها برنامه ریزی شوند (بر روی "0" تنظیم شوند. SPIEN, CKOPT, SUT0و BODEN. معمولا میکروکنترلرهایی که از کارخانه می آیند، یعنی. جدید، قبلاً کمی برنامه ریزی کرده اند SPIEN. بیت های باقی مانده باید برنامه ریزی نشده باشند (روی "1" تنظیم کنید).

دستورالعمل نصب و راه اندازی. کنترلر را فلش کنید. برنامه نویس تازه پخته شده را از طریق USB به کامپیوتر وصل کنید. سیستم عاملدستگاه جدیدی پیدا می کند - برنامه نویس USB AVR910، هنگامی که از شما خواسته می شود که به طور خودکار درایور را پیدا کند، رد کند و مسیر فایل inf را مشخص کند، بسته به سیستم عامل نصب شده روی رایانه شما.

انجمن شامل تمام فایل ها و همچنین برد مدار چاپی برنامه نویس avr ما می باشد. در اینجا من فناوری مونتاژ USB را نشان خواهم داد برنامه نویس AVRو بسته بندی در کیس ابتدا آرشیو را دانلود کرده و یک برد مدار چاپی بسازید.

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

ما تخته را با کیس تنظیم می کنیم، تمام اندازه گیری ها را انجام می دهیم، سوراخ ها را سوراخ می کنیم و در اینجا دستگاه تمام شده برای شما، با یک تخته جهانی است.

اگر تجهیزات اندازه گیری خاصی وجود ندارد، می توانید با استفاده از LED بررسی کنید. LED آند به پین ​​LED و کاتد به هر پایه GND کانکتور ISP متصل است. هنگامی که برق اعمال می شود، LED باید در "نیمه نور" بدرخشد. هنگامی که پایه های نوسانگر کوارتز با موچین بسته می شود، LED یا باید در "حرارت کامل" روشن شود، یا نباید هیچ درخششی وجود داشته باشد.

یک برنامه نویس مونتاژ شده با یک میکروکنترلر به درستی برنامه ریزی شده نیازی به پیکربندی بدون خطا ندارد. اما اگر ورودی RESET MK قابل برنامه ریزی توسط یک مقاومت به ولتاژ تغذیه کشیده شود، مقدار مقاومت نباید کمتر از 10 کیلو اهم باشد - این به دلیل کاهش ولتاژ تغذیه کنترل کننده کنترل در مدار برنامه نویس و معرفی مقاومت های محدود کننده در گذرگاه اتصال ISP است.

در مورد مقاله PROGRAMMER AVR USB بحث کنید