|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 \; Z j5 E4 @* U5 Q: G- `
摘要:美国Dallas公司在单线数字温度传感器上普遍采用了1 -Wire技术,本文介绍如何利用该技术,实现在80519 C3 o- ^% `/ ?3 Y
单片机之间的单线通信。( S5 X5 l* m/ g( K3 X( ~
关键词:单线;时隙;通信;单片机
! W& [( q, S2 |- U5 z2 d# n在构成一个较大规模的单片机应用系统中,不可避
$ c3 A' T2 N3 H0 D, w免地要采用多机系统,经常涉及到系统间的信息交换。在
0 |5 K. \5 C7 j1 M! n$ X通信速率要求不高的情况下,我们希望进行通信的双方
7 z2 q9 d5 m% S* L! [占用尽可能少的端口连线。美国Dallas公司生产的单线
9 f& p; N/ U6 g X: V& f数字温度传感器DS1820仅用1根口线进行信息交换,该
X$ ?8 ?2 y5 Y+ j技术可以很方便地应用到单片机系统间的通信上来。) |! }1 h& F$ A2 D0 K
1发送和接收
w/ o# w' x3 y! S单线通信的数据交换仅在1根总线上完成,对主! x- N1 k0 b* M' i( U8 @+ { ^
机和从机必须有严格的时序要求,可以借助“时隙”传( T* n$ o U" E1 i, h, l; `2 r
输来实现数据的发送与接收。
8 X: N4 ~5 F5 l% @' A如图1 (a),主机向从机发送一位信息时,先由主
s$ ], e2 m/ u机将总线由高(“1”)拉低(“0”) 1~15 μs,然后根
: Y9 p x8 y! s+ R' d' d0 B据发送的信息是“1”还是“0”,置总线为相应的逻辑* V8 J; C* O0 x7 z+ y$ U3 i5 |
“1”或“0”,持续时间大于45~60 μs后释放总线。从" Y0 x" i) w9 v
机检测到总线由高变低后,在15~60μs的时间窗内采2 S/ C. l# J5 M- M# c
样总线,若为高,则收到“1”, 否则收到“0”。主机
8 r8 u1 a! |4 o发送一位的总时间要求大于60μs,以便为最坏情况提 `, Z3 Y2 `) ?: Q' W$ Y# d0 _. h
供足够的时间裕量。- g# z1 y, z) Y3 x& X- P* u8 @
当主机需要接收数据时,采用如图1 (b)的时隙,! C& o' K! W, {5 a5 O& y6 z
先由主机将总线拉低1~15μs,然后释放。从机检测到; f- d& j) F. x5 x% T& q. d
总线由高变低后置总线为逻辑“1”或“0”,持续时间
) m6 | Z* f; ~不少于15 μs。主机在释放总线的15 μs 时间内采样总
5 M* W2 D3 K* D- o% q线,以接收从机发送的“1”或“0”, 同样,要求接收
0 E+ o9 H% Q' C" J- s6 a8 x, z4 I# a' e! q
2 T. ?% F, I' |$ H" I0 g0 Y G/ I& e2 q: G
附件下载:
3 b3 y A7 q- O9 G) I
) X6 h' B/ E2 @" e |
|