TA的每日心情 | 怒 2019-11-20 15:22 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 X1 g7 ?- n t! Y摘要:美国Dallas公司在单线数字温度传感器上普遍采用了1 -Wire技术,本文介绍如何利用该技术,实现在80516 J" ~6 D$ |1 s- X; ]2 a
单片机之间的单线通信。, {6 F+ e ^/ G" B
关键词:单线;时隙;通信;单片机, M" h1 m" ]8 P$ V) [0 x
/ m0 Y: X% K* J, M- a" O
在构成一个较大规模的单片机应用系统中,不可避
0 T# N- s7 h J) Z3 n& I: S( F免地要采用多机系统,经常涉及到系统间的信息交换。在
# G6 \3 @% `( r2 ~, N, {3 g通信速率要求不高的情况下,我们希望进行通信的双方: @; ]* c- m" J8 ]
占用尽可能少的端口连线。美国Dallas公司生产的单线' H1 y- D" t. R* t
数字温度传感器DS1820仅用1根口线进行信息交换,该
+ q) v0 O1 U. m3 U$ K/ g技术可以很方便地应用到单片机系统间的通信.上来。5 @. n; I8 f' w! `) [- }
1发送和接收, {' A5 w+ \2 ~8 c/ {' P+ R. A6 i
单线通信的数据交换仅在1根总线.上完成,对主
$ U7 }+ E$ w) b! {8 q, E机和从机必须有严格的时序要求,可以借助“时隙”传
j: Q" o" I* C2 m输来实现数据的发送与接收。
5 Y" ?+ V6 s! L; X- e/ b; Q. o0 R如图1 (a), 主机向从机发送一位信息时,先由主! K& s8 |* ~ f; r
机将总线由高(“1”)拉低(“0”) 1~15 μs,然后根( s& Y) Q3 ?, v$ W
据发送的信息是“1”还是“0”,置总线为相应的逻辑& [4 x8 ~9 d9 V( C4 \) o
“1”或“0”,持续时间大于45~60 μs后释放总线。从1 b, f' Q5 d; J$ b% i
机检测到总线由高变低后,在15~60μs的时间窗内采- _ N# i2 C6 e- F4 z
样总线,若为高,则收到“1”,否则收到“0”。主机4 K6 H8 J D# ?# m, K2 T; B
发送一位的总时间要求大于60 pμs,以便为最坏情况提
+ ^) Q$ W4 r, A7 G供足够的时间裕量。! |. O6 S5 \5 Z u0 ?
当主机需要接收数据时,采用如图1 (b) 的时隙,
) W. B9 P' Q; t7 J1 }; _先由主机将总线拉低1~15 μs,然后释放。从机检测到
0 ]) l5 F) r5 ?6 W9 ?/ b& C$ C/ f总线由高变低后置总线为逻辑“1”或“0”,持续时间) i: m/ G' s( l5 }% O
不少于15 μs。主机在释放总线的15 μs时间内采样总
& ^9 X$ u/ c$ |6 {) m% }4 X线,以接收从机发送的“1” 或“0”,同样,要求接收+ y4 Z; Y1 Z+ R& y% l& }
( A/ b7 m( |7 K, ~ |
|