|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' o& z8 M5 n, o d1 P* k4 u
摘要:美国Dallas公司在单线数字温度传感器上普遍采用了1 -Wire技术,本文介绍如何利用该技术,实现在8051
, k1 J6 T; p9 \9 k3 D" x6 Z# x单片机之间的单线通信。
$ ^$ A# G* r" x# k* w) J1 o: N: {关键词:单线;时隙;通信;单片机4 a4 o0 c1 Y4 Q, W
在构成一个较大规模的单片机应用系统中,不可避
8 K6 Y4 @) e# q! Y4 z) q免地要采用多机系统,经常涉及到系统间的信息交换。在
A& q% V# p$ s1 l通信速率要求不高的情况下,我们希望进行通信的双方
# m2 p" ?; z2 Q# d, N占用尽可能少的端口连线。美国Dallas公司生产的单线# i: }0 u, \: N, t* o
数字温度传感器DS1820仅用1根口线进行信息交换,该 l8 f: q* l4 Z
技术可以很方便地应用到单片机系统间的通信上来。/ j) d# }! Q/ T, @2 `" _* o N, x5 H
1发送和接收
7 O3 T5 [* ]1 x+ s9 c( ~) p单线通信的数据交换仅在1根总线上完成,对主" _# S0 S9 g' v" l
机和从机必须有严格的时序要求,可以借助“时隙”传- W5 O, H0 i K
输来实现数据的发送与接收。# \+ T+ g8 A5 b' w- b, k. r
如图1 (a),主机向从机发送一位信息时,先由主
; M8 r2 {$ B. U# u机将总线由高(“1”)拉低(“0”) 1~15 μs,然后根
- h9 o" M* g" T据发送的信息是“1”还是“0”,置总线为相应的逻辑
3 w: F! t1 ?& \# {, r- }“1”或“0”,持续时间大于45~60 μs后释放总线。从
% ]# \& m/ c* K2 u! S. I机检测到总线由高变低后,在15~60μs的时间窗内采3 q E+ R: J+ H) }( j. P
样总线,若为高,则收到“1”, 否则收到“0”。主机( t5 T( R) {$ c% z. A+ U
发送一位的总时间要求大于60μs,以便为最坏情况提% q# n& ?( `. J2 @
供足够的时间裕量。
/ G# Z5 l9 i0 E当主机需要接收数据时,采用如图1 (b)的时隙,
9 D, t, R1 f* r( ~1 }先由主机将总线拉低1~15μs,然后释放。从机检测到) D, _5 z! ]" O+ \( K9 ^3 u7 W. z% m
总线由高变低后置总线为逻辑“1”或“0”,持续时间
+ q* {3 V' r5 N' l2 w5 z/ j) Z; D. A不少于15 μs。主机在释放总线的15 μs 时间内采样总
) Z# U$ o& x. p% T) {1 @线,以接收从机发送的“1”或“0”, 同样,要求接收6 C& U; n1 \& T
& p7 I* N2 C) o( H; o) R& s5 ~
! V9 |) E" f2 T/ f" L( F0 m5 t) \2 F$ }. J
附件下载:
3 r$ L- @% O* F, A9 @- |
$ h9 }8 ]- S. G/ H ?# b |
|