|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* ^* R& E( g: @5 A3 w8 i+ o, d! z
摘要:美国Dallas公司在单线数字温度传感器上普遍采用了1 -Wire技术,本文介绍如何利用该技术,实现在80518 ]& U* r. p7 k F6 N
单片机之间的单线通信。
1 m! k" R4 \, ^' t关键词:单线;时隙;通信;单片机, J6 U' n9 s4 d+ ~0 c6 [6 a
在构成一个较大规模的单片机应用系统中,不可避
! V6 K; ]+ X4 |8 s2 T. ^6 ^免地要采用多机系统,经常涉及到系统间的信息交换。在
( u( U8 J5 G* ]% `+ f2 @通信速率要求不高的情况下,我们希望进行通信的双方
3 g5 B1 T9 `) R占用尽可能少的端口连线。美国Dallas公司生产的单线
8 Y; x6 F3 f9 Y; b' H1 y; n* l5 ^/ G数字温度传感器DS1820仅用1根口线进行信息交换,该4 T6 @" ]) ~$ M( S
技术可以很方便地应用到单片机系统间的通信上来。
" O, Q5 {) X+ N# x1发送和接收! g9 K2 }1 }2 ^0 C- L& _) }" G" @( X
单线通信的数据交换仅在1根总线上完成,对主9 f2 t+ f5 N! }! R* ?% \
机和从机必须有严格的时序要求,可以借助“时隙”传4 D1 B+ A+ h& U
输来实现数据的发送与接收。
7 S4 }( b& C* l如图1 (a),主机向从机发送一位信息时,先由主% n' i+ c2 b: x* T; z* F! t
机将总线由高(“1”)拉低(“0”) 1~15 μs,然后根
0 z9 h ?/ M# M; w# b% I6 a# ^2 ~据发送的信息是“1”还是“0”,置总线为相应的逻辑. m' c) {' n& |- p6 g) [! s/ ]9 k
“1”或“0”,持续时间大于45~60 μs后释放总线。从7 z7 ^% `8 d7 B, h1 K& O8 D
机检测到总线由高变低后,在15~60μs的时间窗内采
3 R+ u7 i, m3 e6 g# n样总线,若为高,则收到“1”, 否则收到“0”。主机
. Y; P8 k5 x( U& o$ W1 e) q/ {发送一位的总时间要求大于60μs,以便为最坏情况提4 T' h% G* B m# A# S* g
供足够的时间裕量。
3 z4 P. @. J$ T# g# v$ J当主机需要接收数据时,采用如图1 (b)的时隙,
3 a) V* F" Y) i: c先由主机将总线拉低1~15μs,然后释放。从机检测到
/ T( R8 z/ |( }6 e+ a% B7 G总线由高变低后置总线为逻辑“1”或“0”,持续时间
. O! ~) k' D# [8 b4 e2 R+ r- Q! n不少于15 μs。主机在释放总线的15 μs 时间内采样总1 {$ |; `* ~9 U Q# z0 o2 g* H- @
线,以接收从机发送的“1”或“0”, 同样,要求接收8 G! I- l) R* w2 x( S% V
' l1 o0 C( H: o; \' \2 S' v" W
+ j- [1 ?/ _. d7 Y. P, A& \" G, S! M: K# k
附件下载:- T5 y: \: M6 {5 W; P
9 @& g% C/ \0 @' C8 J& l |
|