你好,我司目前在使用DS100DF410, 目前通过I2C配置的方法已经搞定了信号的问题。
问题,我们现在需要设置成不是通过i2c来配置,而是读取EEPROM配置的方式。目前我们的设计是一颗DS100DF410对应一颗EEPROM.
我们把READ_EN接地,EN_SMB浮空,SDC没有信号输出,一直为高,ALLDONE也是高。
也尝试过READ_EN从高变成低,SDC依然没有信号输出。另外也尝试了把READ_EN从高变低,再变高。SDC还是没有信号输出。
想问一下,DS100DF410需要什么条件才会去从EEPROM里面读取数据? datasheet描述是从高变低。而snlu126b这份文档的4.3.1.1上面说只要接地就可以。demo原理图的第一颗DS100DF410也是READ_EN接地。
Kailyn Chen:
手册上来看,读取EEPROM的数据,就是将EN_SMB 悬空,READ_EN下拉即可。
fei yang3:
回复 Kailyn Chen:
我们在上电前将READ_EN拉到地,没有效果,上电后与EEPROM相连接的时钟线和数据线一直为高,ALL_DONE也没有变低
fei yang3:
回复 Kailyn Chen:
我们在上电前将READ_EN拉到地,没有效果,上电后与EEPROM相连接的时钟线和数据线一直为高,ALL_DONE也没有变低
补问:在给他上电时,READ_EN可以一直为低,还是先拉高后拉低?
Kailyn Chen:
回复 fei yang3:
还有两点需要注意:
读取EEPROM的数据,DS100DF410作为master, SMbus 7bit从机地址后面要加一位读,也即1,slave mode为写,即0, 所以SMBUS地址别写错。
还有就是Master mode时候,SDC的频率为400KHz,你是用的100Khz吗?
fei yang3:
回复 Kailyn Chen:
通过将EN_SMB引脚悬空(未上电时电压为0.4V左右,上电后电压为1.67V左右),将 DS100DF410作为master,之后将READ_EN 从高到低,从外部EEPROM加载。也就是说按照上面操作I2C时钟和数据线都是应该有波形的,但目前都是拉高的状态,没有时钟,没有数据。
目前我们用的是AT24C08,和官方demo板相同。
我们连SDC的时钟都没有出来呢,以及400kHZ是如果选择的?
Kailyn Chen:
回复 fei yang3:
恩,master mode, DS100DF410产生400Khz clock。
如果现在clock还没有的话,检查下寄存器0x05 bit7是不是为0.这位默认的为0 ,将Master mode disable。 将其配置为1.
fei yang3:
回复 Kailyn Chen:
现在我们板子上与DF410并没有用CPU来控制,所以没有办法来配置寄存。那样我们该怎么来解决问题呢?在不需要外部CPU配置DF410寄存器的时候能否读到EEPROM?
fei yang3:
回复 Kailyn Chen:
这是系统简图 ,我没有CPU(MCU)来控制它来修改DF410寄存器的值呢,不能直接只通过配置DF410外部EN_SMB 、READ_EN 来让他成为Master模式吗?这样不能读取EEPROM (地址为10100XX R/W).
现在SDA和SDC没有信号,为上拉状态。
还有个问题:READ_EN 在电源稳定后190ms下拉,这个时间有要求吗?