00:06江苏大学通信工程系1通信接口技术江苏大学计算机科学与通信工程学院通信工程系陈祖爵E-mail:chenzujue@126.comTEL:1377536000800:06江苏大学通信工程系2第七章第七章现场总线现场总线33本章目录本章目录一.现场总线概述1(16)二.现场总线的几种类型2(2)三.控制局域网CAN3(2)00:06江苏大学通信工程系3三三..控制局域网控制局域网CANCAN(一)CAN规范及特性控制局域网CAN(ControllerAreaNetwork)是一种具有高可靠性、支持分布式控制、实时控制的串行通信网络。其应用范围很广,从高速网络到低成本、高性能的现场设备之间的互联。CAN最初是由德国Bosch公司为汽车的监测和控制而设计,后来逐步发展到用于其他工业部门的控制。由于CAN具有卓越的特性及极高的可靠性,特别适合工业过程监控设备的互联,被公认为几种最有前途的现场总线之一。00:06江苏大学通信工程系4CANCAN规范及特性规范及特性1991年PhilipsSemiconductors制定并发布了CAN技术规范(2.0),该技术规范包括A和B两部分内容:版本2.0A描述在CAN技术规范1.2中定义的CAN报文格式;版本2.0B描述标准和扩展格式两种报文格式。此后,1993年11月ISO颁布了有关CAN的国际标准IS011898,为CAN的标准化、规范化推广铺平了道路。随着各种CAN国际标准的制定,更加推动了它的发展与应用。在国外,尤其是在美国及欧洲,CAN已经被广泛应用于汽车、火车、船舶、机器人技术、楼宇自动化、机械制造、数控机床、纺织机械、医疗器械、农用机械、液压传动、建筑管理、消防管理、传感器、自动化仪表等领域。00:06江苏大学通信工程系5CANCAN的技术特性的技术特性(1)CAN可以多主方式工作,网络上任意一个结点均可以在任意时刻主动地向网络上其他结点发送信息,而不分主从,通信方式灵活。利用这一特点也可方便地构成(容错)多机备份系统。(2)CAN可以点对点、一点对多点(成组)及全局广播几种方式发送和接收数据。(3)CANBUS直接通信距离最远可达10km/5kbps;通信速率最高可达1Mbps/40m。(4)CANBUS上结点数的理论值为2000个,实际可达110个;传输介质为双绞线、光纤等。(5)CAN采用非破坏性总线优先级仲裁技术。当两个结点同时向网上发送信息时,优先级低的节点主动停止发送数据,而优先级高的结点可不受影响地继续发送信息,有效避免了总线冲突。按结点类型分成不同的优先级,可满足不同的实时要求。00:06江苏大学通信工程系6CANCAN的技术特性的技术特性(6)CAN支持4类报文帧:数据帧、远程帧、出错帧和超载帧。采用短帧结构,每帧有效字节数为8个,这样传输时间短,受干扰的概率低,且具有较好的检错效果。(7)CAN采用循环冗余校验CRC(CyclicRedundancyCheck)及其他检错措施,保证了极低的数据出错率。(8)CAN节点具有自动关闭功能。在节点错误严重的情况下,自动切断与总线的联系,这样可不影响总线正常工作。(9)NRZ编码解码方式,并采用位填充(插人)技术。许多公司生产CAN总线产品,如各种接口卡(如PC接口卡、STD接口卡),各种将CAN与现场仪表作成一体采用CAN的智能仪器、仪表设备。利用这些产品用户可方便地构成高可靠性、高性能价格比的分布式监测、控制系统,如下图所示为CAN作为测控网络的典型结构。00:06江苏大学通信工程系7CAN作为测控网络的典型结构00:06江苏大学通信工程系8((二二)CAN)CAN分层结构分层结构CAN网络遵从ISO/OSI模型,CAN总线规范规定了任意两个结点之间的兼容性,包括电气特性及数据解释协议。CAN协议定义了如下几层:目标层、传送层、物理层。其中,目标层及传送层包括了ISO/OSI定义的数据链路层的所有功能。1.目标层在目标处理方面,CAN提供了很大的自由,目标层的功能包括:确认哪个信息要发送:确认传送层接收到的信息;为应用层提供接口。2.传送层传送层的功能范围包括:帧组织、总线仲裁和检错、错误报告、错误处理。在传送层中要确认总线是否空闲,以便发送下一次信息;确认是否开始接收操作。传送层还包括位定时特性。3.物理层包括实际位传送过程中的电气特性。在同一网络中,所有结点的物理层必须保持一致,但可采用不同方式。00:06江苏大学通信工程系9CAN协议的分层结构00:06江苏大学通信工程系10((三三))帧格式和帧类型帧格式和帧类型1.位表达2.帧类型3.数据帧4.远地帧5.错误指示帧6.超载帧7.帧间空隙00:06江苏大学通信工程系11((四四)CAN)CAN控制器控制器许多公司生产多种CAN总线芯片,目前支持CAN协议的有INTEL、MOTOROLA、PHILIPS、SIEMENS、NEC、SILIONI、HONEYWELL等百余家国际著名大公司,表7.4.2为CAN总线芯片的主要产品。PHILIPS、MOTOROLA、SIEMENS公司生产的有些单片机也含有CAN控制器,为现场总线的推广应用创造了良好的条件。00:06江苏大学通信工程系12CAN控制器的作用(1)CAN就是总线型结构的一种适合工业现场自动控制的计算机局域网络。在网络的层次结构中,数据链路层和物理层是保证通信质量至关重要、不可缺少的部分,也是网络协议中最复杂的部分。CAN控制器就是扮演这个角色,它是以一块可编程芯片上的逻辑电路的组合来实现这些功能,对外它提供了与微处理器的物理线路的接口。通过对它的编程,CPU可以设置它的工作方式,控制它的工作状态,进行数据的发送和接收,把应用层建立在它的基础之上。00:06江苏大学通信工程系13CAN控制器的作用(2)目前,一些知名的半导体厂家都生产CAN控制器芯片。其类型一种是独立的,一种是和微处理器做在一起。前者使用上比较灵活,它可以与多种类型的单片机、微型计算机的各类标准总线进行接口组合。后者在许多特定情况下,使电路设计简化和紧凑,效率提高。然而,不管是哪家产品,它们都是严格遵照已制定的CAN的规范和国际标准行事。因此,只要掌握了其中的一种,其余的就可以触类旁通,这也是CAN能够迅速推广的原因。在这里,以Philips半导体公司的SJAl000作为独立CAN控制器的代表。00:06江苏大学通信工程系14芯片SJA1000的概述SJA1000是一种独立的CAN控制器,主要用于移动目标和一般工业环境中的区域网络控制。它是Philips半导体公司PCA82C200CAN控制器(BasicCAN)的替代产品,而且它增加了一种新的操作模式—PeliCAN,这种模式支持具有很多新特性的CAN2.0B协议。00:06江苏大学通信工程系15SJA1000的基本特性引脚与PCA82C200独立CAN控制器兼容电气参数与PCA82C200独立CAN控制器兼容具有PCA82C200模式(即默认的BasicCAN模式)有扩展的接收缓冲器64字节,先进先出(FIFO)支持CAN2.0A和CAN2.0B协议支持11位和29位标识码通信位速率可达lMbps24MHz时钟频率可与不同的微处理器接口可编程的CAN输出驱动器配置温度适应范围大(-40℃~+125℃)00:06江苏大学通信工程系16PeliCAN模式的扩展功能可读/写访问的错误计数寄存器;可编程的错误报警限额寄存器;最近一次错误代码寄存器;对每一个CAN总线错误的中断;有具体位表示的仲裁丢失中断;单次发送(无重发);只听模式(无确认、无激活的错误标志);支持热插拔(软件进行位速率检测);验收滤波器的扩展(4字节的验收代码,4字节的屏蔽)接收自身报文(自接收请求)。00:06江苏大学通信工程系17SJA1000的内部结构SJA1000的内部结构方框图00:06江苏大学通信工程系18芯片引脚SJA1000的芯片引脚排列00:06江苏大学通信工程系19CAN控制器在CAN总线节点中的位置00:06江苏大学通信工程系20CAN控制器SJA1000的模块结构00:06江苏大学通信工程系21CAN的几个控制模块(1)接口管理逻辑接口管理逻辑(IML)解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器(CPU)提供中断信息和状态信息。发送缓冲器发送缓冲器(TXB)是CPU和BSP(位流处理器)之间的接口。它能够存储要通过CAN网络发送的一条完整报文。缓冲器长13个字节,由CPU写入、BSP读出。00:06江苏大学通信工程系22CAN的几个控制模块(2)接收缓冲器接收缓冲器(EXB,RXFIFO)是接收滤波器和CPU之间的接口,用来存储从CAN接收并被确认的信息。接收缓冲器(RXB,13个字节)作为接收FIFO(RXFIFO,长64字节)的一个窗口,可被CPU访问。CPU在此FIFO支持下,可以在处理一条报文的同时接收其他报文。验收滤波器验收滤波器(ACF)把它的内容和接收到的标识码相比较,以决定是否接收下这条报文。在验收测试通过后,这条完整的报文就被保存在RXFIFO中。00:06江苏大学通信工程系23CAN的几个控制模块(3)位流处理器位流处理器(BSP)是一个在发送缓冲器、RXFIFO和CAN总线之间控制数据流的队列(序列)发生器。它还执行总线上的错误检测、仲裁、填充和错误处理。位时序逻辑位时序逻辑(BTL)监视串行的CAN总线和位时序。它是在一条报文开头,总线传输出现从隐性到显性时同步于CAN总线上的位流(硬同步),并且在其后接收一条报文的传输过程中再同步(软同步)。BTI还提供了可编程的时间段来补偿传播延时、相位偏移(例如,由于振荡器漂移)和定义采样点和每一位的采样次数。错误管理逻辑错误管理逻辑(EML)负责限制传输层模块的错误。它接收来自BSP的出错报告,然后把有关错误统计告诉BSP(位流处理器)和IMI(接口管理逻辑)。00:06江苏大学通信工程系24SJA1000支持CAN2.0B协议SJA1000被设计为全面支持CAN2.0B协议,这意味着在处理扩展帧报文的同时,也会出现振荡器误差的扩展。在BasicCAN模式下只可以发送和接收标准帧报文(11位的标识码),如果此时在CAN总线上检测到扩展帧报文(29位的标识码)也是容许的,并且如果报文正确的话,会给出一个应答信号,但是不会产生接收中断。00:06江苏大学通信工程系25SJAl000与单片机的典型接口电路00:06江苏大学通信工程系26SJAl000与两种类型单片机的接口00:06江苏大学通信工程系27带CAN控制器的单片机-P8xC591独立的CAN控制器芯片需要外接一个微处理器,接受外部CPU的控制才能运行。如果微处理器内带有CAN控制器,那么无疑会大大简化应用系统的硬件设计,系统的可靠性也有很大提高。考虑到与MCS-5l系列兼容的单片机在市场占有很大的份额,在这里选择Philips半导体公司的P8xC591为代表,介绍带CAN控制器的单片机。P8xC591在与MCS-51完全兼容的基础上增加了许多专用的部件,其中包括CAN控制器。它的CAN功能是在SJAl000的基础上有所增强。在这里只介绍与CAN有关的部分,其他诸如A/D转换、脉宽调制输出(PMW)、看门狗等内容可参阅相关文献。00:06江苏大学通信工程系28P8xC591的方框图00:06江苏大学通信工程系29P8xC591简介P8xC591是一个单片8位高性能微控制器,具有片内CAN控制器。它从MCS-5l微控制器家族派生而来,采用了强大的80C51指令集并成功地包括了Philips半导体SIAl000CAN控制器的PeliCAN功能。全静态内核提供了扩展的节电方式。振荡器可停止和恢复而不会丢失数据。改进的1:1内部时分频器在12MHz外部时钟速率时实现500ns指令周期。00:06江苏大学通信工程系30F8xC591在80C51基础上增加的特点和功能16KB内部程序存储器;512字节片内数据RAM;3个16位定时/计数器To、T1(标准80C5