我做的I2C程序不知为何不出结果

[复制链接]
 楼主| 笑溜溜+ 发表于 2012-7-21 19:40 | 显示全部楼层 |阅读模式
本帖最后由 笑溜溜+ 于 2012-7-21 22:56 编辑

学习FPGA,最近练习I2C通信,觉得写的代码没问题,不知为何老是有问题。看我下面的图。通道1为SCL,通道2为SDA.我设置的是按下一个键为写入AT24C02一个地址中一个数据。我已经分析了写入的时序,先写器件地址信息(1010000),得到AT240C一个应答信号。我觉的得到了应答信号了(SDA为低电平,SCL为高电平,如图中第九个SCL时钟所示)。可是就是程序不往下执行。我既然写入了器件地址信息,下一步该写入存储地址信息,最后写入存储数据信息。可是不知为什么停在那里。下面有我的代码。TXT不让上传,传了个RAR的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
GoldSunMonkey 发表于 2012-7-21 22:35 | 显示全部楼层
FPGA实现的?
 楼主| 笑溜溜+ 发表于 2012-7-21 22:53 | 显示全部楼层
2# GoldSunMonkey
不是,我用的是CPLD(EPM240)芯片
ococ 发表于 2012-7-23 09:17 | 显示全部楼层
波形不正确。
建议首先看一下I2C标准。
在I2C开始前和结束后,SDA,SCL应该都是高阻态。
在你的第九个SCLK上升沿之前,你的I2C master应该首先释放SDA为高阻态,来获得I2C slaver的ACK。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

89

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部