给予FPGA的I2C接口程序实现
给予FPGA的I2C接口程序实现IIC总线的优点
作为一种串行总线,IIC总线虽没有并行总线的数据吞吐能力,但它具有如下优点:
1、仅由两根信号线组成,节省了芯片I/O、节省PCB面积、节省成本等。
2、总线上可同时挂接多个器件,器件之间是靠不同的编址来区分的,而不需要附加的I/O线或地址译码部件。
3、总线可裁减性好。在原有总线连接的基础上可以随时新增或者删除器件。
4、总线电气兼容性好。IIC总线规定器件之间以开漏I/O互联,这样,只要选取适当的上拉电阻就能轻易实现3V/5V逻辑电平的兼容,而不需要额外的转换。
5、支持多种通信方式。一主多从是最常见的通信方式。此外还支持双主机通信、多主机通信以及广播模式等等。
6、兼顾高低速通信。IIC总线标准传输速率为100kbit/s,在快速模式下为400 kbps,高速模式下为3.4Mbit/s。IIC总线的通信速率也可以低至几kbps以下,用以支持低速器件或者用来延长通信距离。
IIC总线带来的这些好处,得到了广大工程师的青睐。在通信,音/视频,智能仪表、工控领域都得到了应用。
串行扩展接口的发展是新一代单片机技术的显著特点,其中I2C 总线功耗低,结构简单,使用灵活,被广泛应用于视频、音像等各类设备中。
本课题首先研究了IIC 总线的规范,简要介绍了Quartus Ⅱ设计平台,以及FPGA 的设计流程。在此基础上,重点介绍了IIC 接口的总体设计方案,详细描述时序状态机的工作原理和Verilog HDL 语言的实现,以及在Quartus Ⅱ平台上的时序仿真。本系统采用了自顶向下的设计方法,利用了Verilog HDL 语言的结构描述风格,把整个设计分成6 个模块,时钟分频模块,寄存器组模块,数据接收模块,数据发送模块,输出缓冲模块,时序控制模块,顶层模块也采用语言描述。在QuartusⅡ平台上,实现系统的功能和仿真。
给予FPGA的I2C接口程序实现 给予FPGA的I2C接口程序实现
页:
[1]