
Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39

Ο προγραμματισμός μικροελεγκτών δεν είναι δύσκολος. Η οικοδόμηση ενός προγραμματιστή κάνει ένα μεγάλο πρώτο ηλεκτρονικό έργο. Ο στόχος αυτού του οδηγού είναι να εξηγήσει την απλή μέθοδο «σε σειριακό προγραμματισμό κυκλωμάτων» που χρησιμοποιείται με τα PIC μικροτσίπ.
Βήμα 1: Γιατί ICSP;

Ο προγραμματισμός ενός μεγάλου τσιπ DIP (μέσω οπής) είναι εύκολος. Τοποθετήστε το σε έναν συνδεδεμένο προγραμματιστή, κάψτε και επιστρέψτε στο κύκλωμα εφαρμογής. Δοκιμάστε και επαναλάβετε.
Τα πράγματα γίνονται πιο δύσκολα με μικρότερα τσιπ (επιτοίχια τοποθέτηση). Δεν υπάρχουν τυπικές πρίζες για QFN, SSOP, QFP ή ακόμη και για τα μεγάλα πακέτα SOIC.300. Υπάρχουν πραγματικά ακριβά κλιπ (100 δολάρια) που μπορούν να προσαρτηθούν και να προγραμματίσουν αυτά τα τσιπ. Απαιτείται διαφορετικό κλιπ για κάθε τύπο τσιπ και αριθμό καρφιτσών που χρησιμοποιείτε. Υπάρχει εναλλακτική λύση. Ονομάζεται ICSP. ICSP σημαίνει «σε σειριακό σειριακό προγραμματιστή (ing?)». Είναι ένας τρόπος προγραμματισμού ενός PIC ενώ είναι ακόμα συνδεδεμένος στο κύκλωμα εφαρμογής. Σωστά, δεν χρειάζεται πλέον αλλαγή τσιπ. Γιατί ICSP; 1. Δεν υπάρχουν υποδοχές προγραμματισμού για μικρά πακέτα τσιπ. Τα κλιπ είναι ακριβά. 2. Είναι πόνος να μετακινούνται τα τσιπ μέσα & έξω από τον προγραμματιστή κατά την ανάπτυξη. Αδύνατο για εξαρτήματα τοποθέτησης σε επιφάνεια.
Βήμα 2: Τι είναι το ICSP;




Πέντε συνδέσεις χρειάζονται για τον προγραμματισμό ενός PIC ενώ συνδέονται με ένα κύκλωμα εφαρμογής. Προσθέτω μια κεφαλίδα 5 ακίδων στις πλακέτες μου για να γίνει αυτή η σύνδεση γρήγορη και εύκολη. Τα βασικά του προγραμματισμού PIC. Απαιτούνται πέντε συνδέσεις για τον προγραμματισμό ενός PIC. Ισχύς, γείωση, τάση προγραμματισμού, ρολόι και δεδομένα.+ (Vdd)/-(Vss) Αυτές είναι οι συνδέσεις ισχύος & γείωσης (Vdd, Vss). Αρκετά στάνταρ. Εάν χρησιμοποιείτε προγραμματιστή με «πραγματικά» επίπεδα τάσης (ΟΧΙ JDM2!), Η εφαρμογή σας μπορεί να τρέξει από το δικό της τροφοδοτικό όταν προγραμματιστεί, εξαλείφοντας αυτές τις συνδέσεις. Vpp Αυτή είναι η τάση προγραμματισμού. Οι PIC εισέρχονται σε λειτουργία προγραμματισμού όταν τοποθετούνται ~ 13 βολτ στον ακροδέκτη MCLR/Vpp (συνήθως καρφίτσα 1 στα σύγχρονα PIC, περισσότερο σε αυτό παρακάτω). Ρολόι/Δεδομένα ή PGC/PGD Το ρολόι και οι γραμμές δεδομένων χρησιμοποιούνται για την εγγραφή και την ανάγνωση του PIC υλικολογισμικό. Αυτές είναι συνήθως οι ίδιες ακίδες με τις PORTB6 & PORTB7. Άσκηση: Προσδιορίστε τα σημεία σύνδεσης ICSP στα PIC στις παρακάτω εικόνες. Εάν το PIC ταιριάζει, φορέστε το. Παίρνω πολλές ερωτήσεις σχετικά με το σχέδιο JDM2 για οδηγίες. Το πιο συνηθισμένο είναι "Θα προγραμματίσει το PIC X;" " - εδώ μπορείτε να πείτε: 1) Κοιτάξτε το φύλλο δεδομένων. Βρείτε το "Διάγραμμα καρφιτσών" που μοιάζει με την παρακάτω εικόνα. 2) Προσδιορίστε τη θέση των ακίδων που πρέπει να συνδεθούν για προγραμματισμό (Vpp, Vdd, Vss, Data, & Clock). 3) Κοιτάξτε τη σύνδεση υποδοχής στο προγραμματιστής. Μπορείτε να αντιστοιχίσετε τις απαιτούμενες ακίδες με μια υποδοχή στον προγραμματιστή;
Βήμα 3: Πώς ICSP;




Ανάλογα με το σχέδιό σας, μπορείτε τώρα να πραγματοποιήσετε όλες τις απαιτούμενες συνδέσεις και να προγραμματίσετε το PIC σας. Υπάρχουν μερικά αλιεύματα που πρέπει να γνωρίζετε. Ο σχεδιασμός για το ICSP είναι σημαντικός. Το Microchip παρέχει μια ωραία σημείωση εφαρμογής PDF σχετικά με το σχεδιασμό για το ICSP. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744Ακολουθούν μερικές συμβουλές και παραδείγματα σχεδίων ICSP από προηγούμενες οδηγίες μου. Συμβουλή #1, Επίπεδο απειλής: ΣημαντικόΜην συνδέετε τίποτα άλλο στο ΡΟΛΟΙ και καρφίτσες DATA (συνήθως RB6 & RB7, PGC & PGD). Απλά μην το κάνεις. Υπάρχουν καταστάσεις όπου πολύ έξυπνοι τύποι μηχανικής το ξεφεύγουν, αλλά μην το κάνετε. Τα εξαρτήματα που είναι προσαρτημένα στις ακίδες θα στρέψουν το σήμα ρολογιού και δεδομένων, με αποτέλεσμα απρόβλεπτο προγραμματισμό. Επιπλέον, εάν θέλετε ποτέ να χρησιμοποιήσετε έναν σειριακό εντοπισμό σφαλμάτων σε κυκλοφορία, δεν μπορείτε. Απλά μην το κάνετε. Συμβουλή #2 Επίπεδο απειλής: Εκρηκτικό Χρησιμοποιήστε πάντα μια δίοδο μεταξύ της τάσης προγραμματισμού και της τάσης του συστήματος. Εάν χρησιμοποιείτε MCLR (κύρια διαγραφή) σε PIC, πρέπει να παρέχετε κάποια τάση στον πείρο MCLR μέσω αντίστασης 10Kish. Αυτός είναι επίσης ο πείρος στον οποίο θα εφαρμόσετε ~ 13 βολτ για να μπείτε στη λειτουργία προγραμματισμού. Έβαλα μια δίοδο 1n4148 (ισοδύναμη) μεταξύ της αντίστασης και του πείρου MCLR/Vpp (όπως φαίνεται στο σχηματικό και την απόδοση παρακάτω). Αυτό διατηρεί την τάση προγραμματισμού στον πείρο Vpp, αποτρέποντας την καταστροφή άλλων εξαρτημάτων στον πίνακα σας. Συμβουλή #3 Επίπεδο απειλής: (εκ νέου) κουρασμένος Ο προγραμματισμός χαμηλής τάσης σας κρατάει πίσω, φίλε. Δεν είχα ποτέ επιτυχία με το LVP. Δεν το έχω δει ποτέ να λειτουργεί (με συνέπεια) με τα μάτια μου. Απλώς δαγκώστε τη σφαίρα και ξοδέψτε 2,50 $ για να δημιουργήσετε έναν προγραμματιστή JDM2.
Βήμα 4: Προγραμματιστές ICSP


Το ICSP δεν απαιτεί διαφορετικό πρωτόκολλο προγραμματισμού. Ένας προγραμματιστής με πρίζα παράγει ήδη την απαιτούμενη σηματοδότηση, αλλά την στέλνει στην πρίζα και όχι μέσω καλωδίων. Οι περισσότεροι προγραμματιστές πρίζας μπορούν να χρησιμοποιηθούν ως ICSP με τη μάσκα καλωδίων από την πρίζα στο κύκλωμα εφαρμογής. Για παράδειγμα, ο αρχικός προγραμματιστής JDM2 (εδώ: https://www.jdm.homepage.dk/newpic.htm) μπορεί να χρησιμοποιηθεί για κάντε προγραμματισμό ICSP φέρνοντας τα 5 απαιτούμενα σήματα σε μια κεφαλίδα. Αυτό μπορείτε να το δείτε στον προγραμματιστή εδώ: https://www.belza.cz/digital/jdm.htm. Για να κρατήσω τα πράγματα εύχρηστα, ξαναέφτιαξα αυτό το σχέδιο στο Eagle Cad και το επισυνάπτω σε αυτό το διδακτικό. Παρακολουθήστε τον προσανατολισμό του τρανζίστορ, ένα από τα ίχνη μπορεί να είναι λανθασμένο (το έκανα πριν από περισσότερο από ένα χρόνο, δεν θυμάμαι πια). Ομοίως, ο ενημερωμένος προγραμματιστής μου JDM2 (εδώ: https://www.instructables.com/id/EN28KZDDVEVE286GRI/) μπορεί να χρησιμοποιηθεί για ICSP κολλώντας καλώδια στις υποδοχές DIP και συνδέοντάς τα με το PIC -στόχο. ***** Οι JDM2 χρησιμοποιούν funky τάσεις… συνδέστε το στο κύκλωμα ΧΩΡΙΣ εξωτερική τροφοδοσία (ή ακόμα και γείωση) συνδεδεμένη στο κύκλωμα εφαρμογής. Αφαιρέστε τις συνδέσεις ICSP πριν από την τροφοδοσία. Η αποτυχία να γίνει αυτό δεν είναι καταστροφική, αλλά θα οδηγήσει σε αποτυχημένο προγραμματισμό ******* Μια άλλη επιλογή είναι ένας (ημι) κατάλληλος προγραμματιστής ICD. Το ICD σάς επιτρέπει να ελέγχετε την εκτέλεση υλικολογισμικού στο PIC σας, ορίζοντας σημεία διακοπής στον κώδικα ή διαβάζοντας τιμές μνήμης και θύρας. Ένα ICD μπορεί επίσης να ζωντανέψει την εκτέλεση του κώδικα, να τροφοδοτήσει το κύκλωμα εφαρμογής και να προγραμματίσει το PIC. Τα κάνει όλα αυτά μέσω της ίδιας σύνδεσης ICSP 5 ακίδων που συζητήσαμε. Μπορείτε να δείτε αρκετούς κλώνους ICSP που μπορείτε να φτιάξετε μόνοι σας εδώ: https://www.icd2clone.com/wiki/Main_Page. Έφτιαξα το PiCS (rev B) πριν από μερικούς μήνες και το λατρεύω.
Συνιστάται:
Η μέτρηση του καρδιακού ρυθμού σας βρίσκεται στην άκρη του δακτύλου σας: Προσέγγιση φωτοπληθυσμογραφίας για τον προσδιορισμό του καρδιακού ρυθμού: 7 βήματα

Η μέτρηση του καρδιακού ρυθμού σας βρίσκεται στην άκρη του δακτύλου σας: Προσέγγιση φωτοπληθυσμογραφίας για τον προσδιορισμό του καρδιακού ρυθμού: Ο φωτοπληθυσμογράφος (PPG) είναι μια απλή και χαμηλού κόστους οπτική τεχνική που χρησιμοποιείται συχνά για τον εντοπισμό αλλαγών στον όγκο αίματος σε μια μικροαγγειακή κλίνη ιστού. Χρησιμοποιείται κυρίως μη επεμβατικά για την πραγματοποίηση μετρήσεων στην επιφάνεια του δέρματος, συνήθως
Κατανόηση του πρωτοκόλλου IR των τηλεχειριστηρίων του κλιματιστικού: 9 βήματα (με εικόνες)

Κατανόηση του πρωτοκόλλου IR των τηλεχειριστηρίων του Air Conditoner: Μαθαίνω για πρωτόκολλα IR εδώ και αρκετό καιρό τώρα. Πώς να στείλετε και να λάβετε σήματα IR. Σε αυτό το σημείο, το μόνο που απομένει είναι το πρωτόκολλο IR των τηλεχειριστηρίων AC. Σε αντίθεση με τα παραδοσιακά τηλεχειριστήρια σχεδόν όλων των ηλεκτρονικών συσκευών (ας πούμε μια τηλεόραση) όπου
Οδηγός για αρχάριους στους μικροελεγκτές: 10 βήματα (με εικόνες)

Οδηγός για αρχάριους στους μικροελεγκτές: Τι κοινό έχουν όλα τα τηλεχειριστήρια, οι δρομολογητές και τα ρομπότ; Μικροελεγκτές! Αυτές τις μέρες, οι μικροελεγκτές που είναι φιλικοί για αρχάριους είναι εύκολο στη χρήση και προγραμματίζονται μόνο με φορητό υπολογιστή, καλώδιο USB και κάποιο (δωρεάν) λογισμικό ανοιχτού κώδικα. Ωωωωωωω !! Ολα τα
Ασύρματη επικοινωνία χρησιμοποιώντας φθηνές μονάδες RF 433MHz και μικροελεγκτές Pic. Μέρος 2: 4 βήματα (με εικόνες)

Ασύρματη επικοινωνία χρησιμοποιώντας φθηνές μονάδες RF 433MHz και μικροελεγκτές Pic. Μέρος 2: Στο πρώτο μέρος αυτού του οδηγού, έδειξα πώς να προγραμματίσετε ένα PIC12F1822 χρησιμοποιώντας μεταγλωττιστή MPLAB IDE και XC8, για να στείλετε μια απλή συμβολοσειρά ασύρματα χρησιμοποιώντας φθηνές μονάδες TX/RX 433MHz. Η μονάδα δέκτη συνδέθηκε μέσω USB σε UART TTL καλωδιακή διαφήμιση
Χρήση του PSP ως Joystick του υπολογιστή και στη συνέχεια έλεγχος του υπολογιστή σας με το PSP: 5 βήματα (με εικόνες)

Χρήση του PSP ως Joystick του υπολογιστή και στη συνέχεια έλεγχος του υπολογιστή σας με το PSP: Μπορείτε να κάνετε πολλά ωραία πράγματα με το PSP homebrew και σε αυτό το εκπαιδευτικό πρόγραμμα θα σας μάθω πώς να χρησιμοποιείτε το PSP σας ως χειριστήριο για παιχνίδια, αλλά υπάρχει επίσης ένα πρόγραμμα που σας επιτρέπει να χρησιμοποιείτε το joystick ως ποντίκι. Εδώ είναι η μητέρα