Indeks English versionEnglish version

Casio FX-602P - opis sprzętu

Pamięć RAM

Układ scalony uPD444G jest wersją smd standardowej statycznej pamięci RAM uPD444C o pojemności 1024 słów 4-bitowych.
Na poniższym schemacie wyprowadzeń końcówek uPD444G, oznaczenia GND (minus zasilania) oraz VCC (plus zasialnia) są zgodne z oryginalną dokumentacją układu uPD444C. W kalkulatorze FX-602P wyprowadzenia zasilania są oznaczone odwrotnie, ponieważ masa jest tam na plusie.

wyprowadzenia końcówek uPD444G


Złącze dla urządzeń peryferyjnych

złącze dla urządzeń peryferyjnych

Funkcje końcówek

Końcówka
złącza
Symbol Funkcja
1CEwyjście Chip enable, aktywny wysoki poziom
2GND masa (plus zasilania)
3D8wejście/wyjście danych (dwukierunkowe)
4CONT -3V gdy kalkulator włączony, 0V gdy wyłączony
5OP wybór rejestru komend (OP=0) lub danych (OP=1)
6VDD1 -3V (minus zasilania)
7SP wyjście impulsów zegarowych

Przebiegi sygnałów na złączu

przebiegi sygnałów na złączu kalkulatora FX-602P

Amplituda sygnałów cyfrowych wynosi 3V. Na linii danej obowiązuje zanegowana logika, tzn. jako zero logiczne przyjęty został wysoki poziom, jako jedynka logiczna niski poziom.


Interfejs magnetofonu kasetowego

W interfejsie magnetofonu kasetowego FA-2 użyty został ten sam typ układu scalonego sterownika HD43110 jak w interfejsie FA-3, a zatem protokół komunikacji jest również zgodny z protokołem używanym przez kalkulator FX-700P

Dodatkowe komendy używane przez kalkulator FX-602P

Kod Funkcja Opis
001100Pauza Ta komenda wstrzymuje na chwilę transmisję danych przy odczycie z taśmy. Kalkulator wysyła ją po odczytaniu nagłówka pliku, a następnie odczytuje jeden bit danych. Nie znam znaczenia zwracanej wartości (interfejs zawsze zwraca 1).
110100Licznik Ta komenda definiuje wysokość generowanego dźwięku. Oczekuje 8-bitowej wartości (najpierw przesyłany jest bit najmniej znaczący).
częstotliwość = 32768Hz/wartość
001110Start dźwięku Po wysłaniu tej komendy, sygnał o częstotliwości zdefiniowanej przez komendę Licznik pojawia się na wyjściu MIC.
111110Zatrzymanie dźwięku Komenda przerywa generację sygnału na wyjściu MIC.
111100Zamknięcie kanału Ta komenda ma dodatkową funkcję oprócz podstawowej, jaką jest zamykania kanału komunikacyjnego. Po wysłaniu jej kalkulator może odczytać jeden bit danej zwracający stan przełącznika Cal/Music (Cal=0, Music=1). Oprócz tego przełącznik prawdopodobnie nie ma wpływu na działanie interfejsu.

Przykład generowania melodii

1.  OP=0 111100         ;test przełącznika Cal/Music
    OP=1 1              ;zwrócona wartość=1 oznacza pozycję "Music"

2.  OP=0 111110		;zatrzymanie dźwięku

3.  OP=0 110100         ;ustawienie wysokości tonu
    OP=1 01001010       ;wartość=0x52 (częstotliwość=400Hz)

4.  OP=0 001110         ;start dźwięku

5.  tutaj powinno być opóźnienie zależne od tempa melodii

6.  powrót do punktu 1, do zakończenia melodii

7.  OP=0 000000         ;reset

8.  OP=0 111110		;zatrzymanie dźwięku

Interfejs drukarki

Kody komend dla drukarki FP-10 mają ustawiony ostatni przesyłany bit.

Dostępne komendy

Kod Funkcja Opis
000011Obecność Po wysłaniu tej komendy, kalkulator odczytuje jeden bit danej. Zwrócona wartość=1 oznacza, że drukarka jest obecna.
011001??? Komenda zawsze wysyłana przed komendą Obecność, funkcja nieznana.
100001Odczyt stanu Po wysłaniu tej komendy, kalkulator odczytuje jeden bit danej. Zwrócona jest wartość=0 gdy drukarka jest zajęta, lub wartość=1 gdy gotowa do przyjęcia danej.
110011Kod sterujący Po tej komendzie następuje kod sterujący drukarki. Kolejność bitów:
  • bit startu
  • 8 bitów danej (najpierw bit najmniej znaczący)
  • bit parzystości
  • 2 bity stopu
  • 4 bity bez znaczenia (kalkulator FX-602P wysyła 1010)
Każdy transfer danej musi być poprzedzony sprawdzeniem stanu interfejsu za pomocą komendy Odczyt stanu
010011Bajt danej Po tej komendzie następuje dana wysyłana do drukarki. Reszta jak dla komendy Kod sterujący.

Zidentyfikowane kody sterujące drukarki

Kod Funkcja
0x10 Druk łańcucha w trybie ALPHA kalkulatora FX-602P.
0x11 Druk liczby w trybie numerycznym kalkulatora FX-602P.
0x13 Funkcja nieznana, wysyłana przez kalkulator FX-602P do drukarki po włączeniu zasilania.
0x1F Kończy ciąg bajtów danych wysyłanych przez kalkulator FX-602P do drukarki.
0x29 Wybiera tryb drukowania kalkulatora FX-702P.

Inicjacja drukarki po włączeniu zasilania

1.  OP=0 011001         ;niezidentyfikowany kod 011001
    OP=0 000011         ;test obecności drukarki
    OP=1 0 or 1         ;zwraca 1 gdy drukarka obecna

2.  OP=0 000101         ;odczyt stanu - powtarrzaj tę sekwencję,
    OP=1 0 lub 1        ;aż interfejs zwróci 1

3.  OP=0 010010         ;komenda skierowana do interfejsu magnetofonu

4.  OP=0 011001         ;niezidentyfikowany kod 011001
    OP=0 000011         ;test obecności drukarki
    OP=1 0 lub 1        ;zwraca 1 gdy drukarka obecna

5.  OP=0 110011         ;wysłanie kodu sterującego 0x13
    OP=1 0110010001111010

6.  OP=0 000101         ;odczyt stanu - powtarrzaj tę sekwencję,
    OP=1 0 lub 1        ;aż interfejs zwróci 1

7.  OP=0 010010         ;komenda dla interfejsu magnetofonu

8.  OP=0 011001         ;niezidentyfikowany kod 011001
    OP=0 000011         ;test obecności drukarki
    OP=1 0 lub 1        ;zwraca 1 gdy drukarka obecna

9.  OP=0 110011         ;wysłanie kodu sterującego 0x10
    OP=1 0000010001111010

10. OP=0 010010         ;komenda dla interfejsu magnetofonu
    OP=0 000000         ;reset
    OP=0 111110         ;komenda dla interfejsu magnetofonu

Kalkulator FX-702P wysyła po włączeniu tylko komendę Reset zamiast tego wszystkiego.

Przykład drukowania

1.  OP=0 011001         ;niezidentyfikowany kod 011001
    OP=0 000011         ;test obecności drukarki
    OP=1 0 lub 1        ;zwraca 1 gdy drukarka obecna

2.  powyższy test powtórzony jeszcze raz

3.  OP=0 110011         ;wysłanie kodu sterującego 0x11
    OP=1 0100010000111010

4.  OP=0 000101         ;odczyt stanu - powtarrzaj tę sekwencję,
    OP=1 0 lub 1        ;aż interfejs zwróci 1

5.  OP=0 010010         ;komenda dla interfejsu magnetofonu

6.  OP=0 011001         ;niezidentyfikowany kod 011001
    OP=0 000011         ;test obecności drukarki
    OP=1 0 lub 1        ;zwraca 1 gdy drukarka obecna

7.  OP=0 010011         ;wysłanie danej (0xFF w tym przykładzie)
    OP=1 0111111110111010

8.  OP=0 000101         ;odczyt stanu - powtarrzaj tę sekwencję,
    OP=1 0 lub 1        ;aż interfejs zwróci 1

9.  powrót do punktu 5, aż wszystkie dane zostaną wysłane

10. OP=0 010010         ;komenda dla interfejsu magnetofonu

11. OP=0 011001         ;niezidentyfikowany kod 011001
    OP=0 000011         ;test obecności drukarki
    OP=1 0 lub 1        ;zwraca 1 gdy drukarka obecna

12. OP=0 110011         ;wysłanie kodu sterującego 0x1F
    OP=1 0111110001111010

13. OP=0 000101         ;odczyt stanu - powtarrzaj tę sekwencję,
    OP=1 0 lub 1        ;aż interfejs zwróci 1

14. OP=0 010010         ;komenda dla interfejsu magnetofonu
    OP=0 000000         ;reset

Kalkulator FX-702P pomija wysyłanie komend 010010.

FX-602P w trybie drukowania liczb

Liczby są drukowane przy użyciu następującej sekwencji:

  1. komenda sterująca 0x11
  2. osiem bajtów danych
  3. komenda sterująca 0x1F
Kodowanie znaków        Kodowanie przykładowych liczb
Kod Znak
0x0-0x9 cyfry 0-9
0xAkropka dziesiętna
0xEznak minus
0xFspacja
      
     -1234.         FF 5F 4A 23 E1 FF FF 0F
      1.234E 78     78 8F 34 A2 F1 FF FF 0F
     -1.234E-78     78 8E 34 A2 E1 FF FF 0F
3.141592654         FF FF 54 26 59 41 A1 03
-1.23456789         FF DF 89 67 45 23 1A 0E
-12.3456789         FF CF 89 67 45 A3 12 0E
     1.2345         FF 9F 45 23 1A FF FF 0F
   1.234567         FF BF 67 45 23 1A FF 0F
   1234.567         FF 8F 67 A5 34 12 FF 0F
        1.2E 09     09 6F A2 F1 FF FF FF 0F
 1.23456789E 45     45 DF 89 67 45 23 1A 0F
        1.2E-09     09 6E A2 F1 FF FF FF 0F

FX-602P w trybie drukowania łańcuchów tekstowych

Łańcuchy są drukowane przy użyciu następującej sekwencji:

  1. komenda sterująca 0x10
  2. ciąg bajtów danych
  3. komenda sterująca 0x1F

Wydruk wszystkich znaków o kodach 0x00-0x7F.