T-Core 开发板上有一个 2×6 的扩展接口 TMD(Terasic Mini Digital)。TMD 扩展接口有 8 个数字 GPIO 用户引脚连接到 MAX 10 FPGA,还有两个引脚连接到电源、两个引脚连接到 GND。有两个瞬态电压抑 制二极管阵列用于实现对 8 个 GPIO 用户引脚的防静电和过压保护。下图 为 T-Core 开发板 TMD 扩展 接口和 FPGA 之间的连接示意图。

SIF 子卡上有 I2C 接口,下图 给出了 SIF 子卡的示意图。

T-Core 开发板没有 I2C 接口,将具有 I2C 接口的 SIF 子卡连接到 T-Core 开发板上的 TMD 扩展接口,则 可在 T-Core 开发板上实现 I2C 通讯功能。T-Core 开发板与 SIF 子卡的实物连接如图所示。

I2C EEPROM 使用的是 AT24C02,它是一个串行的 Flash 存储器,容量为 2K bit。下图给出了 I2C Flash 部分的连接原理图。

SIF子卡的插针接口定义如下:

T-Core的TMD接口:

I2C对应引脚如下:

代码参考:https://www.cnblogs.com/DoreenLiu/p/18952510 这个连接的代码基于DE2-115, 如果是T-Core, 则需做如下修改:
修改器件
修改器件到10M50DAF484C7G:

修改引脚分配
修改FPGA引脚绑定如下:

修改代码
另外,因为AT24C02容量是2K,所以地址只有8bit,所以这里要把BIT_CTRL 的值从1改到0:

这样就移植完成了,编译生成i2c_eeprom.sof文件, 插上mini USB线到T-Core的J2接口,将该配置文件配置到开发板,可看到LED0 过一小会常亮。

源码下载地址:

添加微信 yuchenaimeimei 即可提供。
备注:AT24C02的数据手册datasheet参考网页:https://www.alldatasheetcn.com/html-pdf/391488/ATMEL/AT24C02C/151/1/AT24C02C.html
浙公网安备 33010602011771号