FPGA学习之---串口+IIC实现对EEPROM读写操作

vivado版本:2019.01

开发板:小梅哥ACX720

基于串口传输和IIC协议对EEPROM (M24LC64)进行读写操作,波特率为115200

M24LC64:器件地址1010_000   寄存器为16位,最高支持32字节连续读写

传输的数据帧为  0X55 OXA5 byte_address 功能码 数据字节0到15个 0XF0
Byte_address为两个字节的寄存器起始地址 本次实验从0003开始
功能码;指定对EEPROM进行读或者写操作。并指定读取多少或写入多少字节     设定功能cmd[7]:1为读 0为写        cmd[4:0]指定读取或者写入的字节数,设定最大为16
0X55 OXA5为帧头    0XF0为帧尾

最开始写操作功能码:10

写入数据:FF112233445566778899AABBCCDDEEFF

读操作功能码:90

设计框图:

实现效果:

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA实现IIC总线驱动来读写EEPROM是一种常见的应用。通过引用和中的内容,我们可以了解到以下步骤和问题解决方案: 1. IIC协议简介:IIC协议是一种串行通信协议,它允许多个设备在同一总线上进行通信。IIC协议在硬件结构上包含了两根线路,即串行数据线(SDA)和串行时钟线(SCL)。 2. 设计思想:在FPGA实现IIC读写EEPROM的设计思路是通过编写Verilog HDL代码来实现IIC总线的驱动功能,并通过IIC总线对EEPROM进行读写测试。 3. RTL代码重要部分:在RTL代码的实现中,需要考虑起始信号、应答信号以及数据的读写时序。根据引用的内容,可能会遇到从机无应答、应答正常但读出数据不对以及时钟问题等问题。对于从机无应答的情况,可以通过添加状态机中的等待应答的机制来解决。对于应答正常但读出数据不对的情况,可能是EEPROM本身的问题,可以尝试重新上电来解决。而时钟问题可以通过添加边沿检测程序来解决。 4. 开发过程遇到的问题:在开发过程中可能会遇到一些问题,如从机无应答、读出数据错误等。通过使用SignalTap抓取波形图可以帮助分析问题所在。 综上所述,实现IIC读写EEPROM的FPGA设计可以根据IIC协议的时序特点编写Verilog HDL代码,并解决可能出现的问题,如从机无应答、读出数据错误等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FPGA中 通过IIC读写EEPROM驱动代码示例](https://download.csdn.net/download/qq_20222919/12733052)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [FPGA实现IIC通信(读写EEPROM)](https://blog.csdn.net/xs_sd/article/details/114534036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值