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