Spisu treści:

Robot Brain: Zbuduj komputer jednopłytkowy wieczorem: 11 kroków
Robot Brain: Zbuduj komputer jednopłytkowy wieczorem: 11 kroków

Wideo: Robot Brain: Zbuduj komputer jednopłytkowy wieczorem: 11 kroków

Wideo: Robot Brain: Zbuduj komputer jednopłytkowy wieczorem: 11 kroków
Wideo: Robot learns, thinks and acts by itself #DigInfo 2024, Może
Anonim
Robot Brain: Zbuduj komputer jednopłytkowy wieczorem
Robot Brain: Zbuduj komputer jednopłytkowy wieczorem

Zabrakło Ci pamięci w Picaxe lub Arduino? Ale komputer to przesada do pracy? Spójrz na ten jednopłytkowy komputer typu open source, który można programować w językach takich jak C, Basic, Forth, Pascal lub Fortran. Ta płyta wykorzystuje niedrogie układy scalone i celowo wykorzystuje duże chipy, dzięki czemu można ją łatwo lutować. Wykorzystuje system operacyjny o nazwie CPM działający na Z80, który był popularny od końca lat 70. do połowy lat 80. XX wieku. W rezultacie dostępny jest co najmniej gigabajt oprogramowania, w tym języki programowania, programy do arkuszy kalkulacyjnych i edytory tekstu. CPM jest tekstowym systemem operacyjnym i jest prostą wersją DOS. Ta płyta jest idealna, jeśli budujesz bardzo złożony robot lub system automatyki domowej i ciągle odkrywasz, że komputery jednoukładowe, takie jak zdjęcia, arduino i atmegi, po prostu nie mają pamięć. Nowoczesna technologia oznacza, że dyski twarde i dyskietki mogą znajdować się w pojedynczych układach pamięci, a komputery, które kiedyś wymagały zasilania trójfazowego, można teraz emulować na płycie zasilanej bateriami. Na całym świecie buduje się wiele płyt N8VEM przez grupę zaprzyjaźnionych entuzjastów https://groups.google.com.au/group/n8vemBoards to projekt typu open source, który można zbudować samodzielnie lub kupić od entuzjastów w USA po kosztach (20 USD). Epromy można zakupić wstępnie zaprogramowane lub można zaprogramować własne. Złóżmy jeden i zobaczmy, co potrafi…

Krok 1: Dołącz do Grupy dyskusyjnej Google

Dołącz do Grupy Google
Dołącz do Grupy Google

Możesz przeglądać grupę https://groups.google.com.au/group/n8vem, ale jeśli wyślesz prośbę o dołączenie do grupy, możesz wziąć udział w dyskusji. Dostępna jest biblioteka plików i mnóstwo zdjęć plansz roboczych. Kilka tygodni temu wysłałem wiadomość do grupy i poprosiłem o dołączenie. Zamówiłem deskę i dotarła tydzień później, co jest dość szybkie z USA do Australii. Nie miałem wiele części, więc mam listę części stąd https://n8vem.googlegroups.com/web/TestPrototype_BOM_PART-LIST.lst?gda=6DMrhVQAAABRoI8ydU505jGCwGWcAnRLVYTZaCdyJias028kLbDjM7mHeIlRNZNuWyWm5kKNAJr2D8gD3ctlIYKczaAghgqdUwk_6Qi3BU8HCN0q6OYwM6JXPqrFQS5SIfKND7QsaYYQuite kilka sklepów posiada części, w tym Digikey, Jameco i Futurlec. Wszystkie układy logiczne są określone jako części LS. LS jest trochę oldschoolowy, a chipy zużywają więcej mocy i działają nagrzewają się. Zamieniłem wszystkie chipy LS na bardziej nowoczesną gamę HCT. HCT są bezpośrednio kompatybilne, ale zużywają znacznie mniej energii. Podobnie wybrałem CMOS Z80, CMOS UART (16C550) i układ wejścia/wyjścia CMOS (82C55). Płytka dotarła mniej więcej w tym samym czasie co części i nadszedł czas na rozpoczęcie lutowania.

Krok 2: Przylutuj płytkę

Przylutuj płytkę
Przylutuj płytkę

Lutowanie było dość łatwe i trwało półtorej godziny. Zdecydowałem się umieścić duże układy w gnieździe i bezpośrednio wlutować mniejsze układy. Największym problemem było lekkie wygięcie wszystkich pinów chipowych tak, aby pasowały do płytki. Jest chip zegara czasu rzeczywistego, którego nie potrzebowałem, więc go pominąłem. Można go dodać później. Włożyłem też wtyczkę DC na moją płytkę i regulator 5V. Ta płyta jest tak wydajna, że nie potrzebuje nawet radiatora na regulatorze. Zrzuciłem go z brodawki ściennej 9V. Eprom ma etykietę nad oknem, w przeciwnym razie może zostać wymazany, jeśli wyjdzie na słońce. Schemat jest tutaj https://n8vem.googlegroups.com/web/Printing+TestPrototype- sch.pdf?gda=MaRhCFMAAABRoI8ydU505jGCwGWcAnRLnTJP08ZxIX8TVeSmRPYsxGLTiGlLa5mMzgNTsMYdvKCD3Kr1rUv-XML38vqpBkuybcVT3VtYGKLco-wqS. Ale uznałem za pomocne porównanie z moim pierwszym komputerem, który miał 8 chipów RAM, aby uzyskać 64K. Ta płyta ma pół mega na jednym chipie. Procesor to Z80. Z80 pochodził z układu 8080, a 8080 dał początek 8086, 80286 aż do 80586, który nazwano pentium, ponieważ urząd patentowy powiedział, że nie można patentować numerów. Instrukcje kodu maszynowego 8080 w Z80 nadal istnieją w nowoczesnych komputerach PC.

Krok 3: Zaprogramuj Eprom

Zaprogramuj Eprom
Zaprogramuj Eprom

Jeśli nie chcesz programować eproma, zawsze możesz kupić wstępnie zaprogramowany, gdy otrzymasz płytkę. Ale pomyślałem, że mogę użyć zaprogramowanych epromów w innych projektach, więc dostałem programator i gumkę. Te kiedyś kosztowały tysiące. Ale podniosłem programistę za 34 USD z wysyłką (szukaj programatora eprom w serwisie eBay), a gumka kosztowała 25 USD z wysyłką. Programator jest dostarczany z własnym oprogramowaniem i jeśli podasz mu numer chipa, otrzymasz obraz, jak włożyć chip i ustawić wszystkie przełączniki. Epromy są puste, ale zaprogramowałem jeden, następnie wykasowałem go na 5 minut i przeprogramowałem, żeby sprawdzić, czy wszystko działa. Cały obraz rom jest tutaj https://n8vem.googlegroups.com/web/ROMIMAGE.zip?gda =5RkX1kEAAABRoI8ydU505jGCwGWcAnRLTpwShSoH8O7HvxGhdHl1lXeXmbZQXujx0V3ulhJIKNrhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2xNg. To jest trochę jak twój dysk instalacyjny XP, z wyjątkiem tego, że trafia do chipa. Rozpakuj plik, uruchom programator, załaduj plik.bin i zaprogramuj układ. Możesz odczytać dane, aby sprawdzić, czy przeszły. Jedynym haczykiem tego programatora jest to, że potrzebuje portu równoległego. Niektóre nowsze komputery PC nie mają portu równoległego. Zbudowałem sobie przedłużacz portu równoległego, więc nie musiałem sięgać za komputer. Składa się z wtyku IDC D25 i gniazda IDC D25 oraz 2 metrów kabla taśmowego. Użyj imadła, aby ścisnąć wtyczkę do złącza. Zakupiony przeze mnie programator willem nie pokazuje wszystkich ustawień potrzebnych do zaprogramowania 1 megabajtowego eproma. Po lewej stronie chipa u dołu należy przesunąć skoczka. Ustawienia znajdują się jednak w podręczniku, który jest plikiem o nazwie Willem PCB5.0 Manual.html w sekcji podręcznika. To ma o wiele więcej szczegółów na temat ustawień.

Krok 4: Podłącz kabel szeregowy

Podłącz kabel szeregowy
Podłącz kabel szeregowy

Jeśli wrócisz do kroku 2, na obrazku zobaczysz kabel szeregowy. Składają się na to trzy części: 1) Mój przedłużacz, który pochodzi z tyłu komputera. To jest kabel tęczowy. Zbudowałem go w taki sam sposób, jak przedłużacz programatora, z tym wyjątkiem, że ten używa wtyczki i gniazda D9 IDC. Naprawdę warto nie musieć cały czas sięgać za komputer. Przedłużacz ma z jednej strony żeńską, a z drugiej męską.2) Modem zerowy. To jest połączenie żeńskie z żeńskim. Mam obwód stąd https://www.beyondlogic.org/serial/serial.htm (przewiń trochę w dół). Zasadniczo modem zerowy łączy piny 7 i 8, łączy piny 1, 4, 6 i zamienia piny 2 i 3. Połączenie 9-stykowe staje się wtedy połączeniem 3-przewodowym - uziemieniem, przesyłaniem danych i odbieraniem danych. To trochę upraszcza RS232.3) 10-pinowe złącze na płycie do męskiego złącza D9. Więcej na ten temat na następnej stronie. Na schemacie męski D9 po lewej łączy się z komputerem. Null modem to połączenie żeńskie z żeńskim z połączeniami we wtyczkach. Mógłbym to wszystko okablować przy znacznie mniejszej liczbie wtyczek, ale będę używał modemu zerowego w innych projektach.

Krok 5: Podłącz nagłówek szeregowy

Podłącz nagłówek szeregowy
Podłącz nagłówek szeregowy

Złącze na płycie jest przeznaczone do podłączenia 9-stykowego kabla taśmowego IDC, a następnie do męskiej wtyczki D9. Jedyną sztuczką jest to, że 10-drożny nagłówek jest zaprojektowany do podłączenia 10-drożnego kabla taśmowego. Jeśli używasz kabla 9-żyłowego, jest przerwa na brakujący przewód. Zrobiłem zbliżenie, aby to wyjaśnić. Jeśli podłączysz go prawidłowo, pin 1 na płycie przejdzie do pinu 1 na D9. Pin 5 na D9 powinien łączyć się z masą na płycie. Jeśli te dwa są połączone, reszta przewodów też będzie w porządku.

Przewód 1 znajduje się po lewej stronie obu widoków kabla taśmowego. Możesz użyć kabla taśmowego z kolorami, jeśli chcesz. Brudna rzecz na wtyczce IDC to klej topliwy. Prawdopodobnie nie jest to konieczne, ale to trochę wzmacnia.

Krok 6: Pobierz oprogramowanie

Pobierz oprogramowanie
Pobierz oprogramowanie

Potrzebujemy trochę oprogramowania na płycie, a zanim będziemy mogli pobrać programy, potrzebujemy modemu. Będziemy używać xmodem, który jest standardem, który istnieje od lat. Xmodem istnieje jako program CPM i istnieje w wielu formach w programach komputerowych, takich jak hiperterminal. Możemy więc wykorzystać to do komunikacji między starą a nową technologią. Załóżmy, chwycić plik hex z Xmodem stąd: https://n8vem.googlegroups.com/web/xm50_LB1.zip?gda=O2tYn0EAAABRoI8ydU505jGCwGWcAnRL1RQ8Aj5bHZQJ6hxcf7VyVbwBih-m421sIN3Oibiyd_vhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2xNgUnzip go, a otrzymasz dwa pliki. Potrzebujesz tego, który kończy się na.hex. Teraz musimy to wysłać do zarządu. Potrzebujesz programu terminalowego, który emuluje monitor i klawiaturę dla tego komputera jednopłytkowego. Windows ma jeden zwany hiperterminalem, który zwykle ukrywa się w folderze start/programy/akcesoria. Możesz też użyć prywatnego hiperterminalu. Lub Teraterm. Albo absolutnytelnet. Albo program oparty na DOS-ie zwany conex. Istnieje wiele programów terminalowych, ponieważ w ten sposób łączyłeś się z Internetem przed połączeniem szerokopasmowym. Uruchommy hiperterminal. To da ci trzy ekrany i potrzebujesz wszystkich prawidłowych ustawień! Gdy raz wprowadzisz ten plik, możesz zapisać tę sesję i utworzy mały plik z rozszerzeniem.ht Jeśli następnie klikniesz na ten plik (przeciągnij go na pulpit, aby móc go później znaleźć), uruchomi się hiperterminal ze wszystkimi poprawne ustawienia. First screen=nazwa połączenia. Nazwij go SBC i wybierz ikonę. Drugi ekran. Ustaw port komunikacyjny. Mój komputer domyślnie wybiera COM2 na ekranie konfiguracji i należy go zmienić na COM1. Śmiało i zmień na COM1. Third ekran. Szybkość transmisji itp. Ustaw liczbę bitów na sekundę na 9600. 8 Bity danych. Parzystość do braku. Zatrzymaj bity na 1. I kontrolę przepływu na Brak. Prawdopodobnie będziesz musiał tylko zmienić bity na sekundę i Flow Control. Teraz pojawi się ekran terminala. Podłącz płytkę do portu szeregowego i włącz ją, a powinieneś otrzymać wiadomość powitalną. Jeśli nie, wejdź na grupę Google i poproś o pomoc. Teraz czas porozmawiać z zarządem!

Krok 7: Pobierz Xmodem

Pobierz Xmodem
Pobierz Xmodem

Jeśli kupiłeś układ pamięci RAM z zasilaniem bateryjnym, będziesz musiał to zrobić tylko raz. Rzeczywiście, inni pracują nad umieszczeniem tego na chipie eprom, więc może nie będziesz musiał tego robić w najbliższej przyszłości. W wierszu > wpisz h

Nie wpisuj nic więcej. Nie wpisuj Enter. Tylko jedna h, mała lub duża litera. Kursor zejdzie w dół o jedną linię, ale nic więcej się nie stanie. Teraz kliknij na górze programu hyperterminal w menu Transfer. Kliknij Wyślij plik tekstowy. W polu Nazwa pliku użyj opcji Przeglądaj, aby znaleźć pobraną kopię szesnastkową xmodem. Nazywa się XM50LB1. HEX Aby go znaleźć, może być konieczna zmiana domyślnego wyszukiwania *.txt na *.hex. Kliknij OK, a wiele liczb pojawi się na ekranie przez około 30 sekund. Poczekaj, aż przestaną. Następnie naciśnij raz literę c, ponownie bez wprowadzania. Poczekaj 2 sekundy, a będziesz w CPM z monitem A>. Teraz wpisz następujące polecenie i naciśnij enter: Zapisz 40 b:xm.com Teraz wpisz B: i enter, aby zmienić na dysk B, a otrzymasz monit B>. Teraz wpisz DIR i wejdź, aby wyświetlić listę plików. Na tym komputerze są trzy dyski, A, B i F. Możesz zobaczyć, co jest na każdym, wpisując literę dysku, następnie dwukropek, następnie wprowadź, a następnie DIR. Zdjęcie przedstawia zrzut ekranu.

Krok 8: weź trochę oprogramowania

Weź trochę oprogramowania
Weź trochę oprogramowania

Istnieje wiele programów CPM. Np.https://www.loomcom.com/cpm/cpm_cdrom/https://www.gaby.de/ecpmlink.htmAle spróbujmy czegoś prostego. Przejdźmy do Basica, aby dodać kilka liczb i wydrukować odpowiedź. Aby to zrobić, potrzebujemy kopii Basica. Istnieje wiele kopii, ale przejdźmy trochę stycznie i porozmawiajmy o symulatorze Altair. Ten mały program jest kompletną emulacją maszyny CPM działającej na komputerze PC. Posiada dużą bibliotekę oprogramowania, wygodnie spakowaną w porcje wielkości dysku i działa znacznie szybciej niż prawdziwy komputer CPM, co jest bardzo przydatne podczas kompilacji. Symulator jest tutaj: https://www.schorn.ch/cpm/intro.phpPobierz oprogramowanie i pobierz co najmniej obraz dysku CPM2.2 i mniej więcej w połowie strony obraz podstawowy. Umieść je wszystkie w tym samym katalogu. Będąc tam, sprawdź wszystkie inne języki, takie jak C Cobal, Fortran, Pascal. Po uruchomieniu programu AltairZ80.exe pojawi się okno DOS. Jeśli pobrałeś plik basic.dsk, możesz go uruchomić za pomocą polecenia Do basic W symulatorze. Następnie DIR, aby wyświetlić listę plików (które są na dysku A: i B:)Chcemy MBASIC i znajduje się na dysku A. Aby skopiować to do katalogu na komputerze, wpisz W MBASIC. COM, a to zapisze plik w katalog, w którym znajduje się program altair. Możesz zrobić odwrotnie za pomocą polecenia R, które przesyła pliki z komputera na dyski symulatora altair. Rzeczywiście, jeśli chcesz grać z CPM, jest to świetny sposób na zrobienie tego bez konieczności budowania lub kupowania czegokolwiek. Jeśli chcesz zapisać pliki na dysku wirtualnym, wyjdź z symulatora altair za pomocą ctrlE (klawisz kontrolny i MI). To wychodzi i oszczędza. Jeśli nie chcesz zapisywać żadnych zmian, po prostu zamknij okno za pomocą X w prawym górnym rogu.

Krok 9: Przenieś plik MBASIC. COM na tablicę

Przenieś plik MBASIC. COM do tablicy
Przenieś plik MBASIC. COM do tablicy

Przenieśmy Basic na planszę.

W sesji hiperterminalnej przejdź do napędu B: i wpisz XM R MBASIC. COM, a następnie wejdź. Spowoduje to uruchomienie programu xmodem, który będzie czekał na przybycie pliku. Teraz przejdź do menu hiperterminalu i kliknij Transfer, a następnie Wyślij plik. Wyszukaj plik MBASIC. COM. W sekcji protokołu wybierz Xmodem. W hiperterminalu jest to trzeci dół. Kliknij Wyślij, a po kilku sekundach plik zostanie uruchomiony. Zajmuje to około minuty. Jeśli to działa, powinieneś otrzymać znak zachęty B>. Wpisz DIR, aby sprawdzić, czy tam jest. (Ignoruj wszystkie B> w dół ekranu - kilka razy przypadkowo wcisnąłem klawisz Enter)

Krok 10: Uruchom Basic i napisz program

Uruchom Basic i napisz program
Uruchom Basic i napisz program

Teraz możemy uruchomić Basic na tablicy i napisać mały program. Np. mbasic10 A=2020 B=3030 C=A+B40 print "Odpowiedź brzmi: ";CRUNSave "MYPROG", A teraz mamy działający komputer.

Krok 11: Skompiluj program

Skompiluj program
Skompiluj program

Jeśli czujesz się naprawdę chętny, możesz skompilować program. W ten sposób powstaje plik.com (odpowiednik pliku.exe na komputerze). Pliki Com mogą być uruchamiane jako niezależne programy, a nawet mogą być skonfigurowane do automatycznego uruchamiania po uruchomieniu płyty. Teraz płyta może działać jako samodzielny kontroler, bez konieczności podłączania do komputera. Płyta N8VEM może kompilować programy na płycie lub możesz użyć symulatora altair. Ten ostatni jest szybszy, ale to nie ma większego znaczenia. Jeśli chcesz kompilować programy, potrzebujesz następujących elementów: MBASIC. COM, BRUN. COM L80. COM BCLOAD, BASLIB. REL i BASCOM. COMC są nieco inne, ale myślę, że nadal używa linkera L80. Zobacz zrzut ekranu, aby dowiedzieć się, jak pisać, kompilować i uruchamiać program. I bądźcie czujni, bo wkrótce pojawią się dyski twarde, miniwyświetlacz LCD, wyświetlacz wykorzystujący stary monitor vga https://www.tvterminal.de/index.html#english z interfejsem klawiatury, pendrive'em i wejściem oraz płyty wyjściowe!

Zalecana: