1.2. 采用 MAX II 器件实现的 I2C 选择线路多路复用器
对具体实现的详细说明基于的是 MAX II 器件。 也可以在 MAX V 和 MAX 10 器件中实现此应用。
图 1 中的“MUX”代表着采用 MAX II 器件实现的单向多路复用器。 该多路复用器的选择线路通过一个 I2C 接口加以控制,该接口也在同一设备中实现。 因此,该多路复用器是一个 I2C 从器件,来自主机控制器的时钟线路连接到 SD 器件 A 或 SD 器件 B,具体取决于接收到的 I2C 数据。
MAX II 器件(I2C 从器件)中的 I2C 接口实现采用 7 位地址并遵循通用的 I2C 协议。 起始信号由主器件发送,后跟 7 位地址和一个读/写位。 当 I2C 总线上的地址广播与从器件的地址相匹配时,该器件就会发送一个 ACK(确认)信号。 根据主器件要求选择线路做出的选择,接下来会发送一个 DATA 字节。 然后,从器件会再发送一个 ACK 信号。 当主器件发送 Stop (P) 信号时,数据事务会话即告结束。
信号 | 用途 | 方向 |
---|---|---|
SCL | I2C 时钟 | 输出 |
SDA | I2C 串行数据 | 双向 |
本设计实例可以使用 EPM240G 或 EPM240 器件或者使用任何其他 MAX II 器件加以实现。 它在 I2C 总线环境中进行演示。 实现过程涉及到使用本设计实例的源代码,以及为 SD 器件 A 和 SD 器件 B 分配 I2C 总线线路、SD 主机控制器时钟线路、弹出线路及时钟线路。用于指示当前选择的 LED 指示灯连接到一个用来显示选择线路状态的已分配输出端口。 此 SD 多路复用器在 MDN-B2 演示电路板上借助于一个 I2C 仿真器加以演示。 该仿真器使用 PC 并行端口和接口硬件加以创建,用以创建符合 I2C 要求的双线式总线。MDN-B2 配有两个 SD 插槽以容纳两个 SD 器件(要进行多路复用);此外还配备一个 SD 卡形状的 PCB 适配器,该适配器可插入到 SD 主机的标准 SD 插槽中。
此实用程序使用并行端口及其硬件接口来与基于 MAX II 的多路复用器相连,并提供 I2C 双线式系统上所需的 SDA 和 SCL 连接。 实现后,此设计允许 I2C 主器件(或 Maxim 实用程序的控制面板)控制 MDN-B2 上基于 MAX II 的多路复用器的选择线路。 下表列出了本设计实例的 EPM240G 引脚分配情况。
信号 | 引脚 | 信号 | 引脚 |
---|---|---|---|
APD_inhibit | 引脚 14 | APD_inhibit_inv | 引脚 12 |
eject | 引脚 64 | SCLK | 引脚 39 |
SDA | 引脚 40 | sdA_clock | 引脚 2 |
sdB_clock | 引脚 7 | sd_host_clock | 引脚 28 |
sel | 引脚 76 | — | — |