I2C Interface am EPP

background image

Die meisten I2C-Interfaces, die bisher in
Elektor beschrieben wurden, basieren auf
einer Philips-Applikation. Diese Schaltung
macht da keine Ausnahme. Besonders ist
aber die Kombination eines I2C-Interfaces
mit einem 8-bit-Interface. Zur Steuerung bie-
tet sich der Parallelport des PCs an, da eine
8-bit-Ausgabe von Anfang an von IBM defi-
niert war. Da die Datenleitungen jedoch nur
für die Ausgabe bestimmt waren, mußte
früher zu einem Trick gegriffen werden, um

Daten lesen zu können, nämlich
über den Statusport der Schnitt-
stelle. Da dieser aber nur 5 bit breit
ist, mußte dies nibbleweise zu je 4
bit geschehen.
Durch die Entwicklung neuer Modi
wie EPP (enhanced paralell port)
oder dem ECP (extended capabilities
port) wurde es möglich, direkt über
den Datenbus 8-bit-Daten zu lesen.
Seit der Einführung dieser Modi nut-

zen auch immer mehr Peripherie-
geräte wie zum Beispiel Scanner die
parallele Schnittstelle, um mit dem
PC zu kommunizieren, da erst mit
dem direkten Lesen der Daten eine
entsprechend hohe Übertraguns-
grate möglich wurde.

Hardware

Die Hardware des I2C/8-bit-Interfa-
ces in Bild 1 besteht eigentlich nur
aus einem 25-poligen Steckverbinder
und ein paar Gattern als Treiber und
Inverter. Die I2C-Kommunikation
läuft über die Gatter IC3b und
IC3d...f. SDA und SCL werden über
die beiden Datenleitungen D0 und
D1 angesteuert und über UserB2
(Pin 15) respektive Intr (Pin 10) der
EPP-Schnittstelle K1 gelesen. Ein
paar Pull-up-Widerstände sorgen für
geordnete Pegelverhältnisse. Takt-
und Datenleitung des I2C-Busses
findet man sowohl an Pin 3 (SCL)
beziehungsweise Pin 5 (SDA) des
Kombinations-Pfostenverbinders K2
wie auch zusammen mit Masse auf
Lötnägel herausgeführt.
Der PC erfährt, ob ein Adapter ange-
schlossen (init_iic) ist, durch die
durch Gatter IC2b geschlossene
Schleife von Pin 17 (nAStrb) zu Pin 13
(XFlagUser3). Über den ControlPort
Pin 16 (nInit) wird der bidirektionale
8-bit-Bustreiber IC1 aktiviert und
damit festgelegt, ob das Interface im
I2C- oder im Parallel-Modus arbeitet
(Funktionen io_enable und io-disable

COMPUTER

24

Elektor

10/2000

I

2

C-Interface am EPP

mit Logik-Analyser

Von Ingo Gerlach DH1AAD

E-Mail:

IngoGerlach@welfen-netz.com

Mit diesem Interface an der erweiterten parallelen Druckerschnittstelle
sind sowohl eine Kommunikation nach dem I

2

C-Protokoll als auch direkte

Lese- und Schreibzugriffe auf die acht Datenbits möglich.

background image

fen, funktioniert diese DLL nur unter den
Betriebssystemen Windows 95/98, nicht aber
unter NT, da NT den direkten Zugriff auf die
Hardware verbietet. Als Quasi-Schnittstelle
zwischen der DLL und dem Anwendungs-
programm wie zum Beispiel VisualBasic eig-
net sich die Datei I2CEPP.BAS. Hier sind die
Funktionen sowie die Aufrufparameter dekla-
riert und beschrieben.

Testprogramm

Auf der Diskette ist ein einfachst strukturier-
ter 8-Kanal-Logik-Analysator enthalten, um
ohne weiteren Hardwareaufwand die Schnitt-
stelle zu testen und acht TTL-Pegel auf dem
Monitor darzustellen. Es sind maximal 64000
Messungen möglich (Schieberegler Counts),

der DLL). Die Datenrichtung
(lesen/schreiben) wird über nWrite
und Gatter IC3a gewählt (L = Lesen,
H = Schreiben). RC-Glied R1/C1 und
Gatter IC2a schließlich sorgen für
den erforderlichen Übernahmeimpuls
an Pin 11 von K1 (nWait) für die
Dateneingabe. Bild 2 zeigt das kor-
rekte Timing eines Lesevorgangs.
Alle Bauteile finden zusammen mit
einer einfachen Spannungsstabili-
sierung durch B1, C2...C7 und 5-V-
Festspannungsregler IC4 und Funk-
tionsleuchte D1 auf der in Bild 3
gezeigten Platine Platz. Die ICs müs-
sen mit (geeigneten) Fassungen aus-
gestattet werden, da einige der elf
Drahtbrücken auch unterhalb dieser

Bausteine verlaufen. Die meisten der
10-k-Pull-up-Widerstände werden
stehend eingebaut, ein gemeinsa-
mer Draht an den freien Enden wird
neben der Widerstandsreihe mit +5
V verbunden. Zur Spannungsversor-
gung reicht ein kleiner 9-V-Trafo oder
besser ein einfaches 9-V-Stecker-
netzteil.

DLL und BAS

Alle Funktionen befinden sich in der
I2CDLL.DLL, die wie die restliche
Software auf Diskette EPS 000096-11
erhältlich ist. Da diese auf den C-
Funktionen outp und inp basieren,
die direkt auf die Hardware zugrei-

COMPUTER

25

10/2000

Elektor

Bild 1. Die Hardware des Interfaces besteht aus ein paar Gattern und einem achtfachen
bidirektionalen Bustreiber.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

K1

K2

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

1

2

3

4

5

6

7

8

9

13

12

1

IC3f

11

10

1

IC3e

9

8

1

IC3d

3

4

1

IC3b

R7

10k

R3

10k

R6

10k

R2

10k

5

6

1

IC3c

1

2

1

IC3a

74LS245

IC1

3EN2

3EN1

11

12

13

14

15

16

17

18

19

G3

2

3

4

7

8

9

5

6

1

1

2

R8

10k

R9

10k

13

12

1

IC2f

R11

10k

R12

10k

R1

22k

C1

10n

1

2

1

IC2a

3

4

1

IC2b

R5

10k

R4

10k

B1

B80C1500

C3

470µ
25V

C2

10µ
63V

C4

100n

C5

100n

C6

100n

C7

100n

D0

D1

D2

D3

D4

D5

D6

D7

+5V

GND

SDA

SCL

STROBE PE

SDA

SCL

5V

2

7805

IC4

R10

1k

D1

IC1

20

10

IC2

14

7

IC3

14

7

5

6

1

IC2c

9

8

1

IC2d

11

10

1

IC2e

5V

5V

5V

5V

5V

5V

IC2, IC3 = 74LS06

000096 - 11

I C

Belegung der
EPP-Schnitstelle

Pin

Funktion

1 nWrite
2 Data

D0

3 Data

D1

4 Data

D2

5 Data

D3

6 Data

D4

7 Data

D5

8 DataD6
9 Data

D7

10

Intr

11

nWait

12

UserB1

13

XFlagUser3

14

nDStrb

15

UserB2

16

nInit

17

nAStrb

18...25

Masse

Belegung der
Ausgangsbuchse K2

Pin

Funktion

1 Strobe
2 PE

(Eingang)

3 SCL
5 SDA
7 Masse
9

+5 V (Ausgang)

11

Data D7

13

Data D6

15

DataD5

17

Data D4

19

Data D3

21

Data D2

23

Data D1

25

Data D0

background image

der darzustellende Bereich wird mit den Reg-
lern StartShow und EndShow eingestellt. Die
gemessenen Werte können gespeichert und
auch wieder gelesen werden. Während einer
Messung wird Strobe (Pin 1 von K2) auf Low
gezogen.
Weiter besteht die Möglichkeit, extern die
Messung zu starten. Dazu muss die Check-
Box PE Trigger gesetzt sein. Die Messung
wird erst dann gestartet, wenn Pin 2 von K2
auf LOW geht.

(000096)rg

Verwendete Literatur:

Parallel Port Complete ,
Jan Axelson

Lakeview Research, ISBN 0-9650819-1-5

COMPUTER

26

Elektor

10/2000

Stückliste

Widerstände:

R1 = 22 k
R2...R9,R11,R12 = 10 k
R10 = 1 k

Kondensatoren:

C1 = 10 n
C2 = 10

µF/63 V stehend

C3 = 470

µF/25 V stehend

C4...C7 = 100 n keramisch

Halbleiter:

D1 = LED, high efficiency
IC1 = 74LS245
IC2,IC3 = 74LS06
IC4 = 7805

Außerdem:

K1 = 25-poliger Sub-D—Stecker für

Platinenmontage, gewinkelt

K2 = 26-poliger Pfostenverbinder mit Box
B1 = B80C1500 rund
Platine EPS 000096-1
Diskette EPS 000096-11
Disketten EPS 000096-12a...c

Td

data byte

Th

Tel

Tes

data

n Write

nD Strobe

n Wait

X Flag

n Init

nA Strobe

000096 - 12

Bild 2. Ein Lesevorgang über die EPP-Schnittstelle.

Bild 3. Die Hardware wird auf dieser kleinen Platine untergebracht.

(C) ELEKTOR

000096-1

B1

C1

C2

C3

C4

C5

C6

C7

D1

H1

H2

H3

IC1

IC2

IC3

IC4

K1

K2

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

R11

R12

~

~

SDA

SCL

T

*

000096-1

(C) ELEKTOR

000096-1

Inhalt der Disketten 000096-12a...c

Auf drei Disketten 000096-12a...c ist die Anwendung Logic-Analyser inklusive
sämtlicher DLLs sowie ein Setup-Programm zu finden. Damit kann der Logic-
Analyser auch auf einem Rechner ohne Visual Basic installiert und ausgeführt
werden.
Auf der Diskette EPS 000096-11 sind Sourcen, Forms sowie die erforderliche
I2C_DLL.DLL untergebracht. Der Inhalt dieser Diskette dient als Beispiel für die
Verwendung der DLL-Funktionen und wird benötigt, will man das Programm
ändern (siehe auch I2CEPP.BAS Version 2). Möchte man das Projekt auf seinem
Rechner mit VB bearbeiten, empfiehlt sich folgende Vorgehensweise:

1. Verzeichnis anlegen

(z.B. LA)

2. Alle Dateien der vier-

ten Diskette in das
Verzeichnis kopieren.

3. Die Datei

I2C_DLL.DLL in das
Verzeichnis WIN-
DOWS/SYSTEM
kopieren.

4. Unter VB Datei? Pro-

jekt öffnen und das
Projekt LA.VBP aus-
wählen.


Wyszukiwarka

Podobne podstrony:
I2C Interface fuer Druckerschnittstelle
8bit IO Port ueber I2C Interface
Mikrokontrolery STM32 Użycie interfejsu I2C, USART, SPI
i2c to keyboard interface
interfejs i2c
AM FM SSB Empfänger Teil 1
2006 EGZ WSTĘPNY NA AM

więcej podobnych podstron