在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
楼主: jiannanc

[求助] 如何用verilog实现以下功能

[复制链接]
发表于 2017-7-13 07:57:45 | 显示全部楼层
回复 9# 吾要单片机

那要是n个器件的地址不可编程且都相同,而且连在一个I2C bus 上该怎么办呢?
回复 支持 反对

使用道具 举报

发表于 2017-7-13 08:21:11 | 显示全部楼层
说的详细一点,希望有帮助:
1)大致流程:
  A)CPU广播发start 到9个slave(FPGA 在这算一个slave).默认9个slave是enable的。
  B) CPU广播发slave的地址,FPGA从cam_sda_master_in 中解析出地址,将cam_sda_master_out拉低。
  C)FPGA disable 8个slave,然后释放cam_sda_master_out。
  D)FPGA解析CPU发的Command byte,得到对8个slave的控制信息mux。将cam_sda_master_out拉低。
  E)根据mux的信息,enable相应的slave。然后释放cam_sda_master_out。
  F)监测CPU发STOP的信息,检测到STOP信息后,enable 8个slave,然后状态机进入A,继续监测START.

2)对于写来说,多个slave同时选通是可行的,可以把slave的ACK与起来连接到cam_sda_master_out上,对于读来说,多个同时选通,将造成总线冲突,无法得到正确的结果。
3)  SDA和SCL的透传,如下,最好使用时序逻辑,以保证时序的要求。
                     cam_sda_master_out <= cam_sda1_slave_in;
                     cam_sda1_slave_out  <= cam_sda_master_in;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-13 08:32:09 | 显示全部楼层
回复 8# 冲出藩篱


    什么手册
回复 支持 反对

使用道具 举报

发表于 2017-7-13 08:38:58 | 显示全部楼层
回复 13# jiannanc

网上搜TCA9854a
回复 支持 反对

使用道具 举报

发表于 2017-7-13 09:13:56 | 显示全部楼层



N个器件的地址相同?这无解的哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-13 09:47:04 | 显示全部楼层
回复 14# 冲出藩篱
https://www.ti.com/lit/ds/symlink/tca9548a.pdf?HQS=TI-null-null-alldatasheets-df-pf-SEP-wwe
很详细,谢谢了,知道怎么做了,网址发上来,方便以后的朋友
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-17 20:22 , Processed in 0.013871 second(s), 3 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表