AN 493: 采用 Altera MAX 系列实现 I2C 电池量表接口

ID 683033
日期 9/22/2014
Public

1.3. 实现

对具体实现的详细说明基于的是 MAX II 器件。 也可以在 MAX V 和 MAX 10 器件中实现此应用。

在实现此设计实例时,需要一个 EPM240 器件或任何其他 MAX II 器件,一个 I2C 电池量表器件(如 Maxim DS2745)。 此设计通过 I2C 总线与 Maxim DS2745 电池量表进行通信,并显示不断更新的电压读取,无需任何外部干预。

DS2745 电池量表返回的电压状态有 11 位宽,采用 2 进制补码形式。 MAX II 按照 8 个电压量级将电压读数转换为便于观察者查看的形式。 之后,借助一个包含 8 个 LED 的 LED 阵列将它们显示出来。

下文详细介绍了如何在 MDN-B2 演示电路板上实现本设计实例。

表 2.  采用 MDN-B2 演示电路板的设计实例
EPM240G 引脚分配
信号 引脚 信号 引脚
SCLK 引脚 39 SDA 引脚 40
led_level[0] 引脚 76 led_level[1] 引脚 75
led_level[2] 引脚 74 led_level[3] 引脚 73
led_level[4] 引脚 72 led_level[5] 引脚 71
led_level[6] 引脚 70 led_level[7] 引脚 69

在 Quartus® II 软件中将未使用的引脚分配为 input tri-stated 状态。 还必须对 SCLKSDA 引脚启用 Auto Open Drain 设置。 为此,请在 Assignments 菜单中,单击 Settings,然后选择 Analysis and Synthesis Settings 以启用 Auto Open-Drain 设置。 这些设置后紧跟着一个编译周期。

本设计实例采用了 Verilog 来实现,成功地运行在 MDN-B2 演示电路板上,如本文档所述。