Innholdsfortegnelse:

Robothjerne: Bygg en enkelt bordcomputer på en kveld: 11 trinn
Robothjerne: Bygg en enkelt bordcomputer på en kveld: 11 trinn

Video: Robothjerne: Bygg en enkelt bordcomputer på en kveld: 11 trinn

Video: Robothjerne: Bygg en enkelt bordcomputer på en kveld: 11 trinn
Video: Tester en robothjerne 2024, Kan
Anonim
Robothjerne: Bygg en enkelt bordcomputer på en kveld
Robothjerne: Bygg en enkelt bordcomputer på en kveld

Går du tom for minne på Picaxe eller Arduino? Men en PC er overkill for jobben? Ta en titt på denne enbrett -datamaskinen med åpen kildekode som kan programmeres på språk som C, Basic, Forth, Pascal eller Fortran. Dette brettet bruker rimelige ICer og bruker bevisst store chips, så det er enkelt å lodde. Den bruker et operativsystem kalt CPM som kjører på en Z80, som var populært på slutten av 1970 -tallet til midten av 1980 -tallet. Som et resultat er det minst en gigabyte programvare tilgjengelig, inkludert programmeringsspråk, regnearkprogrammer og tekstbehandlere. CPM er et tekstbasert operativsystem og er en enkel versjon av DOS. Dette brettet er perfekt hvis du bygger det svært komplekse roboten eller hjemmeautomatiseringssystemet og fortsetter å finne ut at enkeltbrikkemaskiner som bilder, arduinos og atmegas bare ikke har hukommelse. Moderne teknologi betyr at harddisker og diskettstasjoner kan eksistere på enkeltminnebrikker, og datamaskiner som tidligere trengte en trefaset strømforsyning, kan nå etterlignes på et kort drevet av batterier. Et antall N8VEM -kort blir bygget over hele verden av en gruppe vennlige entusiaster https://groups.google.com.au/group/n8vemBoards er en åpen kildekode -design, og du kan bygge din egen eller kjøpe en fra en entusiast i USA til kostpris ($ 20). Eproms kan kjøpes forhåndsprogrammert, eller du kan programmere din egen. La oss sette sammen en og se hva den kan gjøre …

Trinn 1: Bli med i Google -gruppen

Bli med i Google -gruppen
Bli med i Google -gruppen

Du kan bla gjennom gruppen https://groups.google.com.au/group/n8vem, men hvis du sender en forespørsel om å bli med i gruppen, kan du bidra til diskusjonen. Det er et bibliotek med filer og mange bilder av arbeidsbord. Jeg sendte en melding til gruppen for noen uker siden og ba om å bli med. Jeg bestilte et brett, og det kom en uke senere, noe som er ganske raskt fra USA til Australia. Jeg hadde ikke mange av delene, så jeg fikk delelisten herfra https://n8vem.googlegroups.com/web/TestPrototype_BOM_PART-LIST.lst?gda=6DMrhVQAAABRoI8ydU505jGCwGWcAnRLVYTZaCdyJias028kLbDjM7mHeIlRNZNuWyWm5kKNAJr2D8gD3ctlIYKczaAghgqdUwk_6Qi3BU8HCN0q6OYwM6JXPqrFQS5SIfKND7QsaYYQuite noen butikker har de deler, inkludert Digikey, Jameco og Futurlec. Alle logikkbrikkene er spesifisert som LS -deler. LS er litt old school og chipsen bruker mer strøm og går varmt. Jeg erstattet alle LS -brikkene med det mer moderne HCT -sortimentet. HCT er direkte kompatible, men bruker langt mindre strøm. På samme måte gikk jeg for en CMOS Z80, en CMOS UART (16C550) og en CMOS inngangs-/utgangsbrikke (82C55). Tavlen kom omtrent samtidig med delene, og det var på tide å begynne lodding.

Trinn 2: Lodde brettet

Lodde styret
Lodde styret

Lodding var ganske enkelt og ble gjort på en og en halv time. Jeg bestemte meg for å sette inn de store chipsene og lodde de mindre chipsene inn direkte. Det største problemet var å bøye alle brikkepinnene litt slik at de passet inn i brettet. Det er en sanntids klokkebrikke som jeg ikke trengte det, så jeg utelot det. Det kan legges til senere. Jeg satte også en likestrømkontakt på kortet og en 5V regulator. Dette brettet er så effektivt at det ikke engang trenger en kjøleribbe på regulatoren. Jeg kjørte den av en 9V veggvorter. Eprom har en etikett over vinduet, ellers kan den bli slettet hvis den går ut i solen. Skjematisk er her https://n8vem.googlegroups.com/web/Printing+TestPrototype- sch.pdf? gda = MaRhCFMAAABRoI8ydU505jGCwGWcAnRLnTJP08ZxIX8TVeSmRPYsxGLTiGlLa5mMzgNTsMYdvKCD3Kr1rUv-XML38YQYBKYYDK8YKYX8YXYY8TKJXYX8Y8YKY8TKwYTKwKwYZYY8YXYX8YXYYKYY8TKJXYTK8JXYTK8JXYX8YXYKXYX8YQYBKYX8YXYYKY Men jeg syntes det var nyttig å sammenligne med min første datamaskin som hadde 8 RAM -brikker for å få 64K. Dette brettet har en halv meg på en enkelt brikke. CPU'en er en Z80. Z80 kom fra 8080 -brikken, og 8080 skapte også 8086, 80286 opp til 80586, som ble kalt pentium fordi patentkontoret sa at du ikke kunne patentere tall. 8080 maskinkodeinstruksjonene i en Z80 eksisterer fortsatt på moderne PCer.

Trinn 3: Programmer Eprom

Programmer Eprom
Programmer Eprom

Hvis du ikke vil programmere en eprom, kan du alltid kjøpe en forhåndsprogrammert når du får brettet. Men jeg tenkte jeg kunne bruke programmerte eproms i noen andre prosjekter, så jeg fikk en programmerer og et viskelær. Disse kostet tidligere tusenvis. Men jeg hentet programmereren for $ 34 inkludert frakt (søk etter eprom programmerer på ebay), og viskelæret var $ 25 inkludert frakt. Programmereren kommer med sin egen programvare, og hvis du forteller det chip -nummeret, gir det deg et bilde av hvordan du setter inn brikken og setter alle bryterne. Epromene kommer blanke, men jeg programmerte en, deretter slettet den i 5 minutter og omprogrammerte den, bare for å sjekke at alt fungerte. Hele rombildet er her https://n8vem.googlegroups.com/web/ROMIMAGE.zip?gda = 5RkX1kEAAABRoI8ydU505jGCwGWcAnRLTpwShSoH8O7HvxGhdHl1lXeXmbZQXujx0V3ulhJIKNrhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm Det er omtrent som XP -installasjonsdisken din, bortsett fra at denne går inn i en brikke. Pakk ut filen, slå på programmereren, last inn.bin -filen og programmer brikken. Du kan lese tilbake dataene for å kontrollere at de gikk gjennom. Den eneste fangsten med denne programmereren er at den trenger en parallellport. Noen nyere PC -er har ikke en parallellport. Jeg bygde meg en parallellport -forlengelseskabel, så jeg slapp å strekke meg bak PC -en. Den består av en IDC D25 -plugg, og IDC D25 -kontakt og 2 meter båndkabel. Bruk en skrue til å klemme pluggen på kontakten. Willem -programmereren jeg kjøpte viser ikke alle innstillingene som trengs for å programmere en 1 megabyte eprom. På venstre side av brikken nær bunnen må en jumper flyttes. Innstillingene er imidlertid i manualen, som er en fil som heter Willem PCB5.0 Manual.html i den manuelle delen. Dette har mange flere detaljer om innstillingene.

Trinn 4: Koble til en seriekabel

Koble til en seriekabel
Koble til en seriekabel

Hvis du går tilbake til trinn 2, kan du se seriekabelen på bildet. Det er tre deler til dette: 1) Forlengelsesledningen min som kommer fra baksiden av PC -en. Dette er regnbuekabelen. Jeg bygde den på samme måte som programmererledningens forlengelseskabel bortsett fra at denne bruker en D9 IDC -plugg og stikkontakt. Det er veldig nyttig å slippe å strekke seg bak datamaskinen hele tiden. Forlengelsesledningen har en hunn i den ene enden og en hann i den andre. 2) Et nullmodem. Dette er en kvinnelig til kvinnelig forbindelse. Jeg fikk kretsen herfra https://www.beyondlogic.org/serial/serial.htm (rull ned litt). I hovedsak kobler et nullmodem seg til pin 7 og 8, kobler pin 1, 4, 6 og bytter pins 2 og 3 over. 9 -pinners tilkobling blir deretter en 3 -leder tilkobling -jord, overfør data og motta data. Det forenkler liksom RS232.3) En 10 -pinners topptekst på brettet til en D9 -hankontakt. Mer om dette på neste side. På skjematikken kobler hannen D9 til venstre til PCen. Nullmodemet er en kvinnelig til kvinnelig forbindelse med tilkoblingene i pluggene. Jeg kunne ha koblet alt dette med mye mindre plugger, men jeg bruker nullmodemet i andre prosjekter.

Trinn 5: Koble opp serieoverskriften

Koble opp serieoverskriften
Koble opp serieoverskriften

Overskriften på brettet er designet for å gå til en IDC 9 -veis båndkabel, og deretter til en D9 -plugg. Det eneste trikset er at 10 -veis header er designet for å ta 10 -veis båndkabel. Hvis du bruker en 9 -veis kabel, er det et gap for ledningen som mangler. Jeg har tatt et nærbilde for å avklare dette. Hvis du kobler den til høyre, går pin 1 på brettet til pin1 på D9. Pin 5 på D9 skal koble til jord på brettet. Hvis disse to er tilkoblet, vil resten av ledningene også være ok.

Wire 1 er til venstre for begge visningene av båndkabelen. Du kan bruke båndkabel med farger hvis du vil. Det rotete på IDC -pluggen er smeltelim. Sannsynligvis ikke nødvendig, men det gjør ting litt sterkere.

Trinn 6: Last ned programvare

Last ned programvare
Last ned programvare

Vi trenger litt programvare på tavlen, og før vi kan laste ned programmer trenger vi et modemprogram. Vi kommer til å bruke xmodem, som er en standard som har eksistert i årevis. Xmodem eksisterer som et CPM -program, og det finnes i mange former på PC -programmer, for eksempel hyperterminal. Så vi kan bruke dette til å kommunisere mellom gammel og ny teknologi. La oss ta tak i hex-fil av xmodem herfra: https://n8vem.googlegroups.com/web/xm50_LB1.zip?gda=O2tYn0EAAABRoI8ydU505jGCwGWcAnRL1RQ8Aj5bHZQJ6hxcf7VyVbwBih-m421sIN3Oibiyd_vhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2xNgUnzip det og du vil få to filer. Du trenger den som ender på.hex. Nå må vi sende dette til styret. Du trenger et terminalprogram, som emulerer en skjerm og et tastatur for denne enkeltkortdatamaskinen. Windows har en som kalles hyperterminal som vanligvis gjemmer seg i mappen start/programmer/tilbehør. Eller du kan bruke hyperterminal private. Eller Teraterm. Eller absolutetelnet. Eller et dosbasert program som heter conex. Det er mange terminalprogrammer rundt fordi det var slik du ringte til internett før bredbånd. La oss fyre opp hyperterminal. Det vil gi deg tre skjermer, og du trenger alle innstillingene riktige! Når du har angitt denne en gang, kan du lagre denne økten, og den vil lage en liten fil som ender på.ht Hvis du klikker på den filen (dra den til skrivebordet slik at du kan finne den senere), starter den hyperterminal med alle de riktige innstillingene. Første skjerm = navngi tilkoblingen. Kall det SBC og velg et ikon. Andre skjerm. Still inn com -porten. Datamaskinen min er som standard COM2 på oppsettskjermen, og den må endres til COM1. Gå videre og bytt til COM1. Tredje skjerm. Overføringshastigheter osv. Sett bitene per sekund til 9600. 8 databiter. Paritet til Ingen. Stopp bits til 1. Og Flow control til None. Du trenger sannsynligvis bare å bytte bits per sekund og Flow Control. Nå vil du bli presentert for terminalskjermen. Koble kortet til den serielle porten og slå den på, så skal du få en velkomstmelding. Hvis ikke, kan du gå til Google -gruppen og be om hjelp. Nå er det på tide å snakke med styret!

Trinn 7: Last ned Xmodem

Last ned Xmodem
Last ned Xmodem

Hvis du har kjøpt den batteribaserte rambrikken, trenger du bare gjøre dette en gang. Andre jobber faktisk med å sette dette på eprom -brikken, så du trenger kanskje ikke gjøre dette i det hele tatt i nærmeste fremtid. Skriv> ved ledeteksten>

Ikke skriv noe annet. Ikke skriv Enter. Bare en enkelt h, enten små eller store bokstaver. Markøren vil gå nedover en linje, men ingenting annet vil skje. Klikk nå på toppen av det hyperterminale programmet på menyen Overfør. Klikk på Send tekstfil. I Filnavn, bruk bla gjennom for å finne hex -kopien av xmodem du lastet ned. Det kalles XM50LB1. HEX Du må kanskje endre standardsøk etter *.txt til *.hex for å finne det. Klikk på ok, og mange tall vil gå over skjermen i omtrent 30 sekunder. Vent til de stopper. Slå deretter bokstaven c en gang, igjen uten å skrive inn. Vent 2 sekunder, og du vil være i CPM med en A> melding. Skriv inn følgende og trykk enter: Lagre 40 b: xm.com Skriv nå B: og skriv inn, for å bytte til stasjon B, får du en B> melding. Skriv nå DIR og skriv inn for å vise filene. Det er tre stasjoner på denne datamaskinen, A, B og F. Du kan se hva som er på hver ved å skrive stasjonsbokstaven, deretter et kolon, deretter skrive inn og deretter DIR. Bildet viser et skjermbilde.

Trinn 8: Ta tak i litt programvare

Få litt programvare
Få litt programvare

Det er mye CPM -programvare der ute. Eghttps://www.loomcom.com/cpm/cpm_cdrom/https://www.gaby.de/ecpmlink.htmMen la oss prøve noe enkelt. La oss få Basic til å legge til et par tall og skrive ut svaret. For å gjøre det trenger vi en kopi av Basic. Mange kopier er der ute, men la oss gå på en tangent og snakke om Altair -simulatoren. Dette lille programmet er en fullstendig emulering av en CPM -maskin som kjører på en PC. Den har et stort programvarebibliotek, praktisk pakket i deler med diskstørrelse, og den kjører mye raskere enn en ekte CPM -datamaskin, noe som er veldig praktisk når du kompilerer. Simulatoren er her: https://www.schorn.ch/cpm/intro.php Last ned programvaren, og last ned minimum CPM2.2 -diskbildet, og omtrent halvparten av veien ned på siden, det grunnleggende bildet. Sett dem alle i samme katalog. Mens du er der, sjekk ut alle de andre språkene som C Cobal, Fortran, Pascal. Hvis du kjører programmet AltairZ80.exe får du et dos -vindu. Hvis du har lastet ned filen basic.dsk, kan du kjøre dette med kommandoen Do basic i simulatoren. Deretter DIR for å liste opp filene (som er på stasjon A: og B:) Vi vil ha MBASIC og den sitter i A -stasjonen. For å kopiere dette til en PC -katalog, skriv inn W MBASIC. COM, og dette vil lagre filen til katalogen som altair -programmet sitter i. Du kan gjøre omvendt med R -kommandoen som overfører filer fra PC -en til altair -simulatordiskene. Hvis du vil leke med CPM, er dette en flott måte å gjøre det på uten å måtte bygge eller kjøpe noe. Hvis du vil lagre filer på den virtuelle disken, går du ut av altersimulatoren med en ctrlE (kontrolltast og E). Dette går ut og sparer. Hvis du ikke vil lagre noen endringer, bare lukk vinduet med X øverst til høyre.

Trinn 9: Flytt filen MBASIC. COM inn i brettet

Flytt filen MBASIC. COM til styret
Flytt filen MBASIC. COM til styret

La oss overføre Basic til brettet.

I hyperterminaløkten går du til stasjon B: og skriver XM R MBASIC. COM og skriver inn. Dette vil starte xmodem -programmet, og det vil sitte der og vente på at en fil skal komme. Gå nå til hyperterminalmenyen, og klikk på Overfør og deretter Send fil. Søk etter filen MBASIC. COM. Velg Xmodem i protokolldelen. I hyperterminal er det den tredje ned. Klikk på send, og etter noen sekunder vil filen gå. Det tar omtrent et minutt. Hvis det fungerer, bør du få B> ledeteksten. Skriv DIR for å sjekke at den er der. (Ignorer alle B> ned på skjermen - jeg trykker på enter -tasten et par ganger ved et uhell)

Trinn 10: Kjør Basic og skriv et program

Kjør Basic og skriv et program
Kjør Basic og skriv et program

Nå kan vi kjøre Basic på tavlen og skrive et lite program. Eg mbasic10 A = 2020 B = 3030 C = A+B40 print "Svaret er:"; CRUNSave "MYPROG", NÅ har vi en fungerende datamaskin.

Trinn 11: Kompiler et program

Lag et program
Lag et program

Hvis du føler deg veldig ivrig, kan du lage et program. Dette gir en.com (tilsvarende en.exe på en PC). Com -filer kan kjøres som uavhengige programmer, og kan til og med konfigureres til automatisk kjøring når brettet starter. Nå kan brettet fungere som en frittstående kontroller, uten at du trenger å være koblet til en PC. N8VEM -kortet kan kompilere programmer på brettet, eller du kan bruke altersimulatoren. Sistnevnte er raskere, men det spiller egentlig ingen rolle. Hvis du vil kompilere programmer, trenger du følgende: MBASIC. COM, BRUN. COM L80. COM BCLOAD, BASLIB. REL OG BASCOM. COMC er litt annerledes, men jeg tror den fortsatt bruker L80 -linkeren. Se skjermbildet for hvordan du skriver og kompilerer og kjører et program. Og følg med, for snart kommer det harddisker, en mini LCD -skjerm, en skjerm som bruker en gammel vga -skjerm https://www.tvterminal.de/index.html#english med tastaturgrensesnitt, en flash -stasjon og inndata og utgangstavler!

Anbefalt: