TA的每日心情 | 怒 2019-11-20 15:22 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
: g/ d$ B0 C4 V$ a0 x8 |4 q
摘要:美国Dallas公司在单线数字温度传感器上普遍采用了1 -Wire技术,本文介绍如何利用该技术,实现在8051
' C5 C* Q0 l/ E8 m7 a# L单片机之间的单线通信。& `* \/ z; X8 H7 P' C$ l; |# v
关键词:单线;时隙;通信;单片机& v: e# N/ t5 S! D |% Z
1 {9 Y0 p! Z. P( s7 x* ?+ _
在构成一个较大规模的单片机应用系统中,不可避2 T& Z2 u7 K7 u: l0 U
免地要采用多机系统,经常涉及到系统间的信息交换。在
( p: ^% m0 I9 l; M( E: G4 \5 _3 x通信速率要求不高的情况下,我们希望进行通信的双方" Y" y& J" } }, S- x
占用尽可能少的端口连线。美国Dallas公司生产的单线
3 s, z* X: O' L+ y& a# w数字温度传感器DS1820仅用1根口线进行信息交换,该, O }) q& y+ A5 a# n4 j
技术可以很方便地应用到单片机系统间的通信.上来。% g* j% r! a" m& { f
1发送和接收
* ?$ Q5 f" d3 R% \& G单线通信的数据交换仅在1根总线.上完成,对主8 t& s" o$ s; t j
机和从机必须有严格的时序要求,可以借助“时隙”传
7 r1 o, _% X+ C$ N# B输来实现数据的发送与接收。
$ C& h C- U% H" Y9 X) l9 H如图1 (a), 主机向从机发送一位信息时,先由主
, t+ u; z& n+ n* X9 k机将总线由高(“1”)拉低(“0”) 1~15 μs,然后根# Z) R1 P& k+ I0 _5 Q
据发送的信息是“1”还是“0”,置总线为相应的逻辑
- D+ T( b- M5 ~; v3 {“1”或“0”,持续时间大于45~60 μs后释放总线。从& W) Z& {3 |& S; C* N
机检测到总线由高变低后,在15~60μs的时间窗内采: \6 w% L9 U, m7 ?+ t# z$ r3 G. u
样总线,若为高,则收到“1”,否则收到“0”。主机! o' {1 N+ z4 |' `3 Y/ i
发送一位的总时间要求大于60 pμs,以便为最坏情况提' i4 j7 ]+ @' Y4 s( E
供足够的时间裕量。, s) _( Z1 X/ F* s
当主机需要接收数据时,采用如图1 (b) 的时隙,0 c" \/ j* F- ]7 ?( X2 g0 N7 A
先由主机将总线拉低1~15 μs,然后释放。从机检测到3 f0 f& e3 {& O$ g# h6 O3 U- l6 m
总线由高变低后置总线为逻辑“1”或“0”,持续时间4 K0 p" K, l! Y% b, Q
不少于15 μs。主机在释放总线的15 μs时间内采样总% u5 x: M. |& ]% \. M) s7 {
线,以接收从机发送的“1” 或“0”,同样,要求接收4 ^/ U5 X/ D3 l- q
* }$ L& w. P) |' M9 V% U
|
|