Προγραμματιστές για μικροελεγκτές avr. Κατασκευή προγραμματιστή COM για μικροελεγκτές AVR

12.01.2024

Διαγωνισμός Ραδιοερασιτεχνών Αρχαρίων
“Το ραδιοερασιτεχνικό μου σχέδιο”

Προγραμματιστής USB AVR

Σχέδιο και λογισμικόένας απλός προγραμματιστής USB AVR υψηλής ταχύτητας που ένας αρχάριος ραδιοερασιτέχνης μπορεί να συναρμολογήσει με τα χέρια του

Σχεδιασμός διαγωνισμού για έναν αρχάριο ραδιοερασιτέχνη -
"Προγραμματιστής USB AVR"

Γεια σας αγαπητοί φίλοι και επισκέπτες του ιστότοπου!
Σας παρουσιάζω τη δεύτερη συμμετοχή στο διαγωνισμό.
Συγγραφέας του σχεδίου - Γκριγκόριεφ Ίλια Σεργκέεβιτς.
Τώρα στον ιστότοπό μας όχι μόνο «Ο πάγος έχει σπάσει», αλλά και «Η συνάντηση συνεχίζεται».

Προγραμματιστής USB AVR

Λίγα λόγια για αυτό το σχέδιο.
Με την πρώτη ματιά, φαίνεται ότι αυτό το σχήμα είναι πολύπλοκο, όχι "πολύ σκληρό" για αρχάριους και ο συγγραφέας είναι ήδη ένας αρκετά έμπειρος ραδιοερασιτέχνης.
Τολμώ να διαβεβαιώσω όλους ότι ο Ilya Sergeevich είναι ένας αρχάριος ραδιοερασιτέχνης. Και με το σχέδιό του, απέδειξε ότι με επιθυμία, επιμονή και αποφασιστικότητα, κάθε αρχάριος ραδιοερασιτέχνης μπορεί να συναρμολογήσει ένα σχέδιο τέτοιας πολυπλοκότητας.
Λοιπόν, πάμε στον συγγραφέα.

Grigoriev Ilya Sergeevich, Khabarovsk

Γεια σε όλους!
Σας παρουσιάζω τη δεύτερη ολοκληρωμένη εργασία μου (η πρώτη είναι ένα απλό φως που αναβοσβήνει).
Αποφάσισα ότι στο μέλλον θα συναρμολογώ κυκλώματα με βάση κάποια μικροκυκλώματα που πρέπει να προγραμματιστούν, κάτι που, μάλιστα, απαιτεί προγραμματιστή!
Υπάρχει ένας τεράστιος αριθμός σχημάτων στο Διαδίκτυο, για κάθε γούστο, αλλά το κύριο πρόβλημα και το σχόλιο σχετικά με τα σχήματα είναι ότι δεν έχω ούτε θύρα LTP ούτε COM, παραμένει Επιλογή USBπρογραμματιστής Αλλά υπάρχει και μια σύλληψη εδώ - για τους περισσότερους προγραμματιστές, για να αρχίσουν να εργάζονται, τα μικροκυκλώματά τους πρέπει να προγραμματιστούν για να λειτουργούν, και για αυτό χρειάζεστε... - έτσι είναι, προγραμματιστής! Φυσικά, ήταν δυνατό να συναρμολογήσω έναν προγραμματιστή Gromov, να πάω σε φίλους και να βρω μια θύρα LTP ή COM, αλλά δεν το ήθελα. Παρέμεινε τελευταία επιλογή- πρόκειται να χρησιμοποιήσετε έναν προγραμματιστή που βασίζεται στο μικροκύκλωμα FT232RL, το μόνο μειονέκτημα αυτού του προγραμματιστή και αυτού του μικροκυκλώματος είναι η τιμή του τελευταίου - στο Khabarovsk κοστίζει περίπου 230 ρούβλια. Αποφάσισα να μην εξοικονομήσω χρήματα σε αυτό και να αρχίσω να συναρμολογώ έναν προγραμματιστή για το FT232RL.

Λοιπόν, εδώ είναι η λίστα των εξαρτημάτων:
Αυτή είναι η καρδιά του προγραμματιστή - FT232RL. Τιμή - 230 ρούβλια.
Το δεύτερο μικροκύκλωμα είναι 74HC244, χρειάζεται γιατί αυτός ο προγραμματιστής έχει ένα ακόμα μειονέκτημα - δεν εκδίδει γραμμή RESET μετά την ολοκλήρωση του προγραμματισμού. Επομένως, για να ξεκινήσει το κύκλωμα, πρέπει να αφαιρέσετε την υποδοχή ISP από την πλακέτα, κάτι που είναι πολύ άβολο. Αυτό μπορεί να λυθεί προσθέτοντας απλώς ένα τσιπ buffer 74HC244 σε αυτό το κύκλωμα. Τιμή 20-30 τρίψιμο.
Και μετά μια σειρά από μικρά πράγματα:
– 4 αντιστάσεις των 47 ohms
– 4 αντιστάσεις των 100 ohms
– 1 αντίσταση ανά 4,7 Kom
– 3 αντιστάσεις ανά 300 Ohm
– 3 συμπυκνωτές των 0,1u έκαστος
– 3 LED (k, g, g)
– 1 δίοδος Schottky (για πιθανή αντίστροφο ρεύμαη συσκευή που αναβοσβήνει δεν έκαψε τον προγραμματιστή και τον υπολογιστή)
– 1 Τύπος USBΒ, ονομάζεται επίσης εκτυπωτής
Αυτό είναι το μόνο που χρειάζεστε! Τα μικρά πράγματα κοστίζουν περίπου 50 ρούβλια
Πήρα όλα τα εξαρτήματα στη συνηθισμένη έκδοση και smd, γιατί... Δεν ήξερα πλήρως πώς θα μπορούσα να δουλέψω με εξαρτήματα SMD ξαφνικά θα έπρεπε να συναρμολογήσω μια μεγάλη έκδοση.

Εδώ είναι το ίδιο το διάγραμμα:

Αρχή λειτουργίας.
Ο προγραμματιστής τροφοδοτείται από τη θύρα USB. Τα επίπεδα των σημάτων εξόδου του προγραμματιστή χρησιμοποιώντας το jumper JP1 μπορούν να ρυθμιστούν είτε σε 5 V είτε σε 3 V.
Η τάση τροφοδοσίας του προγραμματιστή μπορεί να τροφοδοτηθεί μέσω του συνδετήρα X2 στην προγραμματιζόμενη πλακέτα, για την οποία πρέπει να κλείσετε τον βραχυκυκλωτήρα JP2.
Θα πρέπει να ληφθεί υπόψη ότι με τροφοδοτικό 5 volt, η τάση τροφοδοτείται από τη θύρα USB. Και το μέγιστο ρεύμα που μπορεί να ληφθεί από τον προγραμματιστή περιορίζεται στα 500 mA. Ωστόσο, για ένα τέτοιο ρεύμα, το τσιπ FT232 πρέπει να διαμορφωθεί χρησιμοποιώντας το βοηθητικό πρόγραμμα FT Prog.
Με τροφοδοτικό 3 volt, η τάση λαμβάνεται από την έξοδο του εσωτερικού σταθεροποιητή του τσιπ FT232, το μέγιστο ρεύμα του οποίου είναι περίπου 50 mA.
Για να αποτρέψετε την παροχή ρεύματος στη θύρα USB από εξωτερική συσκευήΟ προγραμματιστής έχει εγκατεστημένη μια δίοδο Schottky (έχουν μια μικρή πτώση τάσης προς τα εμπρός). Εάν επιθυμείτε, η δίοδος VD1 μπορεί να αντικατασταθεί με μια κανονική δίοδο ή βραχυκυκλωτήρα, αλλά αυτό γίνεται με δικό σας κίνδυνο και κίνδυνο.
Ο προγραμματιστής μπορεί επίσης να χρησιμοποιηθεί ως μετατροπέας USB-UART. Για να γίνει αυτό, τα σήματα RXD, TXD εξάγονται στην υποδοχή X2 και συνδέονται οι λυχνίες LED2, LED3. Αναβοσβήνουν κατά τη μεταφορά δεδομένων.
Ο προγραμματιστής δεν χρειάζεται να αποσυνδεθεί από την πλακέτα που προγραμματίζεται, γιατί μετά τον προγραμματισμό, το τσιπ DD1 μετακινεί τα buffer εξόδου στην τρίτη κατάσταση.
Το LED1 ανάβει όταν ο προγραμματισμός είναι σε εξέλιξη.
Το JP pad μπορεί να παράγει σήμα ρολογιού. Αυτό απαιτεί τη διαμόρφωση του FT232 χρησιμοποιώντας το βοηθητικό πρόγραμμα FT Prog.

Η ίδια η διαδικασία συναρμολόγησης.
Πρώτα, εκτύπωσα το διάγραμμα σε ένα γυαλιστερό χαρτί από ένα περιοδικό (χρησιμοποίησα και φωτογραφικό χαρτί και αυτοκόλλητο χαρτί για τον εκτυπωτή, δεν ήταν όλα ίδια... ίδια καλύτερο αποτέλεσμα- αυτό είναι η εκτύπωση ενός διαγράμματος σε ένα γυαλιστερό περιοδικό). Στη συνέχεια, αφού συνδέσουμε το γυαλιστερό φύλλο με ένα κομμάτι textolite, αρχίζουμε να το σιδερώνουμε με ένα σίδερο, βάζοντας το στη μέγιστη θερμοκρασία. Πρώτα, τοποθέτησα το σίδερο απευθείας στο φύλλο για να κολλήσει στο PCB, το κράτησα εκεί για 10 δευτερόλεπτα, μετά έβαλα ένα κομμάτι χαρτί από πάνω και άρχισα το σιδέρωμα για 3-4 λεπτά, μετά αφαίρεσα το κομμάτι χαρτί και Εφαρμόζοντας το σίδερο για λίγα δευτερόλεπτα ακόμη με μια κοφτερή γωνία μετακινήθηκε το σίδερο κατά μήκος των σημείων όπου θα υπήρχαν μελλοντικές διαδρομές για μικροκυκλώματα.

Μετά από αυτό, αφαιρέστε το σίδερο και αφήστε τη σανίδα να κρυώσει εντελώς. Στη συνέχεια βυθίζουμε το PCB μας με γυαλιστερό χαρτί σε ζεστό νερό για 5 λεπτά ώστε το χαρτί να βραχεί και να ξεκολλήσει το PCB και στη συνέχεια τυλίγουμε προσεκτικά το χαρτί. Να τι συμβαίνει:

Μετά δηλητηριάζουμε. Δηλητηριάζω με χλωριούχο σίδηρο: Ρίχνω σχεδόν ζεστό νερό, διαλύω τη σκόνη σε αυτό, βυθίζω τον textolite και μετά ρίχνω ζεστό νερό σε μια λεκάνη και βυθίζω το μπολ με το χλωριούχο σίδηρο μέσα σε αυτό. Όσο υψηλότερη είναι η συγκέντρωση του διαλύματος και η θερμοκρασία, τόσο πιο γρήγορα θα γίνει η αντίδραση.
Να τι συνέβη:

Έπειτα πήρα μια μπατονέτα με ασετόν και αφαίρεσα το τόνερ και μετά το κονσερβοποιούσα.

Και άρχισε να κολλάει:

Συναρμολόγησα τον προγραμματιστή, μετά τον οποίο ΠΡΕΠΕΙ να ελέγξω τα πάντα για την παρουσία βραχυκύκλωμα. Σε γενικές γραμμές, επειδή Αυτή ήταν η πρώτη φορά που δούλευα με ένα τόσο μικρό πράγμα, στη συνέχεια, μετά από κάθε αντίσταση, μετά από κάθε υποδοχή, έλεγξα τον προγραμματιστή για διάκενο (είναι πολύ σαφές αν η συγκόλληση μπήκε στις διπλανές γραμμές) και έλεγξα με ένα πολύμετρο για βραχυκύκλωμα . Το αποτέλεσμα είναι αυτό - υπήρξαν βραχυκυκλώματα κάτω από τις αντιστάσεις 2 φορές... όλα διορθώθηκαν με επιτυχία.
Επίσης, μετά τη συναρμολόγηση του προγραμματιστή, δεν πρέπει να τον συνδέσετε αμέσως στη θύρα USB. Βεβαιωθείτε ότι δεν υπάρχουν βραχυκυκλώματα μεταξύ της γείωσης και του θετικού τροφοδοτικού, ρυθμίστε τους βραχυκυκλωτήρες στην επιθυμητή θέση και μόνο τότε συνδέστε τον προγραμματιστή στον υπολογιστή.
Για να είμαι ειλικρινής, ανησυχούσα, αν και ήμουν σίγουρος ότι δεν υπήρχε βραχυκύκλωμα.
Μετά τη σύνδεση, ένιωσα την πλακέτα να θερμαίνεται, στην περιοχή FT232RL και ο υπολογιστής εμφάνισε ένα μήνυμα σύνδεσης άγνωστη συσκευήμε λανθασμένη λειτουργία. Απενεργοποίησα γρήγορα τον προγραμματιστή και για άλλη μια φορά εξέτασα προσεκτικά όλες τις διαδρομές για συγκόλληση σε διπλανές ράγες και ξανά συγκόλλησα όλες τις ακίδες των μικροκυκλωμάτων. Μετά από αυτό, σύνδεσα ξανά τον προγραμματιστή και, ιδού! , αποφάσισε ο προγραμματιστής και ζήτησε να τοποθετήσει τα καυσόξυλα! Τοποθέτησα τα καυσόξυλα και εμφανίστηκαν 2 νέες συσκευές στον διαχειριστή εφαρμογών:

Ζήτω! Τώρα μπορείτε να σκεφτείτε σοβαρά να εργαστείτε με μικροκυκλώματα!
Σας ευχαριστώ για την προσοχή σας!

(666,9 KiB, 2.785 επισκέψεις)

Αγαπητοί φίλοι και επισκέπτες του ιστότοπου!

Μην ξεχάσετε να εκφράσετε τη γνώμη σας για τις συμμετοχές στο διαγωνισμό και να λάβετε μέρος σε συζητήσεις στο φόρουμ του ιστότοπου. Σας ευχαριστώ.

Υπάρχουν πολλά κυκλώματα προγραμματιστή μικροελεγκτών διαθέσιμα στο Διαδίκτυο. Παρουσιάζω μια παραλλαγή μιας γενικής χρήσης σε κύκλωμα Προγραμματιστής USBμε δυνατότητες εντοπισμού σφαλμάτων, τις οποίες χρησιμοποιώ. Μπορείτε να συναρμολογήσετε αυτόν τον προγραμματιστή με τα χέρια σας.

Η βάση του προγραμματιστή είναι το τσιπ FT2232D. Είναι ένας μετατροπέας USB σε δύο θύρες UART. Η ιδιαιτερότητα είναι ότι το «άνω» κανάλι Α μπορεί να λειτουργήσει σε λειτουργίες JTAG, SPI και I 2 C, κάτι που απαιτείται για τον προγραμματισμό μικροελεγκτών, διαφόρων τσιπ μνήμης κ.λπ.

Η ανάπτυξη αυτού του προγραμματιστή USB πραγματοποιείται σε υπολογιστή χρησιμοποιώντας βιβλιοθήκες από το FTDI Chip.

Η συσκευή τροφοδοτείται από Διασύνδεση USB. Εάν συναρμολογηθεί σωστά, το κύκλωμα δεν χρειάζεται να διαμορφωθεί. Η λειτουργία της συσκευής εξαρτάται από την ικανότητα του προγραμματιστή λογισμικού. Οι αντιστάσεις R8, R9, R12, R13, R14, R15, R16 περιορίζουν το ρεύμα εάν συνδεθούν λανθασμένα στη συσκευή, επομένως, οι ακροδέκτες της προγραμματιζόμενης συσκευής δεν πρέπει να συνδέονται με άλλα στοιχεία του κυκλώματος ή να έχουν τέτοια έλξη. που δεν θα παραμόρφωσε τη λογική λογική κατά το σχηματισμό επιπέδων διαιρετών τάσης. Το Chip U1 χρησιμοποιείται για την αποθήκευση των ρυθμίσεων χρήστη.

U2 pins (κανάλι Α):
24 - ADBUS0 – έξοδος - σε λειτουργία JTAG TCK, σε λειτουργία SPI SK.
23 - ADBUS1 – έξοδος - σε λειτουργία JTAG TDI, σε λειτουργία SPI DO.
22 - ADBUS2 – είσοδος - σε λειτουργία JTAG TDO, σε λειτουργία SPI DI.
21 - ADBUS3 – έξοδος - σε λειτουργία JTAG TMS, σε λειτουργία SPI ως βοηθητικό σήμα (CS).
20 - ADBUS4 – σε είσοδο/έξοδο λειτουργίας JTAG, βοηθητική έξοδο σε λειτουργία SPI. Αυτή η ακίδα χρησιμοποιείται για την παροχή σήματος RESET στον μικροελεγκτή.
15 - AСBUS0 – ελεύθερα προγραμματιζόμενη είσοδος/έξοδος σε όλους τους τρόπους λειτουργίας (προαιρετικά χρησιμοποιείται για την παροχή ρεύματος στην προγραμματιζόμενη συσκευή).
13 - AСBUS1 – ελεύθερα προγραμματιζόμενη είσοδος/έξοδος σε όλες τις λειτουργίες.

Κατ' αρχήν, αυτά τα συμπεράσματα είναι πολυλειτουργικά. Η συμπεριφορά τους καθορίζεται από την επιλεγμένη λειτουργία όταν ανοίγει η θύρα.

Το κανάλι Β χρησιμοποιείται για τον εντοπισμό σφαλμάτων της προγραμματιζόμενης συσκευής. Για να το κάνετε αυτό, χρειάζεται μόνο να έχετε μια αχρησιμοποίητη θύρα UART στον μικροελεγκτή. Το επόμενο είναι θέμα τεχνολογίας. Στο πρόγραμμα μικροελεγκτή, χρησιμοποιούμε τη μορφοποιημένη συνάρτηση εξόδου printf() στα σωστά σημεία.

40 -BDBUS0 – έξοδος – σε λειτουργία UART TXD.
39 -BDBUS1 – είσοδος – σε λειτουργία UART RXD.
28 - BСBUS2 - έξοδος - Ένδειξη LED σε λειτουργία UART (ανάβει κατά τη μετάδοση δεδομένων μέσω USB).
27 - BСBUS3 – έξοδος - Ένδειξη LED σε λειτουργία UART (ανάβει κατά τη λήψη δεδομένων μέσω USB).

Παρακάτω είναι η πλακέτα κυκλώματος προγραμματιστή

Μέχρι σήμερα αυτό καθολικός προγραμματιστήςυποστηρίζει μικροελεγκτές AVR μέσω διασυνδέσεων JTAG και SPI. Επιπλέον, η ταχύτητα του υλικολογισμικού Atmega64 μέσω JTAG δεν είναι μεγαλύτερη από 5 δευτερόλεπτα, μέσω SPI όχι μεγαλύτερη από 8 δευτερόλεπτα. Κατ 'αρχήν, μπορείτε να αναβοσβήσετε όλους τους μικροελεγκτές στους οποίους ισχύει η προδιαγραφή για τον προγραμματιστή. Επί του παρόντος, για παράδειγμα, βρίσκεται σε εξέλιξη ανάπτυξη για την υποστήριξη μικροελεγκτών NEC.

Η φόρμα εργασίας χωρίζεται σε δύο μέρη: στα αριστερά υπάρχουν πίνακες για εργασία με FLASH (επάνω) και EEPROM (κάτω), εδώ μπορείτε να ανοίξετε αρχεία ή να κάνετε λήψη υλικολογισμικού από τον μικροελεγκτή, να κάνετε επαλήθευση, να επεξεργαστείτε τα περιεχόμενα των κελιών μνήμης. στα δεξιά υπάρχει ένα πεδίο κειμένου για εντοπισμό σφαλμάτων, τα δεδομένα από το κανάλι Β εμφανίζονται εδώ, μπορείτε επίσης να εισαγάγετε κείμενο εκεί που θα σταλεί στη θύρα (λειτουργικά αυτό είναι ένα ανάλογο του HyperTerminal). Η ανάπτυξη πραγματοποιείται στην πλατφόρμα Visual C# για Windows. Είναι επίσης δυνατό να αναπτυχθεί σε άλλες γλώσσες. Ο προγραμματιστής μπορεί επίσης να εργαστεί σε Linux.

Βιβλιογραφία που χρησιμοποιείται:
1. A.V. Evstigneev «Μικροελεγκτές AVR των οικογενειών Tiny και Mega ATMEL», Μ. Εκδοτικός οίκος «Δώδεκα-ΧΧΙ», 2005.
2. Future Technology Devices International Ltd. "FT2232D Dual USB UART/FIFO I.C." ,Φύλλο δεδομένων, 2006.
3. Future Technology Devices International Ltd. “Software Application Development D2XX Programmer's Guide”, Document, 2009.
4. Future Technology Devices International Ltd. «Οδηγός προγραμματιστών για υψηλής ταχύτητας FTCJTAG DLL», Σημείωση εφαρμογής AN_110, 2009.
5. Future Technology Devices International Ltd. "Οδηγός προγραμματιστών για υψηλής ταχύτητας FTCSPI DLL", Σημείωση εφαρμογής AN_111, 2009.
6. Andrew Troelsen “C# and the .NET platform” M., S-P. Πέτρος, 2007.

Μπορείτε να κάνετε λήψη των πηγών λογισμικού και της πλακέτας τυπωμένου κυκλώματος στην παρακάτω μορφή

Borisov Alexey () Syzran, περιοχή Σαμάρα.

Κατάλογος ραδιοστοιχείων

Ονομασία Τύπος Ονομασία Ποσότητα ΣημείωμαΚατάστημαΤο σημειωματάριό μου
U1 ΤσιπAT93C46D-8S1 Στο σημειωματάριο
U2 ΤσιπFT2232D1 Στο σημειωματάριο
VT1 Τρανζίστορ MOSFET

BSS84

1 Στο σημειωματάριο
Γ1 Πυκνότητα0,01 μF1 Στο σημειωματάριο
C2, C3 Πυκνότητα27 pF2 Στο σημειωματάριο
C4, C5, C7, C9, C10 Πυκνότητα0,1 μF5 Στο σημειωματάριο
Γ6 Πυκνότητα0,033 μF1 Στο σημειωματάριο
Γ8 Ηλεκτρολυτικό πυκνωτή10 μF1 Στο σημειωματάριο
R1 Αντίσταση

2,2 kOhm

1 0,05 W Στο σημειωματάριο
R2 Αντίσταση

10 kOhm

1 0,05 W Στο σημειωματάριο
R3, R4 Αντίσταση

27 Ωμ

2 0,05 W Στο σημειωματάριο
R5 Αντίσταση

470 Ohm

1 0,05 W Στο σημειωματάριο
R6, R7 Αντίσταση

1,5 kOhm

2 0,05 W Στο σημειωματάριο
R8-R16 Αντίσταση

Με την ανάπτυξη της τεχνολογίας των υπολογιστών, κάθε φορά υπάρχουν όλο και λιγότεροι υπολογιστές εξοπλισμένοι με COM και Θύρες LPT. Αυτό, με τη σειρά του, προκαλεί δυσκολίες, ιδίως για τους ραδιοερασιτέχνες, που σχετίζονται με τη σύζευξη εργαλείων προγραμματισμού μικροελεγκτών με έναν προσωπικό υπολογιστή.

Αυτό το άρθρο παρέχει Περιγραφή USBπρογραμματιστής για μικροελεγκτές AVR, τους οποίους μπορείτε να συναρμολογήσετε μόνοι σας. Είναι χτισμένο σε έναν μικροελεγκτή Atmega8 και μπορεί να λειτουργεί από την υποδοχή USB ενός υπολογιστή. Αυτός ο προγραμματιστής είναι συμβατός με το STK500 v2.

Περιγραφή του προγραμματιστή USB

Ο προγραμματιστής USB είναι χτισμένος σε μια πλακέτα από αλουμινόχαρτο μονής όψης. Υπάρχουν 2 βραχυκυκλωτήρες στην πλακέτα: ο ένας βρίσκεται κάτω από τον σύνδεσμο SPI, ο δεύτερος βραχυκυκλωτήρας βρίσκεται κοντά στον ίδιο σύνδεσμο.

Αφού σφραγιστούν όλα τα εξαρτήματα, πρέπει να αναβοσβήσετε τον μικροελεγκτή Atmega8 με το υλικολογισμικό που δίνεται στο τέλος του άρθρου. Οι ασφάλειες που πρέπει να ρυθμιστούν κατά τον προγραμματισμό του μικροελεγκτή Atmega8 θα πρέπει να μοιάζουν με αυτό:

  • SUT1 = 0
  • ΜΠΟΤΣΖ1 = 0
  • ΜΠΟΤΣΖ0 = 0
  • CKOPT = 0
  • SPIEN = 0

Είναι σημαντικό να θυμάστε ότι σε ορισμένα προγράμματα οι ρυθμίσεις ασφαλειών είναι το αντίθετο από αυτό. Για παράδειγμα, στο πρόγραμμα CodeVisionAVR πρέπει να επιλέξετε τα πλαίσια δίπλα στις προαναφερθείσες ασφάλειες και στο πρόγραμμα PonyProg αντίστροφα.

Προγραμματισμός Atmega8 μέσω θύρας LPT υπολογιστή

Το πιο γρήγορο και φθηνός τρόποςπρόγραμμα Atmega8 - χρησιμοποιήστε προγραμματιστή LPT για AVR. Ένα παρόμοιο διάγραμμα φαίνεται παρακάτω.

Ο μικροελεγκτής τροφοδοτείται από απλός σταθεροποιητήςτάση 78L05. Μπορείτε να χρησιμοποιήσετε το πρόγραμμα UniProf ως κέλυφος προγραμματισμού.

Όταν ενεργοποιείτε για πρώτη φορά το πρόγραμμα και όταν ο ελεγκτής δεν είναι συνδεδεμένος, πατώντας το κουμπί "LPTpins", πρέπει να διαμορφώσετε τις ακίδες της θύρας LPT ως εξής:

Όταν ξεκινά το UniProf, καθορίζει αυτόματα τον τύπο του μικροελεγκτή. Φορτώνουμε το υλικολογισμικό Atmega8_USB_prog.hex στη μνήμη UniProf και απορρίπτουμε τη σύνδεση του αρχείου EEPROM.

Ρυθμίζουμε τις ασφάλειες ως εξής (για το πρόγραμμα UniProF) πατώντας το κουμπί “FUSE”:

Για να θυμηθείτε τις ρυθμίσεις, πατήστε και τα τρία κουμπιά «Εγγραφή». Στη συνέχεια, κάνοντας κλικ στο “Erase” καθαρίζουμε πρώτα τη μνήμη του μικροελεγκτή που αναβοσβήνει. Μετά από αυτό, κάντε κλικ στο "Prog" και περιμένετε να ολοκληρωθεί το υλικολογισμικό.

Ρύθμιση προγραμματιστή USB

Αφού αναβοσβήσει ο μικροελεγκτής μας, πρέπει να εγκατασταθεί Πλακέτα USBπρογραμματιστής Στη συνέχεια, συνδέστε τον προγραμματιστή στο Θύρα USBυπολογιστή, αλλά δεν παρέχουμε ακόμα ρεύμα.

Ρύθμιση θύρας:

Ρύθμιση τερματικού:

Ρύθμιση ASCII:

Τώρα, αφού έχουν ολοκληρωθεί όλες οι διαδικασίες, τροφοδοτούμε τον προγραμματιστή USB. Η λυχνία LED HL1 θα πρέπει να αναβοσβήνει 6 φορές και στη συνέχεια να παραμένει αναμμένη.

Για να ελέγξετε τη σύνδεση μεταξύ του προγραμματιστή USB και του υπολογιστή, πατήστε το πλήκτρο «Enter» 2 φορές στο πρόγραμμα HyperTerminal. Αν όλα είναι εντάξει θα δούμε την παρακάτω εικόνα:

Εάν δεν συμβαίνει αυτό, ελέγξτε ξανά την εγκατάσταση, ειδικά τη γραμμή TxD.

Στη συνέχεια, παρουσιάζουμε την έκδοση 2.10 του προγραμματιστή, καθώς χωρίς αυτήν ο προγραμματιστής δεν θα λειτουργεί με προγράμματα "ανώτερου επιπέδου". Για να το κάνετε αυτό, πληκτρολογήστε "2" και πατήστε "Enter", πληκτρολογήστε "a" (Αγγλικά) και πατήστε "Enter".

Ο προγραμματιστής USB μπορεί να αναγνωρίσει τη σύνδεση ενός προγραμματιζόμενου μικροελεγκτή. Αυτό γίνεται με τη μορφή παρακολούθησης της "έλξης" του σήματος Επαναφοράς στην πηγή ισχύος. Αυτή η λειτουργία ενεργοποιείται και απενεργοποιείται ως εξής:

  • "0", "Enter" - η λειτουργία είναι απενεργοποιημένη.
  • "1", "Enter" - η λειτουργία είναι ενεργοποιημένη.

Αλλαγή ταχύτητας προγραμματισμού (1MHz):

  • "0", "Enter" - μέγιστη ταχύτητα.
  • "1", "Enter" - μειωμένη ταχύτητα.

Αυτό ολοκληρώνει τις προπαρασκευαστικές εργασίες, τώρα μπορείτε να δοκιμάσετε να αναβοσβήσετε κάποιο μικροελεγκτή.

(λήψεις: 1.203)

Στο σύγχρονο ηλεκτρονικά κυκλώματαΟι μικροελεγκτές χρησιμοποιούνται όλο και πιο συχνά. Τι να πω, αν σήμερα δεν μπορείτε να βρείτε καν μια συνηθισμένη γιρλάντα χριστουγεννιάτικου δέντρου χωρίς μικροελεγκτή μέσα - ρωτάει διάφορα προγράμματαφωτισμός.

Συνάντησα για πρώτη φορά μικροελεγκτές όταν έφτιαχνα τον πρώτο μου. Τότε αποδείχθηκε ότι ένας ελεγκτής χωρίς υλικολογισμικό είναι απλώς ένα κομμάτι πλαστικό με πόδια.

Και για να ανεβάσετε το απαιτούμενο υλικολογισμικό στο ATMEG, δεν μπορείτε να κάνετε χωρίς προγραμματιστή. Στη συνέχεια, θα εξετάσουμε τα δύο απλούστερα και πιο χρονικά δοκιμασμένα κυκλώματα προγραμματιστή.

Σχέδιο ένα

Χρησιμοποιώντας αυτόν τον προγραμματιστή, μπορείτε να αναβοσβήσετε σχεδόν οποιοδήποτε ελεγκτή AVR από την ATMEL, απλά πρέπει να ελέγξετε το pinout του τσιπ.

Η υποδοχή COM στο διάγραμμα είναι "μητέρα".

Για κάθε περίπτωση, θα παρέχω την καλωδίωση πλακέτα τυπωμένου κυκλώματοςγια το atmegi8(), αν και ένα τέτοιο πρωτόγονο διάγραμμα είναι πιο εύκολο να σχεδιαστεί με το χέρι. Η πλακέτα πρέπει να αντικατοπτρίζεται πριν την εκτύπωση.

Ανοίξτε το αρχείο PCB χρησιμοποιώντας το δημοφιλές πρόγραμμα Sprint Layout (αν δεν το έχετε εγκαταστήσει ακόμα, τότε είναι καλύτερα αμέσως).

Όπως φαίνεται από το διάγραμμα, για να συναρμολογήσετε τον προγραμματιστή θα χρειαστείτε έναν αμελητέο αριθμό εξαρτημάτων:

Αντί για KT315, συνέδεσα ένα τρανζίστορ BFR93A SMD, το οποίο είχα ακόμα μετά τη συναρμολόγηση.

Και εδώ είναι ολόκληρος ο προγραμματιστής συναρμολογημένος:

Αποφάσισα να πάρω ρεύμα (+5V) από τη θύρα USB.

Εάν έχετε νέος μικροελεγκτής(και κανείς δεν προσπάθησε να το αναβοσβήσει πριν), τότε δεν μπορεί να εγκατασταθεί χαλαζία με συνοδευτικούς πυκνωτές. Εργασία χωρίς αντηχείο χαλαζίαείναι δυνατή λόγω του γεγονότος ότι η πέτρα προέρχεται από το εργοστάσιο με ένα κομμάτι στην ενσωματωμένη γεννήτρια και το κύκλωμα, κατά συνέπεια, χρονίζεται από αυτήν.

Εάν το μικροκύκλωμά σας χρησιμοποιείται, τότε χωρίς εξωτερικό χαλαζία μπορεί να μην ξεκινήσει. Τότε είναι καλύτερο να ρυθμίσετε τον χαλαζία στα 4 MHz και οι πυκνωτές είναι καλύτεροι στα 33 pF.

Όπως βλέπετε, δεν έβαλα χαλαζία με πυκνωτές, αλλά για την περίπτωση που τους παρείχα χώρο στην πλακέτα.

Είναι καλύτερο να ανεβάσετε το υλικολογισμικό χρησιμοποιώντας το πρόγραμμα PonyProg (λήψη).

Υλικολογισμικό χρησιμοποιώντας PonyProg

Μεταβείτε στο μενού Ρύθμιση -> Βαθμονόμηση -> Ναι. Θα πρέπει να εμφανιστεί το παράθυρο "Calibration OK".

Τώρα συνδέουμε τον μικροελεγκτή στην υποδοχή του προγραμματιστή και τροφοδοτούμε 5 βολτ (μπορείτε, για παράδειγμα, από ξεχωριστή πηγή ρεύματος ή θύρα USB). Στη συνέχεια, κάντε κλικ στο Command -> Read All.

Μετά την ανάγνωση, εμφανίζεται το παράθυρο "Επιτυχής ανάγνωση". Εάν όλα είναι εντάξει, επιλέξτε το αρχείο με το απαιτούμενο υλικολογισμικό για μεταφόρτωση: Αρχείο -> Άνοιγμα αρχείου συσκευής. Κάντε κλικ στο "Άνοιγμα".

Τώρα κάντε κλικ στο Command -> Security and Configuration Bits και ρυθμίστε τις ασφάλειες όπως απαιτείται.

Αυτό είναι όλο, το MK είναι ραμμένο και έτοιμο για χρήση!

Λάβετε υπόψη ότι όταν αναβοσβήνει χρησιμοποιώντας άλλα προγράμματα (όχι PonyProg), τα bit μπορεί να αντιστραφούν! Τότε πρέπει να ρυθμιστούν ακριβώς το αντίθετο. Αυτό μπορεί να προσδιοριστεί διαβάζοντας τις ασφάλειες και κοιτάζοντας το πλαίσιο ελέγχου "SPIEN".

Σχέδιο δύο

Μια άλλη έκδοση του προγραμματιστή, με την οποία μπορείτε να ανεβάσετε υλικολογισμικό στον μικροελεγκτή ATMEG (ο λεγόμενος προγραμματιστής Gennady Gromov). Το κύκλωμα αποτελείται από μόνο 10 μέρη:
Μπορείτε να πάρετε οποιαδήποτε παλμική δίοδο (για παράδειγμα, KD510, KD522). Ο σύνδεσμος είναι "μητέρα". Η τροφοδοσία του MK (+5V) πρέπει να παρέχεται ξεχωριστά, για παράδειγμα, από τον ίδιο υπολογιστή από την έξοδο USB.

Όλα αυτά μπορούν να συναρμολογηθούν με την τοποθέτηση απευθείας στον σύνδεσμο, αλλά αν είστε έξυπνο κολλητήρι και γνωρίζετε τι είναι η τοποθέτηση SMD, μπορείτε να το κάνετε όμορφα:

Αλγόριθμος υλικολογισμικού με χρήση προγραμματιστή Gromov

Συνδέουμε τον προγραμματιστή με το εγκατεστημένο μικροκύκλωμα στη θύρα COM του υπολογιστή, εκκινούμε το Uniprof και μετά τροφοδοτούμε τον μικροελεγκτή. Και πρώτα απ 'όλα, ελέγχουμε αν τα bits ασφαλειών είναι αναγνώσιμα.

Εάν όλα είναι εντάξει, επιλέξτε το αρχείο με το απαιτούμενο υλικολογισμικό και κάντε κλικ στην εγγραφή.

Να είστε εξαιρετικά προσεκτικοί και προσεκτικοί, γιατί εάν υπάρχει σφάλμα κατά την εγγραφή ασφαλειών, τότε το MK είτε θα εκτιναχθεί είτε θα κολλήσει το κύκλωμα του γιατρού (και είναι περίπλοκο). Εάν αλλάξετε το bit SPIEN στο αντίθετο, το αποτέλεσμα θα είναι το ίδιο (στο γιατρό).


Ο προγραμματιστής είναι μια συσκευή υλικού-λογισμικού που χρησιμοποιείται για την ανάγνωση ή την εγγραφή πληροφοριών σε μια συσκευή αποθήκευσης (εσωτερικοί μικροελεγκτές). Εάν ένας ραδιοερασιτέχνης χρειάζεται να προγραμματίσει μια συσκευή μικροελεγκτή μία φορά, μπορείτε να χρησιμοποιήσετε έναν συμβατικό προγραμματιστή που συνδέεται σε μια θύρα COM ή LPT. Για παράδειγμα, τα περισσότερα ένας απλός προγραμματιστήςΤο AVR είναι ένα καλώδιο 6 και 4 αντιστάσεων (προγραμματιστής PonyProg).

Χρησιμοποιώντας έναν κανονικό προγραμματιστή, μπορείτε να φορτώσετε hex προγράμματα σε πολλούς μικροελεγκτές AVR χωρίς να χάνετε επιπλέον χρόνο και χρήματα. Επιπλέον, ο προγραμματιστής μπορεί να χρησιμοποιηθεί ως προγραμματιστής εντός κυκλώματος, ώστε να μπορείτε να προγραμματίσετε τον μικροελεγκτή AVR χωρίς να τον αφαιρέσετε από τη συσκευή.

Τέτοιοι προγραμματιστές συνδέονται με τον υπολογιστή χρησιμοποιώντας ένα ειδικό πρόγραμμα (που ονομάζεται επίσης προγραμματιστής). Εκπέμπει από και η συσκευή το γράφει μόνο στη μνήμη του τσιπ. Οι προγραμματιστές μπορούν να συνδεθούν μέσω σειριακής ή παράλληλης θύρας, μέσω υποδοχής USB κ.λπ. Οι σύγχρονοι προγραμματιστές συνδέονται συνήθως μέσω USB.

Ο προγραμματιστής USB έχει σχεδιαστεί για τον προγραμματισμό συσκευών μικροεπεξεργαστή μιας συγκεκριμένης εταιρείας (ανάλογα με τη μάρκα του προγραμματιστή) σε συναρμολογημένη μορφή. Απλοποιεί σημαντικά τη διαδικασία εγκατάστασης του λογισμικού.

Πώς να συνδέσετε έναν προγραμματιστή USB;

Για να χρησιμοποιήσετε τη συσκευή, πρέπει να τη συνδέσετε σε μία από τις θύρες USB του υπολογιστή σας. Μετά από αυτό, στον υπολογιστή θα εμφανιστεί ένα μήνυμα σχετικά με τη σύνδεση μιας νέας συσκευής USBasp USB και η λυχνία LED στον ίδιο τον προγραμματιστή θα ανάψει, πράγμα που σημαίνει ότι η συσκευή έχει συνδεθεί με επιτυχία.

Στη συνέχεια, πρέπει να εγκαταστήσετε προγράμματα οδήγησης, ώστε το λειτουργικό σύστημα να μπορεί να λειτουργεί σωστά με αυτήν τη συσκευή. Μετά από αυτό, μπορείτε να συνδέσετε τη συσκευή μικροεπεξεργαστή στη διεπαφή ISP. Κατά τη διάρκεια του προγραμματισμού, το δεύτερο LED θα ανάψει.

Κατά κανόνα, ο προγραμματιστής έχει δύο διεπαφές - μία για τη σύνδεση ενός μικροελεγκτή, η δεύτερη για τη σύνδεση με έναν υπολογιστή. Για να συνδέσετε τον μικροελεγκτή, μπορείτε να χρησιμοποιήσετε τη λειτουργία σειριακού προγραμματισμού ISP. Και στον υπολογιστή αυτή τη συσκευήσυνδέεται μέσω τυπικής υποδοχής USB.

Για να ελέγξετε τον προγραμματιστή πρέπει να εγκαταστήσετε ειδικά προγράμματα. Είναι καλύτερο να χρησιμοποιείτε εφαρμογές με παράθυρο. Για παράδειγμα, για να εργαστείτε με τη συσκευή μπορείτε να χρησιμοποιήσετε τα ExtremeBurner, Khazama, avrguge και άλλα.