登陆注册
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总线技术将外设和主机硬件进行最优化集成,并提供了低价的电缆和连接头等。

同类推荐
  • 如何维修音响设备

    如何维修音响设备

    本书以问答形式为您排忧解难,简单解决音响设备故障,内容包括:怎样观察故障现象、检修音响设备的方法有哪些、音响设备有杂声怎么办等等。
  • 征服太空之路丛书:月球的新姐妹-卫星

    征服太空之路丛书:月球的新姐妹-卫星

    刘芳主编的《月球的新姐妹——卫星》是“征服太空之路丛书”之一。《月球的新姐妹——卫星》讲述了:人造卫星;通信卫星;侦察卫星;导航卫星;气象卫星;地球资源卫星等内容。
  • 低碳生活100招

    低碳生活100招

    全球日益变暖的趋势下,如何践行低碳生活理念,拥有健康环保的生活方式?
  • 中国煤炭产业经济研究

    中国煤炭产业经济研究

    不论是从中国能源资源赋存以及现已形成的能源工业生产力布局,还是从中国能源系统和国民经济实际运行的分析来看,煤炭在能源结构中都占据了不可替代的主导地位。因此,立足中国能源系统和煤炭产业实际,基于产业组织理论视角,研究煤炭产业组织及其产业政策以及实施怎样的政府规制成为煤炭产业组织研究的一个极具挑战性的课题。
  • 求知文库-能源世界

    求知文库-能源世界

    自古以来,人类就为改善自身的生存条件、促进社会的经济发展而不懈地奋斗。在这一奋斗过程中,能源一直在扮演着极其重要的角色。简单地说,能源指的是可以提供能量的物质,例如煤炭、石油、天然气、水能、太阳能、核能都是能源。
热门推荐
  • 神罗纪

    神罗纪

    千百年来,东极大陆圣耀峰下,百年一现凤鸣神威;传言经神威普照,可得道,后而立。这一次,少年宁观云神秘现世,扰乱神威,打碎了各方修士冲破禁锢的念想,从而开启了一条强者修行的道路。……修行,为了更强大,也为顺心意。
  • 这世界可能是假的

    这世界可能是假的

    别看书名,系统拥有了自主意识,后面剧情已经不受控制,就算写了简介也讲不清楚。系统越是完善,世界越是无厘头,已经不知道该怎么阻止了。总之,不后宫,不种马,也别操心女主什么时候出现,男主就是条幸福的单身汪。
  • 兽形进化录

    兽形进化录

    一觉醒来却身在异世,作为这片大陆唯一的异血种,引得各高级物种纷至沓来要不要这么勤快呀?!这边才刚刚虎口逃生,那边又马上被打包带走难道她真有这么好惹?!——高手在左!匕首在右!看异血种小女子如何在异世险中求存,闯出自己的一番天地!
  • 我的学生生涯

    我的学生生涯

    当年一战,伏尸百万,朋友,妻子,父母全都离我而去,世界蹦碎,天道破灭,一个纪元走到了尽头。是尽头?还是开始?我又身在何方?或许这就是命运安排的又是一个开始。那个时代我镇压一世,逆行伐天,而现在我通天的修为没有了,我的逆天法器失落了,但我思故我在,我有一颗倔强的灵魂,依然能活出精彩的一世。
  • 初遇的假期

    初遇的假期

    粉玫瑰的花语是初恋,他们是她们的‘粉玫瑰’,她们是那样深爱着他们,可是她要离开去韩国了,离开她最好的朋友,离开她最爱的人.......
  • 天行

    天行

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

    洪荒之命运至高

    梅青身返混沌成为命运神魔,伴生灵宝为三十六枚命运金钱,可以篡改命格、夺取气运、演算天机.....时间为尊,空间为王,力量至上,命运至高。
  • 天行

    天行

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

    娘亲有田

    爹妈不疼兄妹不爱的乔子陌,成亲后夫君就失踪五年。她扳伪父斗恶娘,打败兄妹,母子俩日子过得风生水起时,来了衣冠楚楚的妖孽劫走她的小包子,什么,这就是她夫君?不是个老农吗?咋就是个帅哥了?本文纯属虚构,请勿模仿。
  • 王妃水嫩嫩:钓个王爷当靠山

    王妃水嫩嫩:钓个王爷当靠山

    她本是盗墓传人,因一次盗墓意外,狗血穿越,嫁给了东楚国位高权重的九皇叔。成亲大典上,新郎官没出现,却让她跟一条黑狗拜堂?去你大爷!新婚夜携款跑路,被王爷老公亲手从墙上逮了回来。“还没洞房就想跑?”王爷如此多骄,引娇妻王妃累断腰。“爱妃,让本王亲亲你的脸。”“滚,不要脸!”“不亲脸?那我亲嘴好了。”“……”尼玛,说好的高冷九皇叔呢?不行,赶紧跑路要紧!