电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2025年VerilogIIC通信实验笔记

2025年VerilogIIC通信实验笔记_第1页
1/15
2025年VerilogIIC通信实验笔记_第2页
2/15
2025年VerilogIIC通信实验笔记_第3页
3/15
Write by Gianttank 我实验的是 AT24C08 的单字节读,单字节写,页读和页写,在高于 3.3V 系统中他的通信速率最高 400KHZ 的,我实验里用的是 100KHZ 的速率。图 1 是硬件原理图 图 1 图 2 图 2 是器件地址,我的原理图是 A2 接高。 IIC 通信协议中要注意的地方: 1. 当时钟线 SCL 高电平常,假如把数据线 SDA 从高电平拉到低电平,则表达通信开始(START);假如把数据线 SDA 从低电平拉到高电平,则表达通信结束(STOP)。SDA 数据不变,视为数据采样。 2. 前一个 STOP 结束后。与下一个 START 开始要保证 5ms 的间隔。 3. 页写有字节限制,而页读没有,可以一次读出所有的数据。 4. SDA 信号在 FPGA 为接受方时要设立为高阻态。 5. 应答信号永远是接受方发送的,这个很重要,我就是卡在这里几天没找到因素。FPGA 在读数据的时候,第 9 个周期是 FPGA 发低电平给 EEPROM的。 图 3 为 RTL 视图 图 3 引脚定义 信号名称方向描述clkinput50M 的主时钟rst_ninput复位信号sw1input按键 1 低电平有效 按下执行字节写sw2input按键 2 低电平有效 按下执行字节读sw3input按键 3 低电平有效 按下执行页写sw4input按键 4 低电平有效 按下执行页写SDAinoutIIC 数据端口SCLoutputIIC 时钟端口leddataoutput数码管段选ledcomoutput数码管位选代码中分了两个模块,iic_com 模块除了执行和 I2C 通信有关的代码设计外,尚有按键检测部分,而 ledshow 模块只是驱动数码管显示读出的数据。对于这个通信的过程,内部使用了一段式状态机进行设计。图 4 是状态机的状态图。具体每个状态见程序。 图 4 1.字节写 图 5 Modelsim 后仿真的图 蓝色为 sda 数据线高阻态,fpga 接受 eeprom 应答。写入数据 88h。 2.字节读 图 6 Modelsim 后仿真的图 3.页写 图 7 由于我只有 8 个数码管,所以我程序里的页写,页读都只有 4 个数据。 Modelsim 后仿真的图 可以看到写入数据位 21h,43h,65h,87h。 4.页读 图 8 随机字节读和当前字节读都能触发页读,我只做了随机字节读 Modelsim 后仿真的图 这里就是 应答是 fpga 应答给 eeprom 的。 最后希望这篇文档能帮助对 IIC 协议还不够了解的同学。源程序在下一篇文章中。<...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

2025年VerilogIIC通信实验笔记

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部