Innehållsförteckning:

Robothjärna: Bygg en enda kortdator på en kväll: 11 steg
Robothjärna: Bygg en enda kortdator på en kväll: 11 steg

Video: Robothjärna: Bygg en enda kortdator på en kväll: 11 steg

Video: Robothjärna: Bygg en enda kortdator på en kväll: 11 steg
Video: سلاحف النينجا في الفضاء 🐢 كل الحلقات متتالية الجزء 3 🌍 جمع أنيمي 🪐 Mutant Melee TMNT 2024, November
Anonim
Robothjärna: Bygg en enda styrdator på en kväll
Robothjärna: Bygg en enda styrdator på en kväll

Har du slut på minne på din Picaxe eller Arduino? Men en PC är överkill för jobbet? Ta en titt på den här öppen källkodskortet som kan programmeras på språk som C, Basic, Forth, Pascal eller Fortran. Detta kort använder billiga IC: er och använder avsiktligt stora chips så det är lätt att lödas. Den använder ett operativsystem som heter CPM som körs på en Z80, som var populärt i slutet av 1970 -talet till mitten av 1980 -talet. Som ett resultat finns det åtminstone en gigabyte programvara tillgänglig inklusive programmeringsspråk, kalkylprogram och ordbehandlare. CPM är ett textbaserat operativsystem och är en enkel version av DOS. Detta kort är perfekt om du bygger det mycket komplexa robot- eller hemautomatiseringssystemet och fortsätter att hitta att enstaka chip -datorer som bilder, arduinos och atmegas bara inte har minne. Modern teknik innebär att hårddiskar och disketter kan existera på enstaka minneskretsar, och datorer som tidigare behövde en trefas strömförsörjning kan nu emuleras på ett kort som drivs av batterier. Ett antal N8VEM -kort byggs över hela världen av en grupp vänliga entusiaster https://groups.google.com.au/group/n8vemBoards är en design med öppen källkod, och du kan bygga din egen eller köpa en från en entusiast i USA till självkostnadspris ($ 20). Eproms kan köpas förprogrammerade eller så kan du programmera din egen. Låt oss sätta ihop en och se vad den kan göra …

Steg 1: Gå med i Google -gruppen

Gå med i Google -gruppen
Gå med i Google -gruppen

Du kan bläddra bland gruppen https://groups.google.com.au/group/n8vem, men om du skickar en begäran om att gå med i gruppen kan du bidra till diskussionen. Det finns ett bibliotek med filer och massor av bilder på arbetsbrädor. Jag skickade ett meddelande till gruppen för några veckor sedan och bad om att få vara med. Jag beställde en bräda och den kom en vecka senare, vilket är ganska snabbt från USA till Australien. Jag hade inte många av delarna, så jag fick listan delar härifrån https://n8vem.googlegroups.com/web/TestPrototype_BOM_PART-LIST.lst?gda=6DMrhVQAAABRoI8ydU505jGCwGWcAnRLVYTZaCdyJias028kLbDjM7mHeIlRNZNuWyWm5kKNAJr2D8gD3ctlIYKczaAghgqdUwk_6Qi3BU8HCN0q6OYwM6JXPqrFQS5SIfKND7QsaYYQuite några butiker har delar, inklusive Digikey, Jameco och Futurlec. Alla logikchips är specificerade som LS -delar. LS är lite old school och chipsen använder mer kraft och körs varma. Jag ersatte alla LS -chips för det mer moderna HCT -sortimentet. HCT är direkt kompatibla men använder mycket mindre ström. På samma sätt gick jag för en CMOS Z80, en CMOS UART (16C550) och ett CMOS -ingångs-/utmatningschip (82C55). Brädan kom ungefär samtidigt som delarna, och det var dags att börja lödas.

Steg 2: Löd styrelsen

Löd styrelsen
Löd styrelsen

Lödningen var ganska enkel och gjordes på en och en halv timme. Jag bestämde mig för att sätta in de stora chipsen och lödda de mindre chipsen direkt. Det största problemet var att böja alla chipstift något så att de passar i brädet. Det finns ett klockchip i realtid som jag inte behövde det så jag lämnade det. Det kan läggas till senare. Jag satte också en likströmskontakt på mitt kort och en 5V regulator. Detta kort är så effektivt att det inte ens behöver en kylfläns på regulatorn. Jag körde bort den från en 9V väggvårta. Eprom har en etikett över fönstret annars kan den raderas om den går ut i solen. Schemat är här https://n8vem.googlegroups.com/web/Printing+TestPrototype- sch.pdf? GDA = MaRhCFMAAABRoI8ydU505jGCwGWcAnRLnTJP08ZxIX8TVeSmRPYsxGLTiGlLa5mMzgNTsMYdvKCD3Kr1rUv-XML38vqpBkuybcVT3VtYGKLco-_l-8AzjQJ-kx2wCzwFjd1qSmbYDnsYou egentligen inte behöver förstå den schematiska för att bygga detta forum. Men jag tyckte att det var bra att jämföra med min första dator som hade 8 RAM -chips för att få 64K. Denna bräda har en halv meg på ett enda chip. CPU: n är en Z80. Z80 kom från 8080 -chipet, och 8080 skapade också 8086, 80286 upp till 80586, som kallades pentium eftersom patentkontoret sa att du inte kunde patentnummer. 8080 -maskinkodinstruktionerna i en Z80 finns fortfarande i moderna datorer.

Steg 3: Programmera Eprom

Programmera Eprom
Programmera Eprom

Om du inte vill programmera en eprom kan du alltid köpa en förprogrammerad när du får tavlan. Men jag tänkte att jag kan använda programmerade eproms i några andra projekt så jag fick en programmerare och ett suddgummi. Dessa brukade kosta tusentals. Men jag hämtade programmeraren för $ 34 inklusive frakt (sök efter eprom programmerare på ebay), och suddgummit var $ 25 inklusive frakt. Programmeraren kommer med sin egen programvara och om du berättar det för chip -nummer, ger det dig en bild av hur du sätter in chipet och ställer in alla switchar. Epromsna blir tomma, men jag programmerade en, raderade den sedan i 5 minuter och programmerade om den, bara för att kontrollera att allt fungerade. Hela rom -bilden finns här https://n8vem.googlegroups.com/web/ROMIMAGE.zip?gda = 5RkX1kEAAABRoI8ydU505jGCwGWcAnRLTpwShSoH8O7HvxGhdHl1lXeXmbZQXujx0V3ulhJIKNrhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm och några användbara filer Det är ungefär som din XP -installationsdisk förutom att detta går in i ett chip. Packa upp filen, starta programmeraren, ladda.bin -filen och programmera chipet. Du kan läsa tillbaka data för att kontrollera att det gick igenom. Den enda fångsten med denna programmerare är att den behöver en parallellport. Vissa nyare datorer har inte en parallellport. Jag byggde mig en parallellportförlängningskabel så att jag inte behövde fortsätta nå bakom datorn. Den består av en IDC D25 -kontakt och IDC D25 -uttag och 2 meter bandkabel. Använd en skruv för att klämma in kontakten på kontakten. Willem -programmeraren jag köpte visar inte alla inställningar som behövs för att programmera en 1 megabyte eprom. Till vänster om chipet nära botten måste en bygel flyttas. Inställningarna finns dock i manualen, som är en fil som heter Willem PCB5.0 Manual.html i avsnittet manuell. Detta har mycket mer detaljer om inställningarna.

Steg 4: Anslut en seriekabel

Anslut en seriekabel
Anslut en seriekabel

Om du går tillbaka till steg 2 kan du se seriekabeln på bilden. Det finns tre delar till detta: 1) Min förlängningskabel som kommer från datorns baksida. Detta är regnbågskabeln. Jag byggde det på samma sätt som programmerarförlängningskabeln förutom att den här använder en D9 IDC -kontakt och uttag. Det är verkligen användbart att inte behöva fortsätta nå bakom datorn hela tiden. Förlängningsledningen har en hona i ena änden och en hane i den andra. 2) Ett nollmodem. Detta är en kvinnlig till kvinnlig koppling. Jag fick kretsen härifrån https://www.beyondlogic.org/serial/serial.htm (rulla ner lite). I huvudsak ansluter ett nollmodem stift 7 och 8, förbinder stift 1, 4, 6 och byter stift 2 och 3. Den 9 -poliga anslutningen blir sedan en 3 -tråds anslutning -jord, överför data och ta emot data. Det förenklar typ RS232.3) En 10 -stifts header på kortet till en D9 -hankontakt. Mer om detta på nästa sida. På schemat kan manliga D9 till vänster anslutas till datorn. Nullmodemet är en kvinnlig till kvinnlig anslutning med anslutningarna i kontakterna. Jag kunde ha kopplat allt detta med mycket mindre kontakter, men jag kommer att använda nollmodemet i andra projekt.

Steg 5: Koppla upp seriehuvudet

Koppla upp seriehuvudet
Koppla upp seriehuvudet

Rubriken på kortet är utformad för att gå till en IDC 9 -vägs bandkabel och sedan till en D9 -hankontakt. Det enda tricket är att 10 -vägs header är utformad för att ta 10 -vägs bandkabel. Om du använder 9 -vägs kabel finns det ett gap för den saknade ledningen. Jag har tagit en närbild för att klargöra detta. Om du kopplar den rätt så går stift 1 på brädet till stift 1 på D9. Stift 5 på D9 ska anslutas till jord på kortet. Om dessa två är anslutna kommer resten av ledningarna också att vara ok.

Wire 1 är till vänster om båda vyerna av bandkabeln. Du kan använda bandkabel med färger om du vill. De röriga grejerna på IDC -kontakten är smältlim. Förmodligen inte nödvändigt men det gör saker lite starkare.

Steg 6: Ladda ner lite programvara

Ladda ner lite programvara
Ladda ner lite programvara

Vi behöver lite programvara på kortet, och innan vi kan ladda ner program behöver vi ett modemprogram. Vi kommer att använda xmodem, som är en standard som har funnits i flera år. Xmodem finns som ett CPM -program, och det finns i många former på PC -program, till exempel hyperterminal. Så vi kan använda detta för att kommunicera mellan den gamla och nya tekniken. Låt oss ta hex fil Xmodem härifrån: https://n8vem.googlegroups.com/web/xm50_LB1.zip?gda=O2tYn0EAAABRoI8ydU505jGCwGWcAnRL1RQ8Aj5bHZQJ6hxcf7VyVbwBih-m421sIN3Oibiyd_vhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2xNgUnzip det och du kommer att få två filer. Du behöver den som slutar på.hex. Nu måste vi skicka detta till styrelsen. Du behöver ett terminalprogram, som emulerar en bildskärm och ett tangentbord för denna enda kortdator. Windows har en som kallas hyperterminal som vanligtvis gömmer sig i mappen start/program/tillbehör. Eller så kan du använda hyperterminal privat. Eller Teraterm. Eller absolutetelnet. Eller ett dosbaserat program som heter conex. Det finns massor av terminalprogram runt eftersom det var så du ringde in på internet innan bredband. Låter elda hyperterminal. Det ger dig tre skärmar och du behöver alla inställningar korrekta! När du har angett den här en gång kan du spara den här sessionen och den kommer att skapa en liten fil som slutar på.ht Om du sedan klickar på den filen (dra den till skrivbordet så att du kan hitta den senare) startar den hyperterminal med alla rätt inställningar. Första skärmen = namnge anslutningen. Kalla det SBC och välj en ikon. Andra skärmen. Ställ in com -porten. Min dator är som standard COM2 på installationsskärmen och den måste ändras till COM1. Fortsätt och byt till COM1. Tredje skärmen. Baudhastigheter etc. Ställ in bitarna per sekund till 9600. 8 Databitar. Paritet till Ingen. Stoppbitar till 1. Och flödeskontroll till Ingen. Du behöver förmodligen bara ändra bitar per sekund och Flow Control. Nu kommer du att presenteras med terminalskärmen. Anslut kortet till serieporten och slå på det så ska du få ett välkomstmeddelande. Om inte, gå sedan in på Google -gruppen och be om hjälp. Nu är det dags att prata med styrelsen!

Steg 7: Ladda ner Xmodem

Ladda ner Xmodem
Ladda ner Xmodem

Om du köpte det batteri -backade ramchipet behöver du bara göra detta en gång. Andra arbetar faktiskt med att lägga detta på eprom -chipet så att du kanske inte behöver göra det alls inom en snar framtid. Skriv> vid prompten>

Skriv inget annat. Skriv inte Enter. Bara en enda h, antingen gemener eller versaler. Markören går ner en rad men inget annat kommer att hända. Klicka nu högst upp i hyperterminalprogrammet på menyn Transfer. Klicka på Skicka textfil. I Filnamn, använd bläddra för att hitta den hex -kopia av xmodem som du laddade ner. Det kallas XM50LB1. HEX Du kan behöva ändra standardsökningen efter *.txt till *.hex för att hitta den. Klicka på ok, så kommer massor av siffror att gå över skärmen i cirka 30 sekunder. Vänta tills de slutar. Slå sedan bokstaven c en gång, igen utan att skriva. Vänta 2 sekunder så kommer du till CPM med en A> prompt. Skriv nu följande och tryck på enter: Spara 40 b: xm.com Skriv nu B: och ange, för att byta till enhet B så får du en B> prompt. Skriv nu DIR och ange för att lista filerna. Det finns tre enheter på den här datorn, A, B och F. Du kan se vad som finns på var och en genom att skriva enhetsbeteckningen, sedan ett kolon, sedan ange och sedan DIR. Bilden visar ett skärmdump.

Steg 8: Ta lite programvara

Ta lite programvara
Ta lite programvara

Det finns massor av CPM -programvara där ute. Eghttps://www.loomcom.com/cpm/cpm_cdrom/https://www.gaby.de/ecpmlink.htm Men låt oss prova något enkelt. Låt oss få Basic för att lägga till ett par siffror och skriva ut svaret. För att göra det behöver vi en kopia av Basic. Massor av kopior finns där ute, men låt oss gå på lite av en tangent och prata om Altair -simulatorn. Det här lilla programmet är en fullständig emulering av en CPM -maskin som körs på en dator. Den har ett stort mjukvarubibliotek, bekvämt förpackat i delar av hårddiskar, och det går mycket snabbare än en riktig CPM -dator, vilket är mycket praktiskt vid kompilering. Simulatorn är här: https://www.schorn.ch/cpm/intro.php Ladda ner programvaran och ladda ner minst en CPM2.2 -diskbild, och ungefär hälften av vägen ner på sidan, grundbilden. Lägg dem alla i samma katalog. Medan du är där, kolla in alla andra språk som C Cobal, Fortran, Pascal. Om du kör programmet AltairZ80.exe får du ett dos -fönster. Om du har laddat ner filen basic.dsk kan du köra detta med kommandot Do basic i simulatorn. DIR för att lista filerna (som finns på enhet A: och B:) Vi vill ha MBASIC och den sitter i A -enheten. För att kopiera detta till en PC -katalog skriver du W MBASIC. COM och detta sparar filen till katalog som altair -programmet sitter i. Du kan göra omvänt med R -kommandot som överför filer från datorn till altair -simulatordiskarna. Om du vill spela med CPM är det verkligen ett bra sätt att göra det utan att behöva bygga eller köpa något. E). Detta går ut och sparar. Om du inte vill spara några ändringar stänger du bara fönstret med X i det övre högra hörnet.

Steg 9: Flytta filen MBASIC. COM till styrelsen

Flytta filen MBASIC. COM till styrelsen
Flytta filen MBASIC. COM till styrelsen

Låt oss överföra Basic till tavlan.

I hyperterminalsessionen går du till enhet B: och skriver XM R MBASIC. COM och anger sedan. Detta kommer att starta xmodem -programmet och det kommer att sitta där och vänta på att en fil ska komma. Gå nu till hyperterminalmenyn och klicka på Överför och sedan Skicka fil. Sök efter filen MBASIC. COM. Välj Xmodem i protokollavsnittet. I hyperterminal är det den tredje ner. Klicka på skicka och efter några sekunder går filen dock. Det tar ungefär en minut. Om det fungerar bör du få B> prompten. Skriv DIR för att kontrollera att den finns där. (Ignorera alla B> ner på skärmen - jag slog Enter -tangenten några gånger av misstag)

Steg 10: Kör Basic och skriv ett program

Kör Basic och skriv ett program
Kör Basic och skriv ett program

Nu kan vi köra Basic på tavlan och skriva ett litet program. Eg mbasic10 A = 2020 B = 3030 C = A+B40 print "Svaret är:"; CRUNSave "MYPROG", NU har vi en fungerande dator.

Steg 11: Kompilera ett program

Skapa ett program
Skapa ett program

Om du känner dig riktigt angelägen kan du sammanställa ett program. Detta ger en.com (motsvarande en.exe på en dator). Com -filer kan köras som oberoende program och kan till och med ställas in för automatisk körning när kortet startar. Nu kan kortet fungera som en fristående styrenhet, utan att behöva anslutas till en PC. N8VEM -kortet kan kompilera program på kortet, eller så kan du använda altersimulatorn. Det senare är snabbare men det spelar egentligen ingen roll. Om du vill kompilera program behöver du följande: MBASIC. COM, BRUN. COM L80. COM BCLOAD, BASLIB. REL OCH BASCOM. COMC är lite annorlunda, men jag tror att den fortfarande använder L80 -länken. Se skärmdumpen för hur du skriver och kompilerar och kör ett program. Och håll utkik, för snart kommer det hårddiskar, en mini LCD -skärm, en skärm som använder en gammal vga -bildskärm https://www.tvterminal.de/index.html#english med tangentbordsgränssnitt, en flash -enhet och ingång och utgångskort!

Rekommenderad: