Sommario:

Robot Brain: costruisci un computer a scheda singola in una sera: 11 passaggi
Robot Brain: costruisci un computer a scheda singola in una sera: 11 passaggi

Video: Robot Brain: costruisci un computer a scheda singola in una sera: 11 passaggi

Video: Robot Brain: costruisci un computer a scheda singola in una sera: 11 passaggi
Video: UNA GIOSTRA SI STACCA A ROMA! 2024, Dicembre
Anonim
Robot Brain: costruisci un computer a scheda singola in una sera
Robot Brain: costruisci un computer a scheda singola in una sera

Hai esaurito la memoria sul tuo Picaxe o Arduino? Ma un PC è eccessivo per il lavoro? Dai un'occhiata a questo computer a scheda singola open source che può essere programmato in linguaggi come C, Basic, Forth, Pascal o Fortran. Questa scheda utilizza circuiti integrati economici e utilizza deliberatamente chip di grandi dimensioni, quindi è facile da saldare. Utilizza un sistema operativo chiamato CPM in esecuzione su uno Z80, che era popolare tra la fine degli anni '70 e la metà degli anni '80. Di conseguenza, è disponibile almeno un gigabyte di software, inclusi linguaggi di programmazione, programmi per fogli di calcolo ed elaboratori di testi. CPM è un sistema operativo basato su testo ed è una versione semplice di DOS. Questa scheda è perfetta se stai costruendo un robot altamente complesso o un sistema di automazione domestica e continui a scoprire che i computer a chip singolo come pics, arduino e atmegas semplicemente non hanno il memoria. La tecnologia moderna significa che i dischi rigidi e le unità floppy possono esistere su singoli chip di memoria e i computer che prima richiedevano un'alimentazione trifase possono ora essere emulati su una scheda alimentata da batterie. Numerose schede N8VEM vengono costruite in tutto il mondo da un gruppo di amichevoli appassionati https://groups.google.com.au/group/n8vemBoards sono un design open source e puoi costruirne uno tuo o acquistarne uno da un appassionato negli Stati Uniti al prezzo di costo (20$). Le eprom possono essere acquistate pre-programmate oppure è possibile programmare le proprie. Mettiamone uno insieme e vediamo cosa può fare…

Passaggio 1: unisciti al gruppo Google

Unisciti al gruppo Google
Unisciti al gruppo Google

Puoi sfogliare il gruppo https://groups.google.com.au/group/n8vem ma se invii una richiesta di adesione al gruppo puoi contribuire alla discussione. C'è una libreria di file e molte immagini di schede di lavoro. Ho inviato un messaggio al gruppo qualche settimana fa e ho chiesto di unirmi. Ho ordinato una tavola ed è arrivata una settimana dopo, il che è abbastanza veloce dagli Stati Uniti all'Australia. Non ho avuto molte delle parti, così ho preso l'elenco delle parti da qui https://n8vem.googlegroups.com/web/TestPrototype_BOM_PART-LIST.lst?gda=6DMrhVQAAABRoI8ydU505jGCwGWcAnRLVYTZaCdyJias028kLbDjM7mHeIlRNZNuWyWm5kKNAJr2D8gD3ctlIYKczaAghgqdUwk_6Qi3BU8HCN0q6OYwM6JXPqrFQS5SIfKND7QsaYYQuite alcuni negozi hanno le parti, tra cui Digikey, Jameco e Futurlec. Tutti i chip logici sono specificati come parti LS. LS è un po' vecchia scuola e i chip consumano più energia e si scaldano. Ho sostituito tutti i chip LS con la più moderna gamma HCT. Gli HCT sono direttamente compatibili ma consumano molta meno energia. Allo stesso modo, ho optato per un CMOS Z80, un CMOS UART (16C550) e un chip di input/output CMOS (82C55). La scheda è arrivata all'incirca nello stesso momento delle parti ed era ora di iniziare a saldare.

Passaggio 2: saldare la scheda

Saldare la scheda
Saldare la scheda

La saldatura è stata abbastanza semplice ed è stata eseguita in un'ora e mezza. Ho deciso di inserire i chip grandi e saldare direttamente i chip più piccoli. Il problema più grande è stato piegare leggermente tutti i pin del chip in modo che si adattassero alla scheda. C'è un chip dell'orologio in tempo reale che non mi serviva, quindi l'ho lasciato fuori. Può essere aggiunto in seguito. Ho anche messo una spina CC sulla mia scheda e un regolatore 5V. Questa scheda è così efficiente che non ha nemmeno bisogno di un dissipatore di calore sul regolatore. L'ho eseguito su una verruca da parete da 9 V. L'eprom ha un'etichetta sulla finestra, altrimenti potrebbe essere cancellata se esce al sole. Lo schema è qui https://n8vem.googlegroups.com/web/Printing+TestPrototype- sch.pdf?gda=MaRhCFMAAABRoI8ydU505jGCwGWcAnRLnTJP08ZxIX8TVeSmRPYsxGLTiGlLa5mMzgNTsMYdvKCD3Kr1rUv-XML38vqpBkuybcVT3VtYGKLco-djwjc-kl-8AmbZ Ma ho trovato utile fare un confronto con il mio primo computer che aveva 8 chip RAM per ottenere 64K. Questa scheda ha mezzo mega su un singolo chip. La CPU è una Z80. Lo Z80 proveniva dal chip 8080, e l'8080 ha anche generato l'8086, 80286 fino a 80586, che è stato chiamato Pentium perché l'ufficio brevetti ha detto che non si possono brevettare i numeri. Le istruzioni del codice macchina 8080 in uno Z80 esistono ancora nei PC moderni.

Passaggio 3: programmare l'Eprom

Programma l'Eprom
Programma l'Eprom

Se non vuoi programmare una eprom, puoi sempre acquistarne una preprogrammata quando ricevi la scheda. Ma ho pensato che avrei potuto usare le eprom programmate in altri progetti, quindi ho preso un programmatore e una gomma. Questi costavano migliaia. Ma ho preso il programmatore per $ 34 inclusa la spedizione (cerca programmatore eprom su ebay) e la gomma costava $ 25 inclusa la spedizione. Il programmatore viene fornito con il proprio software e se gli dici il numero del chip, ti dà un'immagine di come inserire il chip e impostare tutti gli interruttori. Le eprom sono vuote, ma ne ho programmata una, quindi l'ho cancellata per 5 minuti e riprogrammata, solo per verificare che funzionasse tutto. L'intera immagine della rom è qui https://n8vem.googlegroups.com/web/ROMIMAGE.zip?gda =5RkX1kEAAABRoI8ydU505jGCwGWcAnRLTpwShSoH8O7HvxGhdHl1lXeXmbZQXujx0V3ulhJIKNrhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2x e alcuni file del sistema operativo. È un po' come il disco di installazione di XP, tranne per il fatto che va in un chip. Decomprimi il file, avvia il programmatore, carica il file.bin e programma il chip. Puoi rileggere i dati per verificarne il passaggio. L'unico problema con questo programmatore è che ha bisogno di una porta parallela. Alcuni PC più recenti non dispongono di una porta parallela. Mi sono costruito un cavo di prolunga per porta parallela in modo da non dover continuare a raggiungere il PC. Consiste in una spina IDC D25, una presa IDC D25 e 2 metri di cavo piatto. Utilizzare una morsa per premere la spina sul connettore. Il programmatore willem che ho acquistato non mostra tutte le impostazioni necessarie per programmare una eprom da 1 megabyte. A sinistra del chip vicino al fondo, è necessario spostare un ponticello. Le impostazioni sono però nel manuale, che è un file chiamato Willem PCB5.0 Manual.html nella sezione del manuale. Questo ha molti più dettagli sulle impostazioni.

Passaggio 4: collegare un cavo seriale

Collegare un cavo seriale
Collegare un cavo seriale

Se torni al punto 2 puoi vedere il cavo seriale nell'immagine. Ci sono tre parti in questo: 1) La mia prolunga che proviene dal retro del PC. Questo è il cavo arcobaleno. L'ho costruito allo stesso modo del cavo di prolunga del cavo del programmatore, tranne per il fatto che questo utilizza una spina e una presa IDC D9. È davvero utile non dover stare sempre dietro al computer. Il cavo di prolunga ha una femmina a un'estremità e un maschio all'altra.2) Un modem nullo. Questa è una connessione da femmina a femmina. Ho preso il circuito da qui https://www.beyondlogic.org/serial/serial.htm (scorri un po' verso il basso). In sostanza, un modem null unisce i pin 7 e 8, unisce i pin 1, 4, 6 e scambia i pin 2 e 3. La connessione a 9 pin diventa quindi una connessione a 3 fili: terra, trasmissione dati e ricezione dati. In un certo senso semplifica RS232.3) Un'intestazione a 10 pin sulla scheda a un connettore maschio D9. Maggiori informazioni su questo nella pagina successiva. Nello schema, il maschio D9 a sinistra si collega al PC. Il null modem è una connessione da femmina a femmina con le connessioni nelle spine. Avrei potuto cablare tutto questo con molte meno spine, ma utilizzerò il modem null in altri progetti.

Passaggio 5: collegare l'intestazione seriale

Collegare l'intestazione seriale
Collegare l'intestazione seriale

L'intestazione sulla scheda è progettata per andare a un cavo a nastro a 9 vie IDC e quindi a una spina maschio D9. L'unico trucco è che l'intestazione a 10 vie è progettata per supportare un cavo a nastro a 10 vie. Se usi un cavo a 9 vie, c'è uno spazio vuoto per il filo mancante. Ho preso un primo piano per aiutare a chiarire questo. Se lo colleghi correttamente, il pin 1 della scheda va al pin1 del D9. Il pin 5 del D9 dovrebbe essere collegato a terra sulla scheda. Se quei due sono collegati, anche il resto dei fili andrà bene.

Il filo 1 è a sinistra di entrambe le viste del cavo a nastro. Puoi usare un cavo a nastro con i colori, se lo desideri. La roba disordinata sulla spina IDC è la colla a caldo. Probabilmente non è necessario, ma rende le cose un po' più forti.

Passaggio 6: scarica del software

Scarica alcuni software
Scarica alcuni software

Abbiamo bisogno di un software sulla scheda e prima di poter scaricare programmi abbiamo bisogno di un programma modem. Useremo xmodem, che è uno standard che esiste da anni. Xmodem esiste come programma CPM ed esiste in molte forme su programmi per PC, come hyperterminal. Quindi possiamo usarlo per comunicare tra la vecchia e la nuova tecnologia. Cerchiamo di afferrare il file hex di xmodem da qui: https://n8vem.googlegroups.com/web/xm50_LB1.zip?gda=O2tYn0EAAABRoI8ydU505jGCwGWcAnRL1RQ8Aj5bHZQJ6hxcf7VyVbwBih-m421sIN3Oibiyd_vhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2xNgUnzip esso e otterrete due file. Hai bisogno di quello che finisce in.hex. Ora dobbiamo inviare questo al consiglio. Hai bisogno di un programma terminale, che emuli un monitor e una tastiera per questo computer a scheda singola. Windows ne ha uno chiamato hyperterminal che di solito si nasconde nella cartella start/programmi/accessori. Oppure puoi usare l'iperterminale privato. O Teraterm. O Absolutetelnet. O un programma basato su dos chiamato conex. Ci sono molti programmi per terminali in giro perché questo era il modo in cui ti connettevi a Internet prima della banda larga. Accendiamo l'hyperterminal. Ti darà tre schermate e avrai bisogno di tutte le impostazioni corrette! Dopo averlo inserito una volta, puoi salvare questa sessione e creerà un piccolo file che termina con.ht Se fai clic su quel file (trascinalo sul desktop in modo da poterlo trovare in seguito), avvierà hyperterminal con tutti le impostazioni corrette. First screen=name the connection. Chiamalo SBC e scegli un'icona. Secondo schermo. Imposta la porta COM. Il mio computer è impostato su COM2 nella schermata di configurazione e deve essere cambiato in COM1. Vai avanti e passa a COM1. Terza schermata. Baud rate ecc. Impostare i bit al secondo su 9600. 8 Bit di dati. Parità a Nessuno. Bit di stop su 1. E controllo del flusso su Nessuno. Probabilmente dovrai solo modificare i bit al secondo e il controllo del flusso. Ora ti verrà presentata la schermata del terminale. Collega la scheda alla porta seriale e accendila e dovresti ricevere un messaggio di benvenuto. In caso contrario, entra nel gruppo Google e chiedi aiuto. Ora è il momento di parlare con il consiglio!

Passaggio 7: scarica Xmodem

Scarica Xmodem
Scarica Xmodem

Se hai acquistato il chip ram con batteria, dovrai farlo solo una volta. In effetti, altri stanno lavorando per inserire questo nel chip eprom, quindi potrebbe non essere necessario farlo affatto in un futuro molto prossimo. Al prompt >, digita h

Non digitare altro. Non digitare Invio. Una sola h, maiuscola o minuscola. Il cursore scenderà di una riga ma non accadrà nient'altro. Ora fai clic nella parte superiore del programma hyperterminal sul menu Trasferisci. Fare clic su Invia file di testo. In Nome file, usa Sfoglia per trovare la copia esadecimale di xmodem che hai scaricato. Si chiama XM50LB1. HEX Potrebbe essere necessario modificare la ricerca predefinita per *.txt in *.hex per trovarlo. Fai clic su ok e molti numeri appariranno sullo schermo per circa 30 secondi. Aspetta che smettano. Quindi premi la lettera c una volta, di nuovo senza invio. Attendi 2 secondi e sarai in CPM con un prompt A>. Ora digita quanto segue e premi invio: Salva 40 b:xm.com Ora digita B: e invio, per passare all'unità B e otterrai un prompt B>. Ora digita DIR e inserisci, per elencare i file. Ci sono tre unità su questo computer, A, B e F. Puoi vedere cosa c'è su ciascuna digitando la lettera dell'unità, quindi i due punti, quindi invio e quindi DIR. L'immagine mostra una schermata.

Passaggio 8: prendi del software

Prendi del software
Prendi del software

C'è un sacco di software CPM là fuori. Ad esempio https://www.loomcom.com/cpm/cpm_cdrom/https://www.gaby.de/ecpmlink.htm Ma proviamo qualcosa di semplice. Consente a Basic di aggiungere un paio di numeri e stampare la risposta. Per farlo, abbiamo bisogno di una copia di Basic. Ci sono molte copie là fuori, ma andiamo un po' per la tangente e parliamo del simulatore Altair. Questo programmino è un'emulazione completa di una macchina CPM in esecuzione su un PC. Ha una grande libreria software, convenientemente impacchettata in porzioni delle dimensioni del disco, e funziona molto più velocemente di un vero computer CPM che è molto utile durante la compilazione. Il simulatore è qui: https://www.schorn.ch/cpm/intro.php Scarica il software e scarica come minimo l'immagine del disco CPM2.2 e, a circa metà della pagina, l'immagine di base. Mettili tutti nella stessa directory. Già che ci sei, controlla tutte le altre lingue come C Cobal, Fortran, Pascal. Se esegui il programma AltairZ80.exe otterrai una finestra dos. Se hai scaricato il file basic.dsk, puoi eseguirlo con il comando Do basic nel simulatore. Quindi DIR per elencare i file (che si trovano sull'unità A: e B:) Vogliamo MBASIC e si trova nell'unità A. Per copiarlo in una directory del PC, digita W MBASIC. COM e questo salverà il file nel directory in cui si trova il programma altair. Puoi fare il contrario con il comando R che trasferisce i file dal PC ai dischi del simulatore altair. In effetti, se vuoi giocare con CPM, questo è un ottimo modo per farlo senza dover costruire o acquistare nulla. Se vuoi salvare file sul disco virtuale, esci dal simulatore altair con un ctrlE (tasto di controllo e E). Questo esce e salva. Se non vuoi salvare alcuna modifica, chiudi semplicemente la finestra con la X nell'angolo in alto a destra.

Passaggio 9: spostare il file MBASIC. COM nella lavagna

Sposta il file MBASIC. COM nella lavagna
Sposta il file MBASIC. COM nella lavagna

Trasferiamo Basic sulla lavagna.

Nella sessione dell'hyperterminal, vai all'unità B: e digita XM R MBASIC. COM e quindi inserisci. Questo avvierà il programma xmodem e rimarrà lì in attesa che arrivi un file. Ora vai al menu dell'iperterminale e fai clic su Trasferisci e poi su Invia file. Cerca il file MBASIC. COM. Nella sezione protocollo, seleziona Xmodem. Nell'iperterminale è il terzo in basso. Fare clic su invia e dopo pochi secondi il file andrà comunque. Ci vuole circa un minuto. Se funziona dovresti ottenere il prompt B>. Digita DIR per verificare che sia presente. (Ignora tutti i B> in basso sullo schermo: ho premuto il tasto Invio alcune volte accidentalmente)

Passaggio 10: eseguire Basic e scrivere un programma

Esegui Basic e scrivi un programma
Esegui Basic e scrivi un programma

Ora possiamo eseguire Basic sulla scheda e scrivere un programmino. Es. mbasic10 A=2020 B=3030 C=A+B40 print "La risposta è: ";CRUNSave "MYPROG", AOra abbiamo un computer funzionante.

Passaggio 11: compilare un programma

Compila un programma
Compila un programma

Se ti senti davvero appassionato, puoi compilare un programma. Questo produce un.com (l'equivalente di un.exe su un PC). I file Com possono essere eseguiti come programmi indipendenti e possono anche essere impostati per l'esecuzione automatica all'avvio della scheda. Ora la scheda può funzionare come controller autonomo, senza mai bisogno di essere collegata a un PC. La scheda N8VEM può compilare programmi sulla scheda, oppure è possibile utilizzare il simulatore altair. Quest'ultimo è più veloce ma non importa. Se si desidera compilare programmi, è necessario quanto segue: MBASIC. COM, BRUN. COM L80. COM BCLOAD, BASLIB. REL E BASCOM. COMC è leggermente diverso, ma penso che utilizzi ancora il linker L80. Guarda lo screenshot per come scrivere, compilare ed eseguire un programma. E restate sintonizzati, perché presto ci saranno dischi rigidi, un mini display LCD, un display che utilizza un vecchio monitor vga https://www.tvterminal.de/index.html#english con interfaccia a tastiera, un'unità flash e input e schede di uscita!

Consigliato: