AN 494: 使用 Altera MAX 系列中的 I2C 总线接口 实现 GPIO 引脚扩展

ID 683261
日期 9/22/2014
Public

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 演示电路板上实现本设计实例。

表 3.  EPM240G 引脚分配
信号 引脚 信号 引脚
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。 还必须对 SCLKSDA 引脚启用 Auto Open-Drain 设置。 为此,请在 Assignments 菜单中,单击 Settings,然后选择 Analysis and Synthesis Settings 以启用 Auto Open-Drain 设置。 这些设置后紧跟着一个编译周期。