内核驱动 i2c-parport¶
作者:Jean Delvare <jdelvare@suse.de>
这是一个用于多个基于并行端口的 I2C 适配器的统一驱动程序,例如 Philips、Velleman 或 ELV 制造的适配器。此驱动程序旨在替代较旧的单独驱动程序
i2c-philips-par
i2c-elv
i2c-velleman
video/i2c-parport(与此不同,专用于自制图文电视适配器)
它目前支持以下设备
(type=0) Philips 适配器
(type=1) 自制图文电视适配器
(type=2) Velleman K8000 适配器
(type=3) ELV 适配器
(type=4) Analog Devices ADM1032 评估板
(type=5) Analog Devices 评估板:ADM1025、ADM1030、ADM1031
(type=6) Barco LPT->DVI (K5800236) 适配器
(type=7) One For All JP1 并行端口适配器
(type=8) VCT-jig
这些设备使用不同的引脚配置,因此您必须使用 type 模块参数告知驱动程序您拥有什么。没有办法自动检测设备。如果需要,可以轻松添加对不同引脚配置的支持。
早期的内核默认为 type=0 (Philips)。但是现在,如果缺少 type 参数,驱动程序将无法初始化。
在正确连接到并行端口中断引脚的适配器上,可以使用 SMBus 警报支持。
构建您自己的适配器¶
如果您想构建自己的基于并行端口的 I2C 适配器,这里有一个电子原理图示例(感谢 Sylvain Munaut)
Device PC
Side ___________________Vdd (+) Side
| | |
--- --- ---
| | | | | |
|R| |R| |R|
| | | | | |
--- --- ---
| | |
| | /| |
SCL ----------x--------o |-----------x------------------- pin 2
| \| | |
| | |
| |\ | |
SDA ----------x----x---| o---x--------------------------- pin 13
| |/ |
| |
| /| |
---------o |----------------x-------------- pin 3
\| | |
| |
--- ---
| | | |
|R| |R|
| | | |
--- ---
| |
### ###
GND GND
- 备注
这是 Analog Devices 评估板上使用的确切引脚排列和电子元件。
所有反相器
/| -o |- \|
必须是 74HC05,它们必须是开路集电极输出。
所有电阻均为 10k。
并行端口的引脚 18-25 连接到 GND。
如果驱动程序将引脚 4-9 (D2-D7) 拉高,则可以用作 VDD。ADM1032 评估板使用 D4-D7。请注意,您可以从并行端口提取的电流量是有限的。还要注意,所有连接的线路都必须处于相同的状态,否则您将使输出缓冲器短路!因此,在加载 i2c-parport 模块后插入 I2C 适配器可能是一个很好的安全措施,因为初始化之前的数据线状态可能是未知的。
这是 5V!
显然,您无法读取 SCL(因此它不是真正符合标准的)。很容易添加,只需复制 SDA 部分并使用另一个输入引脚。这将给出(ELV 兼容的引脚排列)
Device PC Side ______________________________Vdd (+) Side | | | | --- --- --- --- | | | | | | | | |R| |R| |R| |R| | | | | | | | | --- --- --- --- | | | | | | |\ | | SCL ----------x--------x--| o---x------------------------ pin 15 | | |/ | | | | | | /| | | ---o |-------------x-------------- pin 2 | \| | | | | | | | | | |\ | | SDA ---------------x---x--| o--------x------------------- pin 10 | |/ | | | | /| | ---o |------------------x--------- pin 3 \| | | | | --- --- | | | | |R| |R| | | | | --- --- | | ### ### GND GND
如果可能,您应该使用与现有适配器相同的引脚配置,这样您甚至不必更改代码。
相似(但不同)的驱动程序¶
此驱动程序与 i2c 包中的 i2c-pport 驱动程序不同。i2c-pport 驱动程序利用现代并行端口功能,因此您不需要额外的电子元件。但是,它还有其他限制,并且尚未移植到 Linux 2.6(尚未)。
此驱动程序也与 lm_sensors 包中的 i2c-pcf-epp 驱动程序不同。i2c-pcf-epp 驱动程序不直接将并行端口用作 I2C 总线。相反,它使用它来控制外部 I2C 总线主控器。该驱动程序也尚未移植到 Linux 2.6(尚未)。
Velleman 适配器的旧文档¶
有用的链接
Velleman http://www.velleman.be/
Velleman K8000 Howto http://howto.htlw16.ac.at/k8000-howto.html
该项目导致了 Velleman K8000 和 K8005 的新库
LIBK8000 v1.99.1 和 LIBK8005 v0.21
使用这些库,您可以使用原始 Velleman 软件中的简单命令(如 SetIOchannel、ReadADchannel、SendStepCCWFull 等),使用 /dev/velleman 来控制 K8000 接口卡和 K8005 步进电机卡。
One For All JP1 并行端口适配器¶
JP1 项目围绕着一组遥控器展开,这些遥控器通过电池仓中的 6 针跳线暴露其内部配置 EEPROM 所在的 I2C 总线。更多详细信息请访问
http://www.hifi-remote.com/jp1/
简单的并行端口硬件的详细信息可以在以下位置找到