ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Programmazione di chip di memoria seriale. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica Enciclopedia della radioelettronica e dell'elettrotecnica / microcontrollori I chip di memoria non volatile con input e output di dati seriali sono oggi ampiamente utilizzati per memorizzare modalità stabilite e impostazioni fisse in televisori, radio e altri elettrodomestici. Durante la riparazione, spesso diventa necessario leggere il contenuto di tali microcircuiti o scrivere su di essi nuovi dati. Questo di solito viene fatto utilizzando dispositivi speciali: i programmatori. Ma per programmare uno o due microcircuiti in condizioni amatoriali, non è redditizio acquistare un programmatore piuttosto costoso. Un normale personal computer può gestirlo abbastanza bene. Uno dei chip di memoria non volatile più comuni è AT93C46 di ATMEL. Per la comunicazione con il microcontrollore, è dotato di un'interfaccia seriale composta da soli tre bus a un bit SK (sincronizzazione), D1 (ingresso dati) e DO (uscita dati). Tutti i nodi del dispositivo con tale interfaccia sono collegati in parallelo a questi bus. I dati vengono trasmessi bit per bit. accompagnando ogni bit con un impulso di clock SK. Il chip AT93C46 fornisce anche ingressi CS (chip select) per commutarlo allo stato attivo e ORG (organizzazione). Se quest'ultimo è collegato a una fonte di alimentazione, nel microcircuito si formano 64 celle di memoria a sedici bit, se con un filo comune - 128 celle a otto bit. Per leggere contenuti o programmi utilizzando un computer, il chip AT93C46 deve essere collegato alla presa della porta LPT1 o LPT2, come mostrato in figura. Poiché l'ingresso ORG del microcircuito è collegato a un filo comune, l'organizzazione della memoria è a otto bit. Si consiglia di fornire una tensione di +5 V da una fonte esterna, ma è anche possibile utilizzare qualsiasi linea di uscita libera della porta impostandola a livello di codice su un livello logico alto. Il programma di servizio riportato nella tabella è scritto in BASIC (compilatore Power Basic versione 2.10f). Il programma inizia chiedendo il numero della porta a cui è collegato il chip. A seconda della risposta dell'operatore della variabile porta, viene saldato il valore dell'indirizzo base della porta selezionata: 888 (hex 378H) per LPT1 o 632 (hex 278H) per LPT2. Il comando out port.0 imposta la tensione a un livello logico basso su tutti i pin del bus dati della porta. Successivamente, all'operatore viene chiesto di selezionare la modalità di lettura dei dati dal chip o di scrittura su di esso e di inserire il nome del file in cui verranno salvate le informazioni lette o verranno posizionate le informazioni preparate per la scrittura. Coloro che utilizzano altre versioni di BASIC dovrebbero tenere presente che la sintassi degli operatori per lavorare con i file potrebbe essere diversa. Il programma non solo salva i dati letti o scritti sul microcircuito in un file o li legge, ma li visualizza anche sullo schermo del monitor sotto forma di dump esadecimale. Le procedure di lettura e scrittura dei dati sono leggermente diverse, ma utilizzano le stesse operazioni, formattate nel programma come funzioni, per “comunicare” con il microcircuito:
Il dispositivo di controllo interno del chip AT93C46 riceve ed esegue i comandi ricevuti tramite la linea DI. Ogni istruzione inizia con un bit di inizio uguale a 1 logico, seguito da due bit di codice operativo e dal numero richiesto di bit di memoria e di indirizzo dati. Prima di emettere ciascun comando, l'ingresso CS deve essere impostato su un livello logico alto e, dopo il suo completamento, su basso. Il comando di lettura dei dati (READ) ha un codice operativo 10 seguito dall'indirizzo della cella. In risposta, il microcircuito emetterà sull'uscita DO un byte di dati memorizzato all'indirizzo specificato, che può essere letto utilizzando la funzione shiftin. Dopo aver acceso l'alimentazione, il microcircuito AT93C46 passa automaticamente a una modalità in cui è vietata la cancellazione e la scrittura dei dati, prevenendo così danni accidentali. Pertanto, prima. come scrivere i dati su di esso, è necessario abilitare questa operazione emettendo il comando EWEN - Cancella/Abilita scrittura. Il suo codice operativo è 00 seguito dall'indirizzo 11 xxxxx. Il comando EWEN non analizza i valori degli ultimi cinque bit dell'indirizzo e possono essere qualsiasi cosa. Una volta impartito, il comando EWEN è valido finché non viene annullato da un comando speciale o finché non viene spenta l'alimentazione del microcircuito. Il comando di scrittura (WRITE) ha un codice operativo 01, seguito dall'indirizzo della cella e dal byte di dati da scrivere. Dopo aver ricevuto tale comando, il dispositivo di controllo inizia ad eseguire un ciclo di scrittura interno, la cui durata non supera i 10 ms. Fino alla fine, il microcircuito non risponde ai nuovi comandi. Se in questo momento viene applicato un breve impulso di livello logico basso all'ingresso CS, l'uscita DO verrà impostata e rimarrà bassa fino alla fine del ciclo. Non appena passa ad alto, è necessario impostare l'ingresso CS su basso. dopodiché il chip è pronto a ricevere nuovi comandi. Se l'impulso menzionato non viene applicato all'ingresso CS o viene applicato dopo il completamento del ciclo di scrittura, lo stato dell'uscita DO rimarrà ad alta impedenza. Oltre ai comandi discussi, ce ne sono altri: disabilita cancellazione/scrittura (EWDS), scrittura di una costante su tutte le celle di memoria (WRAL), cancella tutte le celle di memoria (ERAL). In pratica vengono utilizzati relativamente raramente. Una descrizione di tutti i comandi, nonché altri dettagli sulla progettazione e sul funzionamento del microcircuito AT93C46, può essere trovata in [1, 2]. Il programma descritto, con piccole modifiche, può essere utilizzato per programmare qualsiasi chip di memoria della famiglia AT9ZSxx impostando l'intervallo di indirizzo appropriato. Ad esempio, il microcircuito AT93C56 contiene 256 celle di memoria a otto bit e l'AT93C66 - 512. 93X16.EXE - una versione del programma progettata per funzionare con il microcircuito AT93C46 in modalità a sedici bit (l'ingresso ORG è collegato alla fonte di alimentazione). Letteratura
Autore: A.Goncharenko, Odessa, Ucraina Vedi altri articoli sezione microcontrollori. Leggere e scrivere utile commenti su questo articolo. Ultime notizie di scienza e tecnologia, nuova elettronica: Macchina per diradare i fiori nei giardini
02.05.2024 Microscopio infrarosso avanzato
02.05.2024 Trappola d'aria per insetti
01.05.2024
Altre notizie interessanti: ▪ Driver MOSFET SiC isolati a doppio canale 2EDF0275F e 2EDS9265H ▪ Auto elettriche Mercedes con ricarica wireless ▪ Nuovo record di velocità per le barche elettriche News feed di scienza e tecnologia, nuova elettronica
Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Controlli di tono e volume. Selezione dell'articolo ▪ articolo La costituzione russa è una tangente. Espressione popolare ▪ articolo Relatore per parere. Descrizione del lavoro
Lascia il tuo commento su questo articolo: Tutte le lingue di questa pagina Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito www.diagram.com.ua |