0596: Z80 ep.2 - Come eseguire un programma comandato da Arduino DUE

Поділитися
Вставка
  • Опубліковано 18 жов 2024

КОМЕНТАРІ • 71

  • @PierAisa
    @PierAisa  4 роки тому +2

    ATTENZIONE ! ​ Come da segnalazione di @MKSimatic Simatik Arduino Due usa il micro SAM3x che è a 3.3V. Z80 è a 5V e quindi se collegati direttamente si possono rompere i GPIO di ArduinoDUE. Nel video ho usato resistenze su tutti i collegamenti con Z80 che invece va a 5V e viene effettuato il partitore di tensione con la resistenza interna del GPIO del micro e la resistenza interna del bus di Z80 e ci sono diodi di protezione sia lato Z80 che lato SAM, ma comunque sarebbe bene non farci troppo affidamento. Questa configurazione potrebbe danneggiare il micro SAM3x, anche se dopo un mese di funzionamento non ho mai avuto problemi.
    Soluzioni migliori:
    1) traslatori di livello usando i 2N7000 (magari in un prossimo video) o altri chip dedicati
    2) Usare un Arduino a 5V come il mega2560

  • @davidecosciani9232
    @davidecosciani9232 3 роки тому +1

    12:39 Grazie per avermi citato Pier! Io ci aggiungerei un condensatore di bypass da 1 µF sul pulsante, per ottenere un antirimbalzo. Inoltre hai un circuito di reset automatico ad ogni accensione. Sir Clive Sinclair usava un pull-up da 220 kΩ e un condensatore da 1 µF, per un reset da circa 200 ms.

    • @PierAisa
      @PierAisa  3 роки тому

      Inserito nel foglio inseguimento scheda per tenere traccia delle modifiche !

  • @luciotube60
    @luciotube60 4 роки тому

    Bellissima e interessante saga sullo Z80. Mi riporti indietro nel tempo di 40 anni 😢 Tornai da militare proprio nel 1980 e mi ritrovai sul lavoro i primi samples inviati dalla nostra Divisione Qualità per testarne le potenzialità... Che ricordi 👍 Geniale ed altamente educativa l’affiancamento al mondo ARDUINO. Nei tuoi appuntamenti del giovedì con Paolo avevate già espresso la necessità di colmare quella lacuna legata al fatto che molti utenti di ARDUINO lo utilizzano senza conoscere l’architettura del micro controllore. Questi video aiutano moltissimo ad approfondire le basi di questi piccoli ma potenti micro e di conseguenza usarne tutta la loro potenzialità. Genio assoluto 👏👏👏

    • @PierAisa
      @PierAisa  4 роки тому +1

      Grazie mi lusinghi, ma figurati per. me è puro divertimento e se poi diventa utile anche ad altri allora sono proprio contento. proseguiamo con la saga domenica prossima. Invece gli incontri del giovedì su Microcon proseguiranno a partire da inizio settembre

  • @aripi2212
    @aripi2212 4 роки тому

    Grazie Pier, spiegazione che solo uno competente come te poteva fare. Ma più che altro una realizzazione che per me ha dell'incredibile! Scusami, non è mia abitudine usare termini simili , ma li vedo gli unici applicabili "solo una persona con c..zi e contro c...zi può farci partecipi di queste cose meraviglose ! Come sempre un augurio di buona domenica, a te, Per , ai tuoi cari e, a tutti quanti ti seguono ! Pieralberto
    P.S. modifico per dire che il vecchio e datato Z80 , anziché leggere una eprom dei suoi tempi da 2708 a 2732 è stata comandato e pilotato da uno sconosciuto. Pier, tutto questo è applicabile alla vita, alla mia vita. Il vecchio, l'antico, deve soccombere e farsi pilotare dal nuovo . Così deve essere ! Non fraintendermi ! Tu hai fatto benissimo ! Voglio solo dire che tanti insegnamenti sono applicabili non solo all'elettronica ma, anche alla vita ! Ho scritto un romanzo ! GRAZIE PIER ! Un abbraccio da Pieralberto.

    • @PierAisa
      @PierAisa  4 роки тому

      Grazie Pieralberto per il commento. Troppo buono, ti ringrazio e auguro anche a te di trascorrere un'ottima domenica.

  • @mariano6825
    @mariano6825 4 роки тому +1

    Incredibile, Pier sei una fonte inesauribile di conoscenza Elettronica, e non solo teorica. 😉
    Ps. Sai quale aspetto del tuo canale mi piace di più? Il fatto che rispondi a tutti i commenti, rendi vivo/attivo il canale. Ovviamente oltre l'analogica.. 😁.. 👍
    Ciao Pier, grazie. 👍

    • @PierAisa
      @PierAisa  4 роки тому

      Grazie Mariano per me la stessa cosa mi piace che facciate commenti perché sono stimolo per nuovi approfondimenti È bello avere una comunità con cui poter interagire adesso in autunno cercheremo anche di avere delle live più frequentemente in modo più interazione sarà più spinta per quanto riguarda i prossimi video saranno ancora solo z80 perché trovandomi fuori da mio laboratorio è la modalità giusta con cui riesco ad andare avanti

    • @mariano6825
      @mariano6825 4 роки тому

      @@PierAisa 👍 Buone ferie.. 😉 e nuovamente grazie.

    • @TheKontikiWorld
      @TheKontikiWorld 4 роки тому

      Lo scorso inverno, avevo realizzato proprio un progetto di questo tipo utilizzando un arduino mega come logica completa per pilotare lo Z80. Quindi l'arduino faceva praticamente tutto, dalla generazione del Clock per lo z80, alla simulazione della memoria Ram generando tutti i segnali di controllo in ingresso allo z80, e gestendo tutti i segnali in uscita dallo z80 (RD, WR, M1, IORQ, etc). Il limite che ho riscontrato è che la cosa funziona fino a qualche KHz di clock, ma oltre certe velocità, per quanto abbia tentato di ottimizzare il codice, Arduino non c'è la fa più a star dietro allo Z80. Ad ogni modo il progetto è fantastico per spingersi ai limiti della programmazione arduino e per imparare come funzionano intrinsecamente i microprocessori.

    • @PierAisa
      @PierAisa  4 роки тому

      Il mio scopo è divulgativo e quindi sto facendo girare il sistema molto piano per approfondire il comportamento nelle prossime puntate cercherò di emulare anche altre risorse come la RAM e dispositivi di ingresso uscita nel mio caso ho un arduino due con un Cortex m0 e quindi potrei vedere Effettivamente a quale massima frequenza possiamo spingerci

  • @antsigma1
    @antsigma1 4 роки тому

    Grazie Pier rendi tutto molto chiaro . Sarebbe interessante una spiegazione "Elettrica e meccanica e teorica " del computer per i ragazzi che ti seguono !!!!!!!!!!!!!!!!!!!!

    • @PierAisa
      @PierAisa  4 роки тому +1

      Grazie Per ora stiamo lavorando concentrati su microprocessore approfondiamo ancora un po' il suo comportamento Con questi trucchetti in emulazione e poi potremmo costruire un computer da zero saldando i componenti su millefori sviluppando le interfacce caricando un sistema operativo e scrivendosi del software sarebbe proprio un bel progetto anche molto divertente

  • @giampio78
    @giampio78 4 роки тому

    Grazie mille Pier, veramente interessante. Adesso mi toccherà passare la domenica in laboratorio, al posto di andare al mare 😂

    • @PierAisa
      @PierAisa  4 роки тому

      Ciao buona domenica il consiglio che ti do è di dedicare la domenica al mare e la notte al laboratorio. La domenica notte è un'occasione unica per sballarsi con queste amenità

  • @antoniovarasano6750
    @antoniovarasano6750 4 роки тому

    Grazie per avermi fatto ritornare un adolescente quando, con il mio c128, potevo far funzionare lo z80 solo in LM.

    • @PierAisa
      @PierAisa  4 роки тому

      Grazie a te per il commento ! Ci vediamo alla prossima puntata dove faremo vedere a Z80 altre risorse hardware usando Arduino

  • @nicolaannecchini5017
    @nicolaannecchini5017 4 роки тому +1

    Fondamentale per comprendere i meccanismi della Cpu z80...era venuto in mente anche a me di assemblare un piccolo computer o microcontrollore completo di interfacce di input output convertitori a/d ecc.

    • @PierAisa
      @PierAisa  4 роки тому +2

      Z80 per la sua semplicità si presta bene

  • @salcoco9784
    @salcoco9784 4 роки тому

    Sei "INCREDIBILE!" Grazie per tutto ciò che fai...

    • @PierAisa
      @PierAisa  4 роки тому

      grazie a voi che mi sostenete, siete benzina al elevato numero di ottani

  • @MarcoFranceschini1971
    @MarcoFranceschini1971 4 роки тому

    Presente...buona Domenica super Pier.

  • @MarcoFranceschini1971
    @MarcoFranceschini1971 4 роки тому

    Stupendissimo...qui siamo quasi al livello di programmazione in linguaggio macchina con invio della struttura binaria che codifica per le varie istruzioni.

    • @PierAisa
      @PierAisa  4 роки тому

      nella prossima puntata gli facciamo eseguire un programma in assembly compilato

  • @iw0hex
    @iw0hex 4 роки тому

    Sempre interessantissimi i tuoi video Pier, bellissima l'integrazione Arduino e Z80, complimenti davvero. Un caro saluto Pier, 73s Pasquale IW0HEX

    • @PierAisa
      @PierAisa  4 роки тому

      Grazie Pasquale una buona domenica anche a te nella prossima puntata faremo eseguire un programma completo scritto in assembly è compilato per ma fatto eseguire sempre da arduino

  • @ninateam
    @ninateam 4 роки тому

    Grazie, interessantissimo, e tanti ricordi, dal Sinclair al pc di nuova elettronica!

    • @PierAisa
      @PierAisa  4 роки тому

      grazie ciao ci vediamo domenica prossima

  • @cxlabs
    @cxlabs 4 роки тому

    Grazie per questo video vintage e molto molto istruttivo per capire le cose da dentro:-) Tanti hanno fa lavoravo con Z80 e relativo in-circuit debugger (mi sembra lo ZAX)
    Mi permetto una umile osservazione: non sarebbe meglio dare il clock da Arduino ?
    Si rivolverebbero tutte le complicazioni della sincronizzazione...
    Un caro saluto

    • @PierAisa
      @PierAisa  4 роки тому +1

      ciao grazie per il consiglio. Come dici si semplificherebbero le cose, ma mi piace l'idea di un sistema esterno ad Arduino per dare il clock e usare i fronti per sincronizzare.

  • @davidecosciani9232
    @davidecosciani9232 3 роки тому

    14:30 Ciao Pier, se vuoi proteggere lo Z80, piuttosto che mettere 8 resistori sul bus dati (e a questo punto anche 16 resistori sul bus indirizzi), usa il pin 25 BUSRQ (attivo basso), per mandare in three-state lo Z80 e liberare entrambi i bus.

    • @PierAisa
      @PierAisa  3 роки тому

      Giusto !!!!!! Geniale, grazie

    • @davidecosciani9232
      @davidecosciani9232 3 роки тому

      @@PierAisa grazie, ma geniale è stato, ed è Federico Faggin!

    • @PierAisa
      @PierAisa  3 роки тому

      E' appena uscita l'ultima edizione di SILICIO, rivisitata www.linkedin.com/feed/update/urn:li:activity:6764993936210624512/

    • @davidecosciani9232
      @davidecosciani9232 3 роки тому

      @@PierAisa Forte! Aspetto in italiano però.

  • @DanieleVetrucci
    @DanieleVetrucci 4 роки тому

    Mi ricordo che per l'esame di elettronica industriale avevamo fatto girare un programmino su z80 con ram rom ecc ma ci capii poco anche perché era il primo micro che vedevo. Interessante con Arduino si potrebbe fare una scheda per sviluppo sw dello z80

    • @PierAisa
      @PierAisa  4 роки тому +1

      Sì esatto in effetti è quello che sto cominciando a fare cercare di rendere disponibili delle risorse avete 80 sfruttando un arduino due che ha un microprocessore Cortex è Ram in abbondanza nelle prossime puntate guarderemo anche l'assembly z80

  • @corsamotori6659
    @corsamotori6659 4 роки тому

    Ora mi e tutto chiaro, in qualsiasi circuito di progetto c'è sempre una spiegazione logica, ma anche nella Fisica Quantistica e fondata da calcoli matematici, guardando la legge di Benoit Mandelbrot dei Frattali che tutto quello che ci circonda nel macro e micro di qualsiasi oggetto in natura e formato da calcoli Matematici, quindi osservando un video di questo scienziato Russo Vladimir G.Efremov, parla di un esperienza NDE , che aveva difficoltà a risolvere un progetto basato su dei algoritmi ci, alla fine e riuscito a risolvere, basta guardare questi due video e tutto porta alla risoluzione di logica 1, la ringrazio per i video che mi a mandato.

    • @PierAisa
      @PierAisa  4 роки тому +1

      Concordo. Come diceva Galileo tanto tempo fa... le cose le abbiamo davanti agli oggi, basta impegnarsi ed abituarsi a guardarle anche da prospettive nuove. La natura è come un libro aperto davanti a noi ed il linguaggio usato è la matematica, che poi alla fine è solo una astrazione umana per comprendere la complessità di quello che ci circonda.

    • @corsamotori6659
      @corsamotori6659 4 роки тому

      Infatti io in matematica sono discreto, facendo un esercizio banale di incremento su Excel non riuscivo a risolvere sono sincero.
      Stavo appoggiato sul letto rifacendo i calcoli sul cellulare, ma nessun risultato, il tempo che mi avvicinai al computer e riguardando il libro della verifica non riuscivo a capire il perché!!! L'ultimo calcolo ho sentito dentro di me una forza che mi spinse e mi disse devi fare questo. Sono rimasto scocciato! Guardai il libro, e mi trovavo finalmente!!! Le consiglio, poi ognuno è libero delle proprie idee, di guardare quei due video, mi creda le porteranno a tutte le soluzioni e principalmente quell' Uno.👍👋

  • @giuseppecolombo4701
    @giuseppecolombo4701 4 роки тому

    Ottimo Pier complimenti

    • @PierAisa
      @PierAisa  4 роки тому

      Grazie ciao alla prossima puntata che sarà domenica Dov'è eseguiremo un programma completo prima analizzato in assembly e poi compilato

  • @siriokds
    @siriokds 4 роки тому

    Ciao Pier, complimenti per il video. Potresti approfondire l'argomento sulla parte elettrica delle connessioni? Ad esempio sul perché del valore da 1K delle resistenze sul bus dati, etc. Inoltre, quali degli eventi delle istruzioni erano istruzioni di refresh DRAM?
    Se non ricordo male sul ciclo M1 vengono eseguite.

    • @PierAisa
      @PierAisa  4 роки тому +1

      Ciao ho inserito delle resistenze con valore 1k in modo da limitare la corrente nel caso che Arduino e z80 impostino le loro porte sul data bus in modo asimmetrico con 5V da un lato e ground dall'altro: in questo caso limitiamo la corrente a massimo 5 milliampere. Lo possiamo fare perché non abbiamo particolari vincoli dinamici Stiamo andando a velocità praticamente nulle. Come dici il ciclo Z80 per la gestione istruzione è organizzato in 4 cicli di clock, in cui nei primi 2 il segnale M1 è attivo basso e la CPU fa il fetch della istruzione e nei secondi due M1 è alto e la CPU fa il refresh delle DRAM

    • @siriokds
      @siriokds 4 роки тому

      @@PierAisa Grazie 1000 per la spiegazione. Con le resistenze eviti un corto.

  • @robertotumblr457
    @robertotumblr457 4 роки тому

    Estremamente fantastico

  • @ergabibbo2301
    @ergabibbo2301 3 роки тому +1

    Salve , ho costruito il circuito z80 senza il 555 , al posto del seguente integrato ho utilizzato un' Arduino uno con un programma che genera un'onda quadra.
    Volevo sapere se utilizzando il programma sarà possibile sostituire il 555 .
    Buona giornata .
    PS: bel video ;)

    • @PierAisa
      @PierAisa  3 роки тому +1

      Ciao benissimo questa serie di video secondo me è molto divertente la puoi trovare in maniera completa se vai sulla mia videolist e scrivi z80 nel filtro di ricerca www.pieraisa.it/videolist
      Il 555 lo puoi sostituire senza problemi

    • @ergabibbo2301
      @ergabibbo2301 3 роки тому +1

      @@PierAisa Ok , grazie mille gentilissimo

  • @aldoformicola2373
    @aldoformicola2373 4 роки тому

    Ciao Pier, buona domenica ,volevo chiederti se hai fatto qualche videoriparazione per quanto riguarda gli ups o gruppi di continuità dei PC. Ciao un abbraccio

    • @PierAisa
      @PierAisa  4 роки тому

      Grazie buona domenica anche a te. Rispetto agli UPS ho questo video che è più un video di analisi di un grosso getto da 30kVA, ti lascio il link.ua-cam.com/video/X4W1OTwSsQo/v-deo.html. Purtroppo non ho ancora trattato degli UPS ma potrebbero arrivare nelle prossime settimane Ciao In ogni caso ti lascio il link con tutti i miei video dove fare ricerca testuale

  • @ergabibbo2301
    @ergabibbo2301 3 роки тому +1

    Salve , volevo chiederle se è possibile utilizzare un'Arduino uno ?

    • @PierAisa
      @PierAisa  3 роки тому +1

      Si non dovrebbero esserci problemi, si tratta di mappare i pin su pin di UNO che abbiano gli interrupt abilitati

    • @ergabibbo2301
      @ergabibbo2301 3 роки тому +1

      @@PierAisa ok , grazie mille 😊

  • @xXDaNyXx94
    @xXDaNyXx94 4 роки тому

    Qualcuno mi sa consigliare qualche sito per ordinare componenti elettronici con spese di spedizione accettabili tranne aliexpress lo uso gia da tempo ma troppo tempo di attesa e il rischio che non arrivi l ordine, ho visto su MOUSER ma costa un casino la spedizione

  • @sniperbazy
    @sniperbazy 4 роки тому

    ciao, potresti fare con Esyeda una basetta stile "ARDUINO" dove monti lo z80 , il 555, i vari led e l'interfaccia con arduino

    • @PierAisa
      @PierAisa  4 роки тому

      Nelle prossime puntate faremo un microcomputer intero basato su z80 su millefori su questa esperienza poi potremmo fare effettivamente un circuito stampato così sarà comodo per tutti al momento su questo genere ho fatto solo Micro Pierino 32. ua-cam.com/video/zNIs9Kyd9_o/v-deo.html

  • @ghifordmizzard1897
    @ghifordmizzard1897 4 роки тому

    Ma come alimenti lo Z80 ? Se il micro ATSam dell'arduindo Due va a 3.3v se lo Z80 lo alimenti a 5v lui riesce a captare i segnali alti su i suoi PIN d'ingresso ? O riesce a leggere valori anche da 3v ? Perché anche per l'arduino due se gli butti i 5v sui PIN GPIO si distruggono

    • @PierAisa
      @PierAisa  4 роки тому +1

      ciao non mi sono soffermato molto su questa parte, ma è il motivo per cui ho inserito delle resistenze da 1kohm su tutti gli I/O di Arduino Sam3X8E. Comunque hai fatto bene a sollevare la questione perché gli I/O di Arduino 2 non sono dichiarati 5V tolerant. Quando Z80 legge il livello 3.3V è sufficiente per essere alto

    • @ghifordmizzard1897
      @ghifordmizzard1897 4 роки тому

      @@PierAisa ma il problema è che comunque con la resistenza in serie non vai ad abbassare la tensione per i PIN d'ingresso dell'arduino quindi il Z80 va a mandare una tensione di +/- 5v chiaro, le cose cambiano se viene fatto un partitore di tensione...
      Perché a me è successo un disastro quando in passato ho collegato una memoria RAM generali usate spesso con un Z80 e ho alimentato il tutto a 5v e i PIN GPIO dei dati ne sono saltati 3 su 8... sul datascheet hanno comunque dei diodi di protezione ma nel mio caso è successo.
      Nel tuo caso hai avuto fortuna perché sia senza resistenze che con i PIN d'ingresso della scheda Arduino Due non hanno avuto problemi.
      Non so se si può alimentare il Z80 a 3.3v che sarebbe la soluzione migliore... o usare dei trasduttori di livello o meglio un Arduino Mega che usa un microcontrollore a 5v...
      Però è rischioso perché qualche persona profana se riproduce il tuo circuito rischia di rompere la scheda !!!! Sarebbe meglio avvisare !

    • @PierAisa
      @PierAisa  4 роки тому +1

      ​@@ghifordmizzard1897 Il partitore di tensione viene comunque fatto in parte con la resistenza interna del GPIO del micro e la resistenza interna del bus di Z80 e ci sono diodi di protezione sia lato Z80 che lato SAM, ma comunque sono d'accordo con te di non farci troppo affidamento. Dal datasheet pag.1378 del SAM ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11057-32-bit-Cortex-M3-Microcontroller-SAM3X-SAM3A_Datasheet.pdf il valore massimo è dichiarato a 4V. Come esperienza ti posso dire che ho il sistema in tiro già da oltre un mese e non ho mai avuto nessun problema, Ad ogni modo aggiungo in evidenza nei commenti questa precisazione. Z80 deve essere alimentato con almeno 4.5V come da datasheet per la mia versione ZILOG_Z84C0010PEG. Grazie !

    • @ghifordmizzard1897
      @ghifordmizzard1897 4 роки тому

      @@PierAisa Ah perfetto adesso sui dettagli ne sai più di me io di solito uso micro ST e poi io di standard anche sui micro a 3.3v con i PIN tolleranti 5v io metto sempre COMUNQUE trasduttori di livello per una maggiore sicurezza quindi noni pongo mai il problema.
      SEI MOLTO BRAVO !!!!!!

    • @ghifordmizzard1897
      @ghifordmizzard1897 4 роки тому

      @@PierAisa magari scrivi che si può fare il tutto mettendo anche per sicurezza dei trasduttori di livello discreti con dei MOSFET 2n700 che sono bidirezionali o di tipo attivo che forse potrebbe essere argomento di un nuovo video o semplicemente consigliare di fare il progetto con un Arduino MEGA con quindi un micro ATMega2560 che a 5v così non ci sono problemi.

  • @MarcoFranceschini1971
    @MarcoFranceschini1971 4 роки тому

    Unico possibile problema che vedo per lo Z80 il carico capacitivo sui suoi pin.

  • @64etto
    @64etto 4 роки тому

    Più comodo sarebbe usare esadecimale

    • @PierAisa
      @PierAisa  4 роки тому

      Infatti nelle prossime puntate useremo la notazione compatta proprio perché avremo più informazioni da visualizzare