5157|8

269

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

CPLD中两个inout接口怎么打通,大侠们不要路过,进来说说您的方案,评优嘉奖啊 [复制链接]

问题是这样的:一个CPLD上接了两个I2C的接口,即scl,sda和scl1,sda1,怎么将这两个I2C打通。(scl,sda是主机I2C,scl1,sda1是从机I2C)

问题相关信息搜集:
I2C的scl信号是单通(input scl;   output scl1),这个信号直接相连就可以,即scl1<=scl;
I2C的sda信号是双通(inout sda;  inout sda1),这个需要 sda<=sda1,同时sda1<= sda,可这样CPLD中实现不了;
CPLD中定义的inout是双向口,双向切换是需要控制信号才能实现的,但是I2C总线是没有这样的控制信号。

个人解决方案(存在读不出数据的情况):
本方案主机只能读从机数据,不能写;
方案说明:在CPLD中定义一个方向控制位reg sda_link,并给IO这样赋值:sda1=sda_link?   1'bz:sda;
                                                                                                                  sda=sda_link?   sda1:1'bz;
根据I2C标准读时序,开始信号到来后,sum在scl时钟下降沿计数,sum在结束信号到来时清零,计数到需要从机响应或者从机发送数据的时候sda_link<=1'b1,其他情况sda_link<=1'b0。比如sum=8(寻址发送完毕需要响应),此时sda_link<=1'b1。

方案效果:读数据80%的情况可以读出来,剩下20%的情况读的数据有问题,看来这种方案很不可靠。

高手们说说您有什么好方案可以将这两个inout打通?

[ 本帖最后由 Crazy_HUA 于 2012-11-13 10:06 编辑 ]
此帖出自FPGA/CPLD论坛

最新回复

楼主的解决方案是什么?  详情 回复 发表于 2021-10-27 16:15
点赞 关注
个人签名一个人,一本书,一杯茶,一帘梦。
 

回复
举报

755

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
CPLD是做电平变换吗?

[ 本帖最后由 deweyled 于 2012-11-13 10:55 编辑 ]
此帖出自FPGA/CPLD论坛

点评

做I2C总线的,可以看看我的发帖内容,大侠有好的方案吗?  详情 回复 发表于 2012-11-13 11:46
 
 

回复

269

帖子

0

TA的资源

纯净的硅(中级)

板凳
 

回复 沙发 deweyled 的帖子

做I2C总线的,可以看看我的发帖内容,大侠有好的方案吗?
此帖出自FPGA/CPLD论坛
个人签名一个人,一本书,一杯茶,一帘梦。
 
 
 

回复

755

帖子

0

TA的资源

五彩晶圆(初级)

4
 
没有什么很好的办法,不过如果你的I2C通信读写协议是固定的话可以在CPLD里面加一些判断逻辑来切换方向控制,如果协议不固定会比较难做。
此帖出自FPGA/CPLD论坛

点评

I2C标准协议,是固定的!我的方案就是按照标准协议做的,可是读数据的时候,只有90%的几率是正确的,10%的情况下读出的数据有问题。  详情 回复 发表于 2012-11-14 12:37
 
 
 

回复

269

帖子

0

TA的资源

纯净的硅(中级)

5
 

回复 4楼 deweyled 的帖子

I2C标准协议,是固定的!我的方案就是按照标准协议做的,可是读数据的时候,只有90%的几率是正确的,10%的情况下读出的数据有问题。
此帖出自FPGA/CPLD论坛

点评

晚上回家帮你看看代码吧,我也是菜鸟摸索中,嘿嘿:)  详情 回复 发表于 2012-11-14 13:39
个人签名一个人,一本书,一杯茶,一帘梦。
 
 
 

回复

755

帖子

0

TA的资源

五彩晶圆(初级)

6
 

回复 5楼 Crazy_HUA 的帖子

晚上回家帮你看看代码吧,我也是菜鸟摸索中,嘿嘿
此帖出自FPGA/CPLD论坛

点评

版主,好心人呐! 交个朋友...:handshake  详情 回复 发表于 2012-11-14 16:23
谢谢啦! 已经解决了,新方案搞定!O(∩_∩)O~  详情 回复 发表于 2012-11-14 16:22
 
 
 

回复

269

帖子

0

TA的资源

纯净的硅(中级)

7
 

回复 6楼 deweyled 的帖子

谢谢啦! 已经解决了,新方案搞定!O(∩_∩)O~
此帖出自FPGA/CPLD论坛
个人签名一个人,一本书,一杯茶,一帘梦。
 
 
 

回复

269

帖子

0

TA的资源

纯净的硅(中级)

8
 

回复 6楼 deweyled 的帖子

版主,好心人呐! 交个朋友...
此帖出自FPGA/CPLD论坛
个人签名一个人,一本书,一杯茶,一帘梦。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 

楼主的解决方案是什么?

此帖出自FPGA/CPLD论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表