IIC 通信协议 (二)

这篇博客详细介绍了如何用Verilog在FPGA中实现IIC通信协议,包括单字节和多字节发送模块的设计,以及仿真验证的过程。通过状态机方法,将IIC通信步骤分解为发送起始信号、器件ID、寄存器地址和数据的读写等,以实现对从设备的操作。还提供了仿真test bench和Microchip IIC驱动器件的Verilog模型用于验证设计的正确性。
摘要由CSDN通过智能技术生成


目录

引言

子模块设计

思路

单字节 IIC 发送模块

思路

Verilog 源码

多字节发送控制模块

思路

Verilog 源码

仿真

思路

test bench

仿真结果

 

参考声明


 


引言

本篇博文承接前文,继续做 IIC 通信协议 FPGA实现相关的内容。用Verilog 编写一个 IIC 通信控制器,最后用 Microchip公司提供的 IIC 驱动器件的 Verilog 模型 辅助完成 仿真验证。



子模块设计

思路

此处的思路主要是将IIC复杂的通信步骤拆解,因为对器件进行一次读或者写操作,都需要如下步骤:

  1. 发送起始信号,征用总线;
  2. 发送器件ID,选择通信的从机;
  3. 发送要操作的寄存器地址;
  4. 发送/接收要写入/读出寄存器的数据;

因此为了简化设计的复杂度,将设计分为两大模块:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在路上-正出发

哈哈,多少是个心意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值