1、 第9章短距离有线通信技术9.1数据终端间的通信及接口特性数据终端间的通信及接口特性9.2EIA RS-232C9.3RS系列接口及各种串行接口性能比较系列接口及各种串行接口性能比较9.4USB串行总线及其应用串行总线及其应用9.5CAN总线总线本章小结本章小结9.1 数据终端间的通信及接口特性数据终端间的通信及接口特性物联网中的感知控制层通信系统可认为是一个点对点的数据通信系统,物联网感知控制终端(以下简称为物联网终端)和汇聚设备均可看成是对等通信的数据终端设备。数据终端间通信时需要通过数据通信设备对数据信息进行某种变换和处理后才能适合有线或无线信道的传输。数据终端间通信的系统结构如图9.1
2、.1所示。图9.1.1 数据终端间通信的系统结构图9.1.1中,数据终端设备(Data Terminal Equipment,DTE)是指物联网终端或物联网中的计算机设备,以及其他数据终端设备。数据通信设备(Data Communication Equipment,DCE)可以是调制解调器(Modem)、线路适配器、信号变换器等。对于不同的通信线路,为了使不同厂家的产品能够互连,DTE与DCE在插接方式、引脚分配、电气性能及应答关系上均应符合统一的标准及规范。国际电报电话咨询委员会(CCITT)、国际标准化组织(ISO)和美国电子工业协会(Electronic Industries Assoc
3、iation,EIA)为各种数据通信系统制定了开放互联的系统标准。这些标准如表9.1.1所示,包括了机械特性(Mechanical Characteristics)、电气特性(Electrical Characteristics)、功能特性(Function Characteristic)、过程特性Procedural Characteristic)四个方面。(1)机械特性。机械特性涉及的是DTE和DCE的实际物理连接。典型的是,信号以及控制信息的交换电路被捆扎成一根电缆,该电缆的两端各有一个终接插头,该插头可以是“公”插头,也可以是“母”插头。位于电缆两端的DCE和DCE必须具有“性别”相反
4、的插头,以实现物理上的连接。如一端为“公”插头,则另一端必须为“母”插头。(2)电气特性。电气特性与电压电平及电压变换的时序相关。DTE和DCE都必须使用相同的编码,相向的电压电平必须是不同的含义,而且还必须使用持续时间相同的信号元素等。这些特性决定了能够达到的数据传输速率和传输距离。(3)功能特性。功能特性定义的各种功能由具有各种不同的交换电路来执行。这些功能分为数据电路、控制电路、时序电路以及电气接地等。(4)过程特性。过程特性(定义了传输数据时发生的时间序列,它依据的是接口的功能特性。DTE/DCE间的接口类型较多,目前最通用的类型有:美国电子工业协会的RS-232C接口;国际电报电话咨
5、询委员会的V系列接口、X系列接口;国际标准化组织的ISO 2110、ISO 1177等。EIA RS-232C接口标准是美国电子工业协会于1969年颁布的一个使用串行二进制方式的DTE与DCE间的接口标准。RS是Recommended Standard的缩写,232是标准的标记号码。由于该接口标准推出较早,并对各种特性都做了明确的规定,因此成为了一种非常通用的串行通信接口,目前几乎所有的计算机和数据通信都兼容该标准。9.2 EIA RS-232C9.2.1 特性功能特性功能1.机械性能RS-232C接口标准中定义了一个具有特定引脚排列顺序的25针插头和插座,其引脚排列如图9.2.1所示。图9.
6、2.1 RS-232C引脚结构在图9.2.1中,上、下共两排引脚。第一排从左到右共13针,第二排从左到右共12针。各针的功能如表9.2.1所示。虽然RS-232C定义了25个引脚,但实际应用于串行通信时仅需要9个电压信号,即两个收发数据信号RXD和TXD、6个控制信号和1个信号地。由于计算机除支持EIA电压接口外,还需支持20 mA电流接口,另需4个电流信号,因此采用了25针连接器作为DTE与DCE间通信电缆的连接器。由于大部分数据终端设备取消了电流环路接口,所以常采用9针连接器。9针连接器的引脚分配如图9.2.2所示。图9.2.2中,引脚1为载波探测DCD;引脚2为接收数据RxD;引脚3为发
7、送数据TxD;引脚4为DTE就绪DTR;引脚5为信号地GND;引脚6为准备就绪DSR;引脚7为请求发送RTS;引脚8为清除发送CTS;引脚9为振铃指示RI。图9.2.2 RS-232C 9引脚结构2.电气特性数据终端设备(DTE)/数据通信设备(DCE)接口的电气标准特性主要规定了发送端驱动器与接收端接收器的电平关系、负载要求、信号速率及连接距离等。在TxD和RxD上要求逻辑“1”(MARK)为315 V,逻辑“0”(SPACE)为+3+15 V。在RTS、CTS、DTR和DCD等控制线上要求信号有效电压为+3+15 V,信号无效电压为315 V。上述规定说明了RS-232C标准对逻辑电平的定
8、义。对于数据信息,逻辑“1”的电平应JP2低于3 V,逻辑“0”的电平应高于+3 V。对于控制信号,接通状态(ON),即信号有效的电平高于+3 V;断开状态(OFF),即信号电平无效的电平应低于3 V。当传输电平的绝对值大于3 V时,电路就可以有效地检测,而介于3+3 V间的电压电平、低于15 V或高于+15 V的电压电平都是无意义的。因此,实际工作时,应保证电压电平在+55 V之间。3.功能特性DTE/DCE接口连线的功能特性主要是对各引脚的功能进行定义,并说明它们之间的相互关系。RS-232C接口标准规定了21条信号线和25芯连接,表9.2.2为RS-232C与V.24接口电路的功能约定。
9、组成接口的信号线按其功能可分为数据信号线、控制信号线、定时和接地4类。数据信号线是用来传送数据的,RS-232C是串行传输的接口标准,接收、发送各用一条信号线。在RS-232C中,正向传输控制线共有9条,其中请求发送、允许发送、数据线路设备准备就绪、数据终端准备就绪、数据载波检测、呼叫指示是最基本的控制电路。定时用于同步通信方式,是传送数据信号定时信息的信号线路,有发送端控制和接收端控制两种。定时功能在异步通信时无效。另外RS-232C中还定义了两条保护地线和信号地线。4.过程特性DTE/DCE接口的过程特性规定了各接口之间的相互关系、动作顺序以及维护测试操作等方面的内容。下面以发送数据为例来
10、说明接口的工作过程。当数据终端设备(DTE)有数据要发送时,置RS-232C中的CD线(数据终端准备就绪DTR)为高电平(ON状态),通知本地数据通信设备(DCE),如Modem等,表示数据终端已准备好。本地Modem如果也准备好,即说明DCE与DTE连接成功,此时Modem中的RS-232C中的CC(数据设备准备DSR)响应此信号,DTE和DCE可以开始控制信号的收发。DTE置电路RS-232C中CA(请求发送RTS)为高电平,通知本地Modem请求发送数据。本地Modem检测到CA信号后,一方面立即控制Modem发送载波,另一方面通过延迟电路控制RS-232C中CB(允许发送CTS)的接通
11、。电路RTS和CTS间的关系如图9.2.3所示。由于远端设备从载波到达至载波检出,直到接通RS-232C中CF(数据载波检测DCD)必须经过一定的时延t3,如果此时将数据发送出去,数据是不能被远端正确接收的,所以本地的CTS变成ON之前的时间t1必须大于t3,时序如图9.2.4所示。当远端Modem检测到载波信号后,置DCD为ON,通知远端接收发送来的数据。图9.2.3 RTS和CTS间的关系图9.2.4 DCD和CTS间的关系DTE检测到CTS位ON后,即可通过RS-232C中BA(发送数据TxD)发送数据,并用RS-232C中的BB(数据接收RxD)接收远端发来的数据。DTE发送完数据后,
12、置RTS线为OFF,通知本地Modem发送结束。本地Modem检测到RTS为OFF后,立即停止发送载波,并置CTS为OFF,作为对DTE的应答。远端Modem检测不到载波后,置DCD和CE(呼叫指示器)线为低电平,恢复初始状态。5.RS-232C与TTL的转换RS-232C是用正负电压来表示逻辑“0”和“1”的,与TTL以高低电平表示逻辑“1”和“0”不同。为了使数据终端设备的TTL部件能够与RS-232C接口连接,需在这两者之间进行转换,转换电路可采用集成电路芯片来完成。目前较为广泛使用的转换芯片有MAX232、MC1488、SN75150、MC1489和SN75154等,其中MAX232能
13、实现TTL与RS-232C 之间的双向转换。9.2.2 RS-232C的短距离通信技术的短距离通信技术在短(近)距离通信时,不需要诸如Modem等数据通信设备,可直接用电缆来连接,此时仅用少量几根线即可。一种常用的最简单的情况是不使用RS-232C中的任何控制线,只需要用发送线TxD、接收线RxD和信号地线SG这3根线,便可实现全双工异步通信。连接方式如图9.2.5 所示。在图9.2.5中,DTE1中的2号线与DTE2中的3号线连接,DET1中的3号线与DTE2中的2号线连接,DTE1与DTE2中的7号线直接连接,DTE1及DTE2中的4号线与5号线连接、6号线与20号线连接。图9.2.5 最
14、简单连接方式另一种较简单的情况是考虑它们之间的联络控制信号,连接方式如图9.2.6所示。这种情况下通信双方的握手信号关系如下:(1)一方的数据终端准备好(DTR)和对方的数据设备准备好(DSR)及振铃信号(RI)两个信号线互连。这时,若DTR有效,则对方的RI立即有效,产生呼叫并应答,同时又使对方的DSR有效。(2)一方的请求发送(RTS)端及允许发送(CTS)端自环,并与对方的数据载波检出(DCD)端互连,这时若请求发送(RTS)有效,则立即得到发送允许(CTS)有效,同时使对方的(DCD)有效,即检测到载波信号,表明数据通信信道已接通。(3)双方的发送数据(TxD)端和接收数据(RxD)端
15、互连,即意味着双方都是数据终端,只要上述双方的握手信号一经建立即可进行全双工或半双工通信。图9.2.6 标准连接方式EIA RS-232C接口标准规定了最大传输距离为15m,最高传输速率不高于20 b/s。为了解决传输距离不够远及传输速率不够高的问题,EIA在RS-232C的基础上制定了更高性能的串行通信标准。9.3 RS系列接口及各种串行接口性能比较系列接口及各种串行接口性能比较9.3.1 RS-422A、RS-423及及RS-4851.RS-422ARS-422A标准是一种以平衡方式传输的标准。平衡方式是指双端发送和双端接收,因此传输信号须采用两条线路,发送端和接收端分别采用平衡发送器和差
16、动接收器。其结构如图9.3.1所示。图9.3.1 RS-422A的系统结构图RS-422A标准的电气特性对逻辑电平的定义是根据两条线间的电压差来决定的。当AA的电平比BB的电平低2 V时,表示逻辑“1”;当AA的电平比BB的电平高+2 V时,表示逻辑“0”。这种方式与RS-232C采用单端接收器和单端发送器时仅采用一条信号线来传送信息,且由信号线与公共信号地线间的电平大小来决定逻辑“1”和“0”的方式是不同的。RS-422A电路是通过平衡发送器把逻辑电平转换为电位差来发送信息的,同时,通过差动接收器把电位差转换为逻辑电平,从而实现信息的收发。RS-422A由于采用了双线传输,大大增加了抗共模干
17、扰的能力,因此当传输距离限制在15 m内时,它的最大传输速率可达10 Mb/s;当传输速率为90 kb/s时,其最大传输距离为120 m。RS-422A接口标准规定了发送端只有1个发送器,而接收端可以有多个接收器,这就意味着它可以实现点对多点通信。RS-422A接口标准允许驱动器输出为+2+6 V,接收器输入电平可以低到+200 mV。常用的RS-422A接口标准的芯片为MC3487/MC3486、SN75174/SN75175等,它们是平衡驱动/接收器集成电路。2.RS-423ARS-423A接口标准是一种是非平衡方式传输的标准,即以单线来传输信号,规定信号的参考电平为地。该标准规定电路中只
18、允许有1个单端发送器,但可以有多个接收器。因此,允许在发送器和接收器间有一个电位差。标准规定:逻辑“1”的电平必须超过4 V,但不能超过6 V;逻辑“0”的电平必须低于4 V,但不能低于6 V。RS-423A接口标准由于采用了差动接收,提高了抗共模干扰能力,因此与RS-232C相比,传输距离较远,传输速率较快。当传输距离为90 m时,最大传输速率为100 kb/s;当传输速率为1 kb/s时,传输距离可达1200 m。3.RS-485RS-485接口标准是一种平衡传输方式的串行通信接口标准,它与RS-422A兼容,并且扩展了RS-422A的功能。RS-422A只允许电路中有一个发送器,而RS-
19、485标准允许有多个发送器,因此,RS-485是一个多发送器的标准,它允许一个发送器驱动多个可以是被动发送器、接收器或收发器组合单元的负载设备。RS-485采用共线电路结构,即在一对平衡传输线的两端配置终端电阻,其发送器、接收器以及组合收发单元可以挂在平衡传输线上的任何位置,实现在数据传输中多个驱动器和接收器共用同一传输线的多路传输。RS-485接口标准的抗干扰能力强、传输速率高、传输距离远。采用双绞线,不用调制解调器等通信设备的情况下,当传输速率为100 kb/s时,传输距离可达1200 m;当传输速率为9600 b/s时,传输距离可达15 km。在传输距离为15 m时,它的最大传输速率可达
20、10 Mb/s。RS-485允许在平衡电缆上连接32个发送器/接收器,因此它的应用非常广泛,尤其在工业现场总线等方面,同时也是物联网终端常用的接口方式。RS-485可用串行通信集成芯片实现,目前常用的芯片有MAX485/MAX491等。9.3.2 各种串行接口性能比较各种串行接口性能比较4种通用串行通信接口标准的性能比较如表9.3.1所示。其中EIA是指美国电子工业协会制定的标准,TIA为远程通信协会(Telecommunication Industry Association)制定的标准,后缀RS表示推荐标准。9.4 USB串行总线及其应用串行总线及其应用9.4.1 USB串行总线的特点串行
21、总线的特点通用串行总线(Universal Serial Bus,USB)是一种串行技术规范,其主要目的是简化计算机与外围设备的连接过程,目前已广泛应用于计算机、通信、自动化、仪器仪表等多个领域,同时也成为物联网中应用最广泛的串行通信技术之一。1.使用方便USB的方便性体现在可自动设置、连接便捷、无需外部电源、接口通用等方面。在自动设置方面,当将USB设备连接到计算机上时,操作系统会自动检测该设备,并为其加载适当的驱动程序。在第一次安装时,操作系统会提醒用户加载驱动程序,其后的安装,操作系统会自动完成,一般不需要重启。另外,USB的安装不需要设置如端口地址、中断号码等参数,安装程序会自动检测。
22、在连接方面,USB等外设可直接插入到计算机的USB接口上。不需要时,可直接将其拔下,USB设备的插拔不会损坏计算机和USB外设。USB接口包含了一个+5 V的电源和地线,USB外设可直接使用接入系统的电源和地,无需USB外设提供额外的电源,只有在所接入的系统提供的电源功率不足时,才需要给USB外设供电。2.传输速率高USB支撑三种信道速率,即1.5 Mb/s的低速、12 Mb/s的全速,以及480 Mb/s以上的高速。目前计算机的USB接口均能支撑这三种速率。USB的这三种速率可应用于表9.4.1所示的场合。3.功耗低、性能稳定当USB外设处于待机状态时,可自动启动省电模式来降低功耗;激活时,
23、可自动恢复原来状态,因此USB外设的功耗较低。USB的驱动程序、硬件及电缆均尽量减少噪声干扰,以免产生差错,所有的设计均采用了差错处理机制,因此使用时USB设备较稳定。4.操作系统的支持性与灵活性Windows 98是第一个支持USB的操作系统,以后主流的操作系统如Linux、NetBSD和FreeBSD等也支持USB。每个操作系统都支持与USB相关的下列三项底层功能:(1)与新连接的设备沟通确认交换数据的方式。(2)自动检测设备是否连接到系统或已删除。(3)提供驱动程序与USB硬件以及应用程序的沟通机制。USB的控制、中断、批量和实时四种传输类型与低速、全速及高速三种传输速率可让外设灵活选择
24、。不论是交换少量或大量的数据,还是有无时效的限制,都适合传输类型。总之,USB接口的优点使得它不但成为了计算机最常用的数据传输接口,而且成为了能适应于未来物联网需要的通用串行通信标准,可很好地实现短距离数据通信。9.4.2 USB总线体系结构总线体系结构USB系统主要包括USB主机、USB设备和USB互连三部分。其中USB互连是指USB设备与USB主机连接并通信的方式,它是通过一定的拓扑结构来实现互连的。1.USB拓扑结构USB设备与USB主机通过USB总线相连。USB的拓扑结构为星型结构,如图9.4.1所示。图9.4.1 USB的拓扑结构集线器是USB拓扑连接的核心部件,与主机相连的集线器为
25、根集线器,它可以与其他集线器相连,也可以与设备相连。一个集线器与多个设备相连可组成复合设备,例如一个鼠标和一个键盘可以组合在一个集线器内形成一个多功能的复合设备。2.USB总线在整个USB系统中,只允许存在一个主机。主机的基本结构如图9.4.2所示。它由USB主控制器、USB系统软件和USB客户软件构成。其中,USB主控制器是指主机的USB接口,它可以是硬件与软件构成的实体。USB主控制器的作用是将数据转换成在管道中传输的格式,而且能被操作系统理解。USB主控制器的另一个作用负责管道上的通信。图9.4.2 USB主机的结构集线器被集成在主机系统中,用来提供一个或多个接入。集线器与主控制器共同作
26、用来检测设备的接入和移除。USB主机是USB中唯一用来协调控制所有USB访问的实体。当一个USB访问请求到来时,必须首先得到主机的允许,USB设备才能获得对总线的访问权。USB系统中主机主要进行USB设备的接入与移除检测,主机与USB设备间数据流的管理,搜索状态信息和活动信息统计,并为接入的USB设备提供电源。USB的系统软件是用来管理USB设备和主机之间信息交互的,它主要完成设备的枚举和配置、同步数据传输、电源管理以及设备和总线信息管理。图9.4.3 USB设备的结构3.USB的机械及电气特性USB设备都有“上行”(Up-stream)和“下行”(Down-stream)连接。对于USB主机
27、,连接的是下行。上行和下行连接在机械性能方面是不能互换的,所以要尽量避免集线器上发生环路连接。USB连接器上都有四个触点,具有屏蔽外界干扰、保障坚固性和易于插拔的特性。对应的USB电缆具有四根导线,其中一对标准规格的双绞线作为信号线,分别标有D+和D;另一对为规格的电源线,分别标有Vbus和GND。USB信号线的特性阻抗为90,使用一个差模输出驱动器向USB电缆传输数据信号,因此接收端可在不低于200 mA的范围内保证接收的准确性。USB通信接口支持两种信号速率:最高速率12 Mb/s和较低速率1.5 Mb/s。较低速率的传输对线路的要求较低,而较高速率的传输对线路的要求较高。对于最高速率的连
28、接,要求采用一对屏蔽双绞线电缆来产生,要求电缆的特性阻抗为9015%,电缆长度不超过15 m。每个驱动器的阻抗必须位于1944 之间。数据信号上升沿和下降沿间的时间必须处于 420 ns 之间。低速率的连接可以利用一对非屏蔽双绞线电缆实现,最大长度为3 m。9.4.3 USB系统在物联网中的应用系统在物联网中的应用1.USB近距离数据采集系统USB的传输距离一般在15 m以内,属于近距离传输,而不采用数据通信设备所构成数据采集系统为近距离数据采集系统。USB近距离数据采集系统的硬件结构如图9.4.4所示。它由主机(计算机或信息处理系统)、USB通信接口、微处理器、A/D转换器等构成。图9.4.
29、4 USB近距离数据采集系统硬件组2.USB远程数据采集系统USB的通信距离限制了数据采集的范围,要想扩大数据采集的距离就须在USB近距离数据采集系统的基础上增加相关的接口来延长传输距离。目前在工业现场中广泛采用RS-485接口来传输数据,其传输距离可达1 km以上,并且可以跨接多台设备,但其缺点是传输速度慢、成本高、安装不便。为了获得传输距离、传输速率、成本及安装等方面的综合优势,可将图9.4.4中的数据采集器作为单独的模块与USB/RS-485转换器结合进行设计,其系统结构如图9.4.5所示。图9.4.5 USB远距离数据采集系统结构RS-485总线的长度可长达1 km以上,在该总线上可跨
30、接32个数据采集器,数据采集器的通信接口为RS-485。这些数据采集器采集的数据经RS-485总线到达USB/RS-485双向转换器后被转换成为USB信号进入到主机。9.4.4 IEEE-1394接口接口与USB接口相似的另一个接口标准是IEEE-1394,它比USB具有更快的传输速率、更为灵活方便,但其成本较高。USB和IEEE-1394的应用场合是有所区别的。USB适合使用在键盘、鼠标、扫描仪、移动硬盘及打印机等中低速的设备上,而IEEE-1394则非常适合于视频或其他高速系统的连接,以及没有主机的场合。对于许多外设来说,USB和IEEE-1394都适用。在使用USB时,一台主机可以控制多
31、台外设,控制信息的处理均由主机完成,因此这些外设的电路相对简单,因而成本也较低。IEEE-1394采用的是点对点的通信方式,外设间可以直接相互通信,并且还可以采用点对多点的通信方式。所以IEEE-1394比USB更灵活,但外设电路较复杂,成本也较高。USB 1.x的传输速率为12 Mb/s,USB 2.0的传输速率可达480 Mb/s。IEEE-1394JP2的传输速率为400 Mb/s,比USB 1.1快30倍以上,IEEE-1394.b的传输速率可达3.2 Gb/s以上,比USB 2.0快6倍以上。除了成本外,IEEE-1394的灵活性、速度都比USB有优势。9.5 CAN总线总线9.5.
32、1 CAN总线的特点总线的特点物联网的一个重要的应用领域是工业与自动化,在该领域中需要对大量的生产现场进行实时控制,因此现场总线的技术及应用是物联网通信技术、控制技术的重要组成部分。目前,常用的现场总线主要有以下几种类型:基金会现场总线(Foundation Field bus,FF)、ProfiBus、CAN(Controller Area Network)、DeviceNet、HART等。其中CAN现场总线,即控制器局域网,具有高性能、高可靠性以及独特的设计,被公认为是最有前途的现场总线之一。CAN现场总线是在20世纪80年代初由德国BOSCH公司为实现现代汽车内部测量与执行部件之间的数据
33、通信而开发的一种串行数据通信协议。它是一种多主总线,具有很高的可靠性,支持分布式控制和实时控制。CAN总线已历经30多年的发展,应用日趋广泛。其国际标准(ISO11898)的制定,进一步推动了它的发展和应用。目前已有Intel、Motorola、Philips、Siemens等百余家国际大公司支持CAN总线协议。目前,CAN总线已被广泛地应用于汽车、火车、轮船、机器人、智能楼宇、机械制造、数控机床、各种机械设备、交通管理、传感器、自动化仪表等领域,同时也成为了物联网中广泛应用的感知控制层的通信总线。CAN总线属于总线式串行通信网络,由于采用了许多新技术以及独特的设计,与一般的通信总线相比,它具
34、有突出的可靠性、实时性和灵活性。其特点可以概括如下:(1)通信方式灵活。CAN采用多主方式工作,网络上的任意节点均可在任意时刻主动地向其他节点发送信息,而不分主从,且不需站地址等结点信息。(2)CAN网络上的节点信息分成不同的优先级,以满足和协调各自不同的实时性要求。(3)采用非破坏性总线仲裁技术,当多个节点同时发送信息时,按优先级顺序通信,大大节省总线冲突仲裁时间,避免网络瘫痪。(4)CAN通过报文滤波实现点对点、一点对多点及全局广播等几种方式传送数据,无需专门的“调度”。(5)传输速率最高可以达到1 Mb/s(40 m),直接传输距离最远可以达到10 km(传输速率在5 kb/s以下)。(
35、6)CAN上的节点数主要取决于总线驱动电路,目前可达110个。报文标志符可达2032种(CAN2.0A),扩展标准(CAN2.0B)的报文标志符几乎不受限制。(7)短帧,传输时间短,抗干扰能力强,检错效果好。其每帧字节数最多为8个,能够满足工业领域的一般要求,也能保证通信的实时性。(8)CAN每帧信息都有CRC校验及其他检错措施,保证了通信的可靠性。(9)CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成数据通信的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等。(10)通信介质可以为双绞线、同轴电缆或光纤,选择灵活。(11)网络结点在错误严重的情况下可以自动关闭
36、输出功能,使总线上其他节点的操作不受影响。(12)已经实现了标准化、规范化(国际标准ISO11898)。9.5.2 CAN总线网络层次与通信协议总线网络层次与通信协议1.CAN总线网络层次CAN协议主要描述设备之间的信息传递方式。ISO开放系统互连参考模型将网络协议分为7层,由上至下分别为应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。根据ISO/OSI开放系统互连参考模型,为了满足现场设备间通信的实时性要求,在CAN规范中只是在物理层和数据链路层进行了定义,其层次结构如图9.5.1所示。图9.5.1 CAN分层结构在数据链路层,CAN定义了逻辑链路子层(LLC)部分和完整的媒体访
37、问控制子层(MAC)。逻辑链路子层(LLC)的作用范围包括:为远程数据请求以及数据传输提供服务,确定由实际使用的LLC子层接收哪一个报文,为恢复管理和过载通知提供手段。MAC子层主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。总线上什么时候开始发送新报文,以及什么时候开始接收报文,均在MAC子层里确定。位定时的一些普通功能也可以看做是MAC子层的一部分。MAC子层的修改是受到限制的。MAC子层是CAN协议的核心。它把接收到的报文提供给LLC子层,并接收来自LLC子层的报文。物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输。同一网络的物理层,对于所有的节点
38、当然是相同的。在物理层,CAN协议规范只定义了信号如何实际地传输,包括对位时间、位编码、同步的解释。CAN规范没有定义物理层的驱动器/接收器特性,因而可以根据具体的应用对发送媒体和信号电平进行优化。2.CAN总线通信协议1)总线访问CAN是共享媒体的总线,对媒体的访问机制类似于以太网的媒体访问机制,即采用载波监听多路访问(Carrier Sense Multiple Access,CSMA)的方式。CAN控制器只能在总线空闲时开始发送,并采用硬同步,所有CAN控制器同步都位于帧起始的前沿。为避免异步时钟因累计误差而错位,CAN总线在硬同步后,还应满足在一定条件的跳变下进行重新同步。CAN总线是
39、由两条导线构成的,总线上的状态(信号)由两条导线上的电压决定:当处于隐性状态(即隐性电平)时,两条导线上的电压为0 V;当处于显性状态(即显性电平)时,两条导线上的电压不低于2.5 V。当总线空闲时呈隐性电平,此时任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。2)非破坏性的位仲裁方式当总线空闲时呈隐性电平,此时任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。如果有两个或两个以上的节点同时发送,就会产生总线冲突。CAN总线解决总线冲突的方法比以太网的CSMA/CD方法有很大的改进。3)编码/解码帧起始域、仲裁域、控制域、数据域和CRC序列均使用位填充技术进行编码。在CAN总
40、线中,每连续5个同状态的电平插入一位与它相补的电平,还原时每5个同状态的电平后的相补电平被删除,从而保证了数据的透明。4)出错标注当检测到位错误、填充错误、形式错误或应答错误时,检测出错条件的CAN控制器将发送一个出错标志。5)超载标注一些CAN控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。3.CAN报文的帧类型1)数据帧数据帧用来携带从发送器传输到接收器的数据。数据帧由7个不同的域组成,即帧起始标识位(SOF)、仲裁域(Arbitration Field)、控制域(Control Field)、数据域(Data Field)、CRC检查域、ACK应答域和帧结束。其中数据域的长
41、度可以为0。数据帧的结构如图9.5.2所示。图图9.5.2 数据帧的结构数据帧的结构CAN2.0B协议中存在着两种不同的帧格式,其主要区别在于标识符(Identifier)的长度。具有11位标识符的帧称为标准帧,而包括29位标识符的帧称为扩展帧。标准格式和扩展格式数据帧的结构如图9.5.3所示。SOF:帧起始;IDE:标识符扩展位;RTR:远程传输请求;DLC:数据长度码;SRR:代用远程请求图9.5.3 标准格式帧与扩展格式帧2)远程帧总线上的某个节点想要接收一个特定节点的特定数据时可采用远程帧来实现,发送这种特定数据的特定节点收到这个远程帧后,就应尽力响应这个远地传送要求,所以对远程帧本身
42、来说是没有数据域的。在远程帧中,除了RTR位被设置为1,表示被动状态外,其余部分与数据帧完全相同。3)错误帧错误帧由两个不同的域组成。第一个域是标志错误,可为不同节点提供错误标志(Error Flag);第二个域是错误界定符。在报文传输过程中,检测到任何一个节点出错,即于下一位开始发送错误帧,通知发送端停止发送。4)超载帧超载帧和错误帧一样由两个域组成:超载标志和超载界定符。当某接收器因内部原因要求缓发下一个数据帧或远程帧时,它向总线发出超载帧。另外,在间歇场(Intermission)检测到一“显性”位,也要发送超载帧。超载帧还可以引发另一次超载帧,但以两次为限。5)帧间空间不管是何种帧,均
43、以帧间空间(Inter Frame Spacing)的场位分开。在错误帧和超载帧前面没有帧间空间,并且多个超载帧前面也不被帧间空间分隔。帧间空间包括间歇场和总线空闲的场位。间歇场包括3个隐性位,在间歇场期间,所有的节点均不允许传送数据帧或者远程帧,仅标示一个超载条件。4.CAN报文的帧格式以CAN2.0B协议为代表,下面简单介绍常用的CAN控制器寄存器中CAN数据帧的格式。1)CAN2.0B标准帧CAN标准帧信息为11个字节,包括信息和数据两部分,其中前3个字节为信息部分。具体内容如表9.5.1所示。字节1为帧信息。第7位FF表示帧格式,在标准帧中,FF=0。第6位RTR表示帧的类型,RTR=
44、0表示数据帧,RTR=1表示远程帧。DLC(数据长度码,Data Length Code,DLC)表示在数据帧时实际的数据长度。字节2、3为报文识别码,11位有效。字节4到字节11为数据帧的实际数据,远程帧时无效。CAN扩展帧信息为13个字节,也包括信息和数据两部分,其中前5个字节为信息部分。具体内容如表9.5.2所示。字节1为帧信息。第7位FF表示帧格式,在标准帧中,FF=1。第6位RTR表示帧的类型,RTR=0表示为数据帧,RTR=1表示远程帧。DLC表示在数据帧时实际的数据长度。字节2到字节5为报文识别码,29位有效;字节6到字节13为数据帧的实际数据,远程帧时无效。需要注意的是,数据帧
45、对于不同的CAN上层协议存在着不同的定义。5.CAN的位仲裁技术CAN总线采用“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信技术。载波监测的意思是指在总线上的每个节点在发送信息报文前都必须监测到总线上有一段时间的空闲状态,一旦此空闲状态被监测到,那么每个节点都有均等的机会来发送报文。这被称为多主掌控。冲突避免是指在两个以上节点同时发送信息时,节点本身首先会检测到出现冲突,然后采取相应的措施来解决这一冲突情况。此时优先级高的报文先发送,低优先级的报文会暂停。在CAN总线协议中是通过一种非破坏性的仲裁方式来实现冲突检测的。这也就意味着当总线出现发送冲突时,通过仲裁后原发送信息不会受到影响
46、。所有的仲裁判别都不会破坏优先级高的报文信息内容,也不会对其发送产生任何时延。虽然这种仲裁方式有很多的优点,但是也存在一些不足。很明显,当所有的节点都随机地向总线上发送数据时,具有低优先级的节点总是比具有高优先级的节点具有较大的发送失败的概率。如果出现了这样的情况,会导致该节点一个数据都发不出去,或者发出的数据具有较大的延迟。对于工业领域的实时控制,当延时超过了预设值时,接收到的数据就已经失去了实际的意义。6.CAN的报文滤波技术在CAN总线中,存在着多种传送和接收数据的方式,比如点对点、点对多点及全局广播等几种方式。这几种方式的选择和转换通过CAN总线中的报文滤波技术实现,不需特别的调度。以
47、通常使用的PHILIPS SJA1000为例,无论是何种工作模式下,都是CAN的某一地址存入的验收滤波器。在验收滤波器的帮助下,CAN控制器能够允许RXFIFO只接收同识别码和验收滤波器中预设值相一致的信息。只有当接收信息中的识别位和验收滤波器预定义的值相等时,CAN控制器才允许将已接收信息存入RXFIFO验收滤波器由验收代码寄存器(ACRn)和验收屏蔽寄存器(AMRn)定义。要接收的信息的位模式在验收代码寄存器中定义,相应的验收屏蔽寄存器允许定义某些位为“不影响”,即“任何值皆可”的方式。7.CAN的通信错误及处理在CAN总线中存在五种错误类型,它们相互不排斥。这五种错误是:位错误、填充错误
48、、CRC错误、形式错误和应答错误。在CAN总线中,任何一个节点可能处于下列三种故障状态之一:错误激活状态(Error Active)、错误认可状态(Error Passive)和总线脱离状态(Bus Off)。检测到出错条件的节点,应通过发送出错误标志进行标定。对于错误激活节点,该标志为活动错误标志;而对于错误认可节点,该标识为认可错误标志。错误激活节点可以照常参与总线通信,并且当检测到错误时,送出一个活动错误标志。错误认可节点可参与总线通信,但是不允许送出活动错误标志。当它检测到错误时,只能送出认可错误标志,并且发送后仍为错误认可状态,直到下一次发送初始化。总线关闭状态不允许节点对总线有任何
49、影响。8.CAN的较高层协议CAN协议是只定义了物理层和数据链路层的规范,这种设计和CAN规范定义时的历史条件有关,也可以使CAN能够更广泛地适应不同的应用条件。但这必然给用户应用带来一些不便,用户在应用CAN协议时,必须自行定义高层协议。为了将CAN协议的应用推向更深的层次,同时满足产品的兼容和互操作性,国际上通行的办法是发展基于CAN的高层应用协议,使其只用在应用层上,不同公司的产品才可能实现互操作,好的应用层协议更可以为用户带来系统性能的飞跃。本本 章章 小小 结结国际电报电话咨询委员会(CCITT)、国际标准化组织(ISO)和美国电子工业协会(Electronic Industries
50、 Association,EIA)为各种数据通信系统提供了开放互连的系统标准,它包括了机械性能、电气特性、功能特性、过程特性四个方面。RS-232C接口标准是一种使用非常广泛的标准,多应用在数据通信、自动化、仪器仪表等领域,它同时也是物联网中常用的一种接口及通信方式。RS-232C不但可以与诸如Modem等DCE配合来完成远程数据通信,而且还完成近距离本地通信。一种常用的最简单的情况是不使用RS-232C中任何控制线,只需要用发送线TxD、接收线RxD和信号地线SG这三根线,便可实现全双工异步通信。RS-422A接口标准是一种以平衡方式传输的标准。平衡方式是指双端发送和双端接收,因此传输信号须