ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Emulatore ROM. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica Enciclopedia della radioelettronica e dell'elettrotecnica / microcontrollori L'emulatore descritto nell'articolo, insieme a un computer, può sostituirne la ROM durante il debug del software di un dispositivo a microprocessore. Ciò ti consentirà di regolare rapidamente il programma, risparmiando tempo che altrimenti verrebbe impiegato nella riprogrammazione della ROM. L'emulatore funziona in modo relativamente lento poiché non dispone di una propria RAM. Ma per lo stesso motivo è semplice ed economico. Uno dei problemi che si presentano quando si sviluppano apparecchiature a microprocessore è il debug di un programma scritto nella ROM. Tipicamente, a questo scopo vengono utilizzate le cosiddette ROM riprogrammabili (RPM) con le informazioni cancellate dall'irradiazione ultravioletta. Poiché qualsiasi modifica al programma comporta la necessità di cancellare l'RPOM e riscrivere le informazioni al suo interno, il debug richiede molto tempo. Inoltre, dopo 10-25 cicli, con ciascuno dei quali diminuisce l'affidabilità della memorizzazione dei dati, il microcircuito deve essere sostituito. Pertanto, il lavoro creativo è messo in ombra dal noioso processo meccanico di riscrittura, per non parlare del lato finanziario del problema: le EPROM con cancellazione ultravioletta non sono economiche. Un emulatore, il cui schema elettrico è mostrato in Fig. 1, aiuterà a risolvere il problema. 64. Invece di un chip ROM con una capacità fino a 1 KB, inserire una spina XP27512 nel pannello del dispositivo sottoposto a debug a ciò destinato. A seconda del tipo di ROM, può cambiare solo l'ordine di collegamento dei fili dell'emulatore ai contatti della spina (mostrato nello schema corrisponde al chip 64 con una capacità di XNUMX KB). La spina XP2 è collegata alla presa della porta parallela LPT1 di qualsiasi personal computer (PC) compatibile IBM. Poiché la porta è destinata principalmente alla trasmissione dei dati a un dispositivo esterno (stampante), dispone di 12 linee di uscita e solo cinque linee di ingresso. Ciò forza il multiplexing dell'indirizzo ROM a 16 bit ricevuto dal computer, il che, ovviamente, influisce sulla velocità dell'emulazione. L'emulatore è costituito dai seguenti blocchi funzionali: generatore di clock (DD1.1-DD1.2), sincronizzatore di clock (DD2.2, DD3.1), dispositivo di trigger (DD2.1), contatore di impulsi (DD4), blocco di registrazione degli impulsi indirizzo shaper (DD1.5, DD3.3), registro dati (DD5) e multiplexer di indirizzi (DD6, DD7). Il lavoro inizia con l'arrivo di un segnale CS di basso livello dal dispositivo a microprocessore all'ingresso S (pin 4) del trigger DD2.1 (i diagrammi temporali dei segnali sono mostrati in Fig. 2). Quest'ultimo entra nello stato corrispondente all'1 logico sull'uscita diretta (pin 5) collegata all'ingresso D (pin 12) del trigger DD2.2. Quando l'impulso di clock diminuisce (questo è fornito dall'inverter DD1.4), sull'uscita (pin 1) di DD9 appare anche l'2.2 logico, consentendo il passaggio degli impulsi di clock all'uscita dell'elemento DD3.1. Vengono contati dal contatore DD4, i cui segnali di uscita dei due bit meno significativi controllano gli indirizzi dei multiplexer DD6 e DD7. L'indirizzo ROM viene trasmesso al PC in quattro gruppi da quattro bit: A0 - A3, A4 - A7, A8 - A11, A12 - A15. Gli ingressi ERROR vengono utilizzati per riceverlo. Porta parallela SLCT, ACK, PE. Il contatore DD4 è coperto da feedback in modo tale che il suo fattore di conversione sia 5. Questo è il numero di periodi di clock che impiega il ciclo di emulazione. Nei primi quattro, gli impulsi dall'uscita dell'elemento DD3.4 arrivano all'ingresso BUSY della porta LPT contemporaneamente alla commutazione dei multiplexer. sincronizzare la procedura di lettura di un indirizzo da parte di un computer. Nel quinto periodo, il computer invia un byte di dati alle uscite DATA1-DATA8, che devono trovarsi nella ROM emulata all'indirizzo specificato. Questo byte è memorizzato nel registro DD5. Alla fine del periodo, il trigger DD2.1 ritorna al suo stato originale. È vero, quest'ultimo avverrà solo se il segnale CS è terminato in questo momento. Altrimenti il ciclo descritto si ripeterà. L'emulatore è assemblato su un circuito stampato a doppia faccia, il cui disegno è mostrato in Fig. 3. La scheda è dotata di gruppi di contatti X1-X4, ai quali sono saldati i fili che vanno alle prese XP1 e XP2. Invece dei microcircuiti indicati sullo schema elettrico, è consentito utilizzare i loro analoghi funzionali da qualsiasi serie TTL o TTLSh (K155. K555. KR1533. KR531). Quando si sostituisce il microcircuito DD1, potrebbe essere necessaria una selezione di elementi del generatore di clock (R1, R3, C2), la cui frequenza di ripetizione degli impulsi determina la velocità di emulazione. Si sconsiglia di impostare una frequenza superiore a 100 kHz poiché ciò potrebbe causare malfunzionamenti. La spina XP1 può essere costituita da una ROM difettosa con cancellazione mediante irradiazione ultravioletta. Dopo aver rotto la finestra trasparente, è necessario rimuovere i sottili conduttori che collegano il cristallo ai contatti della custodia. I fili del cavo sono saldati alla parte esterna dei terminali in modo tale da non interferire con l'inserimento del precedente microcircuito nel pannello. L'algoritmo di funzionamento dell'emulatore sopra descritto richiede che il dispositivo a microprocessore sia commutato in modalità passo-passo. È conveniente per la prima “esecuzione” del programma e le fasi iniziali del suo debug. Per lavorare in modalità continua è necessario integrare l'emulatore con un dispositivo di sincronizzazione, assemblandolo secondo lo schema riportato in Fig. 4. È destinato al microprocessore KR580VM80A con un generatore di orologio KR580GF24 ed è stato testato sul computer Radio-86RK. Per altri tipi di microprocessori potrebbe essere necessario apportare modifiche al sincronizzatore. La tabella mostra la procedura per emulare una ROM con un computer alla massima velocità. È scritto nel linguaggio ASSEMBLY integrato nel sistema di programmazione Borland Pascal ed è destinato all'uso in programmi sviluppati utilizzando tale sistema. Alla variabile globale pDATA di tipo puntatore nel programma principale deve essere assegnato il valore dell'indirizzo del primo elemento dell'array di byte contenente l'immagine della ROM emulata. Lo scambio di dati avviene alla massima velocità riducendo al minimo il numero di accessi alla memoria del PC e utilizzando i registri del processore per l'archiviazione temporanea dei dati (l'accesso alla memoria richiede molte volte più tempo di un'operazione da registro a registro). La particolarità della procedura descritta è che è un loop infinito e, per velocizzare il lavoro, disabilita tutte le interruzioni, comprese quelle da tastiera. Pertanto è possibile interrompere l'emulazione solo premendo il pulsante “RESET” del PC o spegnendone l'alimentazione. È inoltre esclusa la visualizzazione sullo schermo del monitor del PC di qualsiasi informazione relativa al funzionamento del dispositivo in fase di debug. Un programmatore moderatamente qualificato può eliminare queste carenze, ma solo a costo di rallentare la procedura. Utilizzando le opzioni specificate nella riga di comando o nel file di configurazione, viene impostata la modalità di emulazione e viene selezionato il file con l'immagine della ROM emulata. La priorità della riga di comando è superiore a quella del file di configurazione. Vengono fornite le seguenti chiavi: -sf - l'emulazione più veloce (usando la procedura discussa sopra); -sns - modalità, un po' più lenta della precedente, poiché prevede il polling della tastiera e l'uscita premendo il tasto [Esc]; -sp - modalità più lenta. L'indirizzo di ciascuna cella ROM a cui accede il dispositivo sottoposto a debug e i relativi dati vengono visualizzati sullo schermo del monitor. Viene visualizzato anche l'avanzamento della lettura dei quarti dell'indirizzo. Ciò è utile nelle fasi iniziali del debug di un dispositivo a microprocessore, poiché consente di monitorare l'avanzamento del suo programma; -f filename - specifica il nome del file con l'immagine ROM: /у - disabilita il controllo dell'uguaglianza della lunghezza del file immagine ROM rispetto alla capacità informativa di quest'ultimo; /? - Visualizza la guida sulle modalità operative dell'emulatore. Premendo il tasto [F2] si interrompe il processo corrente di lettura di un indirizzo e si mette il programma in modalità standby per uno nuovo. L'immagine ROM è un file binario in cui tutti i byte memorizzati nella ROM emulata vengono scritti in sequenza, in ordine crescente di indirizzi, a partire da zero. - codici di comando e dati del dispositivo a microprocessore in fase di debug. Si prega di notare che non sono consentiti spazi vuoti nella sequenza degli indirizzi. Anche i valori nelle celle non utilizzate devono essere scritti nel file. Tale file può essere creato utilizzando il cross assembler TASM se richiamato dalla riga di comando TASM.EXE -85 -g3 PROG.ASM Qui l'interruttore -85 imposta il tipo di processore (8085) a cui è destinato il programma PROG.ASM tradotto e -g3 specifica l'output del risultato in forma binaria. Il file PROG.OBJ risultante può fungere da immagine ROM per l'emulatore. Autori: S. Belyaev, D. Chernykh, Tambov 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: ▪ Gli adolescenti non ascoltano i loro genitori ▪ Ognuno vive nella propria realtà ▪ Chip DDR5 a densità di record 24 Gbps News feed di scienza e tecnologia, nuova elettronica
Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Preamplificatori. Selezione dell'articolo ▪ articolo Affinità selettiva (Affinità delle anime). Espressione popolare ▪ articolo Quale famoso fisico è stato insignito del Premio Nobel per la Chimica? Risposta dettagliata ▪ L'articolo di Schizonepet è multi-inciso. Leggende, coltivazione, metodi di applicazione ▪ articolo Dito ignifugo. Messa a fuoco segreta
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 |