打印

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

[复制链接]
1631|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 笑溜溜+ 于 2012-7-21 22:56 编辑

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

TEK00006.PNG (5.88 KB )

TEK00006.PNG

新建 文本文档 (2).rar

5.47 KB

相关帖子

沙发
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

粉丝