Centronics (LPT) + 74139 + 74147

Alle vragen m.b.t digitale schakelingen m.b.v. losse i.c's
en oplossingen m.b.v. PIC processoren.
Plaats reactie
Willumpie
Berichten: 10
Lid geworden op: ma 17 mei 2004, 11:17

Centronics (LPT) + 74139 + 74147

Bericht door Willumpie »

Ik heb een ooit een project gedaan met de paralelle poort van een pc. Hiermee stuurde ik 6 input en 6 output lijnen mee aan.

Dit heb ik proberen om te zetten naar een windows applicatie, maar nu krijg ik fouten, omdat windows ertussen zit te blaaten.
Dit kan ook aan het feit liggen dat wij de error lijn gebruiken als I/O.

Nu wilde ik deze schakeling omzetten door er een decoder en een encoder tussen te zetten. Ik hoef dan alleen maar de datalijnen te gebruiken.

Nu ben ik newby wat betreft digitale schakelingen, en krijg dus die 74139 niet aan de praat.

Ik heb een datasheet, en heb 5 volt op pin 16/8 gezet.
(pin 16 = Vcc en pin 8=GND)
Nu wil men dus beweren dat ik de input op drie manieren kan benaderen.
(undefined / High / Low)

Heeft er iemand een hele simpele schakeling hoe je deze chip aan moet spreken?

Bijvoorbaat dank,

Willumpie
Mat Janssen
Moderator
Moderator
Berichten: 11503
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Beste Willumpie,
De 74139 is een gewone 1 uit 4 decoder met een z.g. enable ingang.
De 2 ingangen worden binair uitgedecodeerd wanneer de enable ingang laag is.
0-0, 0-1, 1-0, en 1-1 geven op de desbetreffende uitgang een laag als dus die enable ook laag is en als de enable hoog is gaan de uitgangen ook naar hoog en trekken zich niks meer aan van de ingangen.
Daar er twee van deze circuits inzitten zullen beide enable ingangen laag moeten zijn.
Het gaat over pen 1 en pen 15. Dit zijn die enable ingangen.
Wanneer je nog vragen hebt horen wij dat wel.
signature ruimte te huur ;-)
Verhuurd :!:
Willumpie
Berichten: 10
Lid geworden op: ma 17 mei 2004, 11:17

Bericht door Willumpie »

Bedankt voor je reactie,

Nu heb ik de volgende schakeling gebouwd in Elektronic workbech:
Ik heb op pin 16 en pin 8 een voeding van 5Volt aangesloten.

Op pin 15 (enable) heb ik een two-state schakelaar gezet, waarbij ik de ene kant doorgelust heb naar de - en de andere naar de + van de voeding.

Met pin 13 en 14 heb ik hetzelfde gedaan.

Verder meet ik de output spanningen ten opzichte van de aarde.

Wat mij opvalt is dat als ik de enable doorlust met de -, dan reageert hij bijna zoals ik eigenlijk verwacht had.

Ik kan namelijk alleen de outputs 1,2,3 aansturen. 4 reageert nergens op.

Moet ik nu de Enable op de min ( - van de chip-voeding) aansluiten / of op de +?
En hoe zit dat met de Input's?

Of zit er gewoon een bugje in EWB?

Bijvoorbaat dank,

Met vriendelijke groet,

Willumpie
Mat Janssen
Moderator
Moderator
Berichten: 11503
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Zowel de inputs als de enable moet je met zoeen schakelaartje van de + naar de min schakelen, en dan maogen de uitgangen alleen reageren als de enable ingang naar de min staat.
Als dit niet zo is zit er een BUG in electronic workbench.

E A B -- uitgang
1 x x --- hoog
0 0 0 -- 1 laag rest hoog.
0 1 0 -- 2 laag rest hoog.
0 0 1 -- 3 laag rest hoog.
0 1 1 -- 4 laag rest hoog.
signature ruimte te huur ;-)
Verhuurd :!:
Willumpie
Berichten: 10
Lid geworden op: ma 17 mei 2004, 11:17

Bericht door Willumpie »

Mooi, dan ga ik het gelijk uittesten. Ik heb de chips al liggen.
Ben beniewd wat eruit komt.

Maar even tussendoor:
Wat gebeurt er nu als ik een input op een pin van de LPT (D0 - D7) zet?
Ik ben bang dat er dan niks gebeurt, of ziet ik dit verkeerd?

met vriendelijke groet,

Willumpie
Mat Janssen
Moderator
Moderator
Berichten: 11503
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Wanneer jij een input pin van het ic naar een Datapin van de printerpoort brengt en verder niks doet, dan gebeurt er ook niks.
Maar wanneer jij Data naar de printerpoort gaat sturen dan zal het ic daarop reageren.
Je moet er wel voor zorgen dat bijde nullen aan elkaar zitten.
De nul van de printerpoort en de nul van het printje waarop jouw schakeling zit moeten aan elkaar.
signature ruimte te huur ;-)
Verhuurd :!:
Willumpie
Berichten: 10
Lid geworden op: ma 17 mei 2004, 11:17

Bericht door Willumpie »

Oeps, Het is dus de bedoeling dat ik 6 lampjes ga schakelen, en 6 schakelaars uit ga lezen dmv de LPT.

Ik wil de datapinnen (D0-D7) aansluiten op de input van de 74139.
Maar ik begrijp dat dit dan niet gaat lukken?

Welke oplossing zou ik hiervoor moeten bedenken?

Bijvoorbaat dank, en met vriendelijke groet,

Willumpie
Mat Janssen
Moderator
Moderator
Berichten: 11503
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Zoiets kun je ook anders aanpakken.
De printerpoort is bidirectioneel tegenwoordig. Dit wil zeggen dat je ervan kunt lezen en ook kunt schrijven.
Maak een printje waarop je 6/8 latch flipflopen zet die de data onthouden als je er naar toe schrijft.
En maak ook een leesbuffer die de pc op aanvraag kan lezen.
Een van de control pinnen van de printerpoort verzorgt dan het verschil tussen lezen en schrijven van jouw printje.
Ik kan wel iets ontwerpen hiervoor als je wilt maar de software zul je dan zelf moeten schrijven en denk eraan dat windows xp (2000) het niet leuk vindt zomaar iets te prullen met de printerpoort.
signature ruimte te huur ;-)
Verhuurd :!:
Willumpie
Berichten: 10
Lid geworden op: ma 17 mei 2004, 11:17

Bericht door Willumpie »

mat janssen schreef:Zoiets kun je ook anders aanpakken.
De printerpoort is bidirectioneel tegenwoordig. Dit wil zeggen dat je ervan kunt lezen en ook kunt schrijven.
Dat weet ik, voor de huidige versie van het project heb ik zo ongeveer alle pinnen gebruikt, inclusief de error lijnen.
mat janssen schreef: Maak een printje waarop je 6/8 latch flipflopen zet die de data onthouden als je er naar toe schrijft.
En maak ook een leesbuffer die de pc op aanvraag kan lezen.
Een van de control pinnen van de printerpoort verzorgt dan het verschil tussen lezen en schrijven van jouw printje.
Ik kan wel iets ontwerpen hiervoor als je wilt maar de software zul je dan zelf moeten schrijven en denk eraan dat windows xp (2000) het niet leuk vindt zomaar iets te prullen met de printerpoort.
Windows vindt het idd niet zo grappig. Hij geeft zelf af en toe error aan.
Wat het probleem is met deze situatie:
Ik moet, na een variabele tijdslimiet, een output aansturen, daarna wachten tot een bepaalde input geactiveerd is (de eerder ingeschakelde output moet dan weer uit gaan) vervolgens moet ik de tijden hebben die tussen de verschillende handelingen zitten. dus de tijd tussen het hoog zetten van de output en het activeren van de input. Totaal kom ik op drie metingen, en deze moeten op de msec nauwkeurig.

We hadden eerst een testversie in DOS, en dat werkte perfect, alleen nu zit dat windows er tussen te blaaten, en werkt het niet meer zo naar behoren.

Ik ben bang dat ik dan met timer's en/of counters moet gaan werken.
In ieder geval bedankt voor het aanbod om een voorbeeld te maken, ik ben alleen bang dat ik er dan niet mee verder komt.

Wat de software betreft: Ik kom uit deze hoek, dus dat moet wel lukken.

In ieder geval bedankt voor je reactie,

Ik zoek nog effe verder.

Met vriendelijke groet,

Willumpie
Plaats reactie