Navigatie |
Een asynchrone unidirectionele datalink van PC naar uCGepost door Jeroen Boere op woensdag 29 december 2004 22:07De HardwareOm iets kunnen te overzenden moet de hardware natuurlijk in orde zijn. Dus met het nodige soldeerwerk wordt de schakeling uitgebreid met een inverterend versterkertje om een paralelle poort signaal van 3,3 naar 5 Volt op te krikken.Ook een LED wordt toegevoegd om eenvoudig te kunnen zien of er inderdaad een elektrische verbinding is. Met behulp van het programma ParPort, bedoeld om de parallele poort aan te sturen en/of te monitoren, wordt met succes getest dat de verbinding in orde is: een 1 op de poort laat de LED branden, bij een 0 op de poort staat hij uit. Meten van het signaal op de input pin van de uC laat zien dat dit ook in orde is. Verbazingwekkend eenvoudig eigenlijk om zo de parallele poort te gebruiken.
Als spanningsbron van de gehele schakeling wordt een PC voeding gebruikt. In het begin een losstaande, maar vanwege het gedoe is de schakeling later gewoon met m’n PC voeding verbonden (dus als de PC aanstaat is de kerstverlichting aan!). Zoals te zien wordt er geen kristal gebruikt maar een externe weerstand aan OSC1. Er wordt een 68K weerstand gekozen, deze geeft de uC een kloksnelheid van zo’n 2,45 MHz. De RA4 pin is op een andere manier met de transistor verbonden dan de rest omdat dit (na uren foutzoeken) een Open Drain output bleek te zijn. Deze kan dus alleen maar wél of niet naar ground trekken maar kan nooit zelf +5 leveren. Nu de hardware blijkt te werken kunnen we overgaan op de softwarekant van het verhaal, maar niet voordat we de volledige schakeling hebben gezien:
Het stuk aan de RA0:3, 6 en RB0:7 is 13 keer uitgevoerd - één keer voor ieder lampje. Zoals te zien wordt er geen kristal gebruikt maar een externe weerstand aan OSC1. Er wordt een 68K weerstand gekozen, deze geeft de uC een kloksnelheid van zo’n 2,45 MHz. De RA4 pin is op een andere manier met de transistor verbonden dan de rest omdat dit (na uren foutzoeken) een Open Drain output bleek te zijn. Deze kan dus alleen maar wél of niet naar ground trekken maar kan nooit zelf +5 leveren.
|
|
|
© 1999-2008 Circuits Online Team. 14.34 ms Valid XHTML 1.0 |