Πίνακας περιεχομένων:
- Βήμα 1: Χαρακτηριστικά και μέρη
- Βήμα 2: Διάταξη Breadboard, Σχηματική και Κατασκευή
- Βήμα 3: Χρήση και εφαρμογή
Βίντεο: Προγραμματιστής VUSBTiny AVR SPI: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
αφού έφτιαξα έναν προγραμματιστή usbtiny isp και τον χρησιμοποίησα για 6 μήνες, κοίταζα να φτιάξω έναν άλλο για μεταφορά. μου αρέσει η απλότητα του σχεδιασμού usbtiny isp, αλλά θα ήθελα να το κάνω ακόμα μικρότερο και να λάβω λιγότερα μέρη. Ένα πράγμα στον αρχικό σχεδιασμό που θέλω να αλλάξω είναι να εξαλείψω τη χρήση κρυστάλλου ρολογιού. Μια λύση που βρήκα είναι ότι τα προγράμματα οδήγησης v-usb υποστηρίζουν τον εσωτερικό ταλαντωτή 16.5Mhz σε συσκευές attiny25/45/85. Έτσι ξεκινάω αυτό το έργο για να έχει το usbtiny isp χρησιμοποιεί v-usb για επικοινωνία usb. τα άμεσα οφέλη είναι ότι εξοικονομεί χώρο και έχει λιγότερους αριθμούς εξαρτημάτων (όχι περισσότερους κρυστάλλους). πρωτόκολλο για τους μικροελεγκτές Atmel ATtiny. Φυσικά, θα λειτουργήσει και στη σειρά ATmega. Το λογισμικό είναι γραμμένο για AVR χρονισμένο στα 12 MHz. Σε αυτή τη συχνότητα, κάθε bit στο δίαυλο USB διαρκεί 8 κύκλους ρολογιού και με πολλά τέχνασμα, είναι δυνατή η αποκωδικοποίηση και η κωδικοποίηση των κυματομορφών USB μέσω λογισμικού. Το πρόγραμμα οδήγησης USB χρειάζεται περίπου 1250 έως 1350 byte χώρου φλας (εξαιρουμένων των προαιρετικών συμβολοσειρών αναγνώρισης), ανάλογα με τη διαμόρφωση και την έκδοση του μεταγλωττιστή και 46 bytes 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 δίοδοι zener (1n747, BZX79,..αποφύγετε τύπους 1W) * αντίσταση 68ohm x 2 * 1.5K αντίσταση * μίνι breadboard 170 tiepoints * καλώδιο usb (καλώδιο εκτυπωτή usb κατάστημα καλής ποιότητας) * αντιστάσεις 1k/2k για προστασία γραμμών io (προαιρετικά) απαιτούνται εργαλεία * εργάσιμος προγραμματιστής avr (ναι, είναι ένα catch22, χρειαζόμαστε ένα για να φτιάξουμε ένα) * περιβάλλον προγραμματισμού avr
Βήμα 2: Διάταξη Breadboard, Σχηματική και Κατασκευή
κατασκευή
* ακολουθήστε τη διάταξη του breadboard, δεν υπάρχουν εξαρτήματα, 3 αντιστάσεις, 2 δίοδοι, 1 καπάκι, συν ένα mcu 8 ακίδων. * Πάρτε ένα καλώδιο εκτυπωτή usb κατάστημα, κόψτε το άκρο του εκτυπωτή, θα υπάρχουν 4 εκτεθειμένα καλώδια, ασφαλίστε και μετατρέψτε τα σε αρσενική κεφαλίδα 4 ακίδων, θα το χρησιμοποιήσουμε για να συνδεθούμε στο breadboard. συμβουλευτείτε το σχηματικό για τη διάταξη και την ανάθεση καρφιτσών (J1). * προσέξτε την πολικότητα της διόδου.
χτίζοντας και αναβοσβήνοντας το έργο
το έργο χτίστηκε σε ένα διαυγές κουτί linux ubuntu με εργαλειοθήκη avr-gcc. υποτίθεται ότι έχετε ήδη ένα τέτοιο περιβάλλον ή μπορείτε να μάθετε από το Διαδίκτυο πώς να το ρυθμίσετε. οι πηγαίοι κώδικες διαθέτουν άδεια gnu gpl v2 από κληρονομικότητα.
ο πηγαίος κώδικας ακολουθεί μια σύμβαση που συνιστάται από το v-usb, μπορείτε να κατεβάσετε το πακέτο προέλευσης vusbtiny.tgz και να μην εμφανιστεί σε έναν κατάλογο έργου. μέσα στον πηγαίο κατάλογο, υπάρχει ένα main.c, το οποίο είναι η δική μου έκδοση του τροποποιημένου προγραμματιστή usbtiny. και έναν υπο-κατάλογο usbdrv, ο οποίος περιέχει το επίπεδο v-usb. τηρήστε τον όρο αδειοδότησης από τα δύο παραπάνω έργα κατά την κατασκευή αυτού. η πηγή μου στη λογική του προγραμματιστή βασίζεται στην έκδοση του Dick Streefland και όχι στην έκδοση ladyada (αν και είναι σχεδόν οι ίδιες).
για όσους δεν έχουν build-αλυσίδα, μπορείτε να χρησιμοποιήσετε το παρακάτω δυαδικό
κάντε κλικ για λήψη του vusbtiny.hex
και χρησιμοποιήστε το avrdude για να κάνετε flash firmware
avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex
(εάν η συσκευή σας είναι tiny85, αντικαταστήστε -p t45 w/ -p t85)
πηγή μπορείτε να κατεβάσετε εδώ κάντε κλικ για λήψη vusbtiny.tgz
ξεφορτώστε το πακέτο προέλευσης στον κατάλογο εργασίας σας
tar -zxvf vusbtiny.tgz
* do cd vsubtiny, για να μεταβείτε σε κατάλογο εργασίας vusbtiny * ajust makefile για συσκευή -στόχο σύμφωνα με το τσιπ που θα χρησιμοποιήσετε. δηλ. PROGRAMMER_MCU = t45 ή t85 * κάντε ένα make * επισυνάψτε τον αγαπημένο σας προγραμματιστή ISP * τροποποιήστε το makefile και αλλάξτε τις παραμέτρους avrdude σας εάν χρειάζεται. το απόθεμα που αναλαμβάνει ένας προγραμματιστής USBTiny. δηλαδή AVRDUDE_PROGRAMMERID = usbtiny * flash firmware μέσω make install
μετά το αναβοσβήσιμο του υλικολογισμικού, πρέπει να ρυθμίσουμε σωστά την ασφάλεια, χρησιμοποιούμε επαναφορά του pin 1 ως io σε αυτό το έργο
* ρολόι ppl που χρησιμοποιείται όπως απαιτείται από το στρώμα v-usb για χρονισμό usb * το pin reset είναι απενεργοποιημένο καθώς πρέπει να το χρησιμοποιούμε ως io
avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m
αυτή η ρύθμιση απενεργοποιεί τον περαιτέρω προγραμματισμό μέσω 5V SPI καθώς χρειαζόμαστε τον ακροδέκτη RESET (pin1) για io. θα χρειαστείτε πρόσβαση σε έναν προγραμματιστή HVSP για να ανακτήσετε την ασφάλεια.
Βήμα 3: Χρήση και εφαρμογή
αναβοσβήνει απευθείας στο breadboard
εάν χρησιμοποιείτε το vusbtiny για να αναβοσβήνει συσκευές AVR 8 ακίδων, μπορείτε απλά να πατήσετε τη συσκευή προορισμού σας πάνω από τη συσκευή προγραμματιστή. ο προγραμματιστής είχε σχεδιαστεί έτσι ώστε οι ακίδες προγραμματισμού να ταιριάζουν με τους στόχους. Υπάρχει όμως ένα κόλπο, θα χρειαστεί να απομονώσετε τους ακροδέκτες 2 και 3 στον προγραμματιστή mcu, καθώς είναι οι ακροδέκτες USB D+ και D- που συνδέονται με τον υπολογιστή. Χρησιμοποιώ μια κοπή ταινίας για να το πετύχω, μπορείτε να το δείτε στις φωτογραφίες. παρακάτω δείχνει ένα tiny13v που "οδηγά" στο tiny45, έτοιμο για λήψη υλικολογισμικού.
Ο ISP αναβοσβήνει μέσω βραχυκυκλωτήρα
για να προγραμματίσετε ένα κύκλωμα-στόχο μέσω ISP (προγραμματισμός εντός συστήματος), χρειάζεστε ένα καλώδιο ISP. εδώ δεν χρησιμοποιώ τις τυπικές κεφαλίδες 2x3 ή 2x5 pin. Αντ 'αυτού, χρησιμοποιώ έναν βραχυκυκλωτήρα 1x6, ο οποίος είναι πιο φιλικός προς το breadboard, μπορείτε να δημιουργήσετε κεφαλίδα 2x3 ή 2x5 pin, αντιστοιχίζοντάς τις στο J2, όπως φαίνεται στη διάταξη και τα σχήματα του breadboard. η παρακάτω φωτογραφία δείχνει ένα μικροσκοπικό2313 έτοιμο για λάμψη μέσω ISP.
αντιμετώπιση προβλημάτων
* δεν μπορεί να αναβοσβήνει το υλικολογισμικό; ελέγξτε τον αρχικό προγραμματιστή σας, ίσως χρειαστεί να ρυθμίσετε το χρόνο μέσω της σημαίας -B στο avrdude. προσπαθήστε να διαβάσετε το τσιπ 1ο, μπορεί να είναι μια κακή ασφάλεια, μπορεί το τσιπ σας να χρειάζεται εξωτερικό σήμα ρολογιού. ίσως χρειαστεί να επαναφέρετε το τσιπ σας στην προεπιλεγμένη 1η. * ελέγξτε τις συνδέσεις * εάν χρησιμοποιείτε διαφορετικές καρφίτσες io, ελέγξτε τον κωδικό και τις συνδέσεις * μπορείτε να αντικαταστήσετε διόδους zener w/ 500mw, τύπους 400mw * μπορείτε να δοκιμάσετε να μειώσετε την τιμή R3 σε 1,2K ή λιγότερο * είναι πιο πιθανό να αντιμετωπίσετε προβλήματα χρονισμού avrdude, δοκιμάστε -Β σημαία του avrdude, έχετε ένα πιο κοντό καλώδιο USB όλα βοηθούν
Συνιστάται:
ELEGOO Kit Lab ή Πώς να κάνω τη ζωή μου πιο εύκολη ως προγραμματιστής: 5 βήματα (με εικόνες)
ELEGOO Kit Lab ή Πώς να κάνω τη ζωή μου ως προγραμματιστή ευκολότερη: Στόχοι του έργου Πολλοί από εμάς αντιμετωπίζουν προβλήματα με τη μακέτα γύρω από τους ελεγκτές UNO. Συχνά η καλωδίωση των εξαρτημάτων καθίσταται δύσκολη με πολλά εξαρτήματα. Από την άλλη πλευρά, ο προγραμματισμός με το Arduino μπορεί να είναι περίπλοκος και μπορεί να απαιτήσει πολλές
Arduino ως ISP -- Εγγραφή Hex αρχείου σε AVR -- Ασφάλεια σε AVR -- Arduino ως προγραμματιστής: 10 βήματα
Arduino ως ISP || Εγγραφή Hex αρχείου σε AVR || Ασφάλεια σε AVR || Arduino Ως προγραμματιστής: ……………………… Εγγραφείτε στο κανάλι μου στο YouTube για περισσότερα βίντεο …….. Αυτό το άρθρο έχει να κάνει με το arduino ως isp. Εάν θέλετε να ανεβάσετε ένα εξάγωνο αρχείο ή εάν θέλετε να ρυθμίσετε την ασφάλεια σας σε AVR, τότε δεν χρειάζεται να αγοράσετε προγραμματιστή, μπορείτε να κάνετε
Προγραμματιστής AVR W/Υψηλή Τάση: 17 Βήματα
AVR Programmer W/High Voltage: This is my first Instructable. Ο πίνακας που σχεδίασα είναι προγραμματιστής AVR. Ο πίνακας συνδυάζει τις λειτουργίες 4 ξεχωριστών πρωτοτύπων πλακέτων που έχω κατασκευάσει τα τελευταία χρόνια: - Προγραμματιστής AVR υψηλής τάσης, που χρησιμοποιείται κυρίως σε συσκευές ATtiny για ρύθμιση τροφοδοσίας
Φτηνός προγραμματιστής STK500 AVR για Atmel Studio: 7 Βήματα
Φτηνός προγραμματιστής STK500 AVR για το Atmel Studio: Το Atmel Studio είναι ένα ισχυρό εργαλείο για τη δημιουργία προγραμμάτων AVR, αλλά η συγγραφή ενός προγράμματος είναι το πρώτο βήμα. Για να χρησιμοποιήσετε το πρόγραμμά σας, πρέπει να κάνετε ένα κύκλωμα και να μεταφέρετε τον κωδικό σας στον μικροελεγκτή. Μπορείτε να προγραμματίσετε το AVR από το Atmel Studio με τη χρήση
Προγραμματιστής ISP για μικροελεγκτές AVR: 4 βήματα
Προγραμματιστής ISP για μικροελεγκτές AVR: Ένας προγραμματιστής μικροελεγκτών είναι μια συσκευή υλικού που συνοδεύεται από λογισμικό που χρησιμοποιείται για τη μεταφορά του κώδικα της γλώσσας του μηχανήματος στον μικροελεγκτή/EEPROM από τον υπολογιστή. Προγραμματιστής ISP για μικροελεγκτές AVR είναι Serial Programmers που χρησιμοποιεί το