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

Προγραμματιστής ATTiny HV: 4 βήματα
Προγραμματιστής ATTiny HV: 4 βήματα

Βίντεο: Προγραμματιστής ATTiny HV: 4 βήματα

Βίντεο: Προγραμματιστής ATTiny HV: 4 βήματα
Βίντεο: Embedded Systems 4b 2024, Ιούλιος
Anonim
Προγραμματιστής ATTiny HV
Προγραμματιστής ATTiny HV
Προγραμματιστής ATTiny HV
Προγραμματιστής ATTiny HV

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

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

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

Η συσκευή έχει τις ακόλουθες δυνατότητες.

  • Διακομιστής Ιστού που υποστηρίζει ανάγνωση και εγγραφή δεδομένων ασφάλειας και σελίδα επεξεργασίας που παρέχει εύκολη πρόσβαση σε επιλογές ασφάλειας
  • Διαγραφή τσιπ (απαιτείται πριν από τη σύνταξη νέου υλικού)
  • Ανάγνωση και εγγραφή δεδομένων προγράμματος Flash από δεκαεξαδικά αρχεία
  • Ανάγνωση και εγγραφή δεδομένων EEPROM από δεκαεξαδικά αρχεία
  • Υποστήριξη για παραλλαγές ATTiny 25, 45 και 85
  • Τροφοδοτείται από USB με εσωτερική γεννήτρια 12V για προγραμματισμό υψηλής τάσης
  • Διαμόρφωση δικτύου Wi -Fi με χρήση σημείου πρόσβασης wifiManager Πρόσβαση προγράμματος περιήγησης στο σύστημα αρχειοθέτησης ESP8266 SPIFFS για μεταφόρτωση και λήψη αρχείων
  • Ενημέρωση OTA του υλικολογισμικού ESP8266

Βήμα 1: Στοιχεία και εργαλεία

Συστατικά

  • Ενότητα ESP-12F
  • Μονάδα ενίσχυσης 5V έως 12V
  • υποδοχή micro USB με κολλητή υποδοχή
  • Πυκνωτής τανταλίου 220uF
  • xc6203 ρυθμιστής LDO 3.3V
  • MOSFET τρανζίστορ 3x n κανάλι AO3400 1 x p-κανάλι AO3401
  • Αντιστάσεις 2 x 4k7 1x 100k 1x 1K 1x470R 1x 1R27
  • μπλοκ κεφαλίδας καρφιτσών
  • Μικρό κομμάτι breadboard για κύκλωμα υποστήριξης
  • hook up wireEnclosure (χρησιμοποίησα ένα τρισδιάστατο τυπωμένο κουτί στη διεύθυνση

Εργαλεία

  • Κολλητήρι λεπτού σημείου
  • Τσιμπιδακι ΦΡΥΔΙΩΝ
  • Συρματοκόπτης

Βήμα 2: Ηλεκτρονικά

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

Το διάγραμμα δείχνει ότι όλη η ισχύς προέρχεται από μια σύνδεση USB 5V. Ένας ρυθμιστής παρέχει 3,3V στην μονάδα ESP-12F. Μια μικρή μονάδα ενίσχυσης παράγει τα 12V που απαιτούνται για προγραμματισμό υψηλής τάσης.

Το ESP GPIO δίνει τα 4 λογικά σήματα που χρησιμοποιούνται στον προγραμματισμό υψηλής τάσης (ρολόι, δεδομένα εισόδου, έξοδος δεδομένων και εντολή εισόδου).

Ένα GPIO χρησιμοποιείται για την ενεργοποίηση και απενεργοποίηση ενός τρανζίστορ MOSFET που τροφοδοτείται από τη ράγα 12V μέσω αντίστασης 1Κ. Όταν το GPIO είναι υψηλό, το tMOSFET είναι ενεργοποιημένο και η αποστράγγισή του είναι στα 0V. Όταν το GPIO είναι χαμηλό, η αποστράγγιση ανεβαίνει στα 12V που απαιτούνται για τη ρύθμιση της λειτουργίας προγραμματισμού υψηλής τάσης. Ένα δεύτερο GPIO μπορεί να χρησιμοποιηθεί για να χαμηλώσει το υψηλό 12V στα 4V, έτσι ώστε να μπορεί να χρησιμοποιηθεί ως συμβατικό σήμα επαναφοράς. Αυτή η εγκατάσταση δεν χρησιμοποιείται προς το παρόν, αλλά θα μπορούσε να χρησιμοποιηθεί για την υποστήριξη προγραμματισμού SPI και όχι προγραμματισμού υψηλής τάσης.

Ένα GPIO χρησιμοποιείται για την ενεργοποίηση και απενεργοποίηση ενός προγράμματος οδήγησης MOSFET 2 σταδίων για την τροφοδοσία 5V στο ATTiny. Αυτή η διάταξη χρησιμοποιείται για να πληροί τις προδιαγραφές ότι όταν είναι ενεργοποιημένο το 5V έχει γρήγορο χρόνο ανόδου. Αυτό δεν ικανοποιείται οδηγώντας την παροχή απευθείας από GPIO, ιδιαίτερα με τον πυκνωτή αποσύνδεσης 4u7 που υπάρχει στις περισσότερες μονάδες ATTiny. Μια αντίσταση χαμηλής τιμής χρησιμοποιείται για να μειώσει την τρέχουσα ακίδα που προκαλείται από την ταχεία ενεργοποίηση των τρανζίστορ MOSFET. Μπορεί να μην χρειάζεται, αλλά χρησιμοποιείται εδώ για να αποφευχθούν τυχόν δυσλειτουργίες που θα μπορούσαν να προκληθούν από αυτήν την στροφή στην ακίδα.

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

Βήμα 3: Συναρμολόγηση

Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση

Η εικόνα δείχνει τα εξαρτήματα συναρμολογημένα σε ένα μικρό περίβλημα. Ένας μικρός πίνακας πλάτης βρίσκεται στην κορυφή της μονάδας ESP-12F και περιέχει τον ρυθμιστή 3.3V και τα 2 κυκλώματα κίνησης τάσης.

Η μονάδα ενίσχυσης 12V βρίσκεται στα αριστερά και παίρνει την ισχύ εισόδου από το USB. Το περίβλημα διαθέτει μια υποδοχή για το μπλοκ κεφαλίδας 7 ακίδων για να επιτρέψει συνδέσεις με το ATTiny. Μετά την καλωδίωση και τη δοκιμή, το USB και το μπλοκ επικεφαλίδας στερεώνονται στο περίβλημα με κόλλα ρητίνης.

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

Βήμα 4: Λογισμικό και εγκατάσταση

Το λογισμικό για τον προγραμματιστή βρίσκεται σε ένα σκίτσο Arduino ATTinyHVProgrammer.ino διαθέσιμο στη διεύθυνση

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

Η διαμόρφωση του λογισμικού βρίσκεται σε ένα αρχείο κεφαλίδας BaseConfig.h. Τα 2 στοιχεία που πρέπει να αλλάξετε εδώ είναι κωδικοί πρόσβασης για το σημείο πρόσβασης ρύθμισης wifi και κωδικός πρόσβασης για ενημερώσεις OTA.

Μεταγλωττίστε και ανεβάστε στο ESP8266 από ένα Arduino IDE. Η διαμόρφωση IDE θα πρέπει να επιτρέπει ένα τμήμα SPIFFS π.χ. η χρήση 2M/2M θα επιτρέπει OTA και ένα μεγάλο σύστημα αρχειοθέτησης. Στη συνέχεια, μπορούν να γίνουν περαιτέρω ενημερώσεις χρησιμοποιώντας OTA

Κατά την πρώτη εκτέλεση, η μονάδα δεν θα ξέρει πώς να συνδεθεί στο τοπικό wifi, έτσι θα δημιουργήσει ένα δίκτυο διαμόρφωσης AP. Χρησιμοποιήστε ένα τηλέφωνο ή tablet για να συνδεθείτε σε αυτό το δίκτυο και, στη συνέχεια, περιηγηθείτε στο 192.168.4.1. Θα εμφανιστεί μια οθόνη διαμόρφωσης wifi και θα πρέπει να επιλέξετε το κατάλληλο δίκτυο και να εισαγάγετε τον κωδικό πρόσβασής του. Η μονάδα θα επανεκκινήσει και θα συνδεθεί χρησιμοποιώντας αυτόν τον κωδικό πρόσβασης στο εξής. Εάν μετακινηθείτε σε διαφορετικό δίκτυο ή αλλάξετε τον κωδικό πρόσβασης δικτύου, το AP θα ενεργοποιηθεί ξανά, ακολουθήστε την ίδια διαδικασία. Όταν εισάγετε το κύριο λογισμικό μετά τη σύνδεση σε wifi, στη συνέχεια ανεβάστε τα αρχεία στο φάκελο δεδομένων με περιήγηση στις ενότητες ip/upload. Αυτό επιτρέπει τη μεταφόρτωση ενός αρχείου. Αφού μεταφορτωθούν όλα τα αρχεία, μπορεί να γίνει περαιτέρω πρόσβαση στο σύστημα αρχειοθέτησης χρησιμοποιώντας ip/edit. Εάν έχετε πρόσβαση στο ip/, τότε το index.htm χρησιμοποιείται και εμφανίζει την κύρια οθόνη προγραμματιστή. Αυτό επιτρέπει την εμφάνιση, επεξεργασία και εγγραφή δεδομένων ασφαλειών, τη διαγραφή του τσιπ και ανάφλεξη και ανάγνωση και εγγραφή μνήμης EEPROM.

Για την επίτευξη αυτού του στόχου χρησιμοποιούνται διάφορες κλήσεις ιστού

  • ip/readFuses λαμβάνει τρέχοντα δεδομένα ασφάλειας
  • ip/writeFuses γράφει νέα δεδομένα ασφάλειας
  • ip/erasechip. διαγράφει το τσιπ
  • Το ip/dataOp υποστηρίζει λειτουργίες ανάγνωσης και εγγραφής μνήμης και παρέχει τις ακόλουθες παραμέτρους

    • dataOp (0 = ανάγνωση, 1 = εγγραφή)
    • dataFile (όνομα hex αρχείου)
    • eeprom (0 = Flash, 1 = eeprom)
    • έκδοση (0 = 25, 1 = 45, 2 = 85)

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

Το ip/edit δίνει πρόσβαση στα αρχεία. ip/firmware δίνει πρόσβαση σε ενημερώσεις OTA.

Η μορφή αρχείου hex είναι εγγραφές τύπου intel συμβατές με αυτές που παράγονται από το Arduino IDE. Εάν υπάρχει μια εγγραφή διεύθυνσης έναρξης, τότε θα ενεργοποιηθεί η εισαγωγή μιας εντολής RJMP στη θέση 0. Αυτό επιτρέπει στα προγράμματα φόρτωσης εκκίνησης μικροπυρήνων να προγραμματιστούν σε ένα διαγραμμένο τσιπ και να λειτουργήσουν. Για λόγους ευκολίας, μπορούν να διαβαστούν και να χρησιμοποιηθούν απλά αρχεία Hex που αποτελούνται από μια εξάγωνη διεύθυνση 4 χαρακτήρων, ακολουθούμενη από 16 εξάγωνα byte δεδομένων.

Συνιστάται: