Vezérlés az LPT-porton Alfától Omegáig. V.
Az előző részben egy kis
ízelítőt kaptunk a nyomtatóport programozásáról és láthattuk, hogy a
legegyszerűbb hardverrel is lehet igen összetett feladatokat megoldani.
Megismerkedtünk továbbá szinte valamennyi programozási alapelemmel, amire
szükségünk lehet a későbbiekben.
A hardveroldallal azonban
keveset foglalkoztunk, tehát ideje behozni a lemaradást:
megismerkedünk egy
kiegészítővel, hogy megvédhetjük portunkat a meghibásodástól, illetve
megnövelhetjük a vezetékeink hosszát nagyobb sebességű alkalmazásokhoz. Ehhez
azonban segédenergiára lesz szükségünk, vagyis egy tápegységre. Azonban most se
esünk kétségbe: „ellopjuk” a számítógép tápegységéből! J
Eddig
egy portról egyetlen LED-et kellett csak vezérelnünk. Felmerül a kérdés -
joggal - mi történik, amennyiben nagyobb teljesítményű fogyasztót kell PC-nkkel
működtetni. A válasz kézenfekvő: meghajtó áramkört kell kapcsolni a
berendezéshez. A következő kérdés: mi lesz, ha a meghajtó fokozat meghibásodik?
A válasz: tönkremehet a portunk áramköre. Ugyanez megtörténhet akkor is, ha
figyelmetlenségből zárlatot okozunk, vagy a külső tápegységet nem megfelelő
sorrendben kapcsoljuk ki, illetve be.
Tanulságként
írom le, hogy jelen cikk írója is ez utóbbi miatt volt egyszer kénytelen IC-t
cserélni egy régi AT-multi I/O kártyán. Szerencse a szerencsétlenségben, hogy a
kártyán egyedi meghajtó IC volt, amit ki lehetett egyáltalán cserélni. Újabban
egy körtokozású áramkörbe mindent beleintegrálnak a kis méret, fogyasztás,
illetve alacsonyabb gyártási költségek miatt. Sajnos ezek a „széttaposott” MOS
áramkörök sokkal érzékenyebbek a túlterhelésre, mint régi bipoláris társaik.
Vagyis nem elég, hogy nehezebb őket kicserélni, (szinte lehetetlen beszerezni a
pótalkatrészt, illetve körülményes a ki/beforrasztás is), hanem ráadásul
könnyebben meg is hibásodnak. Ezért (bár további példáink enélkül is
üzemképesek) mindenképpen javasolom elkészíteni az itt közölt leválasztó
fokozatot.
Ennek
további előnye, hogy a vezetékhosszakat is megnövelhetjük vele. Ugyanis gyári
nyomtatóportba minden bitre külön-külön jut egy aluláteresztő RC- szűrő. Ez
pedig egyrészt lecsökkenti a kábel önindukciójából, valamint külső forrásokból
származó zavarokat, másrészt csökkenti az átviteli sebességet, hiszen a „gyors”
jeleket, állapotváltozásokat is kiszűri a zajjal együtt. Ami egy nyomtatónál
kívánatos, az nem biztos, hogy minden alkalmazáshoz kielégítő. Ha a port
csatlakozójához a lehető legközelebb egy meghajtó fokozatot iktatunk be, akkor
a kábelhossz, illetve a szűrők által okozott problémák jórésze orvosolható.
Mivel a későbbiekben szekvenciális áramköröket is szeretnénk illeszteni
berendezésünkhöz, nem mindegy, hogy a kiadott órajelből 1, 2, 3, vagy éppen egy
sem érkezik meg a hardverhez. Az is gyakori probléma, hogy nem a gép
hátoldalán, 10 cm-es vezeték végén lógó perifériát szeretnénk programozni.
Egyszóval: kell az a meghajtó áramkör! J
A puffer működése, építése:
Első
kérdés: milyen típusú IC-t válasszunk??? Ugyanis sok 8, elkülönített fokozatból
álló puffer, vagyis digitális meghajtó-erősítő egység van kereskedelmi
forgalomban és számtalan IC-sorozat tartalmaz ilyen elemeket.
Ha
egy digitális IC katalógust az ember a kezébe vesz, az első oldalakon látja az
adott alkatrészek elektromos adatait. Számítógépek esetében régebben teljesen
egyeduralkodó volt az 5 voltos tápellátást igénylő TTL (Transistor Transistor
Logic) áramkörök alkalmazása. Ezek úgynevezett bipoláris IC-k, vagyis „hagyományos”
tranzisztorokat tartalmaznak. Fontos tudnunk, hogy egy ilyen tranzisztorral
realizált kimenet átlagosan 10 másik bemenetet képes meghajtani. (FAN OUT=10)
Nem ugyanaz a fogyasztás azonban a két logikai állapotban. Azután fontos
tudnunk, hogy a logikai nulla szint nem 0 V-os feszültségként jelenik meg a
kimeneten. Nem, az túl szép volna! Mivel a nulla feszültséget egy tranzisztor
kapcsolja, ezért a rajta keletkező feszültségesés hozzáadódik a nulla értékhez.
Így tipikusan 0...0,8 V mérhető egy logikai alacsony állapotban lévő kimeneten.
Ugyanezen okból az 1 szint se 5 V, hanem 4.2 V feletti érték. Ha azonban az
áramkör nagy sebességgel kapcsolgat, illetve több bemenet terheli egyszerre,
akkor oszcilloszkóppal azt látjuk, hogy 4 V alá is leeshet a szint. Ez tehát a
TTL áramkörök jellemzője. (Ez erősen leegyszerűsített séma, hogy bárki
megérthesse. A valóságban természetesen ennél lényegesen összetettebb a
kérdés.)
A
MOS áramkörök másképpen üzemelnek. Ezekben térvezérlésű tranzisztorok vannak,
melyek „maradékfeszültsége” jóval alacsonyabb, ugyanakkor azonban a
terhelhetősége is sokkal kevesebb. Mi több, a frekvencia emelésével egyre
többet kezdenek el fogyasztani, mivel bennünk az elszigetelt réteg belső
parazita kapacitásait is fel kell töltenünk, mielőtt működésbe lépnének.
Látható
tehát, hogy a kétfajta áramkörcsalád hiába dolgozik azonos tápfeszültségről,
mégsem köthető össze olyan egyszerűen, mint azt gondolnánk. Egyfelől egy MOS
nem tud több TTL kaput meghajtani egyszerre, mert kicsi hozzá a teljesítménye.
Másfelől bizonyos, szélsőséges
esetekben a TTL nulla szintet a MOS tévesen dolgozhatja fel. Ez az
elmélet.
Szerencsére
a gyakorlatban nem ennyire tragikus a helyzet. Bár vannak kidolgozott
TTL-MOS-TTL szintillesztési eljárások, az amatőr gyakorlatban ritkán lesz
szükségünk rá. Ha kellő odafigyeléssel tervezzük áramköreinket (nem a
határértékekre játszunk) illetve a sebesség nem túl magas, akkor ezek a gondok
elkerülhetők.
Mint
látjuk, TTL áramkört érdemesebb kimeneti puffernek használni, hiszen nagyobb a
teljesítménye. A számítógépünk portja azonban újabban nem bipoláris
áramkörökből áll. Felmerül a kérdés: összekapcsolható-e vajon egy TTL
áramkörrel? A válasz: A port általában egy nagyobb teljesítményű MOS kapu, ami
egyetlen LSTTL (a TTL egyik altípusa) terhelés meghajtására garantáltan
alkalmas. Vagyis a kérdés eldőlt, TTL áramkörrel is lehetséges megoldanunk a
feladatot.
Azonban
a TTL áramköröknek is számtalan családja található a katalógusokban. Mi az
LS-szériát választjuk, mert szinte minden régebbi berendezésből kitermelhető a
szükséges alkatrész. Amennyiben ilyet nem találnánk, úgy azt a boltban kell
megvenni. Ekkor jön a meglepetés, mert a régi TTL sorozatokat ma már nemigen
gyártják. A kereskedő azonban minden bizonnyal tud adni helyettesítő darabot.
Ezek a H, C, HC, vagy HCT elnevezésre hallgatnak.
A
mi áramkörünk pl. a 245-ös lesz, melyet a 74-es sorozatból választunk.
(kommersz felhasználásra szánt, digitális, TTL IC). Ha az al-sorozatot is
szeretnénk beleszőni a számba, akkor: 74LS245, 74C245, 74HC245, 74HCT245
alkatrészekkel találkozhatunk. Azonban nem ritka a 74L245, 74F245, 74ALS245,
stb. sem.
A
katalógusokban megtalálhatjuk a választ arra is, hogy melyik jelzés mire utal.
Nagyon
röviden csak annyit erről, hogy a C-betű azt jelöli, hogy az alkatrész CMOS
áramkör. A C mellett álló egyéb betűk pedig a be és kimeneti fokozatainak a
technikai megoldását mutatják.
A
lényeg: Számunkra LS, vagy HCT típus a megfelelő. Az előbbi azért, mert
biopoláris, a másik pedig azért, mert ugyan CMOS belülről, azonban kívülről
kompatíbilis a bipoláris típussal.
Miután
az alkatrészt kijelöltük, lássuk vajon
mit is tud ez a 20 lábú „csodabogár”?
Az
áramkörünk egy különleges meghajtó IC. Számítógépek buszainak meghajtására szokták
alkalmazni. Túl azon, hogy emiatt teljesítménye magasabb, mint a szabvány
sorozat kapuáramköreinek, két különlegessége is van!
Az
első, hogy a kimenete nem két, hanem három állapottal rendelkezik. (tri state)
Elsőre talán ez furcsának tűnhet, de képzeljük el, hogy egy buszra egyidőben
sok áramkör kimenetének kell kapcsolódni, de „adni” mindig csak egyikük adhat,
másképp kavarodás lenne. Ezért van a harmadik állapot. Ha a 3. állapotban van
az IC, akkor az megfelel annak, mintha kivettük volna az áramkörből. Vagyis a
bemeneteinek se az „1”, se a „0” állapotait nem adja a kimenetére. Ez egy
engedélyező jellel mondható meg neki, a 19-es kivezetésen. Ha az a láb „0”
szintű, vagyis pl. lekötjük GND-re, akkor a tok aktív, tehát átviszi a
bemenetére adott jeleket. Ha azonban +5 V-ra felkapcsoljuk: akkor olyan, mintha
ott se lenne.
A
másik különlegessége, hogy ez az IC két irányban tud üzemelni. Nincs be,
illetve kimenete.
Van
ellenben 8 db „A”, illetve 8 db „B”-portja, illetve egy iránykijelölő
kivezetése. (DIRection). Ha az 1-es láb logikai „1”, akkor az A-bemeneti
vezetékeket puffereli a B oldali kimenő vezetékekre. Ha ez a láb „0”, akkor
pedig fordítva, vagyis B-oldalról tud pufferelni A-ba. Nem aranyos? J
Felmerülhet joggal most a figyelmes
olvasóban a kérdés, miért használunk ilyen sokfunkciójú áramkört, amikor nekünk
nem kell a harmadik állapot, illetve csak kimenő jeleket akarunk pufferelni?
Valóban ott van pl. a 74244-es IC, amibe szintén 8 fokozat van beépítve, és még
az is sok ide, mert szintén három állapotú. Azonban hiába drágább 20 Ft-al,
mint a másik puffer, ha a lábkiosztását megfigyeljük, egyből megértjük a
választást!
Míg a 244-es esetén a bemenethez
tartozó kimenetek azonos oldalon vannak elhelyezve, addig a 245-nél egymással
szemközt. Ez pedig nagyban megkönnyíti a szerelést, illetve a vele való munkát.
Aki tervezett életében nyomtatott áramkört, az rögtön megérti, miről van szó.
Ott ugyanis a vezetékek keresztezésénél vagy átkötést kell beforrasztanunk,
vagy másik oldalon kell a drótokat vinni, mivel a nyomtatásban a keresztezés
zárlatot okozna. Az „odaillőbb” típus alkalmazása tehát kábeldzsungelt, míg az
általunk választott tipus egy szép, párhuzamos elrendezést ad. Természetesen
nem szeretnénk még nyomtatott panelt készíteni, de nézzük csak meg a következő
ábrákat:
|
|
|
|
A puffer IC szerelés előtt... |
A forrasztásra előkészített áramkör oldalról |
...s ugyanaz felülről. |
Végül beforrasztva valami ilyesmi lesz. J |
Szemléltető fotók az áramkör
összeszereléséről (készítette: a szerző)
A
fotókon látható módon, - egy soros port véglapra kihelyezett csatlakozójából -
minimális munka árán, nem egészen 15 perc alatt elkészíthetjük a saját
leválasztó fokozatunkat. Mivel a 8 adatbit 1 sorban jön ki egymás mellett,
ezért a fenti módon „előhajtogatott” IC pontosan beforrasztható a szalagkábel
és a csatlakozó tüskéi közé. Minden tiszta, átlátható. Zárlatveszély nincs és
még ebben a keskenyebb csatlakozóházban is remekül elfér minden! Próbálja meg
valaki ugyanezt másik, pl. a 74LS244-es típussal ... J
Részletes
összeszerelési útmutató:
A
hajtogatást az asztallapon másodpercek alatt el tudjuk végezni. Látható, hogy a
két átlós láb (tápfeszültségek), valamint a DIR, illetve G (gate, vagyis
kapuzás) lábak felfelé hajolnak tőből, a többi pedig a vékonyodó résznél
vízszintesre lett meghajlítva. Ezután az 1, 10, 19 felhajlított lábakat kössük
össze egymással, illetve a 20...25 portcsatlakozó-tüskékkel, vagyis kapcsoljuk
GND-re. A fennmaradó egyetlen felfelé néző kivezetés (20-as láb) lesz az 5 V-os
tápfeszültség becsatlakoztatási pontja. (később erre visszatérünk)
A
kétoldalt fennmaradó 8-8 kivezetés lesz a be, illetve kimenet. A
portcsatlakozón 2...9 tüskékre lehet az IC 11...18-as lábait forrasztani. Mivel
a csatlakozó, illetve az IC lábtávolságai azonosak, ezért ez igen könnyű lesz.
A
szemben kimaradó szabad 8 kivezetés lesz a felerősített 8 bit, oda kötjük a
szalagkábelt.
(Célszerűen
10-eres kábelt érdemes alkalmazni, hogy a +5 V, illetve a GND is rendelkezésre
álljon ...) A művelet végén a műanyag házat toljuk a helyére, illetve rögzítsük
pl. szilikonkaucsukkal. Ezzel pufferünk üzemkész!
A
szerelést megkönnyítendő: az IC-k lábainak számozása mindig felülnézetben
értendő. A tok egyik végén egy pötty, vagy vályú alakú bemarás található. Ez
jelöli az 1-es lábat. A lábak számozási sorrendje ettől a lábtól az óramutató
járásával ellentétes irányban, körben értendő. Vagyis ha balra néz a jelölés,
akkor a balról első láb az egyes, a következő a kettes, és így tovább a
tizesig. A 11-es láb a túloldalt, szemben lesz a 10-essel. Most visszafele
lépkedünk, egészen a 20-ig, ami éppen szemben lesz az egyes kivezetéssel. A
fenti fotókon jól láthatók a felhajtott lábak és azok alapján egyértelműen
azonosíthatunk mindent, ha véletlen kétsége merülne fel bárkinek.
Az áramkörökhöz mindig tartozik egy
kapcsolási rajz, amit szintén közünk:
(a szerző szemléltető ábrája)
Jól
látható, hogy az elvi rajz nem követi a lábak kiosztását, hanem a logikailag
összetartozó blokkokat vonja össze. A tápfeszültségeket gyakran nem is tüntetik
fel az IC-n, hanem külön, a rajzmező egyik üres területén. Az általam
alkalmazott program is ilyen, így azt most külön kellett berajzolnom. Ennek oka, hogy a nyomtatott panelek
tervezését is számítógépes programokkal szokták végezni, ami viszont
automatikusan kezeli a tápfeszültségeket. Felesleges tehát a megértést
nehezíteni ezekkel a plusz vonalakkal.
Lopjuk a villanyt?!?
Igeeen!!!!
Talán
meglepőnek hangzik a fenti kijelentés, de ez esetben helytálló. A probléma
ugyanis az, hogy a printer csatlakozónkon nem áll rendelkezésre olyan tüske,
ahonnan a puffert működtető +5 V-os tápfeszültségeket levehetnénk. Ráadásul
nekünk nem csak a puffert kell árammal táplálnunk, hanem a későbbiekben
építendő perifériáinkat is.
A
megoldás, hogy keressünk olyan csatlakozókat a gépünk hátlapján, aminél megvan
a kívánt kivezetés. Ha cikksorozatunk első számára visszaemlékezünk, akkor
rögtön jön a válasz:
Billentyűzet, GAME-port, USB-port. Az általam megépített kapcsolás
univerzális. Ha kell, akkor a botkormány csatlakozójáról, ha kell, akkor a
billentyűzetétől vesz energiát a működéshez. (Lehetne természetesen az
USB-ről is, csak éppen nem volt ilyen csatlakozóm kéznél ...) Azonban a munkához nélkülözhetetlen a billentyűzet, ezért nem lehet
egyszerűen e helyére dugni egy csatlakozót. Közdarabot kell készíteni, hogy a
gép is használható maradjon. Egy Tuchel csatlakozópárral, illetve egy botkormány csatlakozójának
felhasználásával mutat az ábra egy lehetséges megoldást. Fontos megfigyelni a Bi1-es
jelölésű alkatrészt. Ez egy gyors kioldású biztosíték. Amennyiben véletlenül
zárlatot okoznánk a szerelés közben, úgy ez hivatott megvédeni az alaplapunk
életét. Ha ezt kihagyjuk, magunkra vessünk! Az alaplapi vezetékezés ugyanis
nagyon vékony, nem bír el nagy áramot. Nemcsak a billentyűzet processzora
fagy le a túláram okozta feszültségeséstől, hanem az alaplapi fólia is
feléghet. (Általában ezért be van építve az alaplapon egy SMD biztosíték, de
erre azért ne játsszunk rá!) Mint látható, ez régi klaviatúrás alaplapokhoz lett kitalálva.
Azonban ha újabb fajta, PS2-es technikánk lenne, akkor sincs nagy gond.
Fordítódugó minden mennyiségben beszerezhető. J A következő ábrán egy régebbi készülékemnél alkalmazott megoldás
látható. Itt csak a GAME portról vehetek energiát, ellenben a puffer
fokozatot is tartalmazza a printercsatlakozó. Itt 8 „felerősített” bit jön
ki, valamint egy lengő, 3.55 mm-es jack aljzaton a +5 V is rendelkezésre áll.
Úgy a jack, mint a puffer meghajtó a játékportos +5 V-ot használja: |
|
A szerző felvétele
Jól
megfigyelhető, hogy a GAME-port csatlakozójából csak egyetlen szál vezeték jön
át a printerport csatlakozójába, hiszen a GND úgyis rendelkezésre áll helyben.
Ami
érdekesség talán, hogy a 8 kimenet szalagkábele egy filléres, PIN-tűs
IC-foglalatben végződik. Ez azért célszerű, mert egyfelől nehezebben okoz
zárlatot, mint a lógó, összevissza ugráló kábelvégek, másfelől pedig egyetlen
mozdulattal csatlakoztathatók a próbapanelhez, vagy egyéb konstrukcióinkhoz.
Az
LPT dugón látható még két 5 mm-es LED. Ezek egyike a másik kimenő port egyik
szabad bitjére van rákötve és tesztelési célokat szolgál. A másik LED a
tápfeszültség meglétét mutatja. A LED-ek miatt egy vastagabb, boltban kapható
csatlakozóházban lett elhelyezve a készülék, ami kicsit ormótlanná teszi a
megjelenést. Azonban van, akinek éppen ez tetszik. J
Mint
látható, ízlések és pofonok különbözők, azonban a lehetséges megvalósításoknak
csupán fantáziánk szabhat határt.
Micsoda erő, micsoda izom ... (avagy
a POWER-OVER erőgép): CSAK HALADÓKNAK!!!
A
fenti megoldások néhányszor 10, esetleg pár száz mA-es áramerősségig teljesen
kielégítők lehetnek. Mi van azonban akkor, ha a periféria fogyasztása ezt
jelentősen meghaladja? És mi van akkor, ha 12 V-ra is gusztusunk támadna?
Semmi
gond, természetesen ez is rendelkezésre áll a számítógépünk belsejében. Apró
probléma, hogy nincs kivezetve. No, de mire jó a barkácsszenvedély!
Mielőtt
azonban munkához látnánk, tudnunk kell, hogy mire képes a tápegység: 5 V-os kb.
20 A-t (20000 mA!!!), a 12 V-os kivezetéseken pedig kb. 8...10 A-t tud úgy leadni,
hogy ezt tartósan kivehetjük belőle. Természetesen fogyaszt az alaplap, a
CDROM, a FLOPPY, a HDD, de ennek egy 286-os esetén csak felét, negyedét. A
többi energia rendelkezésünkre áll.
Ezzel
már igen komoly berendezést, vezérlést lehet megvalósítani, vagyis nem
kerülhetjük ki a kérdést: hogy lehet megcsapolni hatékonyabban a gép
tápegységét?
Aki
már szerelte szét a PC-jét, (ugyan ki ne, aki e sorokat most is türelmesen
olvassa ...) az találkozott a HDD-re, CD-re, vagy éppen a régebbi FDD-kre
csatlakoztatható tápfeszültség ellátó kábelköteggel, aminek végén világos
színű, 4 kivezetéses dugók lógnak. Mivel szinte minden gépben van szabadon 1...2
darab, ezt fogjuk hasznosítani. (Ha
nincs, akkor a boltban kapható az un. Y-kábel, ami a konnektorok T-elosztóinak
mintájára ezt is megoldja.)
A
két középső vezeték fekete, ez a GND. A két szélső közül az egyik piros, ez a
+5 V, míg a másik sárga, ez pedig a +12 V. Látható, hogy a kábelek
keresztmetszete nem túl nagy, ezért tartósan néhány ampernél többet innen se illendő
levenni, mert nagy lesz a feszültségesés a vezetéken, ami garantáltan
megbolondíthatja a rákapcsolt elektronikát. (Ha mégis ilyen kell, alkalmazzunk több, független kábelt, vagy
cseréljük ki vastagabbra, egészen a tápegységig.) Szélsőséges esetben a vezeték a túlterheléstől felhevülhet, szigetelése
megolvadhat. Legyünk tehát roppant óvatosak, mert ez már nem a csengőreduktor
kategória!!!
Természetesen
ki szereti összeforrasztgatni, fúrni/faragni a PC-jét? Van erre szolidabb,
reverzibilis megoldás, de ismét körül kell néznünk kicsit a hulladékban. Régi,
rossz FDD, HDD egységek tápcsatlakozóját kiforrasztjuk a paneljéből, majd
vastag, hajlékony vezetéket forrasztunk rá, végül zsugorcsővel leszigeteljük.
Ez így biztonságosan, zárlat veszélye nélkül csatlakoztatható a tápegység egyik
szabad kábelvégére. Az egyik PC
SLOT véglemezt kicsavarozzuk helyéről, majd ezen egymás alá 3 db 8 mm-es
furatot készítünk. A középső furatba egy fekete, a felsőbe egy piros, míg az
alsóba egy sárga banándugó aljzatot csavarozunk. A vezetékek szabad végeit a
banándugó aljzatokhoz kapcsoljuk, majd a véglemezt a helyére szereljük. Mielőtt
az áramot bekapcsoljuk, alaposan ellenőrizzük le, nehogy valami oda érjen,
ahova nem szabadna ... L
Ezzel
cikkünk végéhez értünk. A következő szám megjelenéséig kérek mindenkit, hogy
készítse el a saját puffer fokozatát, illetve tápáram kivételi megoldását, mert
szükség lesz rá.
Amennyiben
puffert nem is kívánna valaki készíteni, egy +5 V, illetve +12 V-os táp
csatlakozást tegyen elérhetővé, mert a következőkben a meghajtó fokozatokat
fogjuk áttekinteni, s ezek egy részéhez mindkét tápfeszültségre szükség lesz!
Végül egy eleget nem ismételhető,
fontos figyelmeztetés:
A szakszerűtlenül végrehajtott átalakítás
komoly veszélyforrást jelenthet úgy a számítógépünkre, mint a saját, vagy mások
életére. (Gondoljunk csak egy zárlatból, túlterhelésből keletkezett tűzesetre,
vagy éppen egy áramütésre, esetleg túlfeszültségtől szétdurranó alkatrészre!)
Ezért mindenkit megkérek, hogy a munkálatokat kellő szakértelemmel, vagy ennek
hiányában szakértő felügyelete mellett végezze. Soha nem szégyen kérdezni,
tegyük meg hát mi is bátran! Sok
sikert, jó szórakozást.