基于1-WireTM技术的单片机单线通信的实现
- 格式:docx
- 大小:10.36 KB
- 文档页数:2
基于1-WireTM技术的单片机单线通信的实现
在构成一个较大规模的单片机应用系统中,不可避免地要采用多机系统,经常涉及到系统间的信息交换。在通信速率要求不高的情况下,我们希望进行通信的双方占用尽可能少的端口连线。美国Dallas 公司生产的单线数字温度传感器DS1820 仅用1 根口线进行信息交换,该技术可以很方便地应用到单片机系统间的通信上来。
1发送和接收
单线通信的数据交换仅在1 根总线上完成,对主机和从机必须有严格的时序要求,可以借助时隙传输来实现数据的发送与接收。
如图1(a),主机向从机发送一位信息时,先由主机将总线由高(1)拉低(0)1~15μs,然后根据发送的信息是1 还是0,置总线为相应的逻辑1 或0,持续时间大于45~60μs 后释放总线。从机检测到总线由高变低后,在15~60μs 的时间窗内采样总线,若为高,则收到1,否则收到0。主机发送一位的总时间要求大于60μs,以便为最坏情况提供足够的时间裕量。当主机需要接收数据时,采用如图1(b)的时隙,先由主机将总线拉低
1~15μs,然后释放。从机检测到总线由高变低后置总线为逻辑1 或0,持续时间不少于15μs。主机在释放总线的15μs 时间内采样总线,以接收从机发送的1 或0,同样,要求接收
一位的总时间不少于60μs。
由此可见,主机和从机进行单线通信,总是由主机发起的,即将总线由高拉低,除非被主机请求,否则从机无法主动发送数据。除了主机外,从机之间也无法进行通信。