Syvällisemmin virheenkorjaavista modeemeista 
                     
                     
                     
     Virheenkorjaavat/pakkaavat modeemit eroavat tavallisista myös 
                     
     eräässä toisessa mielessä, nimittäin nopeudessa jolla ne 
                     
     kommunikoivat tietokoneen kanssa (ei siis linjanopeus). Ne 
                     
     pystyvät kommunikoimaan tietokoneen kanssa suuremmalla nopeudella 
                     
     kuin mitä itse linjanopeus on. Tämä onkin ymmärrettävää, koska 
                     
     muutenhan pakkauksesta ei olisi hyötyä. Kun modeemi käyttää 
                     
     pakkaustaan, nopeus nousee suuremmaksi kuin linjanopeus. Tämän 
                     
     takia myös sarjaportin pitää pystyä pakkaavia modeemeja 
                     
     käytettäessä nopeuteen joka ylittää linjanopeuden. Tietokoneet 
                     
     kommunikoivat siis aina samalla nopeudella pakkaavan modeemin 
                     
     kanssa, oli linjanopeus mikä tahansa. Tätä kutsutaan lukituksi 
                     
     päätelaitenopeudeksi (DTE rate, Data Terminal Equipment). Alla 
                     
     kuva selvennykseksi:
                     
                     
                     
     +---+  n1  ___               n2             ___  n3  +---+
                     
     | A |======|a|------------------------------|b|======| B |
                     
     +---+                                                +---+
                     
                     
                     
     A ja B ovat tietokoneita, a ja b taas modeemeja. Kaksoisviiva 
                     
     symbolisoi tietokoneen ja modeemin välistä yhteyttä, tavallinen 
                     
     viiva taas modeemejen välistä yhteyttä, eli puhelinlinjaa. 
                     
     Tavallisten, ei-pakkaavien modeemejen tapauskessa n1=n2=n3, mutta 
                     
     kun puhutaan pakkaavista modeemeista, asia ei ole näin 
                     
     yksinkertainen. Yleensä n1 ja n3 ovat suurempia kun n2, sen takia 
                     
     että pakkaus muuten saattaisi nostaa linjanopeuden (n2) 
                     
     suuremmaksi kun n1:n ja n3:n, ja silloin ne toimisivat yhteyden 
                     
     pullonkauloina, estäen pakkausta nopeuttamasta siirtoa. Nopeus 
                     
     jolla tieto siirtyy tietokoenesta A tietkokoneeseen B, ja 
                     
     päinvastoin, on aina yhtäsuuri kun hitain nopeuksista n1, n2 tai 
                     
     n3.
                     
                     
                     
      Flow control (vuonvalvonta?) 
                     
                     
                     
     Edellisestä koituu pieni ongelma: Mitä tapahtuu kun tietokone 
                     
     lähettää modeemille tietoa nopeammin kuin modeemi pystyy 
                     
     lähettämään sitä puhelinlinjaa pitkin toiselle modeemille? 
                     
     Ongelmaan keksittiin RTS/CTS vuonvalvonta. Modeemilla on 
                     
     puskurimuisti, jonne se varastoi tietokoneelta tulevaa tietoa 
                     
     lähettämistä odottamaan. Kun puskurimuisti uhkaa täyttyä, 
                     
     sammuttaa modeemi CTS-signaalin (Clear To Send), ja tietokone 
                     
     ymmärtää että modeemin puskuri on täynnä ja lopettaa tiedon 
                     
     lähettäimsen. Tällä välin modeemi lähettää puskurissaan olevaa 
                     
     tietoa linjalle, ja kun puskurissa taas on jonkunverran vapaata 
                     
     tilaa, nostaa modeemi CTS-signaalin uudestaan päälle ja tietokone 
                     
     jatkaa lähettämistä. Vastaavasti, jos tietokone ei ehdi käsitellä 
                     
     dataa yhtä nopeasti kun sitä tulee modeemilta, se voi tiputtaa 
                     
     RTS-signaalin (Request To Send), jolloin modeemi lopettaa tiedon 
                     
     lähettämisen tietokoneelle. RTS-signaalia ei joudu yleensä 
                     
     käyttämään, koska tietokone pystyy yleensä käsittelemään tietoa 
                     
     yhtä nopeasti kun modeemilta sitä tulee.
                     
                     
                     
     TOS-käyttöjärjestelmässä (kaikki versiot tähän mennessä) on pieni 
                     
     mutta ikävä bugi ilmeisesti juuri CTS-signaalin kannalta. 
                     
     Tietokone ei välitä vaikka modeemi tiputtaisi sen, ja jatkaa 
                     
     lähettämistä vaikka modeemin puskuri pursuaa yli. Modeemi ei 
                     
     pysty lähettämään tietoa tarpeeksi nopeasti linjalle, ja kun sen 
                     
     puskuri on täynnä, ei tietokoneelta tulevalle ylimääräiselle 
                     
     tiedolle löydy varastopaikkaa. Tämä tieto menee siis hukkaan, ja 
                     
     tiedonsiirto menee mönkään.
                     
                     
                     
     Ongelmaan on tehty monta eri ohjelmaa jotka ajetaan AUTO-
                     
     kansiosta. Tältä disketiltä löydät yhden sellaisen, eli mikäli 
                     
     aiot käyttää virheenkorjaavaa modeemia, joudut käyttämään myös 
                     
     tämänkaltaista ohjelmaa.
                     
                     
                     
     Ei-virheenkorjaavat modeemit kommunikoivat tietokoneen kanssa 
                     
     samalla nopeudella kun mitä linjanopeus on. Siksi puskureita eikä 
                     
     näin ollen RTS/CTS-valvontaa tarvita. Toisin sanoen, 
                     
     korjausohjelmallekaan ei ole käyttöä.
                     
                     

Takaisin

(C) Marko, Suomen Atari-sivut / ArkiSTo 2003