Emulator '51 do 64KB
Podstawowe informacje
Charakterystyka:
W stosunku do procesora 8051 emulator różni się kilkoma cechami:
Pobór prądu:
Emulator przyjmuje pliki binarne i Intelhex. Wydając odpowiedni rozkaz do
emulatora można wyczyścić jego pamięć, czy zmienić prędkość transmisji.
Do oprogramowania emulatora dodane są
odpowiednie skrypty wywołujące kompilację, inicjalizujące emulator i wysyłające
plik do emulatora. Oprogramowanie jest dostępne w wersji na Amigę i komputery
zgodne z IBM PC. Jeśli będzie odpowiednie zainteresowanie powstanie oprogramowanie
dla innych komputerów (MAC) czy systemów uruchomieniowych (np AVT-2250).
Jest to możliwe dzięki uniwersalności oprogramowania emulatora.
Dla wybranej platformy sprzętowej wystarczy znaleźć w Internecie asembler,
a skrypty można napisać przy minimalnej znajomości systemu operacyjnego.
Trwaja prace na oprogramowaniem obslugujacym prace krokowa. Dzieki temu, ze
zastosowany w emulatorze procesor ma 7 linii przerwan zewnetrznych
nie musimy tracic wejsc IN0 czy IN1 na potrzeby pracy krokowej.
Emulator rodziny 8051 z wewnętrzną pamięcią ROM (Eprom, FlashEprom) czasu
rzeczywistego jest dostępny w dwóch wersjach:
1. emulacja do 16KB wewnętrznej pamięci, max częstotliwość zegara 18MHz
2. emulacja do 64KB wewnętrznej pamięci, max częstotliwość zegara 24MHz
Emulator podłączamy do dowolnego komputera wyposażonego w port RS232C.
Zapewniona jest izolacja galwaniczna. Do jednego portu RS232C można podłączyć
maksymalnie 4 emulatory.
Emulator zabezpieczony przed odwrotną biegunowością zasilania (odwrotne włorzenie sondy emulacyjnej)
i zbyt wysokim napięciem zasilającym (do około 20V).
Czas zapisu pamięci wynosi:
16kB przy 57600bd - 8 sekund (plik HEX)
64kB przy 57600bd - 16 sekund (plik BIN)
64kB przy 57600bd - 35 sekund (plik HEX)
64kB przy 345600bd - 6 sekund (plik HEX)
Zmienna prędkość transmisji 9600...345600bd.
Nieograniczona liczba cykli zapisu dzięki wykorzystaniu pamięci RAM.
- 256 bajtow wewnętrznej pamięci ram (odpowiednik 8052).
- dodatkowy timer T2 (odpowiednik 8052).
- aktywne podciąganie wejść portu P0.
- rezystor na wejściu reset o wartości 22kohm.
- w standardzie brak możliwości podłączenia zewnętrznej pamięci programu lub danych.
Istnieje możliwość podłączenia interfejsu umożliwjającego pełną emulację
portów P0 i P2, a co za tym idzie obsługę zewnętrznej pamięci danych.
około 60mA - w trybie emulacji
do 220mA - w trybie ładowania
Emulator akceptuje komendy:
@emu51-64 #x - gdzie x nr symulatora z zakresu 0...4. Komenda powoduje
przejście z trybu emulacji do trybu ładowania. Obdawia się to świeceniem
diody LOAD. Po połączeniu można wydać jedną z poniższych komend:
@:xxx...xx - Wczytanie pliku IntelHex. Pierwsze pojawienie się znaku ":"
powoduje oczekiwanie na plik IntelHex. Akceptowane są rekordy o długości do 256bajtów.
Wielkość znakow nie ma znaczenia, znakiem końca linii może być kod:
LF - Amiga
CR - C64, MAC, Unix
CR+LF - PC
Ewentualne błędy pojawiające się podczas transmisji są sygnalizowane diodami LED.
@write - Wczytanie pliku binarnego. Ewentualne błędy są sygnalizowane diodami LED.
@clear - Czyści pamięć symulatora wypełniając wartością $FF.
@clr - jak wyżej.
@end - Rozłączenie z symulatorem. Komenda powoduje przejście z trybu LOAD
do trybu symulacji. Dioda LOAD gaśnie, program w symulatorze zostaje uruchomiony
jak po resecie CPU.
Pędkość transmisji ustawamy zworkami. Można ją także zmienić programowo:
@Baud 4800 - zmiana prędkości transmisji.
@Baud 9600 - zmiana prędkości transmisji.
@Baud 14400 - zmiana prędkości transmisji.
@Baud 19200 - zmiana prędkości transmisji.
@Baud 28800 - zmiana prędkości transmisji.
@Baud 38400 - zmiana prędkości transmisji (tylko dla wersji 64KB).
@Baud 57600 - zmiana prędkości transmisji.
@Baud 115200 - zmiana prędkości transmisji (tylko dla wersji 64KB).
@Baud 345600 - zmiana prędkości transmisji (tylko dla wersji 64KB).
O maksymalnej prędkości transmisji decyduje typ płyty głównej komputera.
"Cisza" na łączu RS przez 10 sekund od nadania ostatniego znaku powoduje
przejście z trybu LOAD do trybu symulacji.
Szczegułowy opis rozkazow ich składnię, można znaleźć w instrukcji obsługi.
Dzięki temu każdy może napisać skrypty samemu.