Σπιτικός προγραμματιστής για ελεγκτές PIC. Σπιτικός προγραμματιστής για ελεγκτές PIC Περιγραφή της διαδικασίας προγραμματισμού μικροκυκλωμάτων

Σπιτικός προγραμματιστής για ελεγκτές PIC.  Σπιτικός προγραμματιστής για ελεγκτές PIC Περιγραφή της διαδικασίας προγραμματισμού μικροκυκλωμάτων

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

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

Η τιμή των έτοιμων προγραμματιστών USB είναι αρκετά υψηλή και η καλύτερη λύση είναι να τα συναρμολογήσετε μόνοι σας. Εδώ είναι ένα διάγραμμα της προτεινόμενης συσκευής (οι φωτογραφίες μπορούν να κάνουν κλικ).

Κύριο μέρος.

Πίνακας εγκατάστασης MK.

Το αρχικό σχέδιο ελήφθη από τον ιστότοπο LabKit.ru με την άδεια του συγγραφέα, για το οποίο τον ευχαριστούμε πολύ. Αυτός είναι ο λεγόμενος κλώνος του ιδιόκτητου προγραμματιστή PICkit2. Δεδομένου ότι η έκδοση της συσκευής είναι ένα "ελαφρύ" αντίγραφο του ιδιόκτητου PICkit2, ο συγγραφέας ονόμασε την ανάπτυξή του PICkit-2 Lite, που τονίζει την ευκολία συναρμολόγησης μιας τέτοιας συσκευής για αρχάριους ραδιοερασιτέχνες.

Τι μπορεί να κάνει ένας προγραμματιστής; Με τη βοήθεια του προγραμματιστή, θα μπορείτε να αναβοσβήσετε τα περισσότερα εύκολα προσβάσιμα και δημοφιλή MK της σειράς PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A, κ.λπ.), καθώς και τσιπ μνήμης EEPROM της σειράς 24 . Επιπλέον, ο προγραμματιστής μπορεί να εργαστεί στη λειτουργία μετατροπέα USB-UART και διαθέτει ορισμένες από τις λειτουργίες ενός λογικού αναλυτή. Μια ιδιαίτερα σημαντική λειτουργία που έχει ο προγραμματιστής είναι ο υπολογισμός της σταθεράς βαθμονόμησης της ενσωματωμένης γεννήτριας RC ορισμένων MK (για παράδειγμα, όπως PIC12F629 και PIC12F675).

Απαραίτητες αλλαγές.

Υπάρχουν κάποιες αλλαγές στο κύκλωμα που είναι απαραίτητες προκειμένου ο προγραμματιστής PICkit-2 Lite να μπορεί να γράψει / σβήσει / διαβάσει δεδομένα από τσιπ μνήμης EEPROM της σειράς 24Cxx.

Από τις αλλαγές που έχουν γίνει στο σχήμα. Προστέθηκε σύνδεση από τον ακροδέκτη 6 του DD1 (RA4) στον ακροδέκτη 21 του πίνακα ZIF. Ο ακροδέκτης AUX χρησιμοποιείται αποκλειστικά για εργασία με τσιπ μνήμης 24LC EEPROM (24C04, 24WC08 και ανάλογα). Τα δεδομένα μεταδίδονται μέσω αυτού, επομένως, στο διάγραμμα του πίνακα προγραμματισμού, σημειώνεται με τη λέξη "Δεδομένα". Κατά τον προγραμματισμό μικροελεγκτών, ο ακροδέκτης AUX συνήθως δεν χρησιμοποιείται, αν και χρειάζεται κατά τον προγραμματισμό του MK σε λειτουργία LVP.

Προστίθεται επίσης μια pull-up αντίσταση 2 kΩ, η οποία συνδέεται μεταξύ του ακροδέκτη SDA και του Vcc των τσιπ μνήμης.

Έχω ήδη κάνει όλες αυτές τις βελτιώσεις στην πλακέτα τυπωμένου κυκλώματος, αφού συναρμολόγησα το PICkit-2 Lite σύμφωνα με το αρχικό σχήμα του συγγραφέα.

Τα τσιπ μνήμης 24Cxx (24C08, κ.λπ.) χρησιμοποιούνται ευρέως στον οικιακό ραδιοφωνικό εξοπλισμό και μερικές φορές πρέπει να αναβοσβήνουν, για παράδειγμα, κατά την επισκευή τηλεοράσεων CRT. Χρησιμοποιούν μνήμη 24Cxx για την αποθήκευση των ρυθμίσεων.

Οι τηλεοράσεις LCD χρησιμοποιούν διαφορετικό τύπο μνήμης (μνήμη Flash). Έχω ήδη μιλήσει για το πώς να αναβοσβήσω τη μνήμη μιας τηλεόρασης LCD. Για όσους ενδιαφέρονται, ρίξτε μια ματιά.

Σε σχέση με την ανάγκη εργασίας με μικροκυκλώματα της σειράς 24Cxx, έπρεπε να "τελειώσω" τον προγραμματιστή. Δεν χάραξα τη νέα πλακέτα τυπωμένου κυκλώματος, απλώς πρόσθεσα τα απαραίτητα στοιχεία στην πλακέτα τυπωμένου κυκλώματος. Να τι έγινε.

Ο πυρήνας της συσκευής είναι ένας μικροελεγκτής PIC18F2550-I/SP.

Αυτό είναι το μόνο τσιπ στη συσκευή. Το MK PIC18F2550 πρέπει να "φλασάρει". Αυτή η απλή επέμβαση προκαλεί λήθαργο σε πολλούς, καθώς προκύπτει το λεγόμενο πρόβλημα «κοτόπουλου και αυγού». Πώς το αποφάσισα, θα το πω λίγο αργότερα.

Λίστα εξαρτημάτων για τη συναρμολόγηση του προγραμματιστή. Στην έκδοση για κινητά, σύρετε τον πίνακα προς τα αριστερά (σαρώστε αριστερά-δεξιά) για να δείτε όλες τις στήλες του.

Ονομα Ονομασία Ονομασία/Παράμετροι Επωνυμία ή τύπος αντικειμένου
Για το κύριο μέρος του προγραμματιστή
μικροελεγκτή DD1 Μικροελεγκτής 8 bit PIC18F2550-I/SP
Διπολικά τρανζίστορ VT1, VT2, VT3 KT3102
VT4 KT361
Δίοδος VD1 KD522, 1N4148
Δίοδος Schottky VD2 1N5817
LED HL1, HL2 οποιοδήποτε στα 3 βολτ, το κόκκινοΚαι πράσινοςχρώματα λάμψης
Αντιστάσεις R1, R2 300 ωμ
R3 22 kOhm
R4 1 kOhm
R5, R6, R12 10 kOhm
R7, R8, R14 100 ωμ
R9, R10, R15, R16 4,7 kOhm
R11 2,7 kOhm
R13 100 kOhm
Πυκνωτές Γ2 0,1 micron K10-17 (κεραμικό), εισαγόμενα ανάλογα
C3 0,47 μικρά
Ηλεκτρολυτικοί πυκνωτές Γ1 100UF*6,3V K50-6, εισαγόμενα ανάλογα
Γ4 47UF * 16V
Επαγωγέας (τσοκ) L1 680 uH ενιαίου τύπου EC24, CECL ή αυτοκατασκευασμένο
Αντηχείο χαλαζία ZQ1 20 MHz
Υποδοχή USB XS1 τύπου USB-BF
Αλτης XT1 οποιουδήποτε τύπου άλτης
Για πίνακα εγκατάστασης μικροελεγκτή (MK).
Πίνακας ZIF XS1 οποιοδήποτε πίνακα ZIF 40 ακίδων
Αντιστάσεις R1 2 kOhm MLT, MON (ισχύς από 0,125 W και άνω), εισαγόμενα ανάλογα
R2, R3, R4, R5, R6 10 kOhm

Τώρα λίγο για τις λεπτομέρειες και τον σκοπό τους.

ΠράσινοςΗ λυχνία LED HL1 ανάβει όταν παρέχεται ρεύμα στον προγραμματιστή και το κόκκινοΗ λυχνία LED HL2 εκπέμπει τη στιγμή της μεταφοράς δεδομένων μεταξύ του υπολογιστή και του προγραμματιστή.

Για να προσφέρετε στη συσκευή ευελιξία και αξιοπιστία, χρησιμοποιείται η υποδοχή USB XS1 τύπου "B" (τετράγωνο). Ο υπολογιστής χρησιμοποιεί μια υποδοχή USB τύπου Α. Επομένως, είναι αδύνατο να ανακατέψετε τις υποδοχές του καλωδίου σύνδεσης. Επίσης, αυτή η λύση συμβάλλει στην αξιοπιστία της συσκευής. Εάν το καλώδιο καταστεί άχρηστο, είναι εύκολο να το αντικαταστήσετε με νέο χωρίς να καταφύγετε σε εργασίες συγκόλλησης και εγκατάστασης.

Ως επαγωγέας L1 680 μH, είναι προτιμότερο να χρησιμοποιείτε έτοιμο (για παράδειγμα, τύπους EC24 ή CECL). Αλλά εάν το τελικό προϊόν δεν μπορεί να βρεθεί, τότε το γκάζι μπορεί να κατασκευαστεί ανεξάρτητα. Για να το κάνετε αυτό, τυλίξτε 250 - 300 στροφές σύρματος PEL-0.1 σε έναν πυρήνα φερρίτη από ένα τσοκ τύπου CW68. Αξίζει να ληφθεί υπόψη ότι λόγω της παρουσίας PWM με ανάδραση, δεν πρέπει να ανησυχείτε για την ακρίβεια της βαθμολογίας επαγωγής.

Η τάση για προγραμματισμό υψηλής τάσης (Vpp) από +8,5 έως 14 βολτ δημιουργείται από έναν ρυθμιστή κλειδιού. Περιλαμβάνει στοιχεία VT1, VD1, L1, C4, R4, R10, R11. Από την ακίδα 12 του PIC18F2550, οι παλμοί PWM αποστέλλονται στη βάση VT1. Η ανατροφοδότηση παρέχεται από το διαχωριστικό R10, R11.

Για την προστασία των στοιχείων του κυκλώματος από την αντίστροφη τάση από τις γραμμές προγραμματισμού, όταν χρησιμοποιείτε έναν προγραμματιστή USB στη λειτουργία ICSP (In-Circuit Serial Programming), χρησιμοποιείται μια δίοδος VD2. Το VD2 είναι μια δίοδος Schottky. Θα πρέπει να επιλεγεί με πτώση τάσης στη διασταύρωση P-N όχι μεγαλύτερη από 0,45 βολτ. Επίσης, η δίοδος VD2 ​​προστατεύει τα στοιχεία από την αντίστροφη τάση όταν ο προγραμματιστής χρησιμοποιείται σε λειτουργία μετατροπής USB-UART και λογικού αναλυτή.

Όταν χρησιμοποιείτε τον προγραμματιστή αποκλειστικά για προγραμματισμό μικροελεγκτών στον πίνακα (χωρίς χρήση ICSP), μπορείτε να εξαιρέσετε εντελώς τη δίοδο VD2 (έτσι το έκανα) και να εγκαταστήσετε ένα βραχυκυκλωτήρα.

Η συσκευή είναι συμπαγής λόγω του γενικού πίνακα ZIF (Zero Insertion Force - με μηδενική δύναμη εισαγωγής).

Χάρη σε αυτό, μπορείτε να "ράψετε" το MK σε σχεδόν οποιοδήποτε πακέτο DIP.

Το διάγραμμα "Πίνακας εγκατάστασης μικροελεγκτή (MK)" δείχνει πώς να εγκαταστήσετε μικροελεγκτές με διαφορετικές θήκες στον πίνακα. Κατά την εγκατάσταση του MC, θα πρέπει να δώσετε προσοχή στο γεγονός ότι ο μικροελεγκτής στον πίνακα είναι τοποθετημένος έτσι ώστε το κλειδί στο μικροκύκλωμα να βρίσκεται στο πλάι του μοχλού στερέωσης του πίνακα ZIF.

Αυτός είναι ο τρόπος με τον οποίο πρέπει να εγκαταστήσετε μικροελεγκτές 18 ακίδων (PIC16F84A, PIC16F628A, κ.λπ.).

Και έτσι είναι οι μικροελεγκτές 8 ακίδων (PIC12F675, PIC12F629, κ.λπ.).

Εάν χρειάζεται να αναβοσβήσετε έναν μικροελεγκτή σε πακέτο επιφανειακής στήριξης (SOIC), τότε μπορείτε να χρησιμοποιήσετε έναν προσαρμογέα ή απλώς να κολλήσετε 5 ακίδες στον μικροελεγκτή, οι οποίοι συνήθως απαιτούνται για τον προγραμματισμό (Vpp, Clock, Data, Vcc, GND) .

Μπορείτε να βρείτε το ολοκληρωμένο σχέδιο PCB με όλες τις αλλαγές στον σύνδεσμο στο τέλος του άρθρου. Ανοίγοντας το αρχείο στο πρόγραμμα Sprint Layout 5.0, χρησιμοποιώντας τη λειτουργία "Εκτύπωση", μπορείτε όχι μόνο να εκτυπώσετε ένα στρώμα με μοτίβο τυπωμένων αγωγών, αλλά και να προβάλετε τη θέση των στοιχείων σε μια πλακέτα τυπωμένου κυκλώματος. Δώστε προσοχή στον απομονωμένο βραχυκυκλωτήρα που συνδέει τον ακροδέκτη 6 του DD1 και τον πείρο 21 του πίνακα ZIF. Είναι απαραίτητο να εκτυπώσετε το σχέδιο του πίνακα σε καθρέφτη.

Μπορείτε να φτιάξετε μια πλακέτα τυπωμένου κυκλώματος χρησιμοποιώντας τη μέθοδο LUT, καθώς και έναν δείκτη για πλακέτες τυπωμένων κυκλωμάτων, χρησιμοποιώντας zaponlak (αυτό έκανα εγώ) ή τη μέθοδο "μολύβι".

Ακολουθεί μια εικόνα της τοποθέτησης των στοιχείων στην πλακέτα τυπωμένου κυκλώματος (με δυνατότητα κλικ).

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

Μικροελεγκτής "υλικολογισμικού" PIC18F2550.

Αρχείο υλικολογισμικού - PK2V023200.εξάγωνοπρέπει να εγγραφεί στη μνήμη του PIC18F2550I-SP MK χρησιμοποιώντας οποιονδήποτε προγραμματιστή που υποστηρίζει μικροελεγκτές PIC (για παράδειγμα, Extra-PIC). Χρησιμοποίησα τον προγραμματιστή JDM JONIC PROG και το πρόγραμμα WinPic800.

Μπορείτε να ανεβάσετε το "υλικολογισμικό" στο PIC18F2550 MK χρησιμοποιώντας τον ίδιο ιδιόκτητο προγραμματιστή PICkit2 ή τη νέα του έκδοση PICkit3. Φυσικά, μπορείτε να το κάνετε αυτό με ένα σπιτικό PICkit-2 Lite, αν κάποιος από τους φίλους σας κατάφερε να το συναρμολογήσει πριν από εσάς :).

Αξίζει επίσης να γνωρίζετε ότι το "υλικολογισμικό" του μικροελεγκτή PIC18F2550-I / SP (αρχείο PK2V023200.εξάγωνο) γράφεται κατά την εγκατάσταση του προγραμματιστή PICkit 2 σε έναν φάκελο μαζί με τα αρχεία του ίδιου του προγράμματος. Μια κατά προσέγγιση διαδρομή για τη θέση του αρχείου PK2V023200.hex είναι "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . Για όσους έχουν μια έκδοση 32-bit των Windows εγκατεστημένη στον υπολογιστή τους, η διαδρομή τοποθεσίας θα είναι διαφορετική: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

Λοιπόν, εάν δεν ήταν δυνατό να λυθεί το πρόβλημα "κοτόπουλο και αυγό" χρησιμοποιώντας τις προτεινόμενες μεθόδους, τότε μπορείτε να αγοράσετε έναν έτοιμο προγραμματιστή PICkit3 στον ιστότοπο AliExpress. Εκεί είναι πολύ φθηνότερα. Έγραψα για το πώς να αγοράσω ανταλλακτικά και ηλεκτρονικά κιτ στο AliExpress.

Ενημέρωση υλικολογισμικού προγραμματιστή.

Το Progress δεν σταματά και κατά καιρούς η Microchip εκδίδει ενημερώσεις για το λογισμικό της, συμπεριλαμβανομένου του προγραμματιστή PICkit2, PICkit3. Φυσικά, μπορούμε επίσης να ενημερώσουμε το πρόγραμμα ελέγχου του σπιτικού μας PICkit-2 Lite. Για να το κάνετε αυτό, χρειάζεστε το πρόγραμμα PICkit2 Programmer. Τι είναι και πώς να το χρησιμοποιήσετε - λίγο αργότερα. Στο μεταξύ, λίγα λόγια για το τι πρέπει να γίνει για την ενημέρωση του "υλικολογισμικού".

Για να ενημερώσετε το λογισμικό του προγραμματιστή, κλείστε το βραχυκυκλωτήρα XT1 στον προγραμματιστή όταν αποσυνδεθεί από τον υπολογιστή. Στη συνέχεια, συνδέστε τον προγραμματιστή στον υπολογιστή και εκτελέστε τον προγραμματιστή PICkit2. Όταν το XT1 είναι κλειστό, η λειτουργία ενεργοποιείται bootloaderγια λήψη της νέας έκδοσης υλικολογισμικού. Στη συνέχεια, στον προγραμματιστή PICkit2, μέσω του μενού "Εργαλεία" - "Λήψη Λειτουργικού Συστήματος PICkit 2", ανοίξτε το προπαρασκευασμένο δεκαεξαδικό αρχείο του ενημερωμένου υλικολογισμικού. Στη συνέχεια, θα πραγματοποιηθεί η διαδικασία ενημέρωσης του λογισμικού του προγραμματιστή.

Μετά την ενημέρωση, πρέπει να αποσυνδέσετε τον προγραμματιστή από τον υπολογιστή και να αφαιρέσετε το βραχυκυκλωτήρα XT1. Στην κανονική λειτουργία, ο βραχυκυκλωτήρας είναι ανοιχτός. Μπορείτε να μάθετε την έκδοση του λογισμικού προγραμματιστή μέσω του μενού "Βοήθεια" - "Σχετικά" στον Προγραμματιστή PICkit2.

Είναι όλα τεχνικά. Και τώρα για το λογισμικό.

Συνεργασία με προγραμματιστή Προγραμματιστής PICkit2.

Για να δουλέψουμε με τον προγραμματιστή USB, πρέπει να εγκαταστήσουμε το πρόγραμμα PICkit2 Programmer στον υπολογιστή. Αυτό το ειδικό πρόγραμμα έχει απλή διεπαφή, είναι εύκολο στην εγκατάσταση και δεν απαιτεί ειδική διαμόρφωση. Αξίζει να σημειωθεί ότι μπορείτε επίσης να εργαστείτε με τον προγραμματιστή χρησιμοποιώντας το περιβάλλον ανάπτυξης MPLAB IDE, αλλά για να αναβοσβήσετε / σβήσετε / διαβάσετε το MK, αρκεί ένα απλό πρόγραμμα - PICkit2 Programmer. Προτείνω.

Αφού εγκαταστήσουμε το πρόγραμμα PICkit2 Programmer, συνδέουμε τον συναρμολογημένο προγραμματιστή USB στον υπολογιστή. Ταυτόχρονα θα ανάψει πράσινος LED ("ισχύς") και το λειτουργικό σύστημα αναγνωρίζει τη συσκευή ως Προγραμματιστής μικροελεγκτή PICkit2 και εγκαταστήστε προγράμματα οδήγησης.

Εκκινήστε τον προγραμματιστή PICkit2. Θα πρέπει να εμφανιστεί μια επιγραφή στο παράθυρο του προγράμματος.

Εάν ο προγραμματιστής δεν είναι συνδεδεμένος, τότε στο παράθυρο του προγράμματος θα εμφανιστεί μια τρομερή επιγραφή και σύντομες οδηγίες "Τι να κάνετε;". Στα Αγγλικά.

Εάν ο προγραμματιστής είναι συνδεδεμένος σε υπολογιστή με εγκατεστημένο MK, τότε το πρόγραμμα θα το προσδιορίσει κατά την εκκίνηση και θα μας ενημερώσει σχετικά στο παράθυρο Προγραμματιστής PICkit2.

Συγχαρητήρια! Το πρώτο βήμα έχει γίνει. Και μίλησα για τον τρόπο χρήσης του προγραμματιστή PICkit2 σε ένα ξεχωριστό άρθρο. Επόμενο βήμα .

Απαιτούμενα αρχεία:

    Οδηγός χρήστη PICkit2 (Ρωσικά) take or .

Κάποτε αποφάσισα να συναρμολογήσω έναν απλό μετρητή LC στο pic16f628a και φυσικά έπρεπε να γίνει φλας με κάτι. Είχα έναν υπολογιστή με φυσική θύρα com, αλλά τώρα έχω μόνο usb και μια πλακέτα pci-lpt-2com στη διάθεσή μου. Αρχικά, συναρμολόγησα έναν απλό προγραμματιστή JDM, αλλά όπως αποδείχθηκε, δεν ήθελε να λειτουργήσει ούτε με την πλακέτα pci-lpt-com ούτε με τον προσαρμογέα usb-com (χαμηλή τάση σημάτων RS-232). Μετά έσπευσα να ψάξω για προγραμματιστές usb pic, αλλά εκεί, όπως αποδείχθηκε, όλα περιορίζονταν στη χρήση ακριβών pic18f2550 / 4550, που φυσικά δεν είχα, και είναι κρίμα να χρησιμοποιώ τόσο ακριβά MKs, αν το κάνω πολύ σπάνια κάτι σε αιχμές (προτιμώ τα Avrs, δεν είναι πρόβλημα να τα φλας, είναι πολύ φθηνότερα και μου φαίνεται ότι είναι πιο εύκολο να γράψεις προγράμματα σε αυτά). Αφού έψαξε για μεγάλο χρονικό διάστημα στο Διαδίκτυο σε ένα από τα πολλά άρθρα σχετικά με τον προγραμματιστή EXTRA-PIC και τις διάφορες επιλογές του, ένας από τους συγγραφείς έγραψε ότι το extrapic λειτουργεί με οποιαδήποτε θύρα com και ακόμη και με έναν προσαρμογέα usb-com.

Το σχήμα αυτού του προγραμματιστή χρησιμοποιεί έναν μετατροπέα λογικού επιπέδου max232.

Σκέφτηκα, εάν χρησιμοποιείτε προσαρμογέα USB, θα ήταν πολύ ανόητο να κάνετε δύο φορές τη μετατροπή των επιπέδων usb σε usart TTL, TTL σε RS232, RS232 πίσω σε TTL, αν μπορείτε απλώς να πάρετε τα σήματα TTL της θύρας RS232 από το τσιπ μετατροπέα usb-usart.

Και έτσι έκανε. Πήρα το τσιπ CH340G (που έχει και τα 8 σήματα com-port) και το σύνδεσα αντί για max232. Και αυτό έγινε.

Στο κύκλωμά μου υπάρχει ένα jumper jp1, το οποίο δεν είναι στην έξτρα κορυφή, το έβαλα επειδή δεν ήξερα πώς θα συμπεριφερόταν η έξοδος TX σε επίπεδο TTL, οπότε κατέστησα δυνατή την αναστροφή του στο υπόλοιπο ελεύθερο στοιχείο NAND και δεν έχασε, όπως αποδείχθηκε, απευθείας ο ακροδέκτης TX είναι λογικός και επομένως υπάρχουν 12 βολτ στον ακροδέκτη VPP όταν είναι ενεργοποιημένος και τίποτα δεν θα συμβεί κατά τον προγραμματισμό (αν και μπορείτε να αναστρέψετε το TX μέσω προγραμματισμού).

Μετά τη συναρμολόγηση της πλακέτας, είναι ώρα για δοκιμή. Και μετά ήρθε η κύρια απογοήτευση. Ο προγραμματιστής καθορίστηκε αμέσως (με το πρόγραμμα ic-prog) και κέρδισε, αλλά πολύ αργά! Βασικά, είναι αναμενόμενο. Στη συνέχεια, στις ρυθμίσεις της θύρας com, έβαλα τη μέγιστη ταχύτητα (128 kilobauds) και άρχισα να δοκιμάζω όλα τα προγράμματα που βρέθηκαν για JDM. Ως αποτέλεσμα, το PicPgm αποδείχθηκε το ταχύτερο. Το pic16f628a μου αναβοσβήνει εντελώς (hex, eeprom και config) συν την επαλήθευση κάπου γύρω στα 4-6 λεπτά (εξάλλου, η ανάγνωση είναι πιο αργή από τη γραφή). Το IcProg λειτουργεί επίσης, αλλά πιο αργά. Δεν υπήρχαν σφάλματα προγραμματισμού. Προσπάθησα επίσης να αναβοσβήσω το eeprom 24c08, το αποτέλεσμα είναι το ίδιο - όλα ράβονται, αλλά πολύ αργά.

Συμπεράσματα: ο προγραμματιστής είναι αρκετά απλός, δεν έχει ακριβά εξαρτήματα (CH340 - 0,3-0,5 $, k1533la3 μπορεί να βρεθεί ανάμεσα στα σκουπίδια του ραδιοφώνου), λειτουργεί σε οποιονδήποτε υπολογιστή, φορητό υπολογιστή (και μπορείτε ακόμη και να χρησιμοποιήσετε ταμπλέτες των Windows 8/10). Μειονεκτήματα: Είναι πολύ αργό. Απαιτεί επίσης εξωτερική τροφοδοσία για το σήμα VPP. Ως αποτέλεσμα, όπως μου φάνηκε, για σπάνια αναβοσβήνει αιχμές, αυτή είναι μια εύκολη στην επανάληψη και φθηνή επιλογή για όσους δεν έχουν έναν αρχαίο υπολογιστή με τις απαραίτητες θύρες στο χέρι.

Εδώ είναι μια φωτογραφία της τελικής συσκευής:

Όπως λέει και το τραγούδι, «Τον τύφλωσα από αυτό που ήταν». Το σύνολο των εξαρτημάτων είναι το πιο διαφορετικό: τόσο smd όσο και DIP.

Για όσους τολμούν να επαναλάβουν το σχήμα, σχεδόν οποιοσδήποτε (ft232, pl2303, cp2101 κ.λπ.) είναι κατάλληλος ως μετατροπέας usb-uart, αντί για k1533la3, είναι κατάλληλος ο k555, νομίζω ακόμη και η σειρά k155 ή ένα ξένο ανάλογο 74als00 , μπορεί ακόμη και να λειτουργεί με λογικά ΟΧΙ στοιχεία όπως το k1533ln1. Εσωκλείω την πλακέτα τυπωμένου κυκλώματος μου, αλλά την καλωδίωση εκεί για τα στοιχεία που ήταν διαθέσιμα, ο καθένας μπορεί να ξανασχεδιάσει για τον εαυτό του.

Λίστα ραδιοφωνικών στοιχείων

Ονομασία Τύπος Ονομασία Ποσότητα ΣημείωσηΚατάστημαΤο σημειωματάριό μου
IC1 ΠατατακιCH340G1 Στο σημειωματάριο
IC2 ΠατατακιK1533LA31 Στο σημειωματάριο
VR1 Γραμμικός ρυθμιστής

LM7812

1 Στο σημειωματάριο
VR2 Γραμμικός ρυθμιστής

LM7805

1 Στο σημειωματάριο
VT1 διπολικό τρανζίστορ

KT502E

1 Στο σημειωματάριο
VT2 διπολικό τρανζίστορ

KT3102E

1 Στο σημειωματάριο
VD1-VD3 ανορθωτική δίοδος

1N4148

2 Στο σημειωματάριο
C1, C2, C5-C7 Πυκνωτής100 nF5 Στο σημειωματάριο
C3, C4 Πυκνωτής22 pF2 Στο σημειωματάριο
HL1-HL4 Δίοδος εκπομπής φωτόςΟποιος4 Στο σημειωματάριο
R1, R3, R4 Αντίσταση

1 kOhm

3

Δεν είναι πρόβλημα για πολλούς ραδιοερασιτέχνες να συναρμολογήσουν γρήγορα ένα κύκλωμα που τους αρέσει σε έναν μικροελεγκτή. Αλλά πολλοί αρχάριοι που εργάζονται με μικροελεγκτές αντιμετωπίζουν το ερώτημα πώς να το προγραμματίσουν. Μία από τις απλούστερες επιλογές για προγραμματιστές είναι ο προγραμματιστής JDM.

Πρόγραμμα - προγραμματιστής ProgCode v 1.0

Αυτό το πρόγραμμα εκτελείται σε Windows XP. Επιτρέπει τον προγραμματισμό ελεγκτών PIC της μεσαίας οικογένειας (PIC16Fxxx) μέσω της θύρας COM του υπολογιστή. Η ένδειξη σύνδεσης προγραμματιστή (στην επάνω δεξιά γωνία του παραθύρου) όταν δεν υπάρχει προγραμματιστής στη θύρα που έχει επιλεγεί στις ρυθμίσεις γίνεται κόκκινη. Εάν ο προγραμματιστής είναι συνδεδεμένος, το πρόγραμμα τον ανιχνεύει και η ένδειξη στην επάνω δεξιά γωνία παίρνει τη μορφή που φαίνεται στην Εικόνα 1.

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

Εικόνα (στιγμιότυπο οθόνης του ProgCode v1.0)


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

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

Μορφή αρχείου SFR

Ο προγραμματιστής ProgCode υποστηρίζει την εργασία με τη δική του μορφή αρχείου. Αυτά τα αρχεία έχουν την επέκταση .SFR και σας επιτρέπουν να αποθηκεύσετε πρόσθετες πληροφορίες σχετικά με το πρόγραμμα που έχει σχεδιαστεί για τον μικροελεγκτή. Αυτό το αρχείο αποθηκεύει πληροφορίες σχετικά με τον τύπο του μικροελεγκτή. Αυτό επιτρέπει, κατά τη φόρτωση ενός αρχείου SFR, να μην ανησυχείτε για την προεπιλογή του τύπου MK στις ρυθμίσεις.

Ρυθμίσεις θύρας και πρωτοκόλλου κατά τη σύνδεση του προγραμματιστή

Μετά την εγκατάσταση του προγράμματος, από προεπιλογή, ορίζονται όλες οι ρυθμίσεις που είναι απαραίτητες για να εργαστεί ο προγραμματιστής με το σχήμα JDM που εμφανίζεται σε αυτήν τη σελίδα.
Η αναστροφή σήματος στο παραπάνω κύκλωμα χρειάζεται μόνο για την έξοδο OutData, αφού σε αυτό το κύκλωμα το σήμα αναστρέφεται από το αντίστοιχο τρανζίστορ. Σε όλες τις άλλες εξόδους, η αντιστροφή είναι απενεργοποιημένη.



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

Το πλαίσιο ελέγχου "check on write" πρέπει να ελέγχεται εάν πρέπει να ελέγξετε "on the fly" όλα όσα είναι γραμμένα στον μικροελεγκτή για ορθότητα και συμμόρφωση με το αρχείο προέλευσης. Εάν αυτό το πλαίσιο ελέγχου δεν είναι επιλεγμένο, ο έλεγχος δεν εκτελείται καθόλου και δεν θα υπάρχουν μηνύματα σφάλματος, ακόμα κι αν υπάρχουν στην πραγματικότητα τέτοια σφάλματα.
Επιλογή ταχύτητας θύρας - μπορεί να επιλεγεί οποιαδήποτε ταχύτητα. Για τον προγραμματιστή JDM, αυτή η παράμετρος δεν έχει σημασία.

Τα WindowsXP χρησιμοποιούν buffering των πληροφοριών που μεταδίδονται μέσω των θυρών COM. Αυτά είναι τα λεγόμενα buffers FIFO. Για την αποφυγή σφαλμάτων κατά τον προγραμματισμό μέσω JDM, αυτός ο μηχανισμός πρέπει να είναι απενεργοποιημένος. Μπορείτε να το κάνετε αυτό στη Διαχείριση Συσκευών των Windows.

Μεταβείτε στον πίνακα ελέγχου και, στη συνέχεια:
Εργαλεία Διαχείρισης - Διαχείριση Υπολογιστών - Διαχείριση Συσκευών

Στη συνέχεια, επιλέγουμε τη θύρα στην οποία είναι συνδεδεμένος ο προγραμματιστής JDM (για παράδειγμα, COM1) - εξετάζουμε τις ιδιότητες - την καρτέλα ρυθμίσεων θύρας - επιπλέον. Και καταργήστε την επιλογή του πλαισίου "Χρήση buffers FIFO"

Εικόνα - Διαμόρφωση της θύρας COM ώστε να λειτουργεί με τον προγραμματιστή JDM



Μετά από αυτό, κάνουμε επανεκκίνηση του υπολογιστή.


Local Project Explorer

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

Οποιοδήποτε αρχείο, όταν κάνετε διπλό κλικ σε αυτό στον πίνακα του προγράμματος περιήγησης, θα ανοίξει στο ίδιο το πρόγραμμα - αυτό ισχύει για εικόνες, αρχεία html, doc, rtf, djvu (με εγκατεστημένα πρόσθετα), pdf, txt, asm. Το αρχείο μπορεί επίσης να ανοίξει κάνοντας διπλό κλικ στο πρόγραμμα περιήγησης χρησιμοποιώντας ένα εξωτερικό πρόγραμμα εγκατεστημένο στον υπολογιστή. Για να γίνει αυτό, η επέκταση του επιθυμητού τύπου αρχείου πρέπει να καταχωρηθεί στη λίστα "Συσχετίσεις αρχείων". Εάν δεν καθορίσετε τη διαδρομή προς το πρόγραμμα ανοίγματος, τα Windows θα ανοίξουν το αρχείο στο προεπιλεγμένο πρόγραμμα (αυτό είναι βολικό για το άνοιγμα αρχείων που δεν ανοίγουν πάντα αναμφισβήτητα). Εάν η διαδρομή προς το πρόγραμμα ανοίγματος καθορίζεται στη λίστα, το αρχείο θα ανοίξει στο καθορισμένο πρόγραμμα. Είναι βολικό να προβάλλετε αρχεία όπως SPL, LAY, DSN με αυτόν τον τρόπο.

Εικόνα (στιγμιότυπο οθόνης του προγράμματος περιήγησης ProgCode v1.0)



Έτσι φαίνεται το παράθυρο ρυθμίσεων συσχέτισης αρχείων:




Web Project Explorer

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



Κατά την εξέταση έργων στο Διαδίκτυο, εάν η σελίδα του έργου περιέχει έναν σύνδεσμο προς ένα αρχείο με την επέκταση SFR (αυτή είναι η μορφή αρχείου του προγράμματος ProgCode), τότε ένα τέτοιο αρχείο, όταν κάνετε κλικ σε αυτό, θα ανοίξει σε μια νέα καρτέλα το πρόγραμμα και είναι αμέσως έτοιμο για υλικολογισμικό στον μικροελεγκτή.
Η λίστα των συνδέσμων μπορεί να επεξεργαστεί χρησιμοποιώντας το κουμπί "Επεξεργασία". Αυτό θα ανοίξει το παράθυρο για την επεξεργασία της λίστας των συνδέσμων:





Περιγραφή της διαδικασίας προγραμματισμού chip

Τα περισσότερα σύγχρονα μικροκυκλώματα περιέχουν μνήμη flash, η οποία προγραμματίζεται χρησιμοποιώντας το πρωτόκολλο I2C ή παρόμοια πρωτόκολλα.
Η επανεγγράψιμη μνήμη είναι διαθέσιμη σε PIC, AVR και άλλους ελεγκτές, τσιπ μνήμης όπως 24Cxx και παρόμοια, διάφορες κάρτες μνήμης MMC και SD, συνηθισμένες κάρτες flash USB που συνδέονται σε υπολογιστή μέσω υποδοχής USB.

Σκεφτείτε να γράψετε πληροφορίες στη μνήμη flash του μικροελεγκτή PIC 16 F 628 A

Υπάρχουν 2 γραμμές DATA και CLOCK , μέσω του οποίου μεταδίδεταιπληροφορίες. ΓραμμήΡΟΛΟΪ χρησιμεύει για την παροχή παλμών ρολογιού, και τη γραμμήΔΕΔΟΜΕΝΑ για τη μεταφορά πληροφοριών.

Για να μεταφέρετε 1 bit πληροφοριών στον μικροελεγκτή, πρέπει να ορίσετε 0 ή 1 (ανάλογα με την τιμή του bit) στη γραμμή δεδομένων ( DATA) και να δημιουργήσετε πτώση τάσης (μετάβαση από 1 σε 0) στη γραμμή ρολογιού ( CLOCK ).
Ένα bit για τον ελεγκτή δεν είναι αρκετό. Περιμένει μετά από πέντε ακόμη για να πάρει αυτό το πακέτο των 6 bit ως εντολή. Στον ελεγκτή αρέσουν πολύ οι εντολές και θα πρέπει να αποτελούνται από ακριβώς 6 bit - αυτή είναι η φύση του PIC 16.
Εδώ είναι η λίστα και το νόημα των εντολών που μπορεί να κατανοήσει το PIC. Δεν υπάρχουν τόσες πολλές εντολές - το λεξιλόγιο αυτού του ελεγκτή είναι μικρό, αλλά δεν πρέπει να πιστεύετε ότι είναι εντελώς ανόητο - υπάρχουν συσκευές με λιγότερες εντολές

"LoadConfiguration" 000000 - Διαμόρφωση φόρτωσης

"LoadDataForDataMemory" - 000011 - Φόρτωση δεδομένων στη μνήμη δεδομένων (EEPROM)
"IncrementAddress" 000110 - Αυξήστε τη διεύθυνση του PC MK
"ReadDataFromProgramMemory" 000100 - Ανάγνωση δεδομένων από τη μνήμη προγράμματος
"ReadDataFromDataMemory" 000101 - Ανάγνωση δεδομένων από τη μνήμη δεδομένων (EEPROM)
"BeginProgrammingOnlyCycle" 011000 - Έναρξη κύκλου προγραμματισμού
"BulkEraseProgramMemory" 001001 - Πλήρης διαγραφή της μνήμης του προγράμματος
"BulkEraseDataMemory" 001011 - Πλήρης διαγραφή της μνήμης δεδομένων (EEPROM)

Ο ελεγκτής αντιδρά σε αυτές τις εντολές με διαφορετικούς τρόπους. Με διαφορετικούς τρόπους, μετά την έκδοση της εντολής, πρέπει να συνεχίσετε τη συνομιλία μαζί του.
Για να ξεκινήσετε μια πλήρη διαδικασία προγραμματισμού, είναι επίσης απαραίτητο να εφαρμόσετε μια τάση 12 βολτ στην έξοδο MCLR του ελεγκτή και, στη συνέχεια, να εφαρμόσετε μια τάση τροφοδοσίας σε αυτήν. Σε αυτή τη σειρά τροφοδοσίας τάσης υπάρχει ένα ορισμένο νόημα. Μετά την ενεργοποίηση, εάν το PIC έχει ρυθμιστεί να εκτελείται από τον εσωτερικό ταλαντωτή RC, μπορεί να ξεκινήσει να εκτελεί το δικό του πρόγραμμα, το οποίο δεν επιτρέπεται κατά τον προγραμματισμό, καθώς η αποτυχία είναι αναπόφευκτη.
Η προτροφοδότηση 12 βολτ στο MCLR αποφεύγει αυτό το σενάριο.
Κατά την εγγραφή πληροφοριών στη μνήμη flash των προγραμμάτων MK μετά την εντολή

"LoadDataForProgramMemory" 000010 - Φόρτωση δεδομένων στη μνήμη προγράμματος

είναι απαραίτητο να στείλετε τα ίδια τα δεδομένα στον ελεγκτή - 16 bit,
που μοιάζουν με αυτό:

“0xxxxxxxxxxxxx 0”.

Οι σταυροί σε αυτήν τη λέξη είναι τα ίδια τα δεδομένα και τα μηδενικά γύρω από τις άκρες αποστέλλονται ως πλαίσιο - αυτό είναι το πρότυπο για το PIC 16. Υπάρχουν μόνο 14 σημαντικά bit σε μια λέξη. Αυτή η σειρά ελεγκτών έχει μια εντολή 14 bit μορφή αναπαράστασης.
Αφού ολοκληρωθεί η μετάδοση της λέξης δεδομένων, το PIC περιμένει την επόμενη εντολή.
Δεδομένου ότι ο στόχος μας είναι να γράψουμε μια λέξη στη μνήμη του προγράμματος MK, η επόμενη εντολή θα πρέπει να είναι η εντολή

"BeginEraseProgrammingCycle" 001000 - Έναρξη κύκλου προγραμματισμού

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

Τα σήματα στις ακίδες του μικροελεγκτή παράγονται από υπολογιστή χρησιμοποιώντας ειδικά προγράμματα - προγραμματιστές. Οι θύρες COM, LPT ή USB μπορούν να χρησιμεύσουν για μετάδοση σήματος. Προγράμματα όπως τα PonyProg, IsProg, WinPic800 συνεργάζονται με τον προγραμματιστή JDM.


Σχηματικό διάγραμμα του προγραμματιστή JDM

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


Μία από τις ερωτήσεις κατά τη σύνδεση του προγραμματιστή με έναν υπολογιστή είναι η ερώτηση - πώς να παρέχεται επιλεκτική απομόνωση. Για να αποφύγετε ζημιά στη θύρα COM σε περίπτωση δυσλειτουργίας στο κύκλωμα. Ορισμένα κυκλώματα χρησιμοποιούν το τσιπ MAX232, το οποίο παρέχει επιλεκτική απομόνωση και αντιστοίχιση επιπέδου σήματος. Σε αυτό το σχήμα, το πρόβλημα επιλύεται πιο απλά - χρησιμοποιώντας την ισχύ της μπαταρίας. Το επίπεδο του σήματος που προέρχεται από τον υπολογιστή περιορίζεται από τις διόδους zener VD1, VD2 και VD3. Παρά την απλότητα του κυκλώματος προγραμματιστή JDM, οι περισσότεροι τύποι μικροελεγκτών PIC μπορούν να προγραμματιστούν με αυτό.

Ο βραχυκυκλωτήρας μεταξύ των ακίδων COM6(DSR) και COM7(RTS) έχει σχεδιαστεί έτσι ώστε το πρόγραμμα να μπορεί να προσδιορίσει ότι ο προγραμματιστής είναι συνδεδεμένος στον υπολογιστή.

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

Ο πίνακας δείχνει τον σκοπό των σκελών ορισμένων τύπων MK κατά τον προγραμματισμό.

Οι μικροελεγκτές PIC16F84, PIC16F84A έχουν την ίδια διάταξη ακίδων για προγραμματισμό.



Η αντιστοίχιση ακίδων για μικροελεγκτές της σειράς PIC16Fxxx, ανάλογα με τον τύπο της θήκης, είναι τυπική στις περισσότερες περιπτώσεις, αλλά εάν υπάρχει αμφιβολία σχετικά με αυτό, τότε είναι πιο αξιόπιστο να ελέγξετε το φύλλο δεδομένων για μια συγκεκριμένη περίπτωση του MK. Μέρος της τεκμηρίωσης υπάρχει στη ρωσική τοποθεσία http://microchip.ru Η πλήρης συλλογή των φύλλων δεδομένων και της άλλης τεκμηρίωσης βρίσκεται στον ιστότοπο του κατασκευαστή μικροελεγκτών PIC: http://microchip.com

Ευρετήριο έργου

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



Εάν είναι απαραίτητο, αναβοσβήστε τον ελεγκτή με το επιλεγμένο υλικολογισμικό - κάντε κλικ στο αρχείο μορφής SFR, για παράδειγμα Timer_a.sfr
Το πρόγραμμα πραγματοποιεί λήψη του αρχείου από τον διακομιστή σε μια νέα καρτέλα.



Μετά από αυτό, μένει μόνο να εισαγάγετε το MK στην υποδοχή προγραμματιστή, εάν δεν έχει ήδη γίνει και κάντε κλικ στο κουμπί "Εγγραφή όλων".
Το πρόγραμμα είναι ηχογραφημένο σε MK. Μετά από αυτό, ο ελεγκτής εισάγεται στην πλακέτα της συσκευής και η συσκευή είναι έτοιμη για λειτουργία.

Ως στοιχειώδης προγραμματιστής, σας προτείνουμε να συναρμολογήσετε έναν προγραμματιστή συμβατό με JDM σύμφωνα με το σχήμα του συγγραφέα, τον οποίο ονομάσαμε προγραμματιστής NTV. Παρακάτω είναι ένα διάγραμμα ενός προγραμματιστή NTV (χρησιμοποιείται υποδοχή DB9, δεν πρέπει να συγχέεται με βύσμα).

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

Αυτός ο προγραμματιστής ΔΕΝ ΛΕΙΤΟΥΡΓΕΙ όταν είναι συνδεδεμένος σε φορητούς υπολογιστές, γιατί. Τα επίπεδα σήματος της διεπαφής RS-232 (θύρα COM) σε κινητά συστήματα υποτιμώνται. Επίσης, ενδέχεται να μην λειτουργεί σε σύγχρονους υπολογιστές, όπου το υλικό εξοικονομεί ρεύμα ανά θύρα. Επομένως, μην με κατηγορείτε, συλλέξτε και ελέγξτε όλους τους υπολογιστές που έρχονται στο χέρι.

Δομικά, η πλακέτα προγραμματιστή εισάγεται μεταξύ των επαφών του βύσματος DB-9, οι οποίες είναι συγκολλημένες στα μαξιλαράκια της πλακέτας τυπωμένου κυκλώματος. Παρακάτω είναι ένα σχέδιο του πίνακα και μια φωτογραφία του συναρμολογημένου προγραμματιστή.



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

Ο προτεινόμενος προγραμματιστής βασίζεται σε μια δημοσίευση από το Ραδιοφωνικό περιοδικό Νο. 2, 2004, «Προγραμματισμός σύγχρονου PIC16, PIC12 στο PonyProg». Αυτός είναι ο πρώτος μου προγραμματιστής που χρησιμοποίησα για να αναβοσβήνω τσιπ PIC στο σπίτι. Ο προγραμματιστής είναι μια απλοποιημένη έκδοση του προγραμματιστή JDM, το αρχικό κύκλωμα έχει μετατροπέα RS-232 σε TTL με τη μορφή τσιπ MAX232, είναι πιο ευέλικτο, αλλά δεν μπορείτε να το συναρμολογήσετε "στο γόνατο". Αυτό το κύκλωμα δεν έχει καθόλου ενεργά εξαρτήματα, δεν περιέχει σπάνια εξαρτήματα και είναι πολύ απλό, μπορεί να συναρμολογηθεί χωρίς τη χρήση πλακέτας τυπωμένου κυκλώματος.

Ρύζι. 1: Σχηματικό διάγραμμα του προγραμματιστή.

Περιγραφή του συστήματος
Το σχήμα του προγραμματιστή φαίνεται στο σχ. 1. Οι αντιστάσεις στα κυκλώματα CLK (clocking), DATA (πληροφορίες), Upp (τάση προγραμματισμού) χρησιμεύουν για τον περιορισμό του ρεύματος ροής. Οι ελεγκτές PIC προστατεύονται από καταστροφή από ενσωματωμένες διόδους zener, έτσι επιτυγχάνεται κάποια συμβατότητα της λογικής TTL και RS-232. Στο παρουσιαζόμενο κύκλωμα, υπάρχουν δίοδοι VD1, VD2, οι οποίες «αφαιρούν» τη θετική τάση από τη θύρα COM σε σχέση με τον ακροδέκτη 5 και τη μεταφέρουν στο τροφοδοτικό του ελεγκτή, λόγω του οποίου, σε ορισμένες περιπτώσεις, είναι δυνατή η απαλλαγή πρόσθετης πηγής ενέργειας.

Εγκατάσταση
Στην πράξη, δεν συμβαίνει πάντα αυτός ο προγραμματιστής να λειτουργεί χωρίς προσαρμογή, από την 1η φορά, γιατί. η λειτουργία αυτού του σχήματος εξαρτάται σε μεγάλο βαθμό από τις παραμέτρους της θύρας COM. Ωστόσο, σε δύο μητρικές κάρτες Gigabyte 8IPE1000 και WinFast με XP, όλα λειτούργησαν αμέσως για μένα. Εάν είστε πολύ τεμπέλης για να αντιμετωπίσετε ένα κύκλωμα προγραμματιστή που δεν λειτουργεί, πιο πολύπλοκο, τότε θα πρέπει να προσπαθήσετε να συναρμολογήσετε αυτό. Εδώ είναι μερικά πράγματα που μπορεί να επηρεάσουν:

Το νεότερο χαλάκι. board, οι προγραμματιστές δίνουν λιγότερη προσοχή σε αυτές τις θύρες, επειδή αυτές οι θύρες έχουν από καιρό ξεπεραστεί. Μπορείτε να απαλλαγείτε από αυτό αγοράζοντας έναν προσαρμογέα USB-COM, αν και και πάλι, η αγορασμένη συσκευή μπορεί να μην είναι κατάλληλη. Οι απαιτούμενες παράμετροι είναι οι εξής: η μεταβλητή τάση πρέπει να αλλάξει τουλάχιστον -10V σε +10V (log. 0 και 1) σε σχέση με την 5η ακίδα του βύσματος. Το ρεύμα εξόδου πρέπει να είναι τουλάχιστον τέτοιο ώστε όταν συνδεθεί μια αντίσταση 2,7 kΩ μεταξύ της 5ης ακίδας και της ακίδας υπό δοκιμή, η τάση να μην πέσει κάτω από 10 V (δεν έχω δει τέτοιες πλακέτες ο ίδιος). Επίσης, η θύρα πρέπει να προσδιορίζει σωστά τις τάσεις που προέρχονται από τον ελεγκτή, σε επίπεδο τάσης κοντά στα 0V, αλλά όχι περισσότερο από 2V, ανιχνεύεται μηδέν και, κατά συνέπεια, σε πάνω από 2V, ανιχνεύεται ένα.

Επίσης, προβλήματα μπορεί να προκύψουν από το λογισμικό.
Αυτό ισχύει ιδιαίτερα για το LINUX OS, γιατί Λόγω της παρουσίας εξομοιωτών όπως το κρασί, οι θύρες VirtualBox ενδέχεται να μην λειτουργούν σωστά και απαιτούνται πολλές δυνατότητες από αυτές. Θα θίξω αυτά τα θέματα με περισσότερες λεπτομέρειες σε άλλο άρθρο.

Γνωρίζοντας αυτά τα χαρακτηριστικά, ας αρχίσουμε να χτίζουμε.
Για αυτό, είναι πολύ επιθυμητό να έχουμε το πρόγραμμα ICProg 1.05D.
Στο μενού προγράμματος, πρέπει πρώτα να επιλέξετε στις ρυθμίσεις αντιστοίχιση. θύρα (COM1. COM2), επιλέξτε προγραμματιστής JDM. Στη συνέχεια, ανοίξτε το παράθυρο "Έλεγχος υλικού", στο μενού "Ρυθμίσεις". Σε αυτό το μενού, πρέπει να ελέγξετε τα πλαίσια με τη σειρά και να μετρήσετε την τάση στις επαφές του συνδεδεμένου συνδετήρα με ένα βολτόμετρο. Εάν οι παράμετροι τάσης δεν αντιστοιχούν στον κανόνα, τότε δυστυχώς, αυτό μπορεί να είναι η αιτία της αλειτουργίας, τότε θα πρέπει να συναρμολογήσετε ένα κύκλωμα με μετατροπέα RS-232 TTL. Έχοντας ελέγξει όλα τα πλαίσια ελέγχου, πρέπει να βεβαιωθείτε ότι έχει σχηματιστεί τάση τροφοδοσίας περίπου 5 V στη δίοδο zener. Εάν οι τάσεις είναι κανονικές και δεν υπάρχουν σφάλματα εγκατάστασης, τότε όλα θα πρέπει να λειτουργούν. Βάζουμε το χειριστήριο στην υποδοχή, ανοίγουμε το υλικολογισμικό, το προγραμματίζουμε. Τα πλαίσια ελέγχου όπως "Αντιστροφή δεδομένων εξόδου" δεν χρειάζεται να είναι ενεργοποιημένα (όλα είναι αποεπιλεγμένα). Επίσης, μην ξεχνάτε ότι ορισμένες παρτίδες ελεγκτών μπορεί να μην έχουν αρκετά τυπικές παραμέτρους και δεν μπορούν να αναβοσβήσουν, σε τέτοιες περιπτώσεις με αυτόν τον προγραμματιστή μπορείτε μόνο να προσπαθήσετε να μειώσετε την τάση τροφοδοσίας από 5V σε 3-4V συνδέοντας το αντίστοιχο. δίοδος zener, κοιτάξτε τον ελεγκτή για εσφαλμένη ενεργοποίηση της λειτουργίας LVP (προγραμματισμός χαμηλής τάσης), πώς να αποτρέψετε, μπορείτε να διαβάσετε στο Διαδίκτυο για έναν συγκεκριμένο τύπο ελεγκτή. Μπορείτε πιθανώς να αυξήσετε την τάση προγραμματισμού ενός προβληματικού ελεγκτή μόνο περιπλέκοντας το κύκλωμα εισάγοντας μια βαθμίδα ενισχυτή με κοινό πομπό, που τροφοδοτείται από μια πρόσθετη πηγή ισχύος.

Τώρα περισσότερα για το πρόβλημα με την τροφοδοσία της συσκευής. Ο προγραμματιστής δοκιμάστηκε με προγράμματα ICProg και κονσόλα picprog σε Linux, θα πρέπει να λειτουργεί με οποιονδήποτε υποστηρίζει JDM εάν συνδέσετε μια πρόσθετη πηγή ενέργειας (συνδέεται μέσω αντίστασης 1kΩ στη δίοδο zener, οι δίοδοι με αντιστάσεις σε αυτήν την περίπτωση μπορούν να είναι εντελώς εξαιρούνται). Το γεγονός είναι ότι οι αλγόριθμοι ελέγχου προγραμματιστή για μεμονωμένο λογισμικό είναι διαφορετικοί, το πρόγραμμα ICProg είναι το πιο ανεπιτήδευτο. Παρατηρήθηκε ότι στα Windows αυτό το πρόγραμμα αύξησε την απαιτούμενη τάση τροφοδοσίας στον αχρησιμοποίητο ακροδέκτη 2, το ίδιο πρόγραμμα κάτω από τον εξομοιωτή στο Linux σε ένα άλλο στρώμα. Η πλακέτα δεν μπορούσε πλέον να το κάνει αυτό, ωστόσο, βρέθηκε μια διέξοδος παίρνοντας ρεύμα από την τάση προγραμματισμού. Σε γενικές γραμμές, με το ICProg, νομίζω ότι μπορείτε να χρησιμοποιήσετε αυτόν τον προγραμματιστή χωρίς πρόσθετη ισχύ. Με άλλο λογισμικό, αυτό είναι απίθανο να είναι εγγυημένο, για παράδειγμα, το "εγγενές" από τα αποθετήρια picprog του Ubuntu χωρίς τροφοδοσία απλά δεν ανιχνεύει τον προγραμματιστή, εμφανίζοντας το μήνυμα "Το υλικό JDM δεν βρέθηκε". Μάλλον είτε λαμβάνει κάποια δεδομένα χωρίς να εφαρμόζει την τάση προγραμματισμού, είτε το κάνει πολύ γρήγορα, έτσι ώστε ο πυκνωτής του φίλτρου να μην έχει προλάβει ακόμα να φορτίσει.


Οι περισσότεροι συζητήθηκαν
Αυτοεπισκευή του πλυντηρίου ρούχων AEG Αιτίες μιας τέτοιας δυσλειτουργίας Αυτοεπισκευή του πλυντηρίου ρούχων AEG Αιτίες μιας τέτοιας δυσλειτουργίας
Αγοράστε φάρους LED για ειδικό εξοπλισμό Αγοράστε φάρους LED για ειδικό εξοπλισμό
Αλλαγή πλακέτας κυκλώματος τροφοδοσίας υπολογιστή fa 5 f Αλλαγή πλακέτας κυκλώματος τροφοδοσίας υπολογιστή fa 5 f


μπλουζα