版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9.2现场总线 微处理器嵌入各种仪表仪器和检测系统,导致智能化的趋势。 对工业过程控制系统的进一步要求上一页下一页返回现场总线控制系统(FieldbusControlSystem,缩写为FCS)9.2现场总线 微处理器嵌入各种仪表仪器和检测系统,导致1现场总线国际组织现场总线基金会(FieldbusFoundation)定义:现场总线是一种全数字的双向多站点通信系统,适用于仪器仪表和其它工厂自动化设备。它将代替老式的电缆系统。具体化地讲: 现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化的、智能、双向、多变量、多点、多站的通信系统,按ISO的OSI标准提供了网络服务,可靠性高,稳定性好,抗干扰能力强,通信速率快,造价低,维护成本低。上一页下一页返回现场总线国际组织现场总线基金会(FieldbusFound2现场总线的优点可大大节约连接导线、维护和安装费用,可以用低廉的造价组成一个系统。一个传统的4mA~20mA控制回路通常只能传输代表过程变量的一个信号。现场总线能够在传送多个过程变量的同时,一并传送仪表的标识符和简单的诊断信息,具有监视与控制能力强、可靠性与故障容限高、实时响应性好和对环境要求低等优点。数字信号的精确性:数字信息可排除模拟信息传输和转换中所产生的误差。由于现场总线是双向的,因此能够从中心控制室对现场智能仪表进行控制,使远程调整、诊断和维护成为可能,甚至能够在故障发生前进行预测。上一页下一页返回现场总线的优点可大大节约连接导线、维护和安装费用,可以用低廉3现场总线技术的发展过去十年,现场总线技术得到了迅速的发展, 但是,却未能形成一种统一的国际标准。两方面原因:一是技术方面的原因,由于现场总线是应用于现场过程控制的通信网络,涉及到许多底层设备的不同行业标准和用户习惯的继承,以及不同类型网络互连的协议制定;另一方面是商业利益,各厂家都希望自己的技术在标准中占有更大份额,以便使国际标准给自己带来更大利益,互不相让,导致了目前多种现场总线共存的局面。上一页下一页返回现场总线技术的发展过去十年,现场总线技术得到了迅速的发展,4世界上流行的几种现场总线LONWORKS、CAN、PROFIBUS、HART和FFCAN(ControlAreaNetwork)总线是德国Bosch公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,是一种有效支持分布式控制或实时控制的串行通信网络。特点:通信速率高,可靠性好,价格低廉等,
适用:中小规模的工业过程监控设备的互连和交通运载工具电气系统中,受到广泛重视,公认为最有前途的现场总线之一。上一页下一页返回世界上流行的几种现场总线LONWORKS、CAN、PROFI5CAN总线9.2.1CAN总线概述9.2.2基于SJA1000的CAN总线接口设计上一页下一页返回CAN总线9.2.1CAN总线概述上一页下一页返69.2.1CAN总线概述
一种多主总线,采用OSI底层的三层网络结构—— 物理层、数据链路层和应用层。上一页下一页返回9.2.1CAN总线概述一种多主总线,采用OSI底层的7物理层划分为三部分:物理信令实现与位表示、定时和同步相关的功能。物理媒体附属装置实现总线发送/接收的功能电路,并可提供总线故障检测方法。媒体相关接口实现与物理媒体之间的机械和电气接口。上一页下一页返回物理层划分为三部分:上一页下一页返回8数据链路层逻辑链路控制(LLC)媒体访问控制(MAC)上一页下一页返回数据链路层逻辑链路控制(LLC)上一页下一页返回9LLC子层提供的功能:(1)帧接收滤波:数据帧内容由标识符命名。标识符并不能指明帧的目的地,但描述数据的含义,每个接收器通过帧接收滤波确定此帧与其是否有关。(2)超载通告:如果接收器内部条件要求延迟下一个LLC数据帧或LLC远程帧,则通过LLC子层开始发送超载帧,最多可产生两个超载帧,以延迟下一个数据帧或远程帧。(3)恢复管理:发送期间,对于丢失仲裁或被错误干扰的帧,LLC子层具有自动重发送功能,在发送成功完成前,帧发送服务不被用户认可。上一页下一页返回LLC子层提供的功能:(1)帧接收滤波:数据帧内容由标识符命10MAC子层功能由IEEE802.3中规定的功能模型描述上一页下一页返回MAC子层功能由IEEE802.3中规定的功能模型描述上一页11MAC子层具有两部分功能:发送部分功能包括:⑴发送数据封装,接收LLC帧和接口控制信息,构造MAC帧。⑵发送媒体访问管理,检查总线状态,串行化MAC帧,插入填充位,开始发送,丢失仲裁时转入接收方式,应答校验,错误超载检测,发送超载帧或数据帧等。接收部分功能包括:⑴接收媒体访问管理,由物理层接收串行位流,重新构筑帧结构,解除位填充,错误检测,发送应答,构造发送错误帧或超载帧。⑵接收数据卸装,由接收帧去除MAC特定信息,输出LLC帧和接口控制信息至LLC子层。上一页下一页返回MAC子层具有两部分功能:发送部分功能包括:上一页下一页返12CAN在物理总线上的数字化信息由差分电平表示:上一页下一页返回CAN在物理总线上的数字化信息由差分电平表示:上一页下一页返13差分电平显性电平(dominantlevel)以大于最小阈值的差分电压表示,表示逻辑“0”;隐性电平(recessivelevel)时两根物理总线均基本固定于平均电压,表示逻辑“1”。如果总线上存在“显性”位和“隐性”位的同时发送,总线数值将表现为“显性”,即表示为“0”。这一点在判别信息的优先权而进行网络仲裁时起关键作用。上一页下一页返回差分电平显性电平(dominantlevel)以大于最小14CAN的通信介质可以是双绞线。以位速率表示的数据传输速度在不同系统中是不同的,然而在一个给定系统中,此速率是唯一的,并且是固定的。其通信速率可达1Mbps。总线上各节点对总线上的数据位的检测需要同步的原因是显而易见的。当总线上没有任何节点发送信息时总线的状态称为“空闲”,总线上的电平为“隐性电平”。一旦有发送产生时,最先发送的那个节点的帧起始(一个单“显性”位),使所有的节点产生硬同步。另外在通信进行过程中,所有的节点还要根据总线上位信号沿的电平变化而进行重同步。上一页下一页返回CAN的通信介质可以是双绞线。以位速率表示的数据传输速度在不15帧格式当总线开放时,任何连接的节点均可开始发送一个新报文。这些报文按不同的帧格式组成。CAN的2.0A标准规定4种帧格式:数据帧由发送器传送数据至接收器;远程帧通过某总线节点发送,以请求其它节点发送具有相同标识符的数据帧;出错帧由通过检测发现总线错误的任何节点发送,向全网络通报出错信息;超载帧用于在多帧数据之间提供附加延迟。上一页下一页返回帧格式当总线开放时,任何连接的节点均可开始发送一个新报文。16数据帧由帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束等7个不同的位场组成,帧起始仲裁场控制场数据场CRC场ACK场帧结束表中帧起始标志数据帧的起始,它由单个“显性”位构成,在总线上会产生同步作作用。上一页下一页返回数据帧由帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧17仲裁场
由来自LLC子层的ID和RTR(RemoteTransmissionRequest,远程发送请求)位组成。标识符长度为11位(ID10~ID0),由高至低次序发送,且前7位(ID10~ID4)不能全为隐性位,标识符用于提供关于传送报文和总线访问的优先权的信息。在数据帧中,RTR位数值为“0”。控制场由6位构成,前2位为备用位,后4位为数据长度码,决定数据场中的字节数目,可由0至8变化。数据场 由被发送数据组成,数目为控制场中决定的0~8个字节,第一个字节的最高位首先被发送。上一页下一页返回仲裁场上一页下一页返回18CRC场 包括CRC(循环冗余码校验)序列(15位)和CRC界定符(1个隐性位),用于帧校验。ACK场 由应答间隙和应答界定符组成,共两位。应答间隙期间,数据帧发送器发出一个“隐性”电平,而所有已正确地接收到有效报文的接收器,此时传送一个“显性”位,报告给发送器(发送器发出的“隐性”电平被改写为“显性电平”),表明至少有一个接收器,已正确接收。后续的应答界定符为一个“隐性”电平。帧结束由7位隐性位组成,此期间无位填充。上一页下一页返回CRC场上一页下一页返回19CAN协议特点采用了短帧结构,即每帧数据最多含8个字节的数据,这样将有利于系统的实时性。废除了传统的站地址编码,代之以标识(identifier)对信息进行优先权的分级。任何节点均可向全网络广播发送数据,其它节点则根据所接收到的标识来决定是否处理所接收到的信息。上一页下一页返回CAN协议特点采用了短帧结构,即每帧数据最多含8个字节的数据20逐位仲裁规则若同时有两个或更多的节点开始发送报文,总线运用对标识符的逐位仲裁规则巧妙地在各节点内解决冲突。仲裁期间,每个节点都监视总线电平,并与自己发送位电平相比较。若该节点发送的一个隐性位被显性位改写,说明有较高优先权报文在发送,则节点自动转变为接收器。当一个具有相同标识符的远程帧和一个数据帧被仲裁时,远程帧RTR位的隐性电平被数据帧RTR位显性电平改写,所以数据帧比远程帧优先级高。标识符和RTR位对应二进制数位越低的报文优先级越高。这种仲裁规则可以使信息和时间均无损失。上一页下一页返回逐位仲裁规则若同时有两个或更多的节点开始发送报文,总线运用对21CAN主要特性:⑴多主站依据优先权进行总线访问;⑵无破坏性的基于优先权的仲裁;⑶借助接收滤波的多地址帧传送;⑷远程数据请求;⑸配置灵活性;⑹全系统数据相容性;⑺错误检测和出错信令;⑻发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送;⑼暂时错误和永久性故障节点的判别以及故障节点的自动脱离。上一页下一页返回CAN主要特性:⑴多主站依据优先权进行总线访问;上一页下一页229.2.2基于SJA1000的CAN总线接口设计
SJA1000是适用于汽车和一般工业环境控制器局域网的高集成度独立控制器上一页下一页返回9.2.2基于SJA1000的CAN总线接口设计SJ231、SJA1000的基本构成⑴接口管理逻辑(IML):接收来自微处理器的命令,分配控制信息缓存器(发送缓存器,接收缓存器0和1),并为微控制器提供中断和状态信息。⑵发送缓存器(TXB):由10个字节存贮单元组成,存贮由微处理器写入,将被发送至CAN网络的报文。⑶接收缓存器0和1(RXB、RXFIFO):均由10个字节组成,交替存贮由总线接收到的报文,当一个缓存器被分配给CPU,位流处理器可以对另一个进行写操作。⑷接收过滤器(ACF):
将接收到的标识符与接收过滤寄存器中的内容比较,并决定是否接受该条消息。如果该条消息通过接收测试,则将其存入接收缓冲器。上一页下一页返回1、SJA1000的基本构成⑴接口管理逻辑(IML):接收24⑸位流处理器(BSP):控制发送缓存器与CAN总线之间数据流的序列发生器。同时还执行CAN总线上的出错检测、仲裁、填充和出错处理。⑹位定时逻辑(BTL):监测串行的CAN总线,并处理总线上的位定时。BTL在一条消息开始时,由总线上的“隐性-显性”转换同步(硬同步)。并在消息接收过程中与总线上的转换再同步(软同步)。BTL还提供可编程的时间分段,用以补偿传输延迟和相位偏差,并确定在一个位时间内的采样位置和采样数。(7)出错误管理逻辑(EML):按照CAN协议进行传输层出错界定。上一页下一页返回⑸位流处理器(BSP):控制发送缓存器与CAN总线之间数据流25地址分配表SJA1000内部配备42个字节的寄存器,使用了32个地址,其地址分配如表9.2.2所示。 (1)SJA1000可在复位和运行两种模式下被访问。一些用于初始化的寄存器只能在复位模式下访问; (2)以“-”标注的栏表示该操作是无意义的; (3)以“*”标注的栏表示其读出总是为0; (4)地址域可分为控制段、发送缓冲段和接收缓冲段。上一页下一页返回地址分配表SJA1000内部配备42个字节的寄存器,使用了262、SJA1000的工作原理与硬件接口电路发送缓冲区用于存贮由微处理器至SJA1000的发送报文,它可分为描述符和数据场,发送缓存器可借助微控制器写入或读出。描述符为两个字节:包括标识符、远程发送请求位(RTR)和数据长度码(DLC)。数据场为8个字节空间,存贮0~8个数据。接收缓冲区0和1,是微处理器与位流处理器的接口,交替存贮由总线接收到的报文,一旦被位流处理器填满,并被接口处理逻辑分配给CPU,则缓冲区不能用于存贮接收到的报文,直到CPU释放该缓存器,两个接收缓冲区地址一样,当一个缓冲区被分配给CPU,位流处理器可以对另一个进行写操作,它的结构与发送缓冲区一样。时钟分频寄存器控制SJA1000向CPU输出CLKOUT频率。上一页下一页返回2、SJA1000的工作原理与硬件接口电路发送缓冲区用于存27SJA1000由微处理器通过8位地址数据复用总线和基本读写控制信号进行控制。SJA1000的中断请求信号INT连至微处理器的外部中断输入端,CAN控制器可通过中断进行数据通信。在网络通信中所涉及的数据链路层和物理层的操作由SJA1000芯片自动完成,无需微处理器的干预。例如总线的定时与同步、总线的仲裁、CRC与其它填充位的插入等均由SJA1000自动完成。因此软件设计者只需考虑SJA1000的初始化和应用层的设计。上一页下一页返回SJA1000由微处理器通过8位地址数据复用总线和基本读写控28CAN总线接口硬件设计上一页下一页返回CAN总线接口硬件设计上一页下一页返回293、SJA1000的软件设计节点的网络通信软件可以用微处理器的汇编语言编写,也可以用高级语言如FranklinC编写。FranklinC是一种与C语言十分类似的高级语言,允许编程者对中断的所有功能进行控制和使用寄存器组,具有与汇编语言接口的功能。对SJA1000的编程可划分为两部分SJA1000的初始化,正常通信任务的操作。3、SJA1000的软件设计节点的网络通信软件可以用微处理器30(1)初始化初始化程序涉及SJA1000的控制寄存器(CR)、验收码寄存器(ACR)、验收屏蔽寄存器(AMR),总线定时寄存器(BTR0和BTR1)和输出控制寄存器的编程。控制寄存器(CR,相对地址0)位CR.7CR.6CR.5CR.4CR.3CR.2CR.1CR.0符号TMS-OIEEIETIERIERR名称测试方式同步保留超载中断开放出错中断开放发送中断开放接收中断开放复位请求上一页下一页返回(1)初始化初始化程序涉及SJA1000的控制寄存器(CR)31验收码寄存器和验收屏蔽寄存器验收码寄存器和验收屏蔽寄存器组成验收过滤器。验收码位(AC.7~AC.0)和报文标识符的最高8位(ID.10~ID.3)必须等于由验收屏蔽位(AM.7~AM.0)相关屏蔽的那些位。若满足此条件,则予以验收。验收屏蔽位置为0时,则认为相关,置为1则认为不相关。验收码寄存器(ACR,相对地址4)位AC.7AC.6AC.5AC.4Ac.3AC.2AC.1AC.0验收屏蔽寄存器(AMR,相对地址5)位AM.7AM.6AM.5AM.4AM.3AM.2AM.1AM.0上一页下一页返回验收码寄存器和验收屏蔽寄存器验收码寄存器和验收屏蔽寄存器组32总线定时寄存器总线定时寄存器BTR0的内容决定波特率预分频器(BRP)和同步跳转宽度(SJW)的数值。而总线定时寄存器1决定位周期宽度、采样点位置和在每个采样点获取采样的数目。总线定时寄存器0(BTR0,相对地址6)位D7D6D5D4D3D2D1D0符号SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0总线定时寄存器1(BTR1,相对地址7)位D7D6D5D4D3D2D1D0符号SAMTSEG2.2TSEG2.1TSEG2.0TSEG1.3TSEG1.2TSEG1.1TSEG1.0上一页下一页返回总线定时寄存器总线定时寄存器BTR0的内容决定波特率预分频器33输出控制寄存器输出控制寄存器允许建立输出驱动器的不同配置。OCMODE1和OCMODE0决定输出脚CTX0和CXT1的输出方式(正常、时钟、双相位和测试),OCTPX、OCTNX和OCPOLX决定两只分别接到VDD和VSS上的输出晶体管的工作方式(悬浮、上拉、下拉和推挽),从而使网络的设计具有一定的灵活性。输出控制寄存器(OCR,相对地址8)位D7D6D5D4D3D2D1D0符号OCTP1OCTN1OCPOL1OCTP0OCTN0OCPOL0OCMODE1OCMODE0上一页下一页返回输出控制寄存器输出控制寄存器允许建立输出驱动器的不同配置。O34节点网络接口的初始化程序
voidinit_can()large{unsignedintdataI;dly();/*延时*/CON_REG=1;/*使SJA21000进入复位方式*/dly();ACR=0xf3;/*标识符高8位设为F3H*/AMR=0;/*验收屏蔽寄存器设所有位相关*/BTR0=0x87;/*设置系统时钟周期为1μS,同步跳转宽度为3μS*/BTR1=0xc8;/*设置位周期为9个时钟周期,采样点在第5周期*/OCR=0xaa;/*设置输出为正常输出,即TXD=1时,TX0和TX1均悬浮;TXD=0时,TX1高,TX0低*/CR=0x7e;/*使SJA1000转入正常运行,开放所有中断*/}上一页下一页返回节点网络接口的初始化程序voidinit_can()l35(2)正常通信任务的操作正常运行方式下的操作涉及SJA1000中的接收缓冲区、发送缓冲区以及有关寄存器。 命令寄存器用于控制SJA21000执行某些操作如进入睡眠状态、清除超载状态、释放接收缓冲器、中止发送和请求发送等。命令寄存器(CMR,相对地址1)位CMR.4CMR.3CMR.2CMR.1CMR.0符号GTSCOSRRBATTR名称进入睡眠状态清除超载状态释放接收缓冲中止发送请求发送上一页下一页返回(2)正常通信任务的操作正常运行方式下的操作涉及SJA10036
状态寄存器用于了解SJA21000的状态,以便决定程序的分支和转移。中断寄存器用于识别中断源。状态寄存器(SR,相对地址2)位SR.7SR.6SR.5SR.4SR.3SR.2SR.1SR.0符号BSESTSRSTCSTBSDRBS名称总线状态错误状态发送状态接收状态发送完成状态发送缓存访问数据超载接收缓存状态中断寄存器(IR,相对地址3)位IR.4IR.3IR.2IR.1IR.0符号WUIOIEITIRI名称唤醒中断超载中断出错中断发送中断接收中断上一页下一页返回状态寄存器用于了解SJA21000的状态,以便决定程序的分37发送缓冲器和接收缓冲器符
ID.10~ID.0为11位的标识符,ID.10为最高位,在总线仲裁过程中它首先被送达总线。标识符是报文的名称,它有两个作用,一是确定了报文发送中的优先级别,二是在验收过滤中鉴别是否对该报文予以接收。RTR为远程发送请求位。RTR为1时,SJA21000发送的是远程帧;为0时则发送数据帧。数据长度码DLC.3~DLC.1表示数据场中的字节数,最大为8。接收缓冲器的结构与发送缓冲器相同,不过有两个完全相同的结构,地址均为20~29。当一个接收已满,则向另一个存储数据,若两个缓冲均已填满且有数据继续接收,则会产生超载。所有软件应及时在读取数据后释放接收缓冲器。ID.10ID.9ID.8ID.7ID.6ID.5ID.4ID.3ID.2ID.1ID.0RTRDLC.3DLC.2DLC.1DLC.0上一页返回发送缓冲器和接收缓冲器符ID.10ID.9ID.8ID.7389.2现场总线 微处理器嵌入各种仪表仪器和检测系统,导致智能化的趋势。 对工业过程控制系统的进一步要求上一页下一页返回现场总线控制系统(FieldbusControlSystem,缩写为FCS)9.2现场总线 微处理器嵌入各种仪表仪器和检测系统,导致39现场总线国际组织现场总线基金会(FieldbusFoundation)定义:现场总线是一种全数字的双向多站点通信系统,适用于仪器仪表和其它工厂自动化设备。它将代替老式的电缆系统。具体化地讲: 现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化的、智能、双向、多变量、多点、多站的通信系统,按ISO的OSI标准提供了网络服务,可靠性高,稳定性好,抗干扰能力强,通信速率快,造价低,维护成本低。上一页下一页返回现场总线国际组织现场总线基金会(FieldbusFound40现场总线的优点可大大节约连接导线、维护和安装费用,可以用低廉的造价组成一个系统。一个传统的4mA~20mA控制回路通常只能传输代表过程变量的一个信号。现场总线能够在传送多个过程变量的同时,一并传送仪表的标识符和简单的诊断信息,具有监视与控制能力强、可靠性与故障容限高、实时响应性好和对环境要求低等优点。数字信号的精确性:数字信息可排除模拟信息传输和转换中所产生的误差。由于现场总线是双向的,因此能够从中心控制室对现场智能仪表进行控制,使远程调整、诊断和维护成为可能,甚至能够在故障发生前进行预测。上一页下一页返回现场总线的优点可大大节约连接导线、维护和安装费用,可以用低廉41现场总线技术的发展过去十年,现场总线技术得到了迅速的发展, 但是,却未能形成一种统一的国际标准。两方面原因:一是技术方面的原因,由于现场总线是应用于现场过程控制的通信网络,涉及到许多底层设备的不同行业标准和用户习惯的继承,以及不同类型网络互连的协议制定;另一方面是商业利益,各厂家都希望自己的技术在标准中占有更大份额,以便使国际标准给自己带来更大利益,互不相让,导致了目前多种现场总线共存的局面。上一页下一页返回现场总线技术的发展过去十年,现场总线技术得到了迅速的发展,42世界上流行的几种现场总线LONWORKS、CAN、PROFIBUS、HART和FFCAN(ControlAreaNetwork)总线是德国Bosch公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,是一种有效支持分布式控制或实时控制的串行通信网络。特点:通信速率高,可靠性好,价格低廉等,
适用:中小规模的工业过程监控设备的互连和交通运载工具电气系统中,受到广泛重视,公认为最有前途的现场总线之一。上一页下一页返回世界上流行的几种现场总线LONWORKS、CAN、PROFI43CAN总线9.2.1CAN总线概述9.2.2基于SJA1000的CAN总线接口设计上一页下一页返回CAN总线9.2.1CAN总线概述上一页下一页返449.2.1CAN总线概述
一种多主总线,采用OSI底层的三层网络结构—— 物理层、数据链路层和应用层。上一页下一页返回9.2.1CAN总线概述一种多主总线,采用OSI底层的45物理层划分为三部分:物理信令实现与位表示、定时和同步相关的功能。物理媒体附属装置实现总线发送/接收的功能电路,并可提供总线故障检测方法。媒体相关接口实现与物理媒体之间的机械和电气接口。上一页下一页返回物理层划分为三部分:上一页下一页返回46数据链路层逻辑链路控制(LLC)媒体访问控制(MAC)上一页下一页返回数据链路层逻辑链路控制(LLC)上一页下一页返回47LLC子层提供的功能:(1)帧接收滤波:数据帧内容由标识符命名。标识符并不能指明帧的目的地,但描述数据的含义,每个接收器通过帧接收滤波确定此帧与其是否有关。(2)超载通告:如果接收器内部条件要求延迟下一个LLC数据帧或LLC远程帧,则通过LLC子层开始发送超载帧,最多可产生两个超载帧,以延迟下一个数据帧或远程帧。(3)恢复管理:发送期间,对于丢失仲裁或被错误干扰的帧,LLC子层具有自动重发送功能,在发送成功完成前,帧发送服务不被用户认可。上一页下一页返回LLC子层提供的功能:(1)帧接收滤波:数据帧内容由标识符命48MAC子层功能由IEEE802.3中规定的功能模型描述上一页下一页返回MAC子层功能由IEEE802.3中规定的功能模型描述上一页49MAC子层具有两部分功能:发送部分功能包括:⑴发送数据封装,接收LLC帧和接口控制信息,构造MAC帧。⑵发送媒体访问管理,检查总线状态,串行化MAC帧,插入填充位,开始发送,丢失仲裁时转入接收方式,应答校验,错误超载检测,发送超载帧或数据帧等。接收部分功能包括:⑴接收媒体访问管理,由物理层接收串行位流,重新构筑帧结构,解除位填充,错误检测,发送应答,构造发送错误帧或超载帧。⑵接收数据卸装,由接收帧去除MAC特定信息,输出LLC帧和接口控制信息至LLC子层。上一页下一页返回MAC子层具有两部分功能:发送部分功能包括:上一页下一页返50CAN在物理总线上的数字化信息由差分电平表示:上一页下一页返回CAN在物理总线上的数字化信息由差分电平表示:上一页下一页返51差分电平显性电平(dominantlevel)以大于最小阈值的差分电压表示,表示逻辑“0”;隐性电平(recessivelevel)时两根物理总线均基本固定于平均电压,表示逻辑“1”。如果总线上存在“显性”位和“隐性”位的同时发送,总线数值将表现为“显性”,即表示为“0”。这一点在判别信息的优先权而进行网络仲裁时起关键作用。上一页下一页返回差分电平显性电平(dominantlevel)以大于最小52CAN的通信介质可以是双绞线。以位速率表示的数据传输速度在不同系统中是不同的,然而在一个给定系统中,此速率是唯一的,并且是固定的。其通信速率可达1Mbps。总线上各节点对总线上的数据位的检测需要同步的原因是显而易见的。当总线上没有任何节点发送信息时总线的状态称为“空闲”,总线上的电平为“隐性电平”。一旦有发送产生时,最先发送的那个节点的帧起始(一个单“显性”位),使所有的节点产生硬同步。另外在通信进行过程中,所有的节点还要根据总线上位信号沿的电平变化而进行重同步。上一页下一页返回CAN的通信介质可以是双绞线。以位速率表示的数据传输速度在不53帧格式当总线开放时,任何连接的节点均可开始发送一个新报文。这些报文按不同的帧格式组成。CAN的2.0A标准规定4种帧格式:数据帧由发送器传送数据至接收器;远程帧通过某总线节点发送,以请求其它节点发送具有相同标识符的数据帧;出错帧由通过检测发现总线错误的任何节点发送,向全网络通报出错信息;超载帧用于在多帧数据之间提供附加延迟。上一页下一页返回帧格式当总线开放时,任何连接的节点均可开始发送一个新报文。54数据帧由帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束等7个不同的位场组成,帧起始仲裁场控制场数据场CRC场ACK场帧结束表中帧起始标志数据帧的起始,它由单个“显性”位构成,在总线上会产生同步作作用。上一页下一页返回数据帧由帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧55仲裁场
由来自LLC子层的ID和RTR(RemoteTransmissionRequest,远程发送请求)位组成。标识符长度为11位(ID10~ID0),由高至低次序发送,且前7位(ID10~ID4)不能全为隐性位,标识符用于提供关于传送报文和总线访问的优先权的信息。在数据帧中,RTR位数值为“0”。控制场由6位构成,前2位为备用位,后4位为数据长度码,决定数据场中的字节数目,可由0至8变化。数据场 由被发送数据组成,数目为控制场中决定的0~8个字节,第一个字节的最高位首先被发送。上一页下一页返回仲裁场上一页下一页返回56CRC场 包括CRC(循环冗余码校验)序列(15位)和CRC界定符(1个隐性位),用于帧校验。ACK场 由应答间隙和应答界定符组成,共两位。应答间隙期间,数据帧发送器发出一个“隐性”电平,而所有已正确地接收到有效报文的接收器,此时传送一个“显性”位,报告给发送器(发送器发出的“隐性”电平被改写为“显性电平”),表明至少有一个接收器,已正确接收。后续的应答界定符为一个“隐性”电平。帧结束由7位隐性位组成,此期间无位填充。上一页下一页返回CRC场上一页下一页返回57CAN协议特点采用了短帧结构,即每帧数据最多含8个字节的数据,这样将有利于系统的实时性。废除了传统的站地址编码,代之以标识(identifier)对信息进行优先权的分级。任何节点均可向全网络广播发送数据,其它节点则根据所接收到的标识来决定是否处理所接收到的信息。上一页下一页返回CAN协议特点采用了短帧结构,即每帧数据最多含8个字节的数据58逐位仲裁规则若同时有两个或更多的节点开始发送报文,总线运用对标识符的逐位仲裁规则巧妙地在各节点内解决冲突。仲裁期间,每个节点都监视总线电平,并与自己发送位电平相比较。若该节点发送的一个隐性位被显性位改写,说明有较高优先权报文在发送,则节点自动转变为接收器。当一个具有相同标识符的远程帧和一个数据帧被仲裁时,远程帧RTR位的隐性电平被数据帧RTR位显性电平改写,所以数据帧比远程帧优先级高。标识符和RTR位对应二进制数位越低的报文优先级越高。这种仲裁规则可以使信息和时间均无损失。上一页下一页返回逐位仲裁规则若同时有两个或更多的节点开始发送报文,总线运用对59CAN主要特性:⑴多主站依据优先权进行总线访问;⑵无破坏性的基于优先权的仲裁;⑶借助接收滤波的多地址帧传送;⑷远程数据请求;⑸配置灵活性;⑹全系统数据相容性;⑺错误检测和出错信令;⑻发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送;⑼暂时错误和永久性故障节点的判别以及故障节点的自动脱离。上一页下一页返回CAN主要特性:⑴多主站依据优先权进行总线访问;上一页下一页609.2.2基于SJA1000的CAN总线接口设计
SJA1000是适用于汽车和一般工业环境控制器局域网的高集成度独立控制器上一页下一页返回9.2.2基于SJA1000的CAN总线接口设计SJ611、SJA1000的基本构成⑴接口管理逻辑(IML):接收来自微处理器的命令,分配控制信息缓存器(发送缓存器,接收缓存器0和1),并为微控制器提供中断和状态信息。⑵发送缓存器(TXB):由10个字节存贮单元组成,存贮由微处理器写入,将被发送至CAN网络的报文。⑶接收缓存器0和1(RXB、RXFIFO):均由10个字节组成,交替存贮由总线接收到的报文,当一个缓存器被分配给CPU,位流处理器可以对另一个进行写操作。⑷接收过滤器(ACF):
将接收到的标识符与接收过滤寄存器中的内容比较,并决定是否接受该条消息。如果该条消息通过接收测试,则将其存入接收缓冲器。上一页下一页返回1、SJA1000的基本构成⑴接口管理逻辑(IML):接收62⑸位流处理器(BSP):控制发送缓存器与CAN总线之间数据流的序列发生器。同时还执行CAN总线上的出错检测、仲裁、填充和出错处理。⑹位定时逻辑(BTL):监测串行的CAN总线,并处理总线上的位定时。BTL在一条消息开始时,由总线上的“隐性-显性”转换同步(硬同步)。并在消息接收过程中与总线上的转换再同步(软同步)。BTL还提供可编程的时间分段,用以补偿传输延迟和相位偏差,并确定在一个位时间内的采样位置和采样数。(7)出错误管理逻辑(EML):按照CAN协议进行传输层出错界定。上一页下一页返回⑸位流处理器(BSP):控制发送缓存器与CAN总线之间数据流63地址分配表SJA1000内部配备42个字节的寄存器,使用了32个地址,其地址分配如表9.2.2所示。 (1)SJA1000可在复位和运行两种模式下被访问。一些用于初始化的寄存器只能在复位模式下访问; (2)以“-”标注的栏表示该操作是无意义的; (3)以“*”标注的栏表示其读出总是为0; (4)地址域可分为控制段、发送缓冲段和接收缓冲段。上一页下一页返回地址分配表SJA1000内部配备42个字节的寄存器,使用了642、SJA1000的工作原理与硬件接口电路发送缓冲区用于存贮由微处理器至SJA1000的发送报文,它可分为描述符和数据场,发送缓存器可借助微控制器写入或读出。描述符为两个字节:包括标识符、远程发送请求位(RTR)和数据长度码(DLC)。数据场为8个字节空间,存贮0~8个数据。接收缓冲区0和1,是微处理器与位流处理器的接口,交替存贮由总线接收到的报文,一旦被位流处理器填满,并被接口处理逻辑分配给CPU,则缓冲区不能用于存贮接收到的报文,直到CPU释放该缓存器,两个接收缓冲区地址一样,当一个缓冲区被分配给CPU,位流处理器可以对另一个进行写操作,它的结构与发送缓冲区一样。时钟分频寄存器控制SJA1000向CPU输出CLKOUT频率。上一页下一页返回2、SJA1000的工作原理与硬件接口电路发送缓冲区用于存65SJA1000由微处理器通过8位地址数据复用总线和基本读写控制信号进行控制。SJA1000的中断请求信号INT连至微处理器的外部中断输入端,CAN控制器可通过中断进行数据通信。在网络通信中所涉及的数据链路层和物理层的操作由SJA1000芯片自动完成,无需微处理器的干预。例如总线的定时与同步、总线的仲裁、CRC与其它填充位的插入等均由SJA1000自动完成。因此软件设计者只需考虑SJA1000的初始化和应用层的设计。上一页下一页返回SJA1000由微处理器通过8位地址数据复用总线和基本读写控66CAN总线接口硬件设计上一页下一页返回CAN总线接口硬件设计上一页下一页返回673、SJA1000的软件设计节点的网络通信软件可以用微处理器的汇编语言编写,也可以用高级语言如FranklinC编写。FranklinC是一种与C语言十分类似的高级语言,允许编程者对中断的所有功能进行控制和使用寄存器组,具有与汇编语言接口的功能。对SJA1000的编程可划分为两部分SJA1000的初始化,正常通信任务的操作。3、SJA1000的软件设计节点的网络通信软件可以用微处理器68(1)初始化初始化程序涉及SJA1000的控制寄存器(CR)、验收码寄存器(ACR)、验收屏蔽寄存器(AMR),总线定时寄存器(BTR0和BTR1)和输出控制寄存器的编程。控制寄存器(CR,相对地址0)位CR.7CR.6CR.5CR.4CR.3CR.2CR.1CR.0符号TMS-OIEEIETIERIERR名称测试方式同步保留超载中断开放出错中断开放发送中断开放接收中断开放复位请求上一页下一页返回(1)初始化初始化程序涉及SJA1000的控制寄存器(CR)69验收码寄存器和验收屏蔽寄存器验收码寄存器和验收屏蔽寄存器组成验收过滤器。验收码位(AC.7~AC.0)和报文标识符的最高8位(ID.10~ID.3)必须等于由验收屏蔽位(AM.7~AM.0)相关屏蔽的那些位。若满足此条件,则予以验收。验收屏蔽位置为0时,则认为相关,置为1则认为不相关。验收码寄存器(ACR,相对地址4)位AC.7AC.6AC.5AC.4Ac.3AC.2AC.1AC.0验收屏蔽寄存器(AMR,相对地址5)位AM.7AM.6AM.5AM.4AM.3AM.2AM.1AM.0上一页下一页返回验收码寄存器和验收屏蔽寄存器验收码寄存器和验收屏蔽寄存器组70总线定时寄存器总线定时寄存器BTR0的内容决定波特率预分频器(BRP)和同步跳转宽度(SJW)的数值。而总线定时寄存器1决定位周期宽度、采样点位置和在每个采样点获取采样的数目。总线定时寄存器0(BTR0,相对地址6)位D7D6D5D4D3D2D1D0符号SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0总线定时寄存器1(BTR1,相对地址7)位D7D6D5D4D3D2D1D0符号SAMTSEG2.2TSEG2.1TSEG2.0TSEG1.3TSEG1.2TSEG1.1TSEG1.0上一页下一页返回总线定时寄存器总线定时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全球企业知识产权创新调研报告
- 基层护理安全管理
- 《复杂结构的计算》课件
- 冠心病药物治疗原则
- 《光辐射探测器》课件2
- 《安全生产法解读》课件
- 3年级数学下册课件
- 大班美术活动:奔跑的小马
- 公交职业道德培训
- 2025高考数学专项复习第三章 函数与基本初等函数第4节 幂函数与二次函数含答案
- 2023年英语专业四级单选题汇总
- GB/T 451.3-2002纸和纸板厚度的测定
- GB/T 31548-2015电动自行车轮胎系列
- GB/T 21661-2020塑料购物袋
- GB/T 14480.1-2015无损检测仪器涡流检测设备第1部分:仪器性能和检验
- 《 小二黑结婚 》课件-统编版高中语文选择性必修中册
- FZ/T 21001-2019自梳外毛毛条
- CB/T 3780-1997管子吊架
- 四川省阿坝藏族羌族自治州《综合知识》事业单位国考真题
- 2023年人民法院电子音像出版社招聘笔试题库及答案解析
- 采购合同采购合同采购合同
评论
0/150
提交评论