Μια σπιτική και προσιτή εναλλακτική λύση στον πωλούμενο προγραμματιστή από την STMicroelectronics. Είναι ένα απόσπασμα και μια συλλογή πολλών άρθρων και διαγραμμάτων που βρίσκονται στο Διαδίκτυο. Υλοποίηση με τη μικρότερη δυνατή μορφή.

Κάθε προγραμματιστής ενσωματωμένου λογισμικού πρέπει να έχει προγραμματιστή για τις συσκευές που χρησιμοποιεί. Στην περίπτωσή μου, μικροελεγκτές της STMicroelectronics, καθώς και Milandr (ρωσικοί επεξεργαστές βασισμένοι στον πυρήνα ARM).

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

Αποφασίστηκε να φτιάξουμε μόνοι μας τον προγραμματιστή. Η βάση ήταν τα διαγράμματα κυκλωμάτων των πλακών εντοπισμού σφαλμάτων για διάφορα MK, το αποτέλεσμα ήταν μια πλήρως λειτουργική μονάδα εντοπισμού σφαλμάτων όχι μόνο για τα τσιπ stm32, αλλά και για τα τσιπ stm8 και ακόμη και τα Milanda (δοκιμασμένα μέχρι στιγμής μόνο στο K1986BE92, αλλά νομίζω ότι θα ραφτούν και άλλα και αποσφαλμάτωση).

Κύριες λειτουργίες:

  • Προγραμματισμός και εντοπισμός σφαλμάτων STM32.
  • Προγραμματισμός και εντοπισμός σφαλμάτων STM8.
  • προγραμματισμός και εντοπισμός σφαλμάτων ARM Milander.

Διεπαφές προγραμματισμού:

  • SWD - έως 4 MHz.
  • JTAG;
  • ΖΑΛΗ.

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

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


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

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


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

Για να διασφαλίσουμε ότι λειτουργεί, πρέπει να αναβοσβήνουμε το λογισμικό στον μικροελεγκτή για αυτό χρειαζόμαστε έναν προσαρμογέα usb-uart, ένα bootloader και ένα βοηθητικό πρόγραμμα υλικολογισμικού.

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

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

Όπως μπορείτε να μαντέψετε, όλα λειτούργησαν και τώρα μπορείτε να πάρετε το bootloader.

Για την πλήρωση, χρησιμοποιούμε το βύσμα P1, των οποίων οι ακίδες 3 και 4 συνδέονται μεταξύ τους, μεταβαίνοντας τον μικροελεγκτή σε λειτουργία εκκίνησης μέσω του usart1. Συνδέουμε τους προσαρμογείς uart και τροφοδοτούμε την πλακέτα προγραμματιστή, μέσω υποδοχής USB.

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

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

Κάθε άτομο που ενδιαφέρεται περισσότερο ή λιγότερο για τα ηλεκτρονικά σήμερα γνωρίζει τι είναι το "υλικολογισμικό". Πολλά άτομα αυτής της κατηγορίας αντιμετώπισαν την κατάσταση «κατάρρευσης υλικολογισμικού». Ο πιο δυσάρεστος υποτύπος της κατάστασης είναι η κατάσταση "τούβλου". Κάτω από το κόψιμο υπάρχει μια μικρή θεωρία και πρακτική «ψεκασμού» χρησιμοποιώντας τη συσκευή ήρωα της κριτικής.

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

Ιστορικό.

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

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

Πρώτη εκκίνηση.

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

Πρώτη υποψία. Θρέψη.

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

Δεύτερη υποψία. Υλικολογισμικό.

Δεν ήταν δυνατή η ενημέρωση του υλικολογισμικού είτε από τη μονάδα flash πατώντας το κουμπί κάτω είτε μέσω της θύρας COM χρησιμοποιώντας το πρόγραμμα Porter Express. Στην πρώτη περίπτωση, η ένδειξη ανάγνωσης στη μονάδα flash αναβοσβήνει για αρκετά δευτερόλεπτα, μετά την οποία επικράτησε σιωπή. Στο δεύτερο, το πρόγραμμα εμφάνισε ένα μήνυμα «σφάλμα εγγραφής» χωρίς καμία εξήγηση, κάτι που δεν του ταιριάζει. Έτσι κατέληξα στην τρίτη υποψία.

Η τρίτη υποψία. Τσιπ μνήμης flash.

Αρκετά γεγονότα ώθησαν αυτή την ιδέα. Πρώτον, στην κονσόλα λήψης, η οποία έγινε διαθέσιμη μετά τη σύνδεση μέσω της θύρας COM, εμφανίστηκε το μήνυμα "CRC error" κατά την εκκίνηση. Δεύτερον, όταν προσπαθείτε να αφαιρέσετε τη διαμόρφωση του δέκτη χρησιμοποιώντας το Porter Express, το συγχωνευμένο αρχείο αποδείχθηκε διαφορετικό κάθε φορά, χωρίς να ταιριάζει με το προηγούμενο σε σύγκριση byte-byte.

Μια γρήγορη μελέτη του Aliexpress έδειξε ότι ένα τέτοιο τσιπ μπορεί να αγοραστεί με λίγα χρήματα. Αλλά εδώ προέκυψε το κύριο πρόβλημα: δεν αρκεί μόνο η αγορά μιας μονάδας flash. Πρέπει να αναβοσβήνει. Είτε στον προγραμματιστή είτε απευθείας στον πίνακα. Στην περίπτωσή μου, αυτό είναι το τσιπ Spansion S29GL256P90TFCR2 - παράλληλη μνήμη flash σε συσκευασία TSOP-56. Η αναζήτηση ενός τέτοιου προγραμματιστή, είτε μεταξύ φίλων ηλεκτρονικών είτε σε ηλεκτρονικά καταστήματα σε επαρκή τιμή, δεν ήταν επιτυχής. Η μόνη επιλογή που απομένει είναι να αναβοσβήσετε τη μονάδα flash απευθείας στην πλακέτα μετά τη συγκόλληση. Και εδώ για πρώτη φορά ειπώθηκε νοερά μια φράση, η οποία συνήθως ακούγεται σαν μια πρόταση σε φόρουμ ηλεκτρονικών: «μόνο η JTAG θα βοηθήσει».

Λίγα λόγια για το JTAG.

Σχεδόν κάθε σύγχρονο system-on-chip έχει τη δυνατότητα εντοπισμού σφαλμάτων και δοκιμής. Τις περισσότερες φορές υλοποιείται ως σειριακή διεπαφή με σήματα εισόδου, εξόδου, ρολογιού, επιλογής και επαναφοράς, η οποία ονομάζεται JTAG. Συνήθως, αυτές οι ακίδες δρομολογούνται στον πίνακα με τη μορφή καρφίδων ή μαξιλαριών. Το πρόβλημα είναι ότι μόνο η ηλεκτρική διεπαφή είναι τυποποιημένη. Οι εντολές για τον έλεγχο ενός συγκεκριμένου τσιπ είναι μεμονωμένες, επιπλέον, οι περισσότεροι κατασκευαστές δεν τις αποκαλύπτουν και πρέπει να ληφθούν υπόψη χρησιμοποιώντας αντίστροφη μηχανική. Αυτός είναι ο λόγος για τον οποίο δεν υπάρχουν πρακτικά εργαλεία στον δημόσιο τομέα για εργασία με σύγχρονα δημοφιλή chipset.

Παραγγείλετε έναν προσαρμογέα.

Η αναζήτηση εμπορικών προϊόντων που μπορούν να λειτουργήσουν με το chipset ST40 με οδήγησαν στον πόρο ejtag.ru, όπου υπάρχει μια κοινότητα επισκευών και ένα μικρό ηλεκτρονικό κατάστημα. Έχοντας αναζητήσει τον φθηνότερο προσαρμογέα και βεβαιώθηκα ότι μπορεί να λειτουργήσει με το ST40, άρχισα τις διαπραγματεύσεις με τον φρύνο και ξεκίνησα τη διαδικασία αγοράς. Η διαδικασία είναι διαφορετική από αυτή που έχουμε συνηθίσει στα δημοφιλή ηλεκτρονικά καταστήματα. Χωρίς PayPal ή διαφωνίες. Κάνουμε εγγραφή, προσθέτουμε το προϊόν στο καλάθι και δίνουμε μια παραγγελία. Μετά από κάποιο χρονικό διάστημα, έρχεται ένα μήνυμα με τον αριθμό πορτοφολιού WM και το ποσό που πρέπει να πληρώσετε. Πληρώνουμε, φτάνει η επιβεβαίωση πληρωμής και λίγες μέρες αργότερα - ειδοποίηση αποστολής. Το μόνο που μένει είναι να περιμένουμε. Η εγγύηση της συναλλαγής είναι το καλό όνομα του πωλητή.

Παραλαβή, αποσυσκευασία, εγγραφή.

Μια πλαστική σακούλα με ρωσική θέση, μέσα τυλιγμένη σε μεμβράνη με φυσαλίδες και τοποθετημένη σε μια αντιστατική σακούλα, ένας προσαρμογέας, ένα USB A male - καλώδιο Mini USB, ένα καλώδιο με μπλοκ δέκα ακίδων (θα είναι ορατό σε άλλες φωτογραφίες, εκείνη τη στιγμή της λήψης ήταν προσαρτημένο στον δέκτη), ένας προσαρμογέας για αναβοσβήνει σειριακές μονάδες flash της πιο δημοφιλούς σειράς - 25η, 93η και θεωρητικά 24η.

Για την εκτίμηση των μεγεθών

Φωτογραφίες από το εσωτερικό

Στο εσωτερικό υπάρχει ένας μικροελεγκτής με σύστημα εντολών 8051 και τσιπ buffer.


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

Παραγγείλετε μια νέα μονάδα flash στο Aliexpress.

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

Παρήγγειλα 2 τεμάχια, σε περίπτωση που σκότωσα ένα κατά τη μεταπώληση.

Επανασυγκόλληση μονάδας flash.

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

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

Υλικολογισμικό.

Το pinout JTAG για τον δέκτη μου βρίσκεται στο φόρουμ του καταστήματος. Συγκολλάμε στα τακάκια επαφής στην πλακέτα.

Όλα είναι έτοιμα για firmware.

Ας ξεκινήσουμε το πρόγραμμα.

Επιλέξτε τον τύπο επεξεργαστή από τη λίστα. Κάντε κλικ στο κουμπί "Σύνδεση".

Μια δέσμη πληροφοριών υπηρεσίας διατρέχει τη λίστα τα κουμπιά «Ανάγνωση» και «Εγγραφή» και «Διαγραφή» γίνονται ενεργά. Συνήθως, συνιστάται να αναβοσβήνει μόνο το bootloader και, στη συνέχεια, να το αναβοσβήνει με τον συνήθη τρόπο από μια μονάδα flash USB. Αλλά ανέβασα ένα πλήρες dump, 32 megabyte - ήμουν πολύ τεμπέλης για να ασχοληθώ με την αποσυσκευασία ενός ξεχωριστού bootloader. Το υλικολογισμικό κράτησε περίπου μισή ώρα, το αποτέλεσμα είναι στη φωτογραφία:

Περίληψη.

Υπάρχουν πολλά κυκλώματα προγραμματιστή μικροελεγκτών διαθέσιμα στο Διαδίκτυο. Παρουσιάζω μια έκδοση ενός κυκλώματος γενικού προγραμματιστή 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 microcontrollers of the Tiny and Mega family from ATMEL”, M. Publishing house “Dodeka-XXI”, 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 Αντίσταση

Προγραμματιστής AVR JTAG- είναι μια εξαιρετικά απλοποιημένη έκδοση ενός επαγγελματία προγραμματιστή AVR JTAG ICEαπό την Atmel. Και σε αντίθεση με τον επαγγελματία αδερφό του, μπορεί να συναρμολογηθεί κυριολεκτικά στα γόνατα και το κόστος του είναι πολλαπλάσια. Και για να είμαστε ακόμη πιο ακριβείς, αυτός ο προγραμματιστής δεν είναι τίποτα άλλο από ένα κινέζικο αντίγραφο, που ορίζεται ως AVR JTAGκάτω από τη μάρκα LCSOFTκαι τα οποία μπορούν εύκολα να αγοραστούν σε ξένα ηλεκτρονικά καταστήματα και δημοπρασίες. Αυτός ο προγραμματιστής με βασικό υλικολογισμικό έχει σχεδιαστεί για τον προγραμματισμό μικροελεγκτών Atmel μέσω της διεπαφής JTAG. Το περιβάλλον εργασίας για τον προγραμματιστή είναι το περιβάλλον ανάπτυξης λογισμικού AVR Studio v4.xx. Κατ 'αρχήν, μπορείτε να βρείτε άλλα προγράμματα τρίτων στο Διαδίκτυο. Ωστόσο, αξίζει να σημειωθεί ότι δεν είναι διαθέσιμη η τελευταία σειρά μικροελεγκτών, όπως η σειρά AT90USB, με αποτέλεσμα να μην μπορούν να προγραμματιστούν αυτοί οι μικροελεγκτές.

Μετά από μια σύντομη λυρική παρέκβαση, αξίζει να πω γιατί έπεσαν τα μάτια μου σε αυτόν τον προγραμματιστή. Το θέμα είναι ότι όταν έκανα το έργο μου Devboard Z80, τότε ήταν δυνατός ο προγραμματισμός του μικροελεγκτή μόνο μέσω της διεπαφής JTAG. Επομένως, ενώ εργαζόμουν στο έργο του πίνακα ανάπτυξης, έψαξα στο Διαδίκτυο για να δω αν ο προγραμματιστής ήταν διαθέσιμος. Και το βλέμμα μου στάθηκε σε αυτόν τον φθηνό προγραμματιστή. Και όλα θα ήταν καλά, αλλά όταν ανέλαβα το άλλο μου έργο, δηλαδή την ανάπτυξη ενός υπολογιστή ZXM-Zephyr, δεν έδωσα σημασία στο γεγονός ότι ο μικροελεγκτής AT90USB1287 που χρησιμοποίησα δεν υποστηρίζεται από αυτόν τον προγραμματιστή. Μετά από μια ανεπιτυχή αναζήτηση στο Διαδίκτυο για μια πιθανή ενημέρωση υλικολογισμικού για αυτόν τον προγραμματιστή, αποφασίσαμε να προσπαθήσουμε να φτιάξουμε μόνοι μας το υλικολογισμικό και κάποιο απλό πρόγραμμα για τον προγραμματισμό του μικροελεγκτή AT90USB1287, τουλάχιστον ως μέρος του έργου ZXM-Zephyr.

Το πρώτο μου βήμα στη μελέτη αυτού του προγραμματιστή ήταν να σκιαγραφήσω το κύκλωμά του και να δημιουργήσω ένα σχέδιο της πλακέτας τυπωμένου κυκλώματος. Στη συνέχεια, αφού έψαξα στο Διαδίκτυο πληροφορίες σχετικά με τον τρόπο προγραμματισμού μικροελεγκτών μέσω JTAG, βρήκα δύο έργα με παραδείγματα, τα οποία αποτέλεσαν τη βάση για το υλικολογισμικό μου για αυτόν τον προγραμματιστή. Μετά τη δημιουργία του υλικολογισμικού, έγραψα ένα μικρό βοηθητικό πρόγραμμα για το λειτουργικό σύστημα Windows. Αποφάσισα να δημοσιεύσω όλη την έρευνά μου για αυτό το θέμα στη σελίδα μου, ίσως θα είναι χρήσιμη σε κάποιον άλλο.

Εν κατακλείδι, θα ήθελα να προσθέσω ότι αυτός ο προγραμματιστής έχει γίνει ουσιαστικά ένα είδος κιτ κατασκευής με το οποίο μπορείτε να προγραμματίσετε όχι μόνο μικροελεγκτές από την Atmel, αλλά και από άλλες εταιρείες. Ή ακόμα και άλλα τσιπ με διεπαφή JTAG. Απλά πρέπει να καταβάλετε λίγη προσπάθεια - γράψτε το απαραίτητο υλικολογισμικό για τον εαυτό σας.

Σύντομη προδιαγραφή: Εργο:

1. Διάγραμμα ηλεκτρικού κυκλώματος σε μορφή P-CAD 2002 - λήψη
2. Πλακέτα τυπωμένου κυκλώματος σε μορφή P-CAD 2002 - λήψη
3. Ηλεκτρολογικά και καλωδιωτικά διαγράμματα, κατάλογος στοιχείων σε μορφή pdf - λήψη
4. Βιβλιοθήκη στοιχείων σε μορφή P-CAD 2002 - λήψη


Υλικολογισμικό:

1. Τυπικό υλικολογισμικό για τον μικροελεγκτή ATmega16A, ο οποίος χρησιμοποιείται για την παραγωγή κινεζικών αντιγράφων - λήψη
2. Υλικολογισμικό για τον μικροελεγκτή ATmega16A, το οποίο περιλαμβανόταν στο πακέτο AVR Studio v4.17. - Κατεβάστε
3. Υλικολογισμικό για τον μικροελεγκτή ATmega16A για προγραμματισμό μικροελεγκτών από την Atmel και εκείνων με διασύνδεση JTAG. Σημαντική σημείωση - απαιτείται εξωτερικό πρόγραμμα ελέγχου! Έκδοση υλικολογισμικού v01.00 -

2019-10-11 Ημερομηνία τελευταίας ενημέρωσης προγράμματος: 2019-10-11

Διπρόσωπος Ιανός

Αποφασίσαμε να ονομάσουμε αυτόν τον προγραμματιστή " Ιάνος".

Γιατί αυτό? Γιατί στη ρωμαϊκή μυθολογία ο Ιανός είναι διπρόσωποςθεός των θυρών, των εισόδων και των εξόδων, καθώς και των αρχών και των τέλους. Τι σύνδεση; Γιατί ο προγραμματιστής μας ChipStar-Janus διπρόσωπος?

Να γιατί:

  • Από την μία, αυτός ο προγραμματιστής είναι απλός. Διανέμεται ως δωρεάν έργο, είναι δυνατό εύκολο να το φτιάξεις μόνος σου.
  • Αφ 'ετέρου, αναπτύχθηκε από την εταιρεία για μεγάλο χρονικό διάστημα ασχολείται επαγγελματικάανάπτυξη και παραγωγή διάφορου ηλεκτρονικού εξοπλισμού, συμπεριλαμβανομένων των προγραμματιστών.
  • Από την μία, αυτός ο προγραμματιστής είναι απλός, με την πρώτη ματιά δεν έχει ιδιαίτερα εντυπωσιακά χαρακτηριστικά.
  • Αφ 'ετέρου, λειτουργεί μαζί με επαγγελματικό πρόγραμμα(παρεμπιπτόντως, ακριβώς το ίδιο με άλλους επαγγελματίες προγραμματιστές ChipStar).
  • Από την μία, προσφέρουμε αυτόν τον προγραμματιστή δωρεάν Ελεύθεροςσυνελεύσεις.
  • Από την μία, το πουλάμε επίσης σε έτοιμη μορφή, σαν προϊόν κανονικού προϋπολογισμού.
  • Από την μία, ένας σπιτικός προγραμματιστής δεν καλύπτεται από εγγύηση (που είναι φυσικό).
  • Από την μία, αν μπορέσατε να το συναρμολογήσετε, τότε μπορείτε να το επισκευάσετε και ο προγραμματιστής είναι τόσο απλός που, στην πραγματικότητα, δεν υπάρχει τίποτα να σπάσει.
  • Από την μία, είναι απλό σε κύκλωμαπρογραμματιστής
  • Από την μία, μέσω απλών αντάπτορων επέκτασης υποστηρίζει προγραμματισμό NAND ΛΑΜΨΗκαι άλλα μικροκυκλώματα είναι ήδη "στην πρίζα".

Ο προγραμματιστής λοιπόν ChipStar-Janusγια πολλούς ειδικούς μπορεί να είναι μια πραγματική λύση σε μια κατάσταση όπου διάφοροι απλοί ή ερασιτέχνες προγραμματιστές δεν είναι πλέον αρκετοί και ένας πιο σύνθετος προγραμματιστής φαίνεται περιττός ή δεν υπάρχει αρκετός προϋπολογισμός για αυτό.

Τι μας ώθησε να αναπτύξουμε αυτόν τον προγραμματιστή.

Υπάρχει μια μεγάλη ποικιλία από απλούς εξειδικευμένους προγραμματιστές κατάλληλους για αυτοδημιούργητος.

Υπάρχουν πολλά φτηνά Κινέζοι προγραμματιστέςσε έτοιμη μορφή.

Είναι αρκετά ερασιτεχνικές εξελίξεις, συχνά ανώτερη σε ποιότητα από το τελευταίο.

Φαίνεται, ποιο είναι το νόημα μιας άλλης τέχνης;

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

Εκτός από όλα τα παραπάνω, υπάρχει μια ειδική κατηγορία προγραμματιστών κατάλληλη για αυτοπαραγωγή - αυτοί είναι προγραμματιστές (ακριβέστερα, κυκλώματα προγραμματιστών και λογισμικό) που αναπτύχθηκαν από ειδικούς από εταιρείες που παράγουν μικροκυκλώματα (κυρίως μικροελεγκτές). Τέτοιοι προγραμματιστές έχουν σχεδιαστεί αρκετά επαγγελματικά. Υποστηρίζουν όλα τα δηλωμένα μικροκυκλώματα. Υπάρχουν όμως δύο «μικρά» μειονεκτήματα: η λίστα των προγραμματιζόμενων μικροκυκλωμάτων είναι πολύ περιορισμένη (κάτι που είναι κατανοητό) και το λογισμικό είναι πολύ σπαρταριστό - χωρίς περιττές λειτουργίες, κατά κανόνα - μόνο εξάλειψη, σημειωσε, επαληθεύω. Συχνά ακόμη και λειτουργίες ΑΝΑΓΝΩΣΗδεν υπάρχει μικροτσίπ.

Λοιπόν, προγραμματιστής ChipStar-Janusστην αρχική διαμόρφωση είναι προγραμματιστής εντός κυκλώματος. Σε αυτή τη λειτουργία υποστηρίζει μικροελεγκτές PICΚαι AVRεταιρείες Μικροτσίπ, ορισμένες αρχιτεκτονικές μικροελεγκτών MCS51, μικροελεγκτές από την εταιρεία STMicroelectronicsκαι μια σειρά άλλων, καθώς και σειριακά τσιπ μνήμης με διεπαφή I2C(ως επί το πλείστον επεισόδιο 24). Μπορείτε να συνδέσετε απλούς προσαρμογείς στην υποδοχή επέκτασης του προγραμματιστή και να ξεκινήσετε τον προγραμματισμό τσιπ μνήμης "στην υποδοχή".

Τώρα ο προγραμματισμός υλοποιείται "στην υποδοχή":

  1. EPROM) με διεπαφή I2C(σειρά 24xx);
  2. σειριακά τσιπ μνήμης flash (Σειρ ΛΑΜΨΗ) με διεπαφή SPI (SPI Flash);
  3. σειριακά τσιπ μνήμης (Σειρ EPROM) με διεπαφή M.W. (σειρά 93xx);
  4. μικροκυκλώματα NAND FLASH;

Ο προγραμματιστής και το λογισμικό υποστηρίζουν την τεχνολογία της ανεξάρτητης προσθήκης μικροκυκλωμάτων με τρία κλικ. Μέχρι στιγμής έχει εφαρμοστεί προσθήκη μικροκυκλωμάτων NANDΚαι I2C. Στο πολύ εγγύς μέλλον σχεδιάζεται να εφαρμοστεί αυτή η τεχνολογία για τσιπ MW ( σειρά 93xx) Και AVR. Έτσι, δεν παίρνετε απλώς έναν προγραμματιστή, αλλά ισχυρό εργαλείο για ανεξάρτητη εργασία.

Τρεις τρόποι για να αποκτήσετε έναν προγραμματιστή ChipStar-Janus

1η μέθοδος:
Συναρμολογήστε πλήρως μόνοι σας τον προγραμματιστή

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

Αλγόριθμος ενεργειών:

2η μέθοδος:
Συναρμολογήστε μόνοι σας τον προγραμματιστή αγοράζοντας μια έτοιμη πλακέτα τυπωμένου κυκλώματος και έναν μικροελεγκτή υλικολογισμικού

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

Αλγόριθμος ενεργειών:

  1. Διαβάστε τους όρους χρήσης για τον αυτοσυναρμολογούμενο προγραμματιστή.
  2. Διαβάστε τις οδηγίες για τη συναρμολόγηση του προγραμματιστή.
  3. Κατεβάστε την πλήρη τεκμηρίωση για τον προγραμματιστή.
  4. Αγοράστε ένα κιτ συναρμολόγησης (έτοιμη πλακέτα τυπωμένου κυκλώματος και μικροελεγκτή με ήδη εγγεγραμμένο υλικολογισμικό).
  5. Αγοράστε τον απαραίτητο εξοπλισμό για τη συναρμολόγηση του προγραμματιστή σύμφωνα με