I2C总线主控软核

高效灵活的I2C设计,支持多款莱迪思FPGA系列

支持莱迪思主流FPGA系列器件的I2C—— I2C(内部集成电路总线)是一种两线式接口,能够以每秒几兆比特的中高速率进行半双工串行通信。I2C包含一个寻址系统用于识别I2C总线上的多个I2C从器件。该系统使用两条双向线路:SDA(串行数据)和SCL(串行时钟)。

包含符合I2C规范的源代码——该参考设计使用莱迪思Diamond®3.11和Radiant®2.1软件,能够在任何莱迪思FPGA上实现I2C主控模块。它遵循I2C规范,提供设备寻址、读/写操作和确认机制,可以将兼容I2C的接口添加到系统的任何组件上。

可配置满足您的系统要求——FPGA器件的可编程特性让您能够灵活地为I2C主控配置任何合法的从器件地址,这样可以避免在拥有多个从设备的I2C总线上出现潜在的从地址冲突。

特性

  • 支持各类莱迪思FPGA,如:MachXO2™、MachXO3™、LatticeECP3™、ECP5™、CrossLink™、CrossLink™-NX和iCE40 UltraPlus™
  • 支持7位和10位从器件寻址
  • 支持在100 kHz(标准模式)和400 kHz(快速模式)下运行
  • 支持重复启动操作
  • 中断产生逻辑和字节时钟延长

跳转到

框图

Soft I2C Bus Master Block Diagram

性能和资源使用情况

器件系列 语言 资源使用 fMAX (MHz) I/O
LatticeECP3 Verilog 290 >32 最多69个端口
ECP5 Verilog 289 >32 最多69个端口
CrossLink Verilog ~263 >32 最多69个端口
CrossLink-NX Verilog 290 >32 最多69个端口
iCE40 UltraPlus Verilog 282 >32 最多69个端口
MachXO2 Verilog 292 >32 最多69个端口
MachXO3 Verilog 292 >32 最多69个端口
 

注释:以上性能和设计规模是基于示例实现的估算值。实际结果根据所选参数、时序约束和器件实现可能所有不同。有关详细信息请参见参考设计文档。

文档

技术资源
标题 编号 版本 日期 格式 文件大小
选择全部
Generic Soft I2C Master Controller - Documentation
FPGA-RD-02201 1.0 12/10/2020 PDF 1.2 MB
Generic Soft I2C Master Controller - Project Files
FPGA-RD-02201 1.0 12/10/2020 ZIP 1.2 MB