متغیرها، آرایه ها، رشته ها و مقدار دهی در زبان C
21 بهمن, 1388انواع حلقه های for و while قسمت 3
11 اسفند, 1388
بازدیدها: 62
پروگرامر USBasp یکی از پروگرامرهای پرسرعت و ساده و پیشرفته می باشد. این پروگرامر مدل های بسیار زیادی از میکرو کنترلرهای AVR از جمله سری ATTINY و ATMEGA و کلاسیک را پشتیبانی میکند. از مزایای آن می توان به سرعت بسیار بالای آن که حدود 5 کیلوبایت بر ثانیه است اشاره کرد و کوچک بودن و کم حجم بودن سخت افزار آن از دیگر مزایای آن می باشد. اندازه آن 6×6 سانتی متر می باشد و از قطعات بسیار ساده استفاده شده که در بازار فراوان است. مزیت مهم دیگر آن این است که از چیپ راه انداز برای پورت USB در آن استفاده نشده یعنی اینکه خود میکرو هم به عنوان راه انداز و هم به عنوان رابط استفاده شده.
طراحی سخت افزار و firmware و win-driver آن توسط یک سایت آلمانی انجام شده و نرم افزار آن جهت کار کردن با این پروگرامر را یک ایرانی به نام بهزاد خزما طراحی کرده که واقعا دستش درد نکنه.
این مدار برای میکروکنترلر ATMEGA8 و ATMEGA48 طراحی شده که خود من از ATMEGA8 استفاده کردم و اونو ساخت که خیلی هم ازش راضی هستم. شما از هر میکروی که می خواهید استفاده کنید با توجه داشته باشد که در پوشه bin/firmware دو تا فایل HEX وجود دارد که برای ATMEGA8 باید فایل هگز usbasp.atmega8.2009-02-28.hex رو با استفاده از یک پروگرامر دیگه روی میکروی ATMEGA8 کپی کنید و وضعیت فیوز بیتها را برای کریستال خارجی تنظیم کنید و همچنین فیوز بیت CKOPT رو هم باید برنامه ریزی کنید:
BOOTSZ0 = 0
BOOTSZ1 = 0
CKOPT = 0
من خودم دوباره PCB جدیدی برای اون طراحی کردم که البته با اضافه کردن چند تا مقاومت به پورت میکرو رو اونو در مقابل اتصال کوتاه شدن مورد محاظت قرار دادم. فایل شماتیک و PCB اون رو توی یک فایل PDF قرار دادم و همچنین فایل هگز و درایور USB و نرم افزار اون در این زیر قابل دانلود می باشد. درایور USB آن در دو نسخه ارائه شده که برای ویندوز های vista و ویندوز 7 قابل اجرا می باشد. برای نصب درایور باید به صورت دستی عمل کرد که به صورت زیر می باشد:
ابتدا روی My computer کلیک راست کرد و گزینه Manage را انتخاب کنید و در پنجره ظاهر شده در قسمت سمت چپ گزینه Device Manager را انتخاب کنید. در قسمت به دنبال گزینه USBasp بگردید که یک علامت زرد رنگ مثلث شکل (اخطار) هم جوی اون هست. حالا دوبار روی اون کلیک کنید و از پنجره ظاهر شده به تب Driver بروید و Update Driver را کلیک کنید و گزینه Browse my computer for driver software یا همون Locate and install driver software manually را انتخاب کنید و سپس Browse بزنید و آدرس پوشه win-driver رو بهش بدید و Next بزنید که ویندوز به صورت اتوماتیک درایور رو پیدا میکنه و اون نصب میکنه بعد از پایان نصب شما می توانید با استفاده از نرم افزار Khazama AVR Programmer کار کنید.
اتصال پروگرامر به یک میکروکنترلر خام:
نکته: درصورتی که فیوز بیت های میکرو در فرکانس پایین تنظیم شده است (میکرو خام که تازه از فروشگاه تهیه کنید) مثلا روی فرکانس 1مگاهرتز باشد شما باید جامپر J-LOW را اتصال بدهید تا کامپیوتر قادر به شناسایی آن باشد که البته سرعت انتقال داده کمی پایین هست. اما وقتی شما فرکانس را مثلا روی 4 یا 8 یا بالاتر تنظیم کردید از این به بعد می توانید اتصال J-LOW را بردارید تا سرعت انتقال داده چند برابر شود.
پین های اتصال از هدر 2*5 به یک میکروکنترلری که می خواهیم آن را برنامه ریزی کنیم به صورت زیر می باشد:
6=+5v
8=GND
2=NC
4=NC
1=MOSI
3=MISO
5=SCK
7=RESET
9=TXD
10=RXD
برای اتصال هر جهارتا پین های 1و3و5و7 باید به میکرو کنترلر مورد نظر وصل شود.
از پین 6و8 می توانید برای تهیه ولتاژ 5 استفاده نماید که البته باید جامپر J-VCC وصل باشد و به این نکته هم توجه نماید که این دو پین مستقیما به پین های ولتاژ پورت USB وصل می باشد و باید از اتصال کوتاه شدن آن خود داری کنید هرچند پورت USB توسط ویندوز و مادربورد محافظت شده می باشد ولی احتیاط شرط عقل است.
پین های 2و4 هم بی مصرف می باشد و به جایی وصل نیست
با 9و 10 هم فعلا کاری نداشته باشید.
نسخه 2011-05-28 در تاریخ 1390/01/27 جهت دانلود بر روی سایت قرار گرفته است. دوستانی که نسخه قبلی (2009-02-28) را ساخته اند می تواند پروگرامر خود را به نسخه جدید بروز رسانی کنید. ابتدا فایل هگز نسخه جدید را یا توسط یک پروگرامر دیگه درون میکروی فعلی کپی کنید و یا در صورتی که میکروکنترلر در دسترس دارید، می توانید به کمک همین پروگرامر فعلی یتان نسخه جدید را درون میکروکنترلر دیگری کپی کنید و بعد آن را با میکروکنترلر نسخه قدیمی تعویض کنید.
برای ارتقاء به نسخه جدید باید درایور قبلی را (در صورت نصب) پاک کنید و درایور نسخه جدید را نصب کنید. همچنین اگر از نرم افزار Khazama AVR Programmer 1.6.2 استفاده می کنید باید ابتدا آن را پاک کنید و سپس نسخه جدید یعنی Khazama AVR Programmer 1.7.0 را نصب کنید. به همین راحتی پروگرامر خود را ارتقاع دهید.
با توجه به فایل موجود در پوشه درایور نسخه جدید به احتمال زیاد ویندوز 7 نسخه 64 بیتی نیز قابل پشتیبانی می باشد.
در نرم افزار Khazama AVR Programmer 1.7.0 نسخه جدید از منوی Command گزینه آخر یعنی Program option را انتخاب کنید و در پنجره باز شده قسمت ISP CLK Speed سرعت ارتباط پروگرامر با میکروکنترلر را می توان تنظیم کرد، که این سرعت باید متناسب با سرعت کلاک میکرو باشه بنابراین بهترین گزینه Auto را انتخاب کنید.
مزایا و امکانات نسخه جدید:
Software
•AVRDUDE supports USBasp since version 5.2.
•BASCOM-AVR supports USBasp since version 1.11.9.6.
•Khazama AVR Programmer is a Windows XP/Vista GUI application for USBasp and avrdude.
•eXtreme Burner – AVR is a Windows GUI Software for USBasp based USB AVR programmers.
Reversion History
Change programming clock speed
Override chip signature check
Some small bugs fixed
Support new USBASP firmware version : 2011-05-289 TPI support (supports programmers with ATMega88 and ATMega8)
Add New Firmware and New Drivers to Installed folder
همانطور که مشاهد میکنید این پروگرامر در کامپایلر بسکام نسخه 1.11.9.6 به بالا قابل پشتیبانی می باشد.
منبع http://www.fischl.de/usbasp/
لیست قطعات:
U1: ATMEGA8 میکروکنترلر
D1,D2: 3.6V زنر
D3,34: LED
R1: 68Ω
R2: 68Ω
R3: 2.2KΩ
R4: 330Ω
R6: 10KΩ
R7: 1KΩ
R8,R9,R10,R11: 330Ω
C1: 4.7uF خازن الکترولیتی
C2: 100nF خازن عدسی
C3,C4: 22PF خازن عدسی
X1: 12MHz کریستال
USB: سوکت مادگی
USB-2: (پین هدر (اختیاری
PROG: پین هدر 2×5 مادگی
J-vcc,J-low sck: پین هدر 1×2
در صورت نیاز شما می توانید این پروگرامر را سفارش دهید تا برایتان بسازیم (هزینه ارسال پستی بر عهده مشتری می باشد)
