内核驱动 i2c-parport

作者:Jean Delvare <jdelvare@suse.de>

这是几个 i2c-over-parallel-port 适配器的统一驱动程序,例如 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-over-parallel-port 适配器,这里有一个电子原理图示例(归功于 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 K8000 和 K8005 的新库

LIBK8000 v1.99.1 和 LIBK8005 v0.21

使用这些库,您可以使用原始 Velleman 软件中的简单命令来控制 K8000 接口卡和 K8005 步进电机卡,例如 SetIOchannel、ReadADchannel、SendStepCCWFull 等,使用 /dev/velleman。

One For All JP1 并口适配器

JP1 项目围绕一组遥控器展开,这些遥控器通过电池盒中的 6 针跳线公开其内部配置 EEPROM 所在的 I2C 总线。 更多细节可以在

http://www.hifi-remote.com/jp1/

可以找到简单的并口硬件的详细信息,网址为

http://www.hifi-remote.com/jp1/hardware.shtml