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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: 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
很详细,谢谢了,知道怎么做了,网址发上来,方便以后的朋友
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-27 09:21 , Processed in 0.019519 second(s), 6 queries , Gzip On, Redis On.

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