Discussione:
Diagnostica per CPU vintage: Arduino, Raspberry oppure cosa ?
(troppo vecchio per rispondere)
Gabriele72
2015-06-17 09:48:19 UTC
Permalink
Provo a chiedere a voi che sicuramente ne sapete più di me :-)
Vorrei provare a sviluppare un tool diagnostico per schede con le nostre
amate CPU retro ad 8 bit (leggi: 6502, Z80, 8080 ecc...).
Pensavo di tentare con una delle varie schedine embedded che affollano
il mercato, ma ve ne sono una quantità indescrivibile.

In pratica quello che servirebbe è:

40 GPIO digitali per logica TTL a 5 V, impostabili come input o output
alla bisogna.

La possibilità di gestire un minimo di interfacciamento con l'utente
senza sacrificare le GPIO di cui sopra (ad esempio messaggi e comandi
da/a PC via seriale potrebbe andare, mentre un display LCD lo vedo più
scomodo).

Velocità sufficiente a gestire gli I/O compatibile con i timing di uno
Z80 a 4Mhz o un 65C02 a 2Mhz. Significa non solo che il pilotaggio dei
segnali deve avere velocità adeguata, ma che servono sufficienti cicli
macchina per fare tutto quello che serve tra due fronti di clock della
scheda da testare (e chiaramente il sampling della linea di clock deve
andare a razzo).

Infine: costare poco, perché è un esperimento e potrei non arrivare
neppure in fondo e non mi va di spenderci centinaia di euro.


Ho scartato la serie Arduino classica perché troppo lenta: 16MHz non li
vedo assolutamente sufficienti.

Pensavo all'Arduino Due (ARM a 84MHz) ma le GPIO sono a 3.3V. Si può
fare ma dovrei metterci diversi traslatori di livello bidirezionali con
tutte le menate del caso.

Ho visto i Raspberry PI, 700MHz ma richiedono un sistema operativo,
potrebbe alla fine risultare non abbastanza responsivo?

Altro?

Digressioni e suggerimenti benvenuti :-)

*Gabriele*
Giulia
2015-06-17 11:40:35 UTC
Permalink
Post by Gabriele72
Provo a chiedere a voi che sicuramente ne sapete più di me :-)
Vorrei provare a sviluppare un tool diagnostico per schede con le nostre amate CPU retro ad 8 bit (leggi: 6502, Z80, 8080 ecc...).
Capisco l'universalita' del tool , ma secondo me il miglior test e' sviluppare un software apposito(per ogni cpu nel suo linguaggio macchina) e testare le varie
cpu sulle proprie schede di sviluppo (probabilmente dell epoca).

Giulia
Gabriele72
2015-06-17 12:22:47 UTC
Permalink
Post by Giulia
Capisco l'universalita' del tool , ma secondo me il miglior test e'
sviluppare un software apposito(per ogni cpu nel suo linguaggio
macchina) e testare le varie cpu sulle proprie schede di sviluppo
(probabilmente dell epoca).
In realtà il test non è tanto per la CPU ma per la scheda, e con
"scheda" leggi... retrocomputer ;-)

Pensa ad un in-circuit emulator ma senza la presunzione di emulare tutta
la CPU: solo l'accesso al bus (dal socket della CPU) ed il pilotaggio
delle linee.
Con questo, ed una mappa di memoria, puoi testare il bus, la RAM, le
ROM, l'I/O, un sacco di cose.
Cablando qualche pin analogico potrei anche monitorare le tensioni di
alimentazione durante il funzionamento.

La tua soluzione è più simile ad un EPROM emulator che è molto più
limitante come troubleshooter: richiede infatti che la maggior parte
dell'hardware sia già a posto.

*Gabriele*
f***@gmail.com
2015-06-18 09:36:58 UTC
Permalink
Post by Gabriele72
Post by Giulia
Capisco l'universalita' del tool , ma secondo me il miglior test e'
sviluppare un software apposito(per ogni cpu nel suo linguaggio
macchina) e testare le varie cpu sulle proprie schede di sviluppo
(probabilmente dell epoca).
In realtà il test non è tanto per la CPU ma per la scheda, e con
"scheda" leggi... retrocomputer ;-)
Io trovo piu' comodo spendere un paio di centinaia di euro per un buon analizzatore di stati logici vintage (HP-1630A in su...)
L'idea di farselo in casa non e' male, ma bisogna vedere quante vite hai :-)
Per ora ho resistito all'acquisto perche' con un buon oscilloscopio e un po' di pratica si trovano la maggior parte dei guasti in pochi minuti su schede vintage.
Ma appena trovo un bell'esemplare della serie 16600A con le sonde....

F
Gabriele72
2015-06-18 13:13:33 UTC
Permalink
Post by f***@gmail.com
Io trovo piu' comodo spendere un paio di centinaia di euro per un buon analizzatore di stati logici vintage (HP-1630A in su...)
L'idea di farselo in casa non e' male, ma bisogna vedere quante vite hai :-)
Stiamo parlando di oggetti diversi...
Post by f***@gmail.com
Per ora ho resistito all'acquisto perche' con un buon oscilloscopio e un po' di pratica si trovano la maggior parte dei guasti
in pochi minuti su schede vintage.
Se hai una cella ballerina in una RAM dinamica non è così semplice con
due canali... un test della RAM ti trova subito il guasto.
Post by f***@gmail.com
Ma appena trovo un bell'esemplare della serie 16600A con le sonde....
Quei vecchi analizzatori avevano di buono che ti decodificavano il bus
fornendoti l'assembler... ma oggi un logic sniffer tascabile collegato
al PC non è equivalente e forse anche più avanti ?

*Gabriele*
f***@gmail.com
2015-06-18 16:16:33 UTC
Permalink
Post by Gabriele72
Post by f***@gmail.com
Io trovo piu' comodo spendere un paio di centinaia di euro per un buon analizzatore di stati logici vintage (HP-1630A in su...)
L'idea di farselo in casa non e' male, ma bisogna vedere quante vite hai :-)
Stiamo parlando di oggetti diversi...
non molto, un HP-166xx e' un computer con HP-UX sopra e schede di acquisizione dati, piu' ovviamente sonde varie.
Esistono software per fare molte cose.
Post by Gabriele72
Post by f***@gmail.com
Per ora ho resistito all'acquisto perche' con un buon oscilloscopio e un po' di pratica si trovano la maggior parte dei guasti
in pochi minuti su schede vintage.
Se hai una cella ballerina in una RAM dinamica non è così semplice con
due canali... un test della RAM ti trova subito il guasto.
I guasti sulla ram di solito li trovo con un semplice programmino in assembler o altro, dipende da cosa sto riparando.
Post by Gabriele72
Post by f***@gmail.com
Ma appena trovo un bell'esemplare della serie 16600A con le sonde....
Quei vecchi analizzatori avevano di buono che ti decodificavano il bus
fornendoti l'assembler... ma oggi un logic sniffer tascabile collegato
al PC non è equivalente e forse anche più avanti ?
beh si, se trovi qualcosa che ti interfaccia 32-64 bit (con possibilita' di crearti il trigger su misura ecc. ecc.) ad un PC e relativo software, ottieni qualcosa di simile.
Non so se esistono questi oggetti sinceramente, sono un "fan" degli strumenti di una certa eta' perche' posso mantenerli in vita praticamente all'infinito (finche' in vita ci resto io).

F
delo
2015-06-17 13:56:58 UTC
Permalink
per la velocita' penso che una fpga, possa star dietro a qualsiasi clock dei retromicro
ci sono schede di valutazione cinesi a poco meno di 15 euro a cui occorre aggiungere
il cablaggio a un connettore dip 40 pin - il piu' corto possibile
da un computer host scarichi il test code scritto in VHDL/verilog
non saprei sulla comunicazione indietro verso l'host probabilmente occorre una parte di
codice che implementa una uart per presentare i dati sul pc
(nel 1998 la atmel produceva dei microcontroller che avevano integrata una fpga
quello sarebbe il meglio delle due tecnologie - ma penso siano mosche rare)
era venuta anche a me tempo fa una idea cosi' e penso sia utile su un proprio sviluppo di
hardware, addirittura con una semplice scheda di I/O isa per generare e rilevare gli stimoli
(ho i pezzi di un telaio ex-olivetti zeppo di interruttori PROPIM - prova piastre modulare)

su computer esistenti le cose saranno un poco piu' complesse immagina
la ram dinamica da testare e da rinfrescare - con gli opportuni timing - problemi di cchi ostruisce
gli ICE, su bitsavers ci devono essere le foto di un emulatore MICE microtek da cui
apprezzare la complessità del tutto.
Forse conviene cercare su ebay degli emulatori hw dei micro che ti interessano...

delo
Post by Gabriele72
Provo a chiedere a voi che sicuramente ne sapete più di me :-)
Vorrei provare a sviluppare un tool diagnostico per schede con le nostre amate CPU retro ad 8 bit (leggi: 6502, Z80, 8080 ecc...).
Pensavo di tentare con una delle varie schedine embedded che affollano il mercato, ma ve ne sono una quantità indescrivibile.
40 GPIO digitali per logica TTL a 5 V, impostabili come input o output alla bisogna.
La possibilità di gestire un minimo di interfacciamento con l'utente senza sacrificare le GPIO di cui sopra (ad esempio messaggi e
comandi da/a PC via seriale potrebbe andare, mentre un display LCD lo vedo più scomodo).
Velocità sufficiente a gestire gli I/O compatibile con i timing di uno Z80 a 4Mhz o un 65C02 a 2Mhz. Significa non solo che il
pilotaggio dei segnali deve avere velocità adeguata, ma che servono sufficienti cicli macchina per fare tutto quello che serve tra
due fronti di clock della scheda da testare (e chiaramente il sampling della linea di clock deve andare a razzo).
Infine: costare poco, perché è un esperimento e potrei non arrivare neppure in fondo e non mi va di spenderci centinaia di euro.
Ho scartato la serie Arduino classica perché troppo lenta: 16MHz non li vedo assolutamente sufficienti.
Pensavo all'Arduino Due (ARM a 84MHz) ma le GPIO sono a 3.3V. Si può fare ma dovrei metterci diversi traslatori di livello
bidirezionali con tutte le menate del caso.
Ho visto i Raspberry PI, 700MHz ma richiedono un sistema operativo, potrebbe alla fine risultare non abbastanza responsivo?
Altro?
Digressioni e suggerimenti benvenuti :-)
*Gabriele*
Gabriele72
2015-06-17 18:55:24 UTC
Permalink
Post by delo
per la velocita' penso che una fpga, possa star dietro a qualsiasi clock dei retromicro
ci sono schede di valutazione cinesi a poco meno di 15 euro
Troppo complicato per me che non so niente di VHDL o progettazione HW
con FPGA, anche se immagino che esistano core Z80 già fatti. Inoltre
penso il debugging sarà ancora più complesso.
Post by delo
su computer esistenti le cose saranno un poco piu' complesse immagina
la ram dinamica da testare e da rinfrescare - con gli opportuni timing -
Non più di tanto: per il 6502 il refresh è fatto dalla circuiteria
esterna implementate sulle schede, lo Z80 ha un registro incrementale e
la circuiteria per il refresh ma se ne può simulare il comportamento.
Ma non dovendo in prima battuta fare un vero e proprio ICE il problema
non si pone: le vecchie 4116 ad esempio vanno refreshate entro 2ms. In
quel tempo avrei già testato parecchi indirizzi.

Ciò che serve è un sistemino embedded capace di gestire segnali digitali
veloci (diciamo fino a 4 MHz) con un pò di margine.
C'è ?

*Gabriele*

---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
Davide Darwin Bucci
2015-06-19 22:57:17 UTC
Permalink
Post by Gabriele72
Vorrei provare a sviluppare un tool diagnostico per schede con le nostre
[cut]
Post by Gabriele72
Velocità sufficiente a gestire gli I/O compatibile con i timing di uno
Z80 a 4Mhz o un 65C02 a 2Mhz.
Io sto iniziando a guardare molto rapidamente le schede di sviluppo STM32.
Oddio, per il momento, mi sono limitato a far lampeggiare un led, ma l'impressione
è quella di avere fra le mani un quadrireattore; se solo avessi più tempo...

Nel mio caso, sto parlando della STM32F429 discovery.
Gabriele72
2015-06-20 09:15:14 UTC
Permalink
Post by Davide Darwin Bucci
Io sto iniziando a guardare molto rapidamente le schede di sviluppo STM32.
Oddio, per il momento, mi sono limitato a far lampeggiare un led, ma l'impressione
è quella di avere fra le mani un quadrireattore; se solo avessi più tempo...
Nel mio caso, sto parlando della STM32F429 discovery.
Devo dire che non costano nulla per quello che c'è sopra, tutte sotto i
30 dollari... ad ogni modo per adesso ho optato per un clone di Arduino
Due con CPU Cortex M3 (fratello minore dell'M4 montato sulle STM32F4),
vediamo che ne esce...

Ora però ho il problema dei traslatori di livello.

*Gabriele*


---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus

Loading...