单总线

合集下载

1请比较单机系统中单总线、双总线和三总线结构的性能特点

1请比较单机系统中单总线、双总线和三总线结构的性能特点

1.请比较单机系统中单总线、双总线和三总线结构的性能特点。

【解】单总线结构:使用一条单一的系统总线来连接CPU、主存和I/O设备。

总线只能分时工作,使信息传送的吞吐量受到限制。

双总线结构:在CPU和主存之间专门设置了一组高速的存储总线,使CPU可通过专用总线与存储器交换信息,并减轻了系统总线的负担。

主存仍可通过系统总线与外设之间实现DMA操作,而不必经过CPU三总线结构:在双总线系统的基础上增加I/O总线,其中,系统总线是CPU、主存和通道(IOP)之间进行数据传送的公共通路,而I/O总线是多个外部设备与通道之间进行数据传送的公共通路。

通道实际上是一台具有特殊功能的处理器,它分担了一部分CPU的功能,以实现对外设的统一管理及外设与主存之间的数据传送。

2.当代PC机主板中的“南桥”和“北桥”分别是什么?有什么作用?【解】CPU总线、PCI总线、ISA总线通过两个“桥”芯片连成整体。

桥芯片在此起到了信号速度缓冲、电平转换、控制协议转换的作用。

通常将CPU总线-PCI总线的桥称为“北桥”,将PCI总线-ISA总线的桥称为“南桥”。

通过桥将两类不同的总线“粘合”在一起的技术特别适合于系统的升级换代,这样,每当CPU芯片升级时只需改变CPU总线和北桥芯片,原有的全部外围设备可以继续正常工作。

3.PCI总线中三种桥的名称是什么?桥的功能是什么?【解】在PCI总线体系结构中有三种桥:HOST桥、PCI-PCI桥、PCI-LAGACY桥,其中,HOST桥又是PCI总线控制器,含有中央仲裁器。

桥具有很重要的作用,它一方面连接两条总线,使彼此之间相互通信,另一方面又是一个总线转换部件,可以把一条总线的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址表。

4.比较通道、DMA、中断三种基本I/O方式的异同点。

【解】中断方式时是在外围设备数据准备就绪后“主动”向CPU发中断要求信号,请求CPU暂时中断目前正在执行的程序转而进行数据交换;当CPU响应这个中断时,便暂停运行主程序,自动转去执行该设备的中断服务程序;当中断服务程序执行完毕,CPU 又回到原来的主程序继续执行。

I2C与单总线

I2C与单总线

I2C总线——学习专业知识—单片机2009-12-14 22:44:25 阅读119 评论0 字号:大中小订阅一、总述:I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。

I2C总线只有两根双向信号线。

一根是数据线SDA,另一根是时钟线SCL。

I2C总线通过上拉电阻接正电源。

当总线空闲时,两根线均为高电平。

连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。

每个接到I2C总线上的器件都有唯一的地址。

主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。

由总线上接收数据的器件则为接收器。

在多主机系统中,可能同时有几个主机企图启动总线传送数据。

为了避免混乱,I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。

二、数据传送:1、规定:I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

2、起始信号和终止信号:SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。

起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。

连接到I2C总线上的器件,若具有I2C总线的硬件接口,则很容易检测到起始和终止信号。

接收器件收到一个完整的数据字节后,有可能需要完成一些其它工作,如处理内部中断服务等,可能无法立刻接收下一个字节,这时接收器件可以将SCL线拉成低电平,从而使主机处于等待状态。

直到接收器件准备好接收下一个字节时,再释放SCL线使之为高电平,从而使数据传送可以继续进行。

3、数据传送格式:(1)、字节传送与应答:每一个字节必须保证是8位长度。

数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。

单总线DS18B20

单总线DS18B20
串行总线扩展---单总线
串行单总线原理与应用
One-Wire总线(单总线) One-Wire总线是DALLAS公司研制开发的一种协议。它 由一个总线主节点、一个或多个从节点组成系统,通过一 根信号线对从芯片进行数据的读取。每一个符合 OneWire协议的从芯片都有一个唯一的地址,包括48位的序 列号、8位的家族代码和8位的CRC代码。主芯片对各个 从芯片的寻址依据这64位的不同来进行。One-Wire总线 利用一根线实现双向通信。因此其协议对时序的要求较严 格,如应答等时序都有明确的时间要求。基本的时序包括 复位及应答时序、写一位时序、读一位时序。 在复位及 应答时序中,主器件发出复位信号后,要求从器件在规定 的时间内送回应答信号;在位读和位写时序中,主器件要 在规定的时间内读回或写出数据。
高速暂存存储器
高速暂存存储器由9个字节组成,其分配如表 所示。当温度转换命令发布后,经转换所得 的温度值以二字节补码形式存放在高速暂存 存储器的第0和第1个字节。单片机可通过单 线接口读到该数据,读取时低位在前,高位 在后。对应的温度计算:当符号位S=0时, 直接将二进制位转换为十进制;当S=1时, 先将补码变为原码,再将数据部分转换为十 进制。第9个字节是冗余检验字节。
+25.0625
+10.125 +0.5 0 -0.5
0000 0001 1001 0001
0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000
0191H
00A2H 0008H 0000H FFF8H
-10.125
-25.0625 -55
1111 1111 0101 1110

单总线协议详解

单总线协议详解

单总线协议详解单总线即one-wire总线,是美国DALLAS公司推出的外围串行扩展总线技术。

与SPI、IC串行数据通信方式不同.它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。

单总线是DALLAS公司研制开发的种协议由一个总线主节点、或多个从节点组成系统,通过根信号线对从芯片进行数据的读取。

每一个符合OneWire协议的从芯片都有一个唯一的地址,包括48位的序列号、8位的家族代码和8位的CRC代码。

主芯片对各个从芯片的寻址依据这64位的不同来进行。

单总线利用一根线实现双向通信。

因此其协议对时序的要求较严格,如应答等时序都有明确的时间要求。

,基本的时序包括复位及应答时序、写一位时序、读一位时序。

在复位及应答时序中,主器件发出复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读固或写出数据。

单总线适用于单主机系统,能够控制一个或多个从机设备。

主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。

当只有一个从机设备时,系统可按单节点系统操作;当有多个从设备时,系统则按多节点系统操作。

单总线工作原理单总线器件内部设置有寄生供电电路(Parasite Power Circuit)。

当单总线处于高电平时,一方面通过二极管VD向芯片供电,另方面对内部电容C(约800pF)充电;当单总线处于低电平时,二极管截止,内部电容c向芯片供电。

由于电容c的容量有限,因此要求单总线能间隔地提供高电平以能不断地向内部电容C充电、维持器件的正常工作。

这就是通过网络线路窃取电能的寄生电源的工作原理。

要注意的是,为了确保总线上的某些器件在工作时(如温度传感器进行温度转换、E2PROM写人数据时)有足够的电流供给,除了上拉电阻之外,还需要在总线上使用MOSFET(场效应晶体管)提供强上拉供电。

can总线拓扑结构方案

can总线拓扑结构方案

CAN总线拓扑结构方案简介CAN(Controller Area Network)总线是一种常用于现代汽车、工业控制和其它应用的串行通信协议。

它的主要特点是高可靠性、实时性和高带宽,被广泛应用于车载电子系统和工业领域。

在CAN总线系统中,拓扑结构方案的设计起着至关重要的作用。

本文将介绍几种常见的CAN总线拓扑结构方案,并对各种方案的特点、优缺点进行比较和分析。

单总线拓扑结构单总线拓扑结构是最简单的拓扑结构方案,也是最常用的方案之一。

在单总线拓扑结构中,所有节点都直接连接到同一根总线上。

节点之间通过总线共享数据和通信。

特点•简单、容易实现和维护。

•总线长度可以较长,适合中大型系统的应用。

•总线上只有一个主节点,其他节点均为从节点。

优点•简化硬件设计,减少成本。

•节省总线线缆和器件的使用。

缺点•对于大型系统,总线长度过长会导致信号衰减和反射现象。

•节点数过多时,总线的负载会过重,影响总线性能。

星型拓扑结构星型拓扑结构是另一种常见的拓扑结构方案。

在星型拓扑结构中,所有节点都通过独立的连线连接到主节点(集线器或交换机)。

特点•易于添加或移除节点,不影响其他节点的通信。

•可以通过改变主节点的位置来改变系统的结构。

优点•总线长度可以更长,较少信号衰减和反射问题。

•每个节点之间的通信不会影响其他节点的通信。

缺点•需要更多的线缆。

•需要额外的集线器或交换机等设备。

环型拓扑结构环型拓扑结构是一种将所有节点构成环形的拓扑结构方案。

在环型拓扑结构中,每个节点都与相邻的节点连接,形成一个闭环。

特点•每个节点之间可以直接通信,无需通过中间节点。

•所有节点都能接收到通过总线传输的数据。

优点•可以实现较高的传输速率。

•可以实现实时性较高的通信。

缺点•每个节点都需要两个接口,增加成本。

•添加或移除节点需要重新布线。

混合拓扑结构混合拓扑结构是将多种拓扑结构方案结合在一起的方案。

在混合拓扑结构中,可以同时使用单总线、星型、环型等多种拓扑结构。

单总线(onewire)技术及应用

单总线(onewire)技术及应用

单总线技术及其应用单总线(1~Wire Bus)技术采用单根信号线,即传输时钟,又传输数据,而且数据传输是双向的,在其线路简单、硬件开销少、成本低廉、软件设计简单方面有着无可比拟的优势。

目前常用的微机与外设串行总线主要有我们熟悉的12C总线,SPI总线,SCI总线。

其中12C总线是以同步串行2线方式进行通信(一条时钟线,一条数据线),SPI总线是以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),SCI总线是以异步方式进行通讯(一条数据输入线,一条数据输出线)。

这些总线至少需要有两条或两条以上的信号线。

近年来,美国的达拉斯半导体公司(DALLAS SEMICONDUCTOR)推出了一套单总线(1-Wire Bus)技术,与上述总线不同,它采用单根信号线,即传输时钟,又传输数据,而且数据传输是双向的,在其线路简单、硬件开销少、成本低廉、便于总线的扩展和维护等优点。

单总线适用于单个主机系统,能够控制一个或多个从机设备。

主机可以是微控制器,从机可以是单总线器件,如图1所示,他们之间的数据交换只通过一条数据线。

当只有一个从机设备时系统可按单节点系统操作;当有多个从机设备时,则系统按多节点系统操作。

单总线工作原理顾名思义,单总线只有一根数据线系统中的数据交换、控制都在这根线上完成。

设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,这样允许设备不发送数据时释放总线,以便其他设备使用总线,其内部等效电路如图2所示。

单总线要求外接一个约4.7Ω的上拉电阻,这样当总线闲置时,状态为高电平。

主机和从机之间的通信通过以下三个步骤完成:初始化1-wire器件,识别1-wire器件,交换数据。

由于二者是主从结构,只有主机呼叫从机时,从机才能答应,因此主机访问1-wire器件都必须严格遵循单总线命令序列:初始化、ROM命令、功能命令。

如果出现序列混乱,1 -wire器件不会响应主机(搜索ROM命令,报警搜索命令除外)。

单线总线通讯协议

单线总线通讯协议

单线总线通讯协议
采用两根线进行通讯的通讯线路叫单线总线通讯(地线和数据线,数据线同时为从机提供电源,主机和从机在一定的条件下可以转换)。

电路结构如下:
如果是主机,可以通过R1和D1将总线拉高,同时向从机提供电源
如果是从机,可以通过D3从总线取电,以获取工作电源。

发送端通过Q1、R2、D4将总线拉低,用以传送数据。

总线有数据传送,总线变低电平,接受端也变成低电平总线是高电平(12V),接受端也是搞电平(3V),从而实现了数据的接受。

发送端发送数据的时候,可以通过接受端进行数据侦听。

数据传递如下:
空闲时为高电平,开始为1t的低电平,紧接着是比特率自适应校准位为1t高电平和1t 低电平,接着传递数据,1为3t高电平+1t低电平;0为1t高电平+3t低电平,数据传递完成后是一位结束位,4t的高电平,之后是空闲状态,
此数据传递格式可以用于无线传递数据,
发送可以使用任意IO口,接受使用外部中断接口,关联定时器进行接受处理。

(合同协议是经验性极强的领域,无法思考和涵盖全面,最好找专业律师起草或审核后使用。

范文供参考,期待你的好评与关注)。

单总线协议辅助分析工具

单总线协议辅助分析工具

非标准单总线协议辅助分析工具WYT一、探究背景从事电子行业的朋友,特别是从事嵌入式工作的朋友,都知道逻辑分析仪这个工具,用它来抓协议是非常方便可靠的。

基本上所有的标准总线协议,逻辑分析仪都能分析出来。

但是,对于非标准的协议,逻辑分析仪就无能为力了。

因为逻辑分析仪所分析的协议是标准的、已知的、预编程分析的。

所以,有必要对非标准的协议进行处理。

接下来,我会在本文中讨论和制作一种非标准单总线协议辅助工具。

二、单总线的特点单总线,就是主机和从机在一根线上来回传输数据。

由于只有一根线,所以数据和时钟都包含在内,它的传输时“半双工”的,即可以主机发从机收或者从机发主机收。

有两种方向但不能同时进行,所以称为“半双工”。

还有就是,总线空闲时,一定是高电平,一般需要外接上拉电阻把总线拉高。

主机和从机的通信端口一般都是配置为输入悬浮,即端口本身不接上拉电阻和下拉电阻,端口本身的电平是不确定的,所以需要外接一个上拉电阻将总线拉高。

在通信时,发送方端口被配置为输出模式来拉低电平,端口被配置为输入悬浮来释放总线;接收方的端口配置为输入悬浮、下降沿中断来检测和获取数据。

值得注意的是,单总线对时序比较敏感,如果传输的数据时序稍微有偏差,通信往往就失败。

DS18B20温度传感器就是标准单总线协议通信的,这个比较典型,网上也有很多例程和讲解,单总线入门可以从DS18B20开始。

三、非标准单总线分析的难点虽然是非标准的单总线,但其硬件方面还是跟标准的单总线一样。

不同的地方就是是传输协议了,有许多产品采用非标准单总线协议来识别自家产品,比如日本的数码相机电池、PSP掌机电池、部分手机电池等。

它们采用非标准协议主要是防止别人生产兼容产品,而且价格也是比较高的,当然对消费者是不利的。

以相机和电池通信为例。

把相机和电池的通信端子和它们的负极用线引出来,都接到逻辑分析仪上,我们会看到一大堆高低电平通信,而且还不是标准的单总线协议,根本无从下手。

DS18B20的工作原理

DS18B20的工作原理

DS18B20的工作原理DS18B20是一种数字温度传感器,它基于一种称为“单总线”的通信协议来与微控制器进行通信。

DS18B20能够以高精度和高分辨率测量环境温度,并通过数字信号输出温度值。

DS18B20的工作原理如下:1. 温度传感器:DS18B20采用了一个精确的温度传感器,该传感器基于温度对半导体材料的电气特性的影响进行测量。

传感器内部包含一个电阻,其电阻值会随温度的变化而变化。

2. 单总线通信:DS18B20使用单总线通信协议与微控制器进行通信。

单总线是一种串行通信协议,只需要使用一个引脚即可实现数据传输。

DS18B20通过该引脚接收来自微控制器的指令,并将温度数据以数字信号的形式发送回微控制器。

3. ROM存储器:DS18B20内部包含一个唯一的64位ROM存储器,用于存储传感器的唯一标识符和其他相关信息。

这个唯一标识符可以用于区分多个DS18B20传感器。

4. 温度转换:DS18B20的温度转换过程分为三个步骤:启动转换、温度转换和读取温度。

首先,微控制器向DS18B20发送启动转换的指令。

然后,DS18B20开始测量环境温度,并将其转换为数字信号。

最后,微控制器通过单总线通信协议从DS18B20读取温度值。

5. 分辨率和精度:DS18B20具有可调节的分辨率和精度。

它可以以9位、10位、11位或12位的分辨率输出温度值,分别对应0.5°C、0.25°C、0.125°C和0.0625°C的精度。

通过调整分辨率,可以根据应用需求平衡精度和响应时间。

6. 供电和引脚:DS18B20可以通过单总线引脚从微控制器获得供电,也可以通过外部电源供电。

除了单总线引脚,DS18B20还包含用于供电和地线连接的引脚。

总结:DS18B20是一种数字温度传感器,通过单总线通信协议与微控制器进行通信。

它利用温度对半导体材料的电气特性的影响进行测量,具有高精度和高分辨率。

单总线1—Wire+bus

单总线1—Wire+bus
1-wire 单总线适用于单个主机系统 能够控制一个或多个从机设备 当只有一个从机位 于总线上时 系统可按照单节点系统操作 而当多个从机位于总线上时 则系统按照多节点 系统操作
为了较为全面地介绍单总线系统 将系统分为三个部分讨论 硬件结构 命令序列和信 号方式 信号类型和时序 二 硬件结构
顾名思义 单总线只有一根数据线 设备 主机或从机 通过一个漏极开路或三态端口 连接至该数据线 这样允许设备在不发送数据时释放数据总线 以便总线被其它设备所使用 单总线端口为漏极开路 其内部等效电路如图 1 所示
1-wire 单总线的基本原理
一 概述 1-wire 单总线是 Maxim 全资子公司 Dallas 的一项专有技术 与目前多数标准串行数据
通信方式 如 SPI/I2C/MICROWIRE 不同 它采用单根信号线 既传输时钟 又传输数据 而且数据传输是双向的 它具有节省 I/O 口线资源 结构简单 成本低廉 便于总线扩展和 维护等诸多优点
单总线上的所有通信都是以初始化序列开始 包括 主机发出的复位脉冲及从机的应答
脉冲 如图 4 所示 当 从机发出响 应主机的应 答脉冲时 即向主机表 明它处于总 线上 且工 作准备就 绪 在主机初始化过程 主机通过拉低单总线至少 480 s 以产生 Tx 复位脉冲 接着 主机释放总线 并进入接收模式 Rx 当总线被释放后 5k 上拉电阻将单总线拉高 在单 总线器件检测到上升沿后 延时 15-60 s 接着通过拉低总线 60-240 s 以产生应答脉冲 4 2 读/写时隙
3.2.3 匹配 ROM[55h]
匹配 ROM 命令跟随 64 位 ROM 代码 从而允许主机访问多节点系统中某个指定的从
机设备 仅当从机完全匹配 64 位 ROM 代码时 才会响应主机随后发出的功能命令 其它

单总线协议

单总线协议

单总线通信协议中存在两种写时隙:写0写1。

主机采用写1时隙向从机写入1,而写0时隙向从机写入0。

所有写时隙至少要60us,且在两次独立的写时隙之间至少要1us的恢复时间。

两种写时隙均起始于主机拉低数据总线。

产生1时隙的方式:主机拉低总线后,接着必须在15us之内释放总线,由上拉电阻将总线拉至高电平;产生写0时隙的方式为在主机拉低后,只需要在整个时隙间保持低电平即可(至少60us)。

在写时隙开始后15~60us期间,单总线器件采样总电平状态。

如果在此期间采样值为高电平,则逻辑1被写入器件;如果为0,写入逻辑0。

下图为写时隙(包括1和0)时序上图中黑色实线代表系统主机拉低总线,黑色虚线代表上拉电阻将总线拉高。

对于读时隙,单总线器件仅在主机发出读时隙时,才向主机传输数据。

所有主机发出读数据命令后,必须马上产生读时隙,以便从机能够传输数据。

所有读时隙至少需要60us,且在两次独立的读时隙之间至少需要1us恢复时间。

每个读时隙都由主机发起,至少拉低总线1us。

在主机发出读时隙后,单总线器件才开始在总线上发送1或0。

若从机发送1,则保持总线为高电平;若发出0,则拉低总线。

当发送0时,从机在读时隙结束后释放总线,由上拉电阻将总线拉回至空闲高电平状态。

从机发出的数据在起始时隙之后,保持有效时间15us,因此主机在读时隙期间必须释放总线,并且在时隙起始后的15us之内采样总线状态。

下图给出读时隙(包括0或1)时序图中黑色实线代表系统主机拉低总线,灰色实线代表总局拉低总线,而黑色的虚线则代表上拉电阻总线拉高。

单总线通信的初始化单总线上所有的通信都是以初始化序列开始的,初始化序列包括主机发出的复位脉冲及从机的应答脉冲,这一过程如图所示,黑色实线代表系统主机拉低总线,灰色实线代表从机拉低总线,而黑色的虚线则代表上拉电阻将总线拉高。

系统主设备发送端发出的复位脉冲是一个480~960us的低电平,然后释放总线进入接收状态。

单线总线通讯协议

单线总线通讯协议

单线总线通讯协议
采用两根线进行通讯的通讯线路叫单线总线通讯(地线和数据线,数据线同时为从机提供电源,主机和从机在一定的条件下可以转换)。

电路结构如下:
如果是主机,可以通过R1和D1将总线拉高,同时向从机提供电源
如果是从机,可以通过D3从总线取电,以获取工作电源。

发送端通过Q1、R2、D4将总线拉低,用以传送数据。

总线有数据传送,总线变低电平,接受端也变成低电平总线是高电平(12V),接受端也是搞电平(3V),从而实现了数据的接受。

发送端发送数据的时候,可以通过接受端进行数据侦听。

数据传递如下:
空闲时为高电平,开始为1t的低电平,紧接着是比特率自适应校准位为1t高电平和1t 低电平,接着传递数据,1为3t高电平+1t低电平;0为1t高电平+3t低电平,数据传递完成后是一位结束位,4t的高电平,之后是空闲状态,
此数据传递格式可以用于无线传递数据,
发送可以使用任意IO口,接受使用外部中断接口,关联定时器进行接受处理。

串口单总线例程

串口单总线例程

串口单总线例程1.引言1.1 概述概述在嵌入式系统开发中,串口单总线是一种常用的通信协议。

它通过一个单独的数据线连接多个设备,实现设备间的数据交换和通信。

串口单总线具有简单、灵活、成本低廉等优点,因此在很多应用场景下被广泛应用。

本文将重点介绍串口单总线的实例应用,并详细讲解其原理和实现方法。

通过对这一应用的深入剖析,读者可以了解串口单总线的工作原理和使用技巧,从而可以在自己的项目中灵活应用和扩展。

本文包含三个主要部分。

首先我们将在引言中介绍本文的结构和目的,为读者提供整体的内容概述。

然后,在正文部分将逐步详细讲解串口单总线的要点和关键技术。

最后,在结论中对本文进行总结和回顾,并提出对未来发展的展望。

通过本文的阅读,读者将会了解到串口单总线的基本原理、通信流程以及常见的应用场景。

在实际应用中,串口单总线可以用于各种设备之间的通信,比如温度传感器、湿度传感器、运动控制模块等等。

掌握了串口单总线的知识,读者可以更加灵活地搭建嵌入式系统,并提高系统的性能和稳定性。

下面,我们将进入正文部分,首先介绍串口单总线的第一个要点。

1.2 文章结构文章结构部分的内容应该介绍整篇文章的组织结构和各个部分的主要内容。

根据提供的目录,可以按以下方式撰写文章结构的内容:2. 文章结构本文将按照以下结构进行组织和呈现:2.1 第一个要点这一部分将详细介绍关于串口单总线的概念、基本原理以及其在实际应用中的作用和优势。

2.2 第二个要点接下来的部分将进一步探讨串口单总线的使用方法和开发实例。

通过具体的例程演示,我们将介绍如何在不同平台上利用串口单总线进行数据通信,并给出相应的代码示例和操作步骤。

在这两个要点中,我们将深入理解串口单总线的工作原理,包括数据传输、通信协议和硬件连接等方面的知识。

同时,我们将演示如何使用串口单总线进行数据采集、控制以及与其他设备的接口操作等实际应用。

通过本文的阅读,读者将能够全面了解串口单总线的基本原理和使用方法,具备在相关项目中进行串口单总线开发的基础知识和技能。

第十五讲、单总线

第十五讲、单总线

• 6.DS18B20操作时序:
每一次读取温度必须按照此时序严格进行。 不论是读出还是写入都是低位再前。
• 单总线DS18B20实验: • 1.把当前温度显示在数码管上;如果温度 大于20度蜂鸣器开始报警。 • 2.把温度传送到电脑上,采用串口调试助 手接收。 • 3.利用中值滤波法设计一个温控器,当温度 达到30度以上时蜂鸣器开始报警。
• 如果读到的温度是:11111 1001001 0000 符号位全为1说明是负温度,应该首先求出他的原 码(取反在加1): 取反得: 0000001101101111 +1 再加1后得: 0000001101110000 最后按权展开得:-55度。 5.DS18B20的控制字: 0X33:读ROM 0X44:开始转换温度 0x4e:写存储器 0x55:匹配ROM 0XBE:读存储器 0XCC:跳过ROM
1. 接地 2. Dq 信号 3. 5v电源
• 3.可测试温度范围-55----+125度 • 在-10—85度时误差为+-0.5 • 每个DS18B20有唯一的64位序号,该序号 存储在各自的ROM中。所以,同一根信号 线上可以挂接多个DS18B20. • DS18B20内部有2个字节RAM用来存放检 测到的温度值,分辨率为1/16. • 4.温度数据格式:
• 温度数据以补码形式存放,共16位。 1 5 1 1 9 8 7 6 5 4 3 2 1 0 1 0 x x x x x X x x x x x x x x x x 11—15位表示温度值的符号。如果全0表示正温度。全1 表示负 温度。 4—10位表示检测到温度的整数部分。 0---3位表示检测到的温度的小数部分。 实际温度的计算方法: 首先看高5位(11-15)全为0是正温度,全是1为负温度, 剩下11位按权展开。 例如:读到的16位温度值为:00000,0111101,0011 整数部分最高位的权值是2的6次方,小数部分最高位的权 是2的-1次方。因为符号为为0,所以温度为正,补码与原 码相同。可直接按权展开。按权展开为61.1875度 1 4 1 3 1 2

单总线协议

单总线协议

单总线协议与其他所有的数据通信传输方式一样,单总线芯片在数据传输过程要求采用严格的通信协议,以保证数据的完整性。

单总线芯片在数据传输过程中,每个单总线芯片都拥有唯一的地址,系统主机一旦选中某个芯片,就会保证通信连接直到复位,其他器件则全部脱离总线,在下次复位之前不参与任何通信。

为了说明单总线数据传输的过程,以下将分4个部分对单总线数据通信传输过程进行介绍,它们分别是单总线通信信号类型,单总线通信初始化,单总线通信的ROM命令以及单总线通信的功能命令。

1.1单总线通信信号类型单总线通信协议定义了如下几种类型,即复位脉冲、应答脉冲、写0、写1、读0和读1,除了应答脉冲外,所有的信号都由主机发出同步信号,并且发送的所有的命令和数据都是字节的低位在前。

单总线通信协议中不同类型的信号都采用一种类似脉宽调制的波形表示,逻辑0用较长的低电平持续周期表示,逻辑1用较长的高电平持续周期表示。

在单总线通信协议中,读写时隙的概念十分重要,当系统主机向从设备输出数据时产生写时隙,当主机从从机设备读取数据时产生读时隙,每一个时隙总线只能传输一位数据。

无论是在读时隙还是写时隙,它们都以主机驱动数据线位低电平开始,数据线的下降沿是从设备触发其内部的延时电路,使之与主机同步。

在写时隙内,该延迟电路决定从设备采样数据线的时间窗口。

单总线通信协议中存在两种写时隙:写1和写0。

主机采用写1时隙向从机写入1,而采用写0时隙向从机写入0,。

所有写时隙至少要60us,且在两次独立的写时隙之间至少需要1us的恢复时间。

两种写时隙均起始于主机拉低数据总线。

产生1时隙的方式:主机拉低总线后,接着必须在15us之内释放总线,由上拉电阻将总线拉至高电平;产生写0时隙的方式为在主机拉低后,只需要在整个时隙间保持低电平即可(至少60us)。

在写时隙开始后15us~60us期间,单总线器件采样总电平状态。

如果在此期间采样值为高电平,则逻辑1被写入器件;如果为0,写入逻辑0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单总线要求外接 一个约 5k 的上拉电 阻 这样 单总线的 闲置状态为高电平 不管什么原因 如果 传输过程需要暂时挂 起 且要求传输过程 还能够继续的话 则 总线必须处于空闲状 态 位传输之间的恢 复时间没有限制 只 要总线在恢复期间处于空闲状态 高电平 如果总线保持低电平超过 480 s 总线上的所 有器件将复位 另外 在寄生方式供电时 为了保证单总线器件在某些工作状态下 如温度 转换期间 EEPROM 写入等 具有足够的电源电流 必须在总线上提供强上拉 如图 1 所 示的 MOSFET 三 命令序列
附录 A ROM 搜索实例 ROM 搜索过程只是一个简单的三步循环程序 读一位 读该位的补码 写入一个期望
的数据位 总线主机在 ROM 的每一位上都重复这样的三步循环程序 当完成某个器件后 主机就能够知晓该器件的 ROM 信息 剩下的设备数量及其 ROM 代码通过相同的过程即可 获得
下面的 ROM 搜索过程实例假设四个不同的器件被连接至同一条总线上 它们的 ROM 代码如下所示
在写时隙起始后 15-60 s 期间 单总线器件采样总线电平状态 如果在此期间采样为 高电平 则逻辑 1 被写入该器件 如果为 0 则写入逻辑 0 4 2 2 读时隙
单总线器件仅在主机发出读时隙时 才向主机传输数据 所以 在主机发出读数据命令 后 必须马上产生读时隙 以便从机能够传输数据 所有读时隙至少需要 60 s 且在两次 独立的读时隙之间至少需要 1 s 的恢复时间 每个读时隙都由主机发起 至少拉低总线 1
s 图 5 所示 在主机发起读时隙之后 单总线器件才开始在总线上发送 0 或 1 若从机 发送 1 则保持总线为高电平 若发送 0 则拉低总线 当发送 0 时 从机在该时隙结束后 释放总线 由上拉电阻将总线拉回至空闲高电平状态 从机发出的数据在起始时隙之后 保 持有效时间 15 s 因而 主机在读时隙期间必须释放总线 并且在时隙起始后的 15 s 之 内采样总线状态
息 例如 主机通过在发出跳越 ROM 命令后跟随转换温度命令[44h] 就可以同时命令总线
上所有的 DS18B20 开始转换温度 这样大大节省了主机的时间 值得注意 如果跳越 ROM
命令跟随的是读暂存器[BEh]的命令 包括其它读操作命令 则该命令只能应用于单节点系
统 否则将由于多个节点都响应该命令而引起数据冲突
在写时隙期间 主机向单总线器件写入数据 而在读时隙期间 主机读入来自从机的数 据 在每一个时隙 总线只能传输一位数据 4 2 1 写时隙
存在两种写时隙 写 1 和 写 0 主机采用写 1 时隙向从机写入 1 而采用写 0 时 隙向从机写入 0 所有写时隙至少需要 60 s 且在两次独立的写时隙之间至少需要 1 s 的 恢复时间 两种写时隙均起始于主机拉低总线 图 5 所示 产生写 1 时隙的方式 主机在 拉低总线后 接着必须在 15 s 之内释放总线 由 5k 上拉电阻将总线拉至高电平 而产生 写 0 时隙的方式 在主机拉低总线后 只需在整个时隙期间保持低电平即可 至少 60 s
在主机发出 ROM 命令 以访问某个指定的 DS18B20 接着就可以发出 DS18B20 支持
的某个功能命令 这些命令允许主机写入或读出 DS18B20 暂存器 启动温度转换以及判断
从机的供电方式 DS18B20 的功能命令总结于表 1 中 并在图 3 流程图中作了说明
表 1 DS18B20 功能命令集
在主机检测到应答脉冲后 就可以发出 ROM 命令 这些命令与各个从机设备的唯一 64 位 ROM 代码相关 允许主机在单总线上连接多个从机设备时 指定操作某个从机设备 这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型 或者有没有设备 处于报警状态 从机设备可能支持 5 种 ROM 命令 实际情况与具体型号有关 每种命令 长度为 8 位 主机在发出功能命令之前 必须送出合适的 ROM 命令 ROM 命令的操作流 程如图 2 所示 下面将简要地介绍各个 ROM 命令的功能 以及使用在何种情况下
17 主机读完 ROM2 余下的 ROM 数据 这样就完成了第三次的 ROM 搜索 找到了第三个 ROM 代码 18 重复执行第 13 至第 15 步 开始新一轮的 ROM 搜索命令 19 主机写入 1 这次禁止了 ROM2 而留下了 ROM3 20 主机读完 ROM3 余下的 ROM 数据 这样就完成了第四次的 ROM 搜索 找到了第四个 ROM 代码 说明
1-wire 单总线适用于单个主机系统 能够控制一个或多个从机设备 当只有一个从机位 于总线上时 系统可按照单节点系统操作 而当多个从机位于总线上时 则系统按照多节点 系统操作
为了较为全面地介绍单总线系统 将系统分为三个部分讨论 硬件结构 命令序列和信 号方式 信号类型和时序 二 硬件结构
顾名思义 单总线只有一根数据线 设备 主机或从机 通过一个漏极开路或三态端口 连接至该数据线 这样允许设备在不发送数据时释放数据总线 以便总线被其它设备所使用 单总线端口为漏极开路 其内部等效电路如图 1 所示
典型的单总线命令序列如下 第一步 初始化 第二步 ROM 命令 跟随需要交换的数据 第三步 功能命令 跟随需要交换的数据 每次访问单总线器件 必须严格遵守这个命令序列 如果出现序列混乱 则单总线器 件不会响应主机 但是 这个准则对于搜索 ROM 命令和报警搜索命令例外 在执行两者中 任何一条命令之后 主机不能执行其后的功能命令 必须返回至第一步 3 1 初始化 基于单总线上的所有传输过程都是以初始化开始的 初始化过程由主机发出的复位脉冲 和从机响应的应答脉冲组成 应答脉冲使主机知道 总线上有从机设备 且准备就绪 复位 和应答脉冲的时间详见单总线信号部分 3 2 ROM 命令
3.2.5 报警搜索[ECh] 仅少数 1-wire 器件支持
除那些设置了报警标志的从机响应外 该命令的工作方式完全等同于搜索 ROM 命令
该命令允许主机设备判断那些从机设备发生了报警 如最近的测量温度过高或过低等 同
搜索 ROM 命令一样 在完成报警搜索循环后 主机必须返回至命令序列的第一步
3 3 功能命令 以 DS18B20 为例
数据至 DS18B20
复制暂存器 将暂存器中的 TH TL 和配
48h

1
置字节复制到 EEPROM 中
回读 EEPROM 将 TH TL 和配置字节从 EEPROM 回读至暂存器中
B8h DS18B20 传送回读 状态至主机
注释
1 在温度转换和复制暂存器数据至 EEPROM 期间 主机必须在单总线上允许强上拉 并 且在此期间 总线上不能进行其它数据传输 2 通过发出复位脉冲 主机能够在任何时候中断数据传输 3 在复位脉冲发出前 必须写入全部的三个字节
命令
描述
命令代码 发送命令后 单总 注释
线上的响应信息
温度转换命令
转换温度
启动温度转换
44h

1
存储器命令
读暂存器
读全部的暂存器内容 包括 BEh DS18B20 传输多达
2
CRC 字节
9 个字节至主机
写暂存器
写暂存器第 2 3 和 4 个字 4Eh 主机传输 3 个字节
3
节的数据 即 TH TL 和配 置寄存器
3.2.1 搜索 ROM[F0h]
当系统初始上电时 主机必须找出总线上所有从机设备的 ROM 代码 这样主机就能够
判断出从机的数目和类型 主机通过重复执行搜索 ROM 循环 搜索 ROM 命令跟随着位数
据交换 以找出总线上所有的从机设备 如果总线只有一个从机设备 则可以采用读 ROM
命令来替代搜索 ROM 命令 关于搜索 ROM 命令的详细解释 请参见附录 A 在每次执行
四 信号方式 所有的单总线器件要求采用严格的通信协议 以保证数据的完整性 该协议定义了几种
信号类型 复位脉冲 应答脉冲 写 0 写 1 读 0 和读 1 所有这些信号 除了应答脉冲 以外 都由主机发出同步信号 并且发送所有的命令和数据都是字节的低位在前 这一点与 多数串行通信格式不同 多数为字节的高位在前 4 1 初始化序列 复位和应答脉冲
完搜索 ROM 循环后 主机必须返回至命令序列的第一步 初始化
3.2.2 读 ROM[33h] 仅适合于单节点
该命令仅适用于总线上只有一个从机设备 它允许主机直接读出从机的 64 位 ROM 代
码 而无须执行搜索 ROM 过程 如果该命令用于多节点系统 则必然发生数据冲突 因为
每个从机设备都会响应该命令
1-wire 单总线的基本原理
一 概述 1-wire 单总线是 Maxim 全资子公司 Dallas 的一项专有技术 与目前多数标准串行数据
通信方式 如 SPI/I2C/MICROWIRE 不同 它采用单根信号线 既传输时钟 又传输数据 而且数据传输是双向的 它具有节省 I/O 口线资源 结构简单 成本低廉 便于总线扩展和 维护等诸多优点
单总线上的所有通信都是以初始化序列开始 包括 主机发出的复位脉冲及从机的应答
脉冲 如图 4 所示 当 从机发出响 应主机的应 答脉冲时 即向主机表 明它处于总 线上 且工 作准备就 绪 在主机初始化过程 主机通过拉低单总线至少 480 s 以产生 Tx 复位脉冲 接着 主机释放总线 并进入接收模式 Rx 当总线被释放后 5k 上拉电阻将单总线拉高 在单 总线器件检测到上升沿后 延时 15-60 s 接着通过拉低总线 60-240 s 以产生应答脉冲 4 2 读/写时隙
ROM1 00110101…
ROM2 10101010…
ROM3 11110101…
ROM4 00010001… 具体搜索过程如下 1 主机发出复位脉冲 启动初始化序列 从机设备发出响应的应答脉冲 2 接着主机在总线上发出 ROM 搜索命令 3 主机从总线上准备读入一个数据位 这时 每个响应设备分别将 ROM 代码的第一位输 出到单总线上 ROM1 和 ROM4 输出 0 至总线 而 ROM2 和 ROM3 输出 1 至总线 线上的 输出结果将是所有器件的逻辑 与 所以 主机从总线上读到的将是 0 接着 主机开始 读另一位 即每个器件分别输出 ROM 代码中第一位的补码 此时 ROM1 和 ROM4 输出 1 至总线 而 ROM2 和 ROM3 输出 0 至总线 这样 主机读到的该位补码还是 0 主机由此 判定 总线上有些器件的 ROM 代码第一位为 0 有些则为 1 两次读到的数据位具有以下含义 00 在该位处 存在设备冲突 01 在该位处 所有器件为 0 10 在该位处 所有器件为 1 11 单总线不存在任何设备 4 主机写入 0 从而禁止了 ROM2 和 ROM3 响应余下的搜索命令 仅在总线上留下了 ROM1 和 ROM4 5 主机再执行两次读操作 依次收到 0 和 1 这表明 ROM1 和 ROM4 在 ROM 代码的第二 位都是 0 6 接着主机写入 0 在总线上继续保持 ROM1 和 ROM4 7 主机又执行两次读操作 收到两个 0 表明所连接的设备的 ROM 代码在第三位既有 0 也有 1 8 主机再次写入 0 从而禁止了 ROM1 响应余下的搜索命令 仅在总线上留下了 ROM2 9 主机读完 ROM4 余下的 ROM 数据位 这样就完成了第一次搜索 并找到了位于总线上 的第一个设备 10 重复执行第 1 至第 7 步 开始新一轮的 ROM 搜索命令 11 主机写入 1 使 ROM4 离线 仅在总线上留下 ROM1 12 主机读完 ROM1 余下的 ROM 数据 这样就完成了第二次的 ROM 搜索 找到了第二个 ROM 代码 13 重复执行第 1 至第 3 步 开始新一轮的 ROM 搜索命令 14 主机写入 1 这次禁止了 ROM1 和 ROM4 响应余下的搜索命令 仅在总线上留下了 ROM2 和 ROM3 15 主机又执行两次读操作时隙 读到两个 0 16 主机写入 0 这样禁止了 ROM3 而留下了 ROM2
相关文档
最新文档