Πίνακας περιεχομένων:

Κατανόηση του ICSP για μικροελεγκτές PIC: 4 βήματα (με εικόνες)
Κατανόηση του ICSP για μικροελεγκτές PIC: 4 βήματα (με εικόνες)

Βίντεο: Κατανόηση του ICSP για μικροελεγκτές PIC: 4 βήματα (με εικόνες)

Βίντεο: Κατανόηση του ICSP για μικροελεγκτές PIC: 4 βήματα (με εικόνες)
Βίντεο: IE & Outlook Ενότητα 1 Όροι και Έννοιες 2024, Ιούνιος
Anonim
Κατανόηση του ICSP για μικροελεγκτές PIC
Κατανόηση του ICSP για μικροελεγκτές PIC

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

Βήμα 1: Γιατί ICSP;

Γιατί ICSP
Γιατί ICSP

Ο προγραμματισμός ενός μεγάλου τσιπ DIP (μέσω οπής) είναι εύκολος. Τοποθετήστε το σε έναν συνδεδεμένο προγραμματιστή, κάψτε και επιστρέψτε στο κύκλωμα εφαρμογής. Δοκιμάστε και επαναλάβετε.

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

Βήμα 2: Τι είναι το ICSP;

Τι είναι το ICSP
Τι είναι το ICSP
Τι είναι το ICSP
Τι είναι το ICSP
Τι είναι το ICSP
Τι είναι το ICSP
Τι είναι το ICSP
Τι είναι το 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;

Πώς ICSP
Πώς ICSP
Πώς ICSP
Πώς ICSP
Πώς ICSP
Πώς ICSP
Πώς ICSP
Πώς 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
Προγραμματιστές ICSP
Προγραμματιστές 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) πριν από μερικούς μήνες και το λατρεύω.

Συνιστάται: