תוכן עניינים:

מתכנת VUSBTiny AVR SPI: 3 שלבים
מתכנת VUSBTiny AVR SPI: 3 שלבים

וִידֵאוֹ: מתכנת VUSBTiny AVR SPI: 3 שלבים

וִידֵאוֹ: מתכנת VUSBTiny AVR SPI: 3 שלבים
וִידֵאוֹ: AVR SPI bus test. 2024, נוֹבֶמבֶּר
Anonim
מתכנת VUSBTiny AVR SPI
מתכנת VUSBTiny AVR SPI

לאחר שיצרתי מתכנת ISTP usbtiny והשתמשתי בו במשך 6 חודשים, חיפשתי להכין עוד אחד לנשיאה. אני אוהב את הפשטות של עיצוב ה- isbt usbtiny אבל הייתי רוצה להפוך אותו לקטן עוד יותר ולקחת פחות חלקים. דבר אחד בעיצוב המקורי שאני רוצה לשנות הוא לבטל את השימוש בגביש שעון. פתרון אחד שמצאתי הוא שמנהלי v-usb תומכים במתנד הפנימי 16.5Mhz במכשירי attiny25/45/85. אז אני מתחיל את הפרויקט הזה כדי ש- usbtiny isp יעסיק v-usb לתקשורת USB. היתרונות המיידיים הם בכך שהיא חוסכת מקום ויש לה פחות ספירת רכיבים (אין יותר גבישים). תיאור ספקות מאת https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny הוא יישום תוכנה של USB במהירות נמוכה פרוטוקול עבור מיקרו -בקרי Atmel ATtiny. כמובן, זה יעבוד גם על סדרת ATmega. התוכנה כתובה עבור AVR בשעון של 12 מגה -הרץ. בתדר זה, כל ביט באוטובוס ה- USB לוקח 8 מחזורי שעון, ועם הרבה תחבולות אפשר לפענח ולקודד את צורות גל ה- USB על ידי תוכנה. מנהל התקן ה- USB זקוק לכ -1250 עד 1350 בתים של שטח הבזק (לא כולל מחרוזות הזיהוי האופציונאליות), בהתאם לתצורה ולגירסת המהדר, ו -46 בתים RAM (ללא שטח מחסנית). ממשק C מורכב מ -3 עד 5 פונקציות, בהתאם לתצורה. Vusb תיאור מ https://www.obdev.at/products/vusb/ V-USB הוא יישום תוכנה בלבד של התקן USB במהירות נמוכה עבור Atmel's מיקרו -בקרי AVR, המאפשרים לבנות חומרת USB כמעט עם כל מיקרו -בקר AVR, ללא צורך בשבב נוסף. וידאו על בנייה ושימוש

שלב 1: תכונות וחלקים

תכונות וחלקים
תכונות וחלקים

* היגיון תכנות מ- usbtiny isp, תמיכה בוגרת ב- avr-dude * טביעות רגל קטנות * רכיבים מינימליים * סמכויות מכשיר מטרה שימו לב כי קווי ה- io ל- mcus היעד אינם מוגנים. אתה יכול להוסיף נגדים 1k-2k ל- SCK ול- MOSI ולהגן מפני חיבורים שגויים אפשריים בהתבסס על העבודות הנמצאות ב- v-usb מהמסגרת https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/רשימת חלקים * attiny45/85 (יותר קל להגיע 85) * דיודות זנר 3.6v (1n747, BZX79,.. סוגים של 1W) * 68 Ohm נגד x 2 * 1.5K נגד * מיני קרש לחם 170 נקודות קשר * כבל USB (כבל מדפסת usb חנות בסדר) * נגדים 1k/2k להגנה על קווי io (אופציונלי) כלים נדרשים * מתכנת AVR עובד (כן, זה קולט 22, אנחנו צריכים אחד כדי ליצור אחד) * סביבת תכנות avr עובדת

שלב 2: פריסת לוח קרשים, סכמטי ובנייה

פריסת לוח לחם, סכמטי ובנייה
פריסת לוח לחם, סכמטי ובנייה
פריסת לוח לחם, סכמטי ובנייה
פריסת לוח לחם, סכמטי ובנייה

בְּנִיָה

* עקוב אחר פריסת לוח הלחם, אין רכיבים שיכולים להיות, 3 נגדים, 2 דיודות, כובע אחד, ועוד 8 פינים mcu. * קבל כבל מדפסת USB בחנות דולר לחתוך את קצה המדפסת, יהיו 4 חוטים חשופים, אבטח והפוך אותם לכותרת זכר בעלת 4 פינים, נשתמש בה לחיבור ללוח הלחם. עיין בסכימה לפריסה והקצאת סיכות (J1). * היזהר מקוטביות הדיודה.

בונה והבהב את הפרויקט

הפרויקט נבנה בתוך תיבת lucid ubuntu של linux עם שרשרת כלים avr-gcc. ההנחה היא שכבר יש לך סביבה כזו, או שאתה יכול לברר מהאינטרנט כיצד להתקין אותה. קודי המקור מורשים מ- gnu gpl v2 מרשת ירושה.

קוד המקור עוקב אחר מוסכמה המומלצת על ידי v-usb, אתה יכול להוריד את חבילת המקור vusbtiny.tgz ולבטל אותה ללא כניסה לספריית פרויקטים. בתוך ספריית המקורות שלך, יש main.c, שהיא הגרסה שלי של מתכנת usbtiny שהשתנה. וספריית משנה של usbdrv, המכילה את שכבת v-usb. אנא בדוק את תנאי הרישוי משני הפרויקטים שלעיל בעת בנייתו. המקור שלי בהיגיון המתכנת מבוסס על גרסת דיק סטריפלנד ולא על גרסת הלדיאדה (למרות שהם כמעט זהים).

למי שאין לו שרשרת לבנות מדי, אתה יכול להשתמש בינארי הבא

לחץ להורדת vusbtiny.hex

והשתמש ב- avrdude להבזק קושחה

פלאש avrdude -c usbtiny -p t45 -e -V -U: w: usbtiny.hex

(אם המכשיר שלך הוא זעיר 85, החלף -p t45 w/ -p t85)

ניתן להוריד את המקור כאן לחץ להורדה vusbtiny.tgz

בטל את חבילת המקור לספריית העבודה שלך

tar -zxvf vusbtiny.tgz

* לעשות cd vsubtiny, לשנות לספריית העבודה של vusbtiny * תיקון מיידי של מכשיר היעד לפי השבב בו תשתמש. כלומר PROGRAMMER_MCU = t45 או t85 * עשה צירוף * צרף את מתכנת ספק האינטרנט האהוב עליך * שנה קובץ משנה ושנה את פרמטרי avrdude שלך במידת הצורך. המניה מניחה מתכנת USBTiny. כלומר, קושחת פלאש AVRDUDE_PROGRAMMERID = usbtiny * באמצעות התקן התקנה

לאחר מהבהב הקושחה, עלינו להגדיר כראוי את הנתיך, אנו משתמשים באיפוס סיכה 1 כ- io בפרויקט זה

* שעון ppl בשימוש כנדרש על ידי שכבת v-usb לתזמון usb * סיכת איפוס מושבתת מכיוון שאנו צריכים להשתמש בו בתור io

avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m

הגדרה זו מבטלת תכנות נוסף באמצעות SPI 5V מכיוון שאנו זקוקים לפין RESET (pin1) עבור io. תצטרך גישה למתכנת HVSP כדי לשחזר את הנתיך.

שלב 3: שימוש ויישום

שימוש ויישום
שימוש ויישום
שימוש ויישום
שימוש ויישום
שימוש ויישום
שימוש ויישום

מהבהב ישיר על קרש הלחם

אם אתה משתמש ב- vusbtiny להבזק התקני AVR 8 פינים, תוכל פשוט ללחוץ על מכשיר היעד שלך על גבי מכשיר המתכנת. המתכנת תוכנן כך שסיכות התכנות יתאימו למטרות. עם זאת יש טריק אחד, יהיה עליך לבודד את סיכה 2 ו -3 במכשיר המתכנת, מכיוון שהם סיכות D+ ו- D מסוג USB המתחברות למחשב האישי. אני משתמש בחיתוך סרט נייר כדי להשיג זאת, אתה יכול לראות זאת בתמונות. להלן להלן "רכיבה" זעירה של 13v על ה- tiny45, מוכנה לקבלת קושחה.

ספק האינטרנט מהבהב באמצעות מגשר

כדי לתכנת מעגל מטרה באמצעות ספק שירותי אינטרנט (תכנות בתוך המערכת), אתה צריך כבל של ספק שירותי אינטרנט. כאן אני לא משתמש בכותרות הסטנדרטיות של 2x3 או 2x5 פינים. במקום זאת אני משתמש במגשר 1x6 שהוא יותר ידידותי ללוח, אתה יכול ליצור כותרת 2x3 או 2x5 פינים על ידי מיפוי אותם ל- J2 כפי שמוצג בפריסת הלוח והסכימות. התמונה הבאה מציגה זעיר 2313 מוכן להבהב באמצעות ספק האינטרנט.

פתרון תקלות

* לא מצליח להבהב את הקושחה? בדוק את המתכנת המקורי שלך, ייתכן שיהיה עליך להתאים את התזמון באמצעות דגל -B ב- avrdude. נסה לקרוא שבב ראשון, עשוי להיות נתיך רע, ייתכן שהשבב שלך צריך אות שעון חיצוני. ייתכן שיהיה עליך לתקן את השבב שלך בחזרה לברירת המחדל הראשונה. * בדוק חיבורים * אם השתמש בסיכות io שונות, בדוק קוד וחיבורים * תוכל להחליף דיודות זנר עם סוג של 500mw, 400mw * תוכל לנסות להפחית את ערך R3 ל- 1.2K או פחות * סביר יותר להיתקל בבעיות תזמון avrdude, נסה -B דגל avrdude, יש כבל USB קצר יותר, כל זה עוזר

מוּמלָץ: