1.3. 使用 MAX II 器件时通过 I2C 总线接口进行 GPIO 引脚扩展
对具体实现的详细说明基于的是 MAX II 器件。 也可以在 MAX V 和 MAX 10 器件中实现此应用。
图 3. GPIO 引脚扩展演示电路
实现过程涉及到使用本设计实例的源代码以及将 I2C 总线线路和 GPIO 引脚扩展输入和输出分配给 MAX II GPIO。 GPIO 引脚扩展是在 MDN-B2 演示电路板上借助一个 I2C 仿真器来进行的。该仿真器使用 PC 并行端口和接口硬件加以创建,用以创建符合 I2C 要求的双线式总线。
在 Dallas Semiconductor 的 Maxim 应用笔记 AN3230 中说明了有关如何设置 I2C 环境的详细信息。 此实用程序使用并行端口及其接口硬件来与 MAX II 器件进行交互,并提供 I2C 双线式系统上所需的 SDA 和 SCL 连接。 实现后,这种设计允许来自 MDN-B2 演示电路板的输入(通过 DIP 开关加以设置)送达 I2C 主器件。 同样,由 I2C 主器件发送的数据在 MAX II 器件的 GPIO 输出端口(连接到演示电路板上的 LED)上也可以获得。 此演示中的 I2C 主器件是运行并行端口 I2C 软件的 PC 上的用户界面。
下文详细介绍了如何在 MDN-B2 演示电路板上实现本设计实例。
信号 | 引脚 | 信号 | 引脚 |
---|---|---|---|
SCLK | 引脚 39 | SDA | 引脚 40 |
GPIO_output[0] | 引脚 69 | GPIO_output[1] | 引脚 70 |
GPIO_output[2] | 引脚 71 | GPIO_output[3] | 引脚 72 |
GPIO_output[4] | 引脚 73 | GPIO_output[5] | 引脚 74 |
GPIO_output[6] | 引脚 75 | GPIO_output[7] | 引脚 76 |
GPIO_input[0] | 引脚 55 | GPIO_input[1] | 引脚 56 |
GPIO_input[2] | 引脚 57 | GPIO_input[3] | 引脚 58 |
GPIO_input[4] | 引脚 61 | GPIO_input[5] | 引脚 66 |
GPIO_input[6] | 引脚 67 | GPIO_input[7] | 引脚 68 |
注: 请在 Quartus® II 软件中将未使用的引脚分配为 As input-tristated。 还必须对 SCLK 和 SDA 引脚启用 Auto Open-Drain 设置。 为此,请在 Assignments 菜单中,单击 Settings,然后选择 Analysis and Synthesis Settings 以启用 Auto Open-Drain 设置。 这些设置后紧跟着一个编译周期。