Indeks | English version |
Jest to urządzenie zastępujące oryginalny interfejs magnetofonu kasetowego FA-3 oraz drukarkę termiczną FP-12S. Pliki są zapisywane do pamięci EEPROM lub przesyłane przez port szeregowy, zależnie od wersji programu. Dane przeznaczone do wydrukowania są wysyłane przez port szeregowy lub przez opcjonalny port równoległy, również zależnie od wersji programu.
O wyborze procesora zadecydowała konieczność nadążenia za szybkimi
przebiegami na magistrali kalkulatora.
Zastosowany mikroprocesor AVR jest jednym z nielicznych popularnych
układów, który potrafi sobie dać radę z impulsami o czasie trwania
rzędu 1us.
Zasilanie pamięci EEPROM z portu procesora pozwala na obniżenie poboru
mocy i pozwala na wymianę pamięci bez konieczności wyłączania
zasilania.
Mikroprocesor jest odseparowany od magistrali opornikami.
Chronią one oba urządzenia przed uszkodzeniem w przypadku konfliktów
na magistrali (w wyniku błędów w programie) lub przy braku zasilania
mikroprocesora.
Oporniki na końcówkach PD2 i PD3 mają dodatkową funkcję, tworzą razem
z kondensatorami 15pF filtry dolnoprzepustowe eliminujące zakłócenia.
Bez tych filtrów układ nie działa pewnie.
Można zastosować dowolne diody i tranzystory małej mocy, np.:
diody - 1N4148
tranzystory pnp - BC557
tranzystor npn - BC547
Układ jest na tyle prosty, że został zbudowany na kawałku prototypowej
płytki drukowanej.
Wymaga osobnego źródła napięcia zasilającego ok. 5V, ponieważ pobór
prądu jest zbyt duży, żeby można było go zasilać ze złącza kalkulatora.
Ta wersja wykorzystuje szeregową pamięć EEPROM jako nośnik
informacji.
Przesyłane dane nie są w żaden sposób obrabiane, są zapisywane w
kolejnych adresach pamięci EEPROM w takiej kolejności jak przychodzą.
Stany jałowe oraz bity startu, stopu i parzystości nie są zapisywane.
Rezultat próby załadowania programu z pamięci zawierającej przypadkowe
śmieci jest nieokreślony.
Najprawdopodobniej takie dane zostaną zignorowane, ponieważ kalkulator
oczekuje określonego formatu danych i przeprowadza pewne podstawowe
testy.
Każda operacja LOAD, SAVE lub VER przesuwa
licznik lokacji w pamięci, konieczne jest więc jego cofnięcie przed
załadowaniem lub weryfikacją zapisanego programu (taśmę też trzeba
przewinąć).
Cofnięcie licznika lokacji na początek pamięci odbywa się przez
wciśnięcie klawisza na końcówce PB0 lub przez wyłączenie i włączenie
kalkulatora.
Dostęp do pamięci EEPROM sygnalizowany jest diodą świecącą,
przepełnienie pamięci (równoważne końcowi taśmy) powoduje błąd
ERR9.
Dane drukowane są zamieniane na ASCII i wysyłane przez port szeregowy. Można je przesłać do komputera PC z uruchomionym programem komunikacyjnym lub bezpośrednio do drukarki posiadającej wejście szeregowe (przetestowane z modelem Brother M-1109).
Program został przetestowany z modelami kalkulatorów FX-700P i FX-730P.
tape25d.zip - program dla mikroprocesora AVR
Ta wersja przesyła pliki między kalkulatorem a komputerem PC przez port szeregowy. Ma również możliwość drukowania przez opcjonalny port równoległy podłączony do magistrali I2C. Pamięć EEPROM nie jest już obsługiwana i musi być usunięta. Wymagane modyfikacje układu są zaznaczone czerwonym kolorem na poniższym rysunku.
Interfejs przesyła oryginalne 12-bitowe dane razem z bitami startu,
parzystości i stopu.
W celu umożliwienia przesłania 12-bitowego słowa przez 8-bitowy kanał
transmisyjny jest ono dzielone na dwie 6-bitowe części.
Do każdej dodawana jest stała wartość 0x30, żeby w wyniku powstał
drukowalny znak.
Najpierw jest przesyłany znak mniej znaczący.
Znaki o kodach nie mieszczących się w przedziale 0x30-0x6F są dozwolone
pomiędzy parą ważnych znaków.
Są one ignorowane, ale mogą być wykorzystane do synchronizacji
strumienia danych (do zaznaczenia mniej znaczącego znaku z pary).
Program został przetestowany z modelami kalkulatorów FX-700P i FX-730P.
tape27h.zip - program dla mikroprocesora AVR