| 1 |
Parallel Port Adapters |
|---|
| 2 |
---------------------- |
|---|
| 3 |
If you are installing parallel port adapters it means you are probably messing |
|---|
| 4 |
around with wires and IC's and the like. If you have purchased a card that |
|---|
| 5 |
provides an external i2c/smbus this will require combined algorithm and |
|---|
| 6 |
adapter code in a single module. |
|---|
| 7 |
If you are doing it yourself by using the parallel port there |
|---|
| 8 |
are basically 2 options. |
|---|
| 9 |
|
|---|
| 10 |
1) Using the parallel port and using the i2c-pport adapter module and the |
|---|
| 11 |
i2c-algo-bit algorithm module together to enable you to wire up your parallel |
|---|
| 12 |
port to act as an i2c/smbus. This provides a bus that will enable most |
|---|
| 13 |
sensors to work but doesn't support the entire i2c/smbus capability. |
|---|
| 14 |
|
|---|
| 15 |
2) Using the parallel port to interface to a Philips PCF8584 parallel to i2c |
|---|
| 16 |
adapter chip. You will need to build a bit of a circuit to do this. This |
|---|
| 17 |
configuration needs the i2c-pcf-epp adapter module and the i2c-algo-pcf |
|---|
| 18 |
algorithm module. This support almost all of the i2c/smbus capabilities. |
|---|
| 19 |
|
|---|
| 20 |
|
|---|
| 21 |
i2c-pport Documentation |
|---|
| 22 |
----------------------- |
|---|
| 23 |
This is a primitive parallel port driver for the i2c bus, which exploits |
|---|
| 24 |
features of modern bidirectional parallel ports. |
|---|
| 25 |
|
|---|
| 26 |
Bidirectional ports have particular bits connected in following way: |
|---|
| 27 |
|
|---|
| 28 |
| |
|---|
| 29 |
/-----| R |
|---|
| 30 |
--o| |-----| |
|---|
| 31 |
read \-----| /------- Out pin |
|---|
| 32 |
|/ |
|---|
| 33 |
- -|\ |
|---|
| 34 |
write V |
|---|
| 35 |
| |
|---|
| 36 |
--- |
|---|
| 37 |
|
|---|
| 38 |
|
|---|
| 39 |
It means when output is set to 1 we can read the port. Therefore |
|---|
| 40 |
we can use 2 pins of parallel port as SDA and SCL for i2c bus. It |
|---|
| 41 |
is not necessary to add any external - additional parts, we can |
|---|
| 42 |
read and write the same port simultaneously. |
|---|
| 43 |
I only use register base+2 so it is possible to use all |
|---|
| 44 |
8 data bits of parallel port for other applications (I have |
|---|
| 45 |
connected EEPROM and LCD display). I do not use bit Enable Bi-directional |
|---|
| 46 |
Port. The only disadvantage is we can only support 5V chips. |
|---|
| 47 |
|
|---|
| 48 |
Layout: |
|---|
| 49 |
|
|---|
| 50 |
Cannon 25 pin |
|---|
| 51 |
|
|---|
| 52 |
SDA - connect to pin 14 (Auto Linefeed) |
|---|
| 53 |
SCL - connect to pin 16 (Initialize Printer) |
|---|
| 54 |
GND - connect to pin 18-25 |
|---|
| 55 |
+5V - use external supply (I use 5V from 3.5" floppy connector) |
|---|
| 56 |
|
|---|
| 57 |
no pullups requied |
|---|
| 58 |
|
|---|
| 59 |
Module parameters: |
|---|
| 60 |
|
|---|
| 61 |
base = 0xXXX |
|---|
| 62 |
XXX - 278 or 378 |
|---|
| 63 |
|
|---|
| 64 |
That's all. |
|---|
| 65 |
|
|---|
| 66 |
Daniel Smolik |
|---|
| 67 |
marvin@sitour.cz |
|---|