问题描述:
并联4个DS18B20和152个DS18B20,在时序方面,在发送了0XF0 即 SearchROM指令后,4个DS18B20 读位操作时,在主机释放总线后,采样点是在10us左右,而152个DS18B20则需要在15us左右。这两个时间不能设置为一样,请问我如何设置一个时间,同时可以检测4个和152个呢?
================================================================================
总线上可以带的器件数量和电缆的分布电容以及主机的驱动能力有关,当总线上带多个器件时,每个器件都有一定的输入电容,波形的建立时间就比较长,所以采样点时间要推迟一点,解决办法就是增强总线的驱动能力,在总线上采用有源上拉或强上拉。
如果当前设计在从器件响应时隙内可以读取到所有器件的响应,您也可以在软件上进行修改,当前是在单点实现的采样,对于较大和较小的网络兼容性问题,采样就不能固定在某一个点,而是在一个时间区间内进行采样。如果在响应区间内读取的结果都为0,说明响应为0,如果开始读取为0,然后读取为1,则响应为1.