Oryginalny 2 - układowy interfejs SIO2PC.

Autor: Nick Kennedy.

Tłumaczenie i wykonanie strony: Szwanke Michał

 

 

To jest schemat oryginalnego interfejsu używanego przez Nicka Kennedyego – twórcę oprogramowania SIO2PC. Interfejs korzysta z układu ICL-232 (MAX232) konwertera napięć ze standardu TTL do standardu RS232 oraz z układu 74LS368 będącego trójstanowym buforem. Skonstruowałem ten układ interfejsu i nie zauważyłem żadnych znaczących różnic pomiędzy szybkością tego układu a jego kilkoma modyfikacjami podczas standardowych operacjii. Dziękuję Rhett-owi za niektóre informacje.

 

Pamiętaj że 1- układowa wersja interfejsu SIO2PC może być wykorzystywana zamiennie z tą wersją interfejsu, a ponadto jest łatwiejsza w budowie.

 

Konstrukcja interfejsu SIO2PC.

 

DODATKOWE WYMAGANIA SPRZĘTOWE:

 

Porty szeregowe RS-232 w komputerach PC oraz port szeregowy SIO w 8 bitowych komputerach Atari są do siebie nieco podobne. Istnieje między nimi kilka różnic, jednakże interfejs SIO2PC został zbudowany w taki sposób aby je zminimalizować: 

  1. Wyjścia oraz wejścia Atari operują poziomami sygnałów w standardzieTTL. Generalnie w standardzie TTL +5 Volt odpowiada logicznej 1 oraz 0 Volt odpowiada logicznemu 0. Natomiast standard RS-232 jest bipolarny. Napięcie od +5 Volt do +15 Volt traktowane jest jako logiczne 0, a napięcie od -5 Volt do -15 Volt odpowiada logicznej 1. Zauważ także że jest ono również odwrócone w stosunku do standardu TTL, czyli bardziej dodatni sygnał jest traktowany jako logiczne 0. Tak więc, pierwszym wymogiem interfejsu jest konwersja sygnałów w standardzie TTL na sygnały w standardzie RS-232, pomiędzy Atari i komputerem klasy PC, oraz konwersja ze standardu RS-232 na standard TTL w przeciwnym kierunku.
  1. Standard RS-232 został opracowany dla potrzeb komunikacji „jeden-do-jednego”. Linia "data out" z jednego urządzenia trafia bezpośrednio do linii "data in" w drugim urządzeniu i odwrotnie. Natomiast system Atari SIO korzysta z szyny danych. W komputerach Atari linia „data out” może być podłączona do kilku urządzeń peryferyjnych, a  ich linie „data out” są wszystkie podłączone do jednej linii „data in” w komputerze Atari. To oznacza potencjalne problemy w przypadku kiedy kilka urządzeń peryferyjnych będzie próbowało się komunikować w tym samym czasie. Ten problem został rozwiązany poprzez utrzymywanie w urządzeniach peryferyjnych linii „data out” w trójstanowym (rozłączony) trybie gdy nie muszą nawiązywać komunikacji. To jest kolejny wymóg interfejsu – linie danych z interfejsu do Atari muszą być trójstanowe, z możliwością włączania/wyłączania na żądanie z PC.
  1. „Handshaking”: Komputery Atari używają tylko jednej linii „handshaking” na szynie SIO. Ta linia nazywa się: COMMAND. Komputery Atari używają jej do powiadamiania wszystkich urządzeń peryferyjnych o potrzebie "słuchania-oczekiwania" na komędę bądź komendy wysyłane do jednego z nich. Porty szeregowe komputerów PC posiadają kilka linii „handshaking”, więc interfejs będzie tylko dokonywał konwersji linii COMMAND ze standardu TTL do standardu RS-232 i wysyłał dane do PC poprzez linię „handshaking” - "RI". Dodatkowo, druga linia  „handshaking” (RTS)  w komputerze PC, pracująca jako wyjście, będzie używana do włączania/wyłączania trójstanowej szyny danych, o której wspomniano wcześniej.
  1. Szybkość, Liczba bitów danych, Bity Startu/Stopu, itp: Założenia SIO2PC wymagają całkowitego braku poprawek programowych po stronie Atari. Dzięki temu możesz botować Atari bezpośrednio z PC oraz używać dowolnego DOS-u. Takie podejście do sprawy gwarantuje całkowity brak konfliktów programowych.  Szyna szeregowa Atari pracuje z szybkością 19,200 bitów na sekundę. BIOS komputerów PC nie pracuje z taką szybkością, ale sprzęt może, w związku z tym oprogramowanie SIO2PC programuje układ I/O odpowiedzialny za transmisję bezpośrednio bez odwoływania się do procedur DOS-u czy BIOS-u. Pozostałe parametry transmisji są również programowane bezposrednio do układu I/O (UART) poprzez oprogramowanie na PC.

Użyte układy:

 

  1. Harris ICL232 (lub MAXIM MAX232) – jednoukładowy konwerter RS-232 na TTL oraz TTL na RS-232. Zawiera dwie bramki do konwersji z TTL na RS-232 oraz kolejne dwie bramki do konwersji w przeciwnym kierunku. Posiada również zintegrowany konwerter napięcia z +5 Volt na zasilanie bipolarne. W przypadku pracy z RS-232 aby uzyskać odpowiednie stany logiczne potrzebne są separowane napięcia +12 Volt i –12 Volt. Układ ten pobiera tylko +5 Volt (z komputera Atari) i automatycznie generuje pozostałe napięcia.
  1. Układ scalony 74LS368 jest trójstanowym inwerterem. Układ posiada sześć inwerterów TTL w dwóch grupach. Każda grupa ma własną trójstanową linię.

 SŁOWNY OPIS SCHEMATU IDEOWEGO:

 

1) Dane z Atari do PC:

Nóżka 5 złącza SIO połączona z  11 nóżką układu ‘232.
Nóżka 14 uładu '232 połączona z 2 nóżką w gnieździe PC.

 

2) Dane z PC do Atari:

Nóżka 3 z gniazda PC połączona z nóżką 13 układu '232.
Nóżka 12 układu '232 połączona do 2 nóżki układu '368.
Nóżka 3 układu '368 połączona z 12 nóżką układu '368.
Nóżka 11 układu '368 połączona z 3 nóżką złącza SIO.

 

3) Linia COMMAND, z Atari do PC:

Nóżka 7 złącza SIO połączona z 4 nóżką układu '368.
Nóżka 5 układu '368 połączona z 10 nóżką układu '232.
Nóżka 7 układu '232 połączona z 9 nóżką gniazda PC.

 

4) Przewody MASY (GROUND):

Nóżka 6 złącza SIO połączona z nóżką 8 oraz 1 układu '368, a także z nóżką 15 układu '232 i 5 nóżką w gnieździe PC.

Zajrzyj także pod podpunkty: (7) i (8) opisujące dodatkowe połączenia z masą.

 

5) Przewody zasilania +5 Volt (VCC):

Nóżka 10 złącza SIO połączona z nóżką 16 i 14 układu '368 oraz z nóżką 16 układu '232.

Zajrzyj także pod podpunkty: (7) i (8) opisujące dodatkowe połączenia z zasilaniem +5V.

 

6) Układ trójstanowej kontroli:

Nóżka 7 w gnieździe PC połączona z 8 nóżką układu '232.

Nóżka 9 układu '232 połączona z 10 nóżką układu '368.
Nóżka 9 układu '368 połączona z 15 nóżką układu '368.

 

7) Cztery, 22 uF (mikrofaradowe), 25 V elektrolityczne kondensatory:

(Potrzebne do prawidłowej konwersji +5 V na +/- 12 V)

a) (+) do układu '232, nóżka 1; (-) do układu '232, nóżka 3.
b) (+) do układu '232, nóżka 4; (-) do układu '232, nóżka 5.
c) (+) do masy, (-) do układu '232, nóżka 6.
d) (+) do układu '232, nóżka 2, (-) do linii +5 Volt.

 

8) 0.1 uF (100nF), 25 V kondensator ceramiczny:
(Potrzebne do redukcji szumów, trzasków i składowych stałych)

Pomiędzy linią +5V, a masą , najlepiej w pobliżu układu '368.

 

9) W celu zwiększenia jakości i niezawodności układu można połączyć oplot (ekran) kabla I/O Atari z ekranem (oplotem) w kablu

biegnącym do gniazda PC.

 

Jeżeli zależy Ci na schemacie ideowym w którym wykorzystano symbole bramek, to niestety będziesz musiał wykonać go we własnym zakresie. Poniższe informacje dotyczące wyprowadzeń obu układów na pewno będą pomocne:

 

IC-232:

TTL in, RS-232 out, RS-232 in, TTL out

INPUT

OUTPUT

INPUT

OUTPUT

11

14

13

12

10

7

8

9

Zasilanie: +5 V: nóżka 16, Masa: nóżka 15.

Polaryzacja kondensatorów: Zajrzyj pod paragraf 7.

 

74LS368:

SECTION 1 INVERTERS

SECTION 2 INVERTERS

INPUT

OUTPUT

INPUT

OUTPUT

2

3

12

11

4

5

14

13

6

7

 

 

10

9

 

 

Załączanie sekcji 1: Pin 1
Załączanie sekcji 2: Pin 15

UWAGA: Stan NISKI załącza, WYSOKI dla bramek trójstanowych

Zasilanie: +5 V: nóżka 16.
Masa: nóżka 8.

 

 

INFORMACJE O WTYKACH/GNIAZDACH:

 

Większość portów szeregowych w komputerach klasy PC zbudowana jest w oparciu o 9 szpilkowe złącza znane jako DB-9. Złącze to jest rodzaju męskiego – ma szpliki. Dlatego też złącze które będzie podłączone do interfejsu powinno być złączem DB-9F, czyli żeńskim – z dziurami. Poniższy rysunek przedstawia wygląd złącza po stronie komputera. Jest to zarazem tył złacza żeńskiego DB-9F ( strony po której dolutowywuje się przewody ):

1 2 3 4 5

6 7 8 9

Port szeregowy komputerów Atari to unikalne gniazdo, nie produkowane przez żadnego innego producenta. Patrząc na wtyczkę do komputera, wygląda to mniej więcej następująco:

2 4 6 8 10 12

1 3 5 7 9 11 13

Tego typu wtyczki/gniazda można nabyć w sklepach z częściami do komputerów Atari lub w firmach serwisujących te komputery. Jednakże lepszym wyjściem jest nabycie przewodu SIO od Atari, z zaciśniętymi wtyczkami z obu stron, a następnie przecięcie przewodu w połowie. Teraz wystarczy skorzystać z omomierza by dowiedzieć się które przewody połączone są do których szpilek.

 

25 SZPILKOWY PORT SZEREGOWY RS-232:

 

Sporo komputerów PC używa 25 szpilkowego portu szeregowego zamiast 9 szpilkowego. Natomiast większość nowych komputerów posiada z reguły dwa złącza RS-232 – jedno 9 szpilkowe i jedno 25 szpilkowe. Poniższa tabelka opisująca odwzorowanie „małego RS-a” na „dużego RS-a” na pewno będzie pomocna podczas konstruowania przejściówki/redukcji:

 

DB-9

DB-25

2

3

3

2

5

7

7

4

9

22

 

LISTA CZĘŚCI ZESTAWU SIO2PC:

 

_____ 1 – obudowa oraz śruby mocownicze ( 4 X 2 X 7/8);

_____ 4 - 22 uF elektrolityczne kondensatory na 25 volt;
_____ 1 - 0.1 uF kondensator ceramiczny na 25 volt lub więcej;
_____ 1 – układ scalony I.C # 1 (74LS368);
_____ 1 – układ scalony I.C. # 2 (ICL-232 or MAX232);
_____ 1 – kabel SIO oraz wtyczka (kabel Atari I/O przecięty w 1/2);
_____ 1 - 5 żyłowy ekranowany kabel;
_____ 1 – gniazdo DB 9F lub DB 25F (w zależności od wyprowadzeń w PC);
_____ 1 - CONNECTOR HOOD
_____ 1 – płytka prototypowa;
_____ 6" BARE WIRE
_____ 6" izolowane przewody;
_____ 2 – podstawki pod układy scalone 16 PIN;

 

Wszystkie wymienione powyżej części można nabyć w sklepach z częściami elektronicznymi. W zależności od wielkości płytki należy nabyć odpowiednią obudowę. Następnie należy wyciąć w obudowie odpowiednie otwory i osadzić w nich gniazda DB9F lub DB 25F oraz kabel SIO. Teraz pozostaje jeszcze tylko wstawienie płytki w obudowę i przylutowanie przewodów. Na koniec proponuję przykręcenie płytki w obudowie tak aby nie latała i obijała się po jej wnętrzu.

 

POZOSTAŁE KOMPONENTY:

 

Pewne trudności mogą nastąpić podczas próby nabycia układu ICL-232. Nie jest on tak powszechny jak MAX232. Jego zamiennikiem jest MAX232 i jest on dostępny praktycznie wszędzie.

 

UWAGI / OSTRZEŻENIA !!!

 

Odkąd napisałem ten tekst, otrzymałem około 20 - 25 listów od użytkowników, którzy pomyślnie zbudowali I uruchomili ten interfejs. Dołączone oprogramowanie również spisywało się znakomicie.

 

Uwaga: Jeżeli nie znasz się na elektronice i obwodach komputerowych, nie próbuj budować tego interfejsu sam. W takim przypadku istnieje duże prawdopodobieństwo popełnienia błędu. Dobrym wyjściem jest zwrócenie się do znajomego elektronika, który bezbłędnie zbuduje nam potrzebny interfejs.

 

Zaznaczyć trzeba, że wejścia i wyjścia szeregowe zarówno komputera Atari jak i PC są odporne na błędne podłączenia sygnałów masy czy zwarcia dwóch sąsiednich wyjść, etc. Pamiętaj jednak, że od tego są wyjątki i twój komputer może okazać się mało odporny na takie błędy.

 

Uwaga:  Ujemne napięcia pochodzące z wyjść RS-232 mogą uszkodzić wejścia każdego układu TTL do niego podłączonego. Oznacza to że konwerter napięć RS-232 do TTL, zbudowany na układzie ICL-232 (MAX232) jest absolutnie konieczny do prawidłowego działania całego interfejsu.

 

Jeżeli konstruujesz układ samodzielnie, możesz również zajrzeć do pliku KITINSTR.DOC, zawierającego dodatkowe informacje o układzie SIO2PC.

Skąd pobrać podstawowe oprogramowanie:

Możesz tego dokonać natychmiast poprzez ten link: SIO2PC

 Dodatkowe oprogramowanie którego możesz potrzebować:

DOS'y dla Atari

Standardowym obrazem dysków Atari, który istniał już dużo wcześniej niż SIO2PC czy emulatory 8 bitowych komputerów Atari jest ".DCM" - "DiskCommunicator". Można oczywiście tworzyć nowe boot dyski w tym formacie, zależnie od potrzeb użytkownika. Aby zabotować komputer Atari przy pomocy DOS-u,  będziesz potrzebował jednego z boot dysków. Niektóre DOS-y są tutaj dostępne:

 

  • Atari DOS 2.0
  • Atari DOS 2.5
  • MyDOS 4.5x
  • SpartaDOS 3.2x

(gdzie "x" oznacza liczbę bądź literę).

 

Możesz pobrać boot dyski z tego miejsca: MyDOS 4.5x lub SpartaDos 3.2x.

Uwaga: To jest ostatnia wersja MyDOS-a, zawierająca poprawkę błędu zapisu MEMSAV.

Wyprowadzenia gniazda DB9 i odpowiadające im przyporządkowanie dla gniazda DB25. Informacje przydatne podczas wykonywania przejściówki/redukcji.

 

Signal Name                   DB9       DB25

---------------------------------------------

DCD (Data Carrier Detect)      1          8

RX  (Receive Data)             2          3

TX  (Transmit Data)            3          2

DTR (Data Terminal Ready)      4         20

GND (Ground)                   5          7

DSR (Data Set Ready)           6          6

RTS (Request to Send)          7          4

CTS (Clear to Send)            8          5

RI  (Ring Indicator)           9         22