Montaż testera.
Tester jest uproszczoną wersją CA80-bez-ROM. Oprócz płytki z testowanym procesorem potrzebny jest moduł "bootloader", wyświetlacz i klawiatura (może być uproszczona). Panel z klawiaturą jest opcjonalny.
Tylko kilka elementów.
Na MIK90 pozostały tylko niezbędne układy:
- Z80,
- 82C55,
- RAM (HM628128 lub podobna SMD),
- dekoder adresów WE/WY 74HC138.
Cztery klawisze wystarczą.
Pod spodem montujemy złącze ZS (38 pinów żeńskie) do połączenia z "bootloaderem" "na kanapkę". ZW również żeńskie od strony elementów do podłączenia panelu lub umieszczenia wyświetlacza bezpośrednio (pasuje stara wersja). ZK możemy skrócić do 10 pinów lub podłączyć uproszczoną klawiaturę bezpośrednio przewodami.
Do zasilania zastosowano gniazdo 5,5/2,1 zamiast ZA. Dodany wyłącznik (8.5x8.5mm ON/OFF) umożliwia łatwe wyłączenie zasilania w celu wymiany procesora (LED ostrzega o niebezpieczeństwie uszkodzenia).
Gotowy prototyp bez panela.
Bootloader można również uprościć. Niezbędna jest tylko strefa "I":
- ATmega32A-AU,
- 74HC02,
- 74HC00.
Po zlutowaniu trzeba wgrać bootloader (program ładujący oprogramowanie z Arduino IDE). Do tego celu wykorzystujemy złącze modułu SD (zworka obok przełączona na "PROG"). Później będziemy używać wyłącznie złącza serial (z modułem FTDI - USB), przez które wgramy program oraz możemy obserwować komunikaty testera w terminalu.
Nie wszystkie elementy są niezbędne.
Terminal może również zastąpić klawiaturę CA80. W takim przypadku niezbędny jest sprzętowy emulator klawiatury znajdujący się w strefie "II". Należy dolutować układy:
- PCF8574,
- 74HC138,
- 74HC85.
Diody odseparowują wyjścia 74HC138 od klawiatury mechanicznej. Jeżeli nie planujemy jej podłączać, możemy zamiast diod wlutować kawałki drutu (na przykład obcięte nóżki rezystorów). Złącze ZK montujemy wtedy pod spodem, aby pasowało do złącza z MIK90.
Zamiast klawiatury mechanicznej możemy zastosować dotykową, ale wtedy należy zmontować strefę "IV".
Tester może pracować jako kompletny CA80.
Dodanie do testera klawiatury (panel lub dotykowa) daje nam możliwość używania go jako kompletnego CA80. Strefa "III" jest potrzebna do automatycznego ustawiania czasu.
Strefa "V" to przycisk "User". Nie jest on niezbędny, ale może służyć do zwiększania CLK (jest uwzględniony w programie). I tak używamy klawiatury, więc możemy go pominąć. Może się przydać gdyby 8255 nie działał przy większych częstotliwościach (powinien co najmniej do 5 MHz).
Jako ZS lutujemy zwykłe goldpiny (1x38) męskie pod spodem, lub żeńskie wydłużone od strony elementów, co umożliwi rozbudowę testera np. o moduł "Multi" (zalecane). Wymiana modułu z testowanym procesorem na kompletny MIK90 i przeprogramowanie "bootloadera" umożliwi budowę CA80 bez ROM.
Oprogramowanie testera należy umieścić na karcie SD (o małej pojemności).
Gotowy tester Z80.
Panel jest opcją, ale zamyka tester od góry zastępując obudowę, jednocześnie upraszczając konstrukcję. Zastosowanie wyłącznika z wydłużonym przyciskiem i wyprowadzenie LED przez otwór obok ułatwiają testowanie wielu procesorów bez ryzyka zapomnienia o wyłączeniu zasilania.
Na koniec opis instalowania "bootloadera" wygenerowany przez AI:
Krok 1: Instalacja MightyCore w Arduino IDE
1. Otwórz Arduino IDE, a następnie wejdź w Plik > Preferencje (lub Arduino IDE > Preferences na macOS).
2. W polu Dodatkowe adresy URL menedżera płytek wklej poniższy link:text
https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
Używaj kodu z rozwagą.
Jeśli masz tam już inne linki, rozdziel je przecinkiem.
3. Kliknij OK.
4. Wejdź w Narzędzia > Płytka > Menedżer płytek....
5. Wpisz w wyszukiwarkę MightyCore, kliknij na znalezioną pozycję i wybierz Zainstaluj.
[2] (https://hackmd.io/@ampheo/what-is-the-url-to-add-stm32-boards-to-arduino-ide),
Krok 2: Podłączenie programatora ISP
Do wypalenia bootloadera potrzebujesz zewnętrznego programatora (np. USBasp, AVRISP mkII) lub innej płytki Arduino Uno działającej jako programator (Arduino as ISP).
[1] (https://www.instructables.com/Burning-Arduino-Bootloader-to-Atmega-32A-PU-Using-/), [2] (https://sklep.msalamon.pl/blog/jak-wgrac-bootloader-arduino-z-usbasp/)
Przykładowe połączenie pinów przy użyciu Arduino Uno (jako ISP) i docelowej ATmegi32:
• Arduino Pin 10 → RESET docelowego układu
• Arduino Pin 11 → MOSI docelowego układu
• Arduino Pin 12 → MISO docelowego układu
• Arduino Pin 13 → SCK docelowego układu
• Wspólne zasilanie: VCC do 5V oraz GND do GND.
• Pamiętaj o podłączeniu zewnętrznego kwarcu (np. 16 MHz) wraz z kondensatorami do pinów XTAL, jeśli zamierzasz używać zewnętrznego taktowania.
[1] (https://elportal.pl/kursy/arduinok/1525-jak-wgrac-bootloader-w-atmega328),
[3] (https://www.instructables.com/Burning-Arduino-Bootloader-to-Atmega-32A-PU-Using-/)
Krok 3: Konfiguracja parametrów w Arduino IDE
Po zainstalowaniu pakietu i podłączeniu sprzętu, przejdź do menu Narzędzia i ustaw parametry zgodnie z Twoim projektem:
1. Płytka (Board): Wybierz odpowiedni mikrokontroler z sekcji MightyCore (np. ATmega32 lub ATmega1284).
2. Clock: Wybierz częstotliwość i rodzaj taktowania (np. 16 MHz external lub 8 MHz internal).
3. BOD: Ustaw próg zabezpieczenia brązowego (Brown-out Detection) według uznania.
4. Compiler LTO: Możesz zostawić włączone (optymalizacja rozmiaru kodu).
5. Bootloader: Wybierz Yes (UART0), jeśli chcesz wgrywać późniejsze programy tradycyjnym konwerterem USB-to-UART. Jeśli chcesz tylko zaprogramować sam układ bez rezerwowania pamięci na bootloader, wybierz No bootloader (wtedy proces i tak ustawi wymagane bezpieczniki/fusebity).
[1] (https://forum.arduino.cc/t/mightycore-atmega8535-16-32-164-324-644-1284/365683),
[3] (https://forum.arduino.cc/t/1284p-1-6-9-boards-manager/387548),
[4] (https://forum.arduinopolska.pl/watek-bootloader-czy-nie),
[5] (https://forbot.pl/blog/bootloadery-pierwsze-kroki-na-przykladzie-arduino-id10203),
[6] (https://forum.arduino.cc/t/creating-custom-boards-for-board-manager/439608)
Krok 4: Wypalenie bootloadera
1. W menu Narzędzia > Programator wybierz typ narzędzia, którego używasz (np. USBasp lub Arduino as ISP).
2. Jeśli używasz Arduino jako ISP, upewnij się, że wcześniej wgrałeś na tę płytkę szkic z przykładowych plików: Plik > Przykłady > ArduinoISP.
3. Kliknij Narzędzia > Wypal bootloader.
[2] (https://www.instructables.com/Burning-Arduino-Bootloader-to-Atmega-32A-PU-Using-/),
[3] (https://sklep.msalamon.pl/blog/jak-wgrac-bootloader-arduino-z-usbasp/)
Proces potrwa kilkanaście sekund. Po pomyślnym zakończeniu na dole ekranu pojawi się komunikat "Wypalanie bootloadera zakończone powodzeniem". Mikrokontroler jest teraz skonfigurowany pod kątem odpowiedniego taktowania i gotowy do pracy.
[1] (https://elportal.pl/kursy/arduinok/1525-jak-wgrac-bootloader-w-atmega328)






Komentarze
Prześlij komentarz