查看: 1241|回复: 22
打印 上一主题 下一主题

【开发求助】对使用I2C总线的AD芯片进行配置,但无应答

[复制链接] qrcode

1

主题

12

帖子

27

积分

新手上路

Rank: 1

积分
27
楼主
跳转到指定楼层
发表于 2015-9-13 12:02 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的开发板芯片是altera公司的EP2C9Q208 AD芯片是PCF8591,它是四通道模拟输入单通道八位输出的
现在我要做的是控制PCF8591向FPGA传输数字信号 我根据PCF8591的DATASHEET参考了ilove314的程序设计思路 用verilog写出了I2C接口 在后仿真中时序图也完全符合PCF8591的datasheet 但烧到板子里后发现pcf8591对fpga传入的第一个地址字就毫无反应,根本没有应答信号传出,更无法进行后续的数字信号接收了 折腾了好久也没能解决 希望哪位能帮忙解决问题 万分感谢 没有多少分数 全数奉上

附件里是i2c接口程序以及PCF8591的datasheet

本帖子中包含更多资源

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

x
回复

使用道具 举报

1

主题

12

帖子

27

积分

新手上路

Rank: 1

积分
27
沙发
 楼主| 发表于 2015-9-14 08:16 AM | 只看该作者
另外FPGA 的I2C接口配置成开漏输出                                                                                                                                                                        
回复 支持 反对

使用道具 举报

1

主题

12

帖子

27

积分

新手上路

Rank: 1

积分
27
板凳
 楼主| 发表于 2015-9-14 09:08 AM | 只看该作者
"I2C总线规定SCL、SDA线都必须是“开漏”结构,外部需要加上拉电路。对于3V和5V器件,它们的I2C总线可以直接相连——因为是开漏,不会有问题。" 这是我在网上搜到的 我刚接触硬件不久 请多多指教!

开漏输出对我要实现的I2C是否有影响呢 如果有的话应该如何解决呢 还是要在quartus中进行开漏配置?应该如何进行呢
谢谢!!
回复 支持 反对

使用道具 举报

1

主题

12

帖子

27

积分

新手上路

Rank: 1

积分
27
地板
 楼主| 发表于 2015-9-17 10:37 AM | 只看该作者
我看到有的帖子提到 在SDA\SCL线不用时置为高阻态Z就是开漏输出的配置 我在程序中对sda线就是这么编制的 scl需要一直保持变化周期持续下去所以就没法按此编制                                                                                                                                                                       
回复 支持 反对

使用道具 举报

1

主题

12

帖子

27

积分

新手上路

Rank: 1

积分
27
5#
 楼主| 发表于 2015-9-19 05:47 AM | 只看该作者
查到这样一个介绍"定义一个开漏输出脚,从这个脚输出0和Z就好了,不要输出1.输出'Z'的时候端口是高阻态,"

我在quartus的complilation中发现确实没有将I/O设为开漏

这是一个配置开漏输出的示例



有个很严重的问题 I2C接口的sda线和scl线不可能不输出1啊 改如何解决呢

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

579

主题

1596

帖子

3775

积分

论坛元老

Rank: 8Rank: 8

积分
3775
6#
发表于 2015-9-21 09:07 AM | 只看该作者

回复 支持 反对

使用道具 举报

14

主题

83

帖子

184

积分

注册会员

Rank: 2

积分
184
7#
发表于 2015-9-23 06:33 AM | 只看该作者
把i2c配置成了开漏输出 但ad芯片还是无反应

通过nioss例程确定了ad芯片本身确实没有问题 真不知道我的verilog程序问题出在哪里!!
回复 支持 反对

使用道具 举报

579

主题

1596

帖子

3775

积分

论坛元老

Rank: 8Rank: 8

积分
3775
8#
发表于 2015-9-23 11:08 AM | 只看该作者
楼主现在的问题解决到什么地步了!??                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
9#
发表于 2015-10-30 03:33 AM | 只看该作者
谢谢关注,解决不了目前的问题,崩溃中                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
10#
发表于 2015-1-20 10:32 AM | 只看该作者


这是在signaltap里显示的波形 0h是起始状态,sda在scl处于高电平时由高变低向pcf8591发出启动信号。随后是八位地址字10010011 在09h状态中,pcf8591本应将sda拉低进行应答,但sda线保持高阻状态并未改变,也就是说pcf8591对于之前fpga芯片发出的信号没有反应。 !!!!!

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表