第二章-1-Wire通信协议复习课程
- 格式:ppt
- 大小:220.00 KB
- 文档页数:25
1-WIRE总线详解。
讯号线会连接一个4.7K 欧姆的Pull-High 电阻,电阻再接到电源(3V 到5.5V)。
1-WIRE 总线传输使用的速度有标准速度与高速两种。
每个1-WIRE 总线有独立的64 位辨识码以供装置辨识用,因此最多可以连接1.8*1019 个装置,几乎是无限制。
1-WIRE 常见的应用是在EEPROM 上与一些传感器界面上。
1- WIRE 的速度有标准:1MHz(1us),高速:5MHz(0.2us).1-WIRE 有四种数据包:1.Reset:每个通讯周期都是由Reset 讯号开始。
Master 会先发送Reset Pulse 让所有在1-WIRE 上的Slave 装置进入辨别状态,当一个Slave 或很多个Slave 接收到Reset Pulse 讯号之后,Slave 会回传一个Presence Pulse 讯号,用来表示接收到。
2.Write 0:发送一个0bit 给Slave(Write 0 time slot)。
3.Write 1:发送一个1bit 给Slave(Write 1 time slot)。
4.Read Data:Read Data Sequences 很像Write 1 Time Slot,但是在Master 释放总线线并且从Slave 装置读回数据后,Master会取样Bus 的状态,透过这种方法Master 可以从Slave 读回任何0 或1 的bit。
Reset:一开始Master 要跟Slave 做任何通讯时,Master 会先传送一个低准位的Reset Pulse(TX)of(标准速度:480us;高速:48us)的一段时间。
接着Master 会释放出总线线并进入接收模式(RX),1-WIRE Bus 会透过上拉电阻将准位拉回High 状态。
然后Master 在Data Line 上会侦测到Rising Edge,此时任何一个Slave 会等待一段时间()(标准速度:15-60us;高速:2-6us)并且传回一个Presence Pulse()(标准速度:60-240us;高速:8-24us)给Master。
wire总线的基本通信协议protues Wire总线的基本通信协议——ProteusProteus是一款功能强大的电子设计自动化(EDA)软件,广泛应用于电子电路设计、仿真和调试等领域。
在Proteus中,Wire总线是常用的通信协议之一。
本文将介绍Wire总线的基本通信协议以及在Proteus中的应用。
一、Wire总线的基本通信协议Wire总线是一种串行通信协议,常用于短距离通信和连接多个设备。
它采用两根传输线,分别为SCL(串行时钟线)和SDA(串行数据线),通过数据的时序传输来完成通信任务。
在Wire总线中,通信的发送和接收是由主设备(Master)和从设备(Slave)之间的交互完成的。
主设备负责发起通信并控制通信的时序,从设备则被动响应主设备的指令并提供相应的数据。
具体的通信流程如下:1. 主设备发送起始信号(Start):主设备将SDA线从高电平拉低,然后将SCL线拉低,表示开始一次通信。
2. 主设备发送从设备地址和读/写信号:主设备将从设备的地址通过SDA线发送,并指定是读操作还是写操作。
3. 从设备响应主设备信号:从设备接收到地址后,将ACK信号(应答信号)通过SDA线发送给主设备,表示接收到地址。
4. 主设备发送数据:主设备将要发送的数据通过SDA线发送给从设备。
5. 从设备响应主设备信号:从设备接收到数据后,通过SDA线发送ACK信号给主设备,表示接收到数据。
6. 主设备发送停止信号(Stop):主设备将SDA线由低电平拉回高电平,然后将SCL线拉高,表示通信结束。
通过以上的通信流程,主设备和从设备可以实现数据的交互和控制的传输。
Wire总线的通信协议简单易懂,适用于各种场景。
二、Wire总线在Proteus中的应用在Proteus软件中,我们可以通过添加Wire总线来模拟电子电路中的通信过程。
下面将以一个简单的实例来介绍Wire总线在Proteus中的应用。
假设我们需要设计一个由主控芯片和多个从设备组成的系统。
单⽚机学习(⼗⼆)1-Wire通信协议和DS18B20温度传感器⽬录⼀、DS18B201. DS18B20简介DS18B20是⼀种常见的数字温度传感器,其控制命令和数据都是以数字信号的⽅式输⼊输出,相⽐较于模拟温度传感器,具有功能强⼤、硬件简单、易扩展、抗⼲扰性强等特点测温范围:-55°C 到 +125°C通信接⼝:1-Wire(单总线)其它特征:可形成总线结构、内置温度报警功能、可寄⽣供电2. 电路原理图其中1和3号引脚分别连接GND和VCC,⽽⼆号引脚则⽤于使⽤1-Wire(单总线)接⼝进⾏通信。
即:3. 内部结构内部完整结构框图64-BIT ROM:作为器件地址,⽤于总线通信的寻址SCRATCHPAD(暂存器):⽤于总线的数据交互EEPROM:⽤于保存温度触发阈值和配置参数其中配置寄存器可以配置温度变化的精度值。
存储器结构当我们希望修改EEPROM中存储的内容时,我们需要先将数据写⼊到暂存器中,然后再发送⼀条指令使从机将暂存器中的数据写⼊到EEPROM中。
⼆、单总线(1-Wire BUS)由于DS18B20使⽤的通信接⼝是1-Wire,因此我们需要学习1-Wire相关的通信协议,这样才能使单⽚机和它进⾏通信。
1. 单总线简介单总线(1-Wire BUS)是由Dallas公司开发的⼀种通⽤数据总线⼀根通信线:DQ异步、半双⼯单总线只需要⼀根通信线即可实现数据的双向传输,当采⽤寄⽣供电时,还可以省去设备的VDD线路,此时,供电加通信只需要DQ和GND两根线2. 电路规范设备的DQ均要配置成开漏输出模式DQ添加⼀个上拉电阻,阻值⼀般为4.7KΩ左右若此总线的从机采取寄⽣供电,则主机还应配⼀个强上拉输出电路3. 单总线的时序结构①初始化:主机将总线拉低⾄少480us然后释放总线,等待15~60us存在的从机拉低总线60~240us以响应主机最后从机将释放总线对应的信号时序图:②发送⼀位:主机将总线拉低60~120us,然后释放总线,表⽰发送0;主机将总线拉低1~15us,然后释放总线,表⽰发送1。
摘要:在没有专用总线主机(如DS2480B、DS2482)的情况下,微处理器可以轻松地产生1-Wire 时序信号。
本应用笔记给出了一个采用…C‟语言编写、支持标准速率的1-Wire主机通信基本子程序实例。
1-Wire总线的四个基本操作是:复位、写“1”、写“0”和读数据位。
字节操作可以通过反复调用位操作实现,本文提供了通过各种传输线与1-Wire器件进行可靠通信的时间参数。
引言在没有专用总线主机的情况下,微处理器可以轻松地产生1-Wire时序信号。
本应用笔记给出了一个采用C语言编写、支持标准速率的1-Wire主机通信基本子程序实例。
此外,本文也讨论了高速通信模式。
要使该实例中的代码正常运行,系统必须满足以下几点要求:1. 微处理器的通信端口必须是双向的,其输出为漏极开路,且线上具有弱上拉。
这也是所有1-Wire总线的基本要求。
关于简单的1-Wire主机微处理器电路实例,请参见应用笔记4206:"为嵌入式应用选择合适的1-Wire主机"中的1类部分。
2. 微处理器必须能产生标准速度1-Wire通信所需的精确1µs延时和高速通信所需要的0.25µs延时。
3. 通信过程不能被中断。
1-Wire总线有四种基本操作:复位、写1位、写0位和读位操作。
在数据资料中,将完成一位传输的时间称为一个时隙。
于是字节传输可以通过多次调用位操作来实现,下面的表1是各个操作的简要说明以及实现这些操作所必须的步骤列表。
图1为其时序波形图。
表2给出了通常线路条件下1-Wire主机与1-Wire器件通信的推荐时间。
如果与1-Wire主机相连的器件比较特殊或者线路条件比较特殊,则可以采用最值。
请参考可下载的工作表中的系统和器件参数,确定最小值和最大值。
表1. 1-Wire操作图1. 1-Wire时序图表2. 1-Wire主机时序计算这些值的工作表可供下载。
代码实例下面代码实例都依赖于两个通用的'C'函数outp和inp,从IO端口读写字节数据。
1-Wire总线的基本通信协议作为一种单主机多从机的总线系统,在一条1-Wire总线上可挂接的从器件数量几乎不受限制。
为了不引起逻辑上的冲突,所有从器件的1-Wire总线接口都是漏极开路的,因此在使用时必须对总线外加上拉电阻(一般取5k>左右)。
主机对1-Wire总线的基本操作分为复位、读和写三种,其中所有的读写操作均为低位在前高位在后。
复位、读和写是1-Wire总线通信的基础,下面通过具体-程序详细介绍这3种操作的时序要求。
(程序中DQ代表1-Wire 总线,定义为P1.0,uchar定义为unsigned char)11-Wire总线的复位复位是1-Wire,总线通信中最为重要的一种操作,在每次总线通信之前主机必须首先发送复位信号。
如程序1.1所示,产生复位信号时主机首先将总线拉低480-960μs然后释放,由于上拉电阻的存在,此时总线变为高电平。
1-Wire总线器件在接收到有效跳变的15-60μs内会将总线拉低60>240μs,在此期间主机可以通过对DQ采样来判断是否有从器件挂接在当前总线上。
函数Reset()的返回值为0表示有器件挂接在总线上,返回值为1表示没有器件挂接在总线上。
程序1.1总线复位在DS18820中共有三种存储器,分别是ROM、RAM、EEPROM,每种存储器都有其特定的功能,可查阅相关资料。
31-Wire总线ROM功能命令在DS18820内部光刻了一个长度为64bit的ROM编码,这个编码是器件的身份识别标志。
当总线上挂接着多个DS18820时可以通过ROM编码对特定器件进行操作。
ROM功能命令是针对器件的ROM编码进行操作的命令,共有5个,长度均为8bit(1Byte)。
①读ROM(33H)当挂接在总线上的1-Wire总线器件接收到此命令时,会在主机读操作的配合下将自身的ROM编码按由低位到高位的顺序依次发送给主机。
总线上挂接有多个DS18820时,此命令会使所有器件同时向主机传送自身的ROM编码,这将导致数据的冲突。
一、简介在电子工程领域中,one-wire总线是很常见的一种通信协议,它只需要一根数据线和一根地线,因此成本较低,应用广泛。
二、one-wire通信原理1. one-wire总线采用单独的一根线来传输数据和提供电源。
在通信过程中,控制器可以通过改变电压来控制数据传输。
2. one-wire通信采用时间分割多路复用的方式,节省了硬件成本,提高了系统的可靠性。
3. one-wire总线采用了独特的通信协议,可以在一个单一的总线上连接多个设备进行通信,因此在一些特定场景下具有一些独特的优势。
三、标准电压1. 标准电压是one-wire通信中一个非常重要的参数。
根据one-wire 协议规范,标准电压一般为3.3V或5V。
2. 标准电压的选择取决于具体的硬件设计和应用场景。
一般来说,3.3V的电压可在功耗上有更好的表现,而5V则能提供更远的通信距离及更强的抗干扰能力。
3. 在实际应用中,需根据物联网设备的功耗和通信距离来选择合适的标准电压。
四、标准电压的影响1. 电压的选择对one-wire总线的通信速率和稳定性有着直接的影响。
一个合适的电压可以保证通信的可靠性。
2. 标准电压也与one-wire设备的供电、传输距离、抗干扰能力等方面息息相关。
在进行物联网设备设计时,需要充分考虑标准电压。
五、调试和验证1. 在设计one-wire设备时,选择合适的标准电压后,需要进行调试和验证。
使用示波器或逻辑分析仪可以观测电压变化及数据传输情况,以确保通信的稳定性和可靠性。
2. 一些相关的测试设备也可以帮助验证设备对电压的适应性,以进一步保证设备的可靠性和稳定性。
六、结语在物联网设备设计中,one-wire总线的通信协议以及标准电压的选择对设备的稳定性、传输距离和抗干扰能力有着重要的影响。
在设计和调试时,需要充分考虑这些因素,以保证设备的性能和可靠性。
随着物联网技术的不断发展,我们也期待能够有更多的优秀的硬件和软件方案能够应用到更多的实际场景中,为人们的生活带来更多的便利和乐趣。
基于1-WireTM技术的单片机单线通信的实现
在构成一个较大规模的单片机应用系统中,不可避免地要采用多机系统,经常涉及到系统间的信息交换。
在通信速率要求不高的情况下,我们希望进行通信的双方占用尽可能少的端口连线。
美国Dallas 公司生产的单线数字温度传感器DS1820 仅用1 根口线进行信息交换,该技术可以很方便地应用到单片机系统间的通信上来。
1发送和接收
单线通信的数据交换仅在1 根总线上完成,对主机和从机必须有严格的时序要求,可以借助时隙传输来实现数据的发送与接收。
如图1(a),主机向从机发送一位信息时,先由主机将总线由高(1)拉低(0)1~15μs,然后根据发送的信息是1 还是0,置总线为相应的逻辑1 或0,持续时间大于45~60μs 后释放总线。
从机检测到总线由高变低后,在15~60μs 的时间窗内采样总线,若为高,则收到1,否则收到0。
主机发送一位的总时间要求大于60μs,以便为最坏情况提供足够的时间裕量。
当主机需要接收数据时,采用如图1(b)的时隙,先由主机将总线拉低
1~15μs,然后释放。
从机检测到总线由高变低后置总线为逻辑1 或0,持续时间不少于15μs。
主机在释放总线的15μs 时间内采样总线,以接收从机发送的1 或0,同样,要求接收
一位的总时间不少于60μs。
由此可见,主机和从机进行单线通信,总是由主机发起的,即将总线由高拉低,除非被主机请求,否则从机无法主动发送数据。
除了主机外,从机之间也无法进行通信。