登陆注册
13028600000022

第22章 通信接口技术(3)

在有些系统中,另一种选择可能是在系统复位之后硬件主器件处于从接收方式。系统中一个主器件通知这个硬件主器件发送器必须发送的地址。这种编程过程以后,硬件主器件处于主发送方式。

6.2.9I2C总线定时

I2C总线上时钟最小低电平周期为4.7μs,最小高电平周期为4μs。主器件产生的总线时钟频率为0kHz~100kHz。连接到I2C总线上的所有器件必须遵从100kHz传送频率上限,包括发送、接收或利用时钟同步机制展宽低电平,迫使主器件处于等待状态。后面这种情况频率将适当降低。

6.3单总线

1wire(单总线)是Dallas公司的一项专有技术,采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的。它具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。

单总线适用于单个主机系统,能够控制一个或多个从机设备。当只有一个从机位于总线上时,系统可按照单节点系统操作,而当多个从机位于总线上时,则系统按照多节点系统操作。

6.3.1单总线的电路接法

单总线只有一根数据线,主机或从机通过一个漏极开路或三态端口连接至该数据线,这样允许设备在不发送数据时释放数据总线,以便总线被其他设备所用。

单总线要求外接一个5kΩ左右的上拉电阻,这样单总线的闲置状态为高电平。不管什么原因,如果传输过程需要暂时挂起,且要求传输过程还能够继续的话,则总线必须处于空闲状态。

位传输之间的恢复时间没有限制,只要总线在恢复期间处于空闲状态(高电平)。如果总线保持低电平超过480μs,总线上的所有器件将复位。

6.3.2单总线命令序列

典型的单总线命令序列如下:

初始化。

ROM命令,跟随需要交换的数据。

功能命令,跟随需要交换的数据。

每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则单总线器件不会响应主机。但是这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。

1.初始化

单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机设备且准备就绪。复位和应答脉冲详细介绍见6.3.3节单总线信号部分。

2.ROM命令

在主机检测到应答脉冲后,就可以发出ROM命令。这些命令与各个从机设备的惟一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。

这些命令还允许主机能够检测到总线上有多少个从机设备及其设备类型,或者有没有设备处于报警状态。从机设备可支持5种ROM命令(实际情况与具体型号有关),每种命令长度为8位。主机在发出功能命令之前,必须送出合适的ROM命令。下面将简要地介绍各个ROM命令的功能。

(1)搜索ROM命令[F0h]

当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机就能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环(搜索ROM命令跟随着位数据交换),以找出总线上所有的从机设备。如果总线上只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步(初始化)。

(2)读ROM命令[33h]

该命令仅适用于总线上只有一个从机设备的情况。它允许主机直接读出从机的64位ROM代码,而无需执行搜索ROM过程。如果该命令用于多节点系统,则必然发生数据冲突,因为每个从机设备都会响应该命令。

(3)匹配ROM命令[55h]

匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。仅当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令;其他设备将处于等待复位脉冲状态。

(4)跳越ROM命今[CCh](仅适合于单节点)

主机能够采用该命令同时访问总线上的所有从机设备,而无需发出任何ROM代码信息。例如,主机在发出跳越ROM命令后跟随转换温度命令[44h],就可以同时命令总线上所有的DS18B20开始转换温度,这样大大节省了主机的时间。值得注意的是,如果跳越ROM命令跟随的是读暂存器[BEh]的命令(包括其他读操作命令),则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。

(5)报警搜索命令[ECh](仅少数1wire器件支持)

除了那些设置报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令。该命令允许主机设备判断哪些从机设备发生了报警,如最近的测量温度过高或过低等。同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。

3.功能命令(以DS18B20为例)

主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20支持的某个功能命令。这些命令允许主机写入或读出DS18B20暂存器、启动温度转换以及判断从机的供电方式。

6.3.3单总线信号方式

所有的单总线器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1。所有这些信号,除了应答脉冲以外,都由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前,这一点与多数串行通信格式不同,一般的串行通信多数为字节的高位在前。

1.初始化序列:复位和应答脉冲

单总线上的所有通信都是以初始化序列开始的,包括主机发出的复位脉冲及从机的应答脉冲。当从机发出响应主机的应答脉冲时,即向主机表明它处于总线上,且工作准备就绪。在主机初始化过程中,主机通过拉低单总线至少480μs,以产生Tx复位脉冲。接着,主机释放总线,并进入接收模式Rx。当总线被释放后,5kΩ上拉电阻将单总线拉高。在单总线器件检测到上升沿后,延时15μs~60μs,接着通过拉低总线60μs~240μs以产生应答脉冲。

2.读/写时序

在写时序期间,主机向单总线器件写入数据;而在读时序期间,主机读入来自从机的数据。在每一个时序,总线只能传输一位数据。

(1)写时序

有两种写时序:写1和写0。主机采用写1时序向从机写入1,而采用写0时序向从机写入0。所有写时序至少需要60μs,且在两次独立的写时序之间至少需要1μs的恢复时间。两种写时序均起始于主机拉低总线。产生写1时序的方式:主机在拉低总线后,接着必须在15μs之内释放总线,由5kΩ上拉电阻将总线拉至高电平;而产生写0时序的方式:在主机拉低总线后,只需在整个时序期间保持低电平即可,至少要保持低电平60μs。

在写时序起始后15μs~60μs期间,单总线器件采样总线电平状态。如果在此期间采样为高电平,则逻辑1被写入该器件;如果为低电平,则写入逻辑0。

(2)读时序

单总线器件仅在主机发出读时序时,才向主机传输数据。所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要60μs,且在两次独立的读时序之间至少需要1μs的恢复时间。每个读时序都由主机发起至少拉低总线1μs。在主机发起读时序之后,单总线器件才开始在总线上发送0或1。若从机发送1,则保持总线为高电平;若发送0,则拉低总线。当发送0时,从机在该时序结束后释放总线,由上拉电阻将总线拉回至空闲高电平状态。从机发出的数据在起始时序之后,保持有效时间15μs。因而,主机在读时序期间必须释放总线,并且在时序起始后的15μs之内采样总线状态。

6.3.4单总线ROM搜索实例

ROM搜索过程只是一个简单的3步循环程序:

读一位;

读该位的补码;

写入一个期望的数据位。

总线主机在ROM的每一位上都重复这样的3步循环程序。当完成某个器件后,主机就能够知道该器件的ROM信息,剩下的设备数量及其ROM代码通过相同的过程即可获得。

4个不同的器件被连接至同一条总线上,它们的ROM代码如下所示:

ROM100110101……

ROM210101010……

ROM311110101……

ROM400010001……

具体搜索过程为:

(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数据位。这样就完成了第1次搜索,并找到了位于总线上的第1个设备。

(10)重复执行第(1)步~第(7)步,开始新一轮的ROM搜索命令。

(11)主机写入1,使ROM4离线,仅在总线上留下ROM1。

(12)主机读完ROM1余下的ROM数据,这样就完成了第2次的ROM搜索,找到了第2个ROM代码。

(13)重复执行第(1)步~第(3)步,开始新一轮的ROM搜索命令。

(14)主机写入1,这次禁止了ROM1和ROM4响应余下的搜索命令,仅在总线上留下了ROM2和ROM3。

(15)主机又执行两次读操作时序,读到两个0。

(16)主机写入0,这样禁止了ROM3而留下了ROM2。

(17)主机读完ROM2余下的ROM数据,这样就完成了第3次的ROM搜索,找到了第3个ROM代码。

(18)重复执行第(13)步~第(15)步,开始新一轮的ROM搜索命令。

(19)主机写入1,这次禁止了ROM2,而留下了ROM3。

(20)主机读完ROM3余下的ROM数据,这样就完成了第4次的ROM搜索,找到了第4个ROM代码。

6.4USB总线

USB的全称是通用串行总线(UniversalSerialBus)。USB总线在PC内部通过PCI总线与PC系统相连,外围设备通过USB电缆连到主机上。同时USB又是一种通信协议,支持主系统与其外设之间的数据传递。该总线具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代微机数据传输的重要方式。

6.4.1USB的特点与基本特性

6.4.1.1USB的特点

(1)用户易用性:电缆连接和连接头采用单一模型,电气特性与用户无关,并提供了动态连接、动态识别等特性。

(2)应用的广泛性:传输率从几kbps到几Mbps,乃至上百Mbps,并在同一根电缆上支持同步、异步两种传输模式。可以对多个USB总线设备(最多127个)同时进行操作,利用底层协议提高了总线利用率,使主机和设备之间可传输多个数据流。

(3)使用的灵活性:允许对设备缓冲区大小进行选择,并通过设定缓冲区的大小和执行时间,支持各种数据传输率、支持不同大小的数据包。

(4)容错性强:在协议中规定了出错处理和差错校正的机制,可以对有缺陷的设备进行认定,对错误的数据进行校正或报告。

(5)“即插即用”的体系结构:具有简单而完善的协议,并与现有的操作系统相适应,不会产生任何冲突。

(6)性价比较高:USB虽然拥有诸多优秀的特性,但其价格较低。USB总线技术将外设和主机硬件进行最优化集成,并提供了低价的电缆和连接头等。

同类推荐
  • 船舶动力装置故障诊断技术

    船舶动力装置故障诊断技术

    科技进步、经济振兴以及整个社会的发展,都取决于劳动者素质的提高和大批合格的技术人才的培养。船用柴油机、齿轮箱和传动轴系是船舶的主要动力……
  • 如何维修小型拖拉机

    如何维修小型拖拉机

    本书以问答的方式为小型拖拉机驾驶员和修理工在使用与维修中遇到的实际问题提供解决方案,包括保养、修复等方面的内容。
  • 如何维修电话

    如何维修电话

    本书以问答的形式介绍了电话使用与维修方面的知识,主要包括电话使用和保养的注意要点、有线电话的种类、无绳电话的种类、电话维修的规律等。
  • 探究式科普丛书-让人类走得更快:汽车

    探究式科普丛书-让人类走得更快:汽车

    本书语言生动,富有哲理,在讲述知识的同时还穿插了一些关于汽车的小知识,学习中不乏休憩。易读易懂,阅读这些知识,能陶冶情操、开阔眼界、开发智力、增强青少年朋友的学习欲望,另外它可适用于家长阅读。
  • 食品分析

    食品分析

    本书重点介绍了食品工程的基本书由上、下两篇组成,上篇为理论部分,共16章,分别介绍分析化学基础知识、采样和样品制备、pH与可滴定酸度、水分测定、灰分分析、矿物质的测定、碳水化合物的测定、膳食纤维的测定、脂类的测定、蛋白质与氨基酸的测定、维生素的测定、食品添加剂的测定、农兽药残留分析、热分析和流变学分析及现代仪器在食品分析中的应用;下篇为实验部分,共15个实验,主要介绍了对应上篇所述成分的测定。本书可作为食品科学与工程、食品质量与安全、乳品工程等相关食品专业本科生的教材或参考书,也可作为各类食品从业人员的参考用书。
热门推荐
  • 敌后生死十二年

    敌后生死十二年

    “他”潜伏在敌人内部,经历了抗日战争,解放战争,行走在生死边缘!“他们”为了新中国的成立,抛头颅,洒热血!
  • 都市之至尊降临

    都市之至尊降临

    他,是一代逍遥圣尊,因不满圣人之大盗天下,而拔剑战六圣,最终封印六圣,但却金身尽灭,神魂穿越空间,来到地球,俯身在一个即将进入大学的农民少年身上!
  • 我在平行世界创立基金会

    我在平行世界创立基金会

    PS:新书开坑,希望大家多多支持!同样是SCP同人小说,不过更新不定期,所以请各位读者老爷们见谅!“你想明白生命的意义么?想真正的……活着吗?是/否。”陆易不经咽了一口口水,一脸复杂的看着电脑屏幕上突然弹出的一行字。而伴随着这样的一句话出现,陆易意外被一颗陨石砸中,原本以为就这样结束了的他,后面居然穿越了?甚至夺舍了一名不列颠贵族并且再次得到重生。不过这个世界也并没有这么简单,他发现自己所在的这个世界居然是一个充满超自然异常的世界,而且……为啥这个世界的怪物们看起来这么眼熟呢?陆易看着眼前的日记,瞬间就明白了过来,原来自己所穿越的这个世界竟然是SCP基金会的世界……不!准确来说,应该算是平行世界。
  • 狩猎基因进化

    狩猎基因进化

    一场浩劫,史无前例的伤亡,危机的同时带来的是万物的进化,文明的摧毁,人类再度落入食物链的底端,人人命悬一线。方启,一个能狩猎生物,获得其生物能力,又是如何在这末日之中生存?蚂蚁力量,野兽本能,蜘蛛感应,蟑螂体质……基因与血脉的提升,基因与功法的融合,基因与科技的变异,基因与怪物的狩猎,龙鳞,火元素掌握,泰坦之力,原子吐息......
  • 武剑游传

    武剑游传

    一人一鼠一剑,畅游天下,只为找到自己的归宿!
  • 网络奇遇记

    网络奇遇记

    一个偶然的机会,主角在网络上习得真正的《易筋经》,一法通而万法皆通,他在作为一个学生的现实和作为一个救世主式的伟人的身份之间游离,众美女的青睐、校长和老师的欣赏、扮猪吃老虎的快感、俯瞰众生俾睨天下的苍凉,全部集于主角一身,要爽就得爽到底!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 邪性首席:萌妻,你好甜

    邪性首席:萌妻,你好甜

    三年前,她是令人艳羡的人生赢家,恋人在侧,奉子成婚,三年后,她是漂泊归来的小小编剧,历经磨难,为救父母,一场车祸,牵出一段旧情,他将她抵在角落,囚禁在怀:“许素素,孩子呢?”她茫然的避开眼:“徐先生,你认错人了。”“是不是认错,只有验过才知道。”
  • 爱过了,痛过了,不后悔

    爱过了,痛过了,不后悔

    通过一个人的爱情纠葛,弘扬社会新风,时代的变迁
  • 给教师的99个新建议

    给教师的99个新建议

    一名优秀的教师,一定是个知识渊博、不断进取之人。他不会固步自封,不会将自己视为正确答案的“专卖店”,也不会让学生成为自己的“复制品”。他深知每个人的指纹不同将要走的路不同,最主要的是让学生学会做人,让学生拥有热爱知识的灵魂,对生命的热忱,并能够不懈地探求知识,学会与人合作。