第二章can技术规范第二章第二章cancan技术规范技术规范一、can总线的特点二、can总线的位数值表示与通信距离三、can的基本概念四、can的报文传输五、can的报文滤波六、can报文校验和编码七、can的错误处理八、can的故障界定九、can的振荡器容差十、can的位定时要求通信模型与协议现场总线控制系统根据现场环境的要求,对OSI的七层参考模型进行了优化,采用OSI参考模型中的3个对应层,即物理层、数据链路层和应用层,并将OSI参考模型中的第3~6层简化为一个现场总线访问子层。现场总线协议模型特点:结构简单、执行协议直观、价格低廉等。OSI模型物理层数据链路层网络层传输层会话层表示层应用层物理层介质访问MAC逻辑链路LLC应用层现场总线协议tcp/ip体系物理层数据链路层网络层传输层会话层表示层应用层网络接口层数据链路层一、can总线的特点由于CAN总线本身的特点,其应用范日目前已不再局限于汽车行业,而扩展到了机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、家用电器及传感器等领域发展、CAN己经形成国际标准,并已被公认为几种最有前途的现场总线之一。由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。其特点可概括如下:¾CAN是到目前为止惟一有国际标准的现场总线。(ISO,其它IEC)¾CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。¾在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134mS内得到传输。¾CAN采用非破坏总线仲裁技术。当多个节点同时向总线发迭信息出现冲突时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据。从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下,也不会出现间络瘫痪惰况(以太网则可能)。¾CAN节点只需通过对报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。¾CAN的直接通信距离最远可达11km(速卒5kbps。以下);通信速率最高可达1Mbps。(此时通信距离最长为40m)。¾CAN上的节点数主要取决于总线驱动电路,目前可达110个。在标准帧报文标识符有11位,而在扩展帧的报文标识符(29位)的个数几乎不受限制。¾报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出锗率极低。¾CAN的每帧信息都有CRC校验及其他检错措施,具有极好的检错效果。¾CAN的传输介质可为双级线、同轴电缆或光纤,选择灵活。¾CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响.¾CAN总线具有较高的性能价格比。它结构筒单,器件容易购置,每个节点的价格较低,而且开发技术容易掌握,能充分利用现有的单片机开发工具二、can总线的位数值表示与通信距离Can总线上用显性和隐性表示逻辑值。显性——0隐性——1¾CAN总线上任意两个节点之间的最大传输距离与其位速率有关。¾这里的最大通信距离是指在同一条总线上两个节点之间的距离。位速率/kbps10005002501251005020105最大距离/m4013027053062013003300670010000Can总线系统任意两节点之间的最大距离¾如果采用树形拓扑结构(有时称为干线和支线)。在各级“分支”节点上采用“网关”(文中称“网控器”或“网桥”)实际上就是由多个CAN控制器或外加其它协议(如RS232,RS485,TCP/IP)的接口芯片组成一个设备,这样不受通信距离限制。又有“网关”或“路由”的作用。三、can的基本概念控制器局域网(CAN)为串行通讯协议,能有效地支持具有很高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。在汽车电子行业里,使用CAN连接发动机控制单元、传感器、防刹车系统、等等,其传输速度可达1Mbit/s。同时,可以将CAN安装在卡车本体的电子控制系统里,诸如车灯组、电气车窗等等,用以代替接线配线装置。协议:CAN1.1,CAN2.0A,CAN2.0B为了达到设计透明度以及实现柔韧性,CAN被细分为以下不同的层次:(1)数据链路层(DataLinklayer)逻辑链路控制子层(LLC,LogicalLinkControl);介质访问控制子层(MAC,MediumAccessControl)。(2)物理层(PhysicalLayer)链路层和逻辑层的作用(1)逻辑链路控制子层(LLC)的作用范围如下;•为远程数据请求以及数据传输提供服务;•确定LLC子层接收的报文中哪些报文实际实际上被验收。•为恢复管理和过载通知提供手段。(2)介质访问挖制予层(MAC)的作用主要是传送的规则,也就是控制帧的结构、执行仲裁、错误检恻、错误的标定、故障的界定。总线上什么时候开始发送新报文及什么时侯开始接收报文。均在MAC子层里确定。位定时的一般功能也可以看做是MAC子层的一部分.自然,对于MAC子层是不允许修改的。(3)物理层的作用是在不同节点之间根据所有的电气属性进行位信息的实际传输。当然,同一网络内,物理层对于所有的节点必须是相同的。尽管如此,在选择物理层方面还是很自由的。CAN具有以下的属性:¾报文的优先权¾保证延迟时间¾设置灵活¾时间同步的多点接收¾系统内数据的连贯性(一致性)¾多主机(对等)¾错误检测和标定¾只要总线一处于空闲,就自动将破坏的报文重新传输¾将节点的暂时性错误和永久性错误区分开来,并且可以自动关闭错误的节点基本概念1、依据ISO/OSI参考模型CAN的分层结构2、报文(Message)总线上的信息以不同的固定报文格式发送,但长度受限。当总线空闲时任何连接的单元都可以开始发送新的报文。3、信息路由在CAN系统里,节点不使用任何关于系统配置的信息(比如,站地址)。以下是几个重要的概念。系统灵活性:不需要改变任何节点的应用层及相关的软件或硬件,就可以在CAN网络中直接添加节点。报文路由:报文的内容由识别符命名。识别符不指出报文的目的地,但解释数据的含义。因此,网络上所有的节点可以通过报文滤波确定是否应对该数据做出反应。多播:由于引入了报文滤波的概念,任何数目的节点都可以接收报文,并同时对此报文做出反应。数据连贯性:在CAN网络内,可以确保报文同时被所有的节点接收(或同时不被接收)。因此,系统的数据连贯性是通过多播和错误处理的原理实现的。4、位速率(Bitrate):不同的系统,CAN的速度不同。可是,在一给定的系统里,位速率是唯一的,并且是固定的。5、优先权(Priorities):在总线访问期间,识别符定义一静态的报文优先权。6、远程数据请求(RemoteDataRequest):通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的识别符IDENTIFIER)命名的。7、多主机(Multimaster):总线空闲时,任何单元都可以开始传送报文。具有较高优先权报文的单元可以获得总线访问权。8、仲裁(Arbitration):只要总线空闲,任何单元都可以开始发送报文。如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用识别符的位形式仲裁可以解决这个冲突。仲裁的机制确保信息和时间均不会损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一“隐性”电平而监控视到一“显性”电平(见总线值),那么该单元就失去了仲裁,必须退出发送状态。9、安全性(Safety):为了获得最安全的数据发送,CAN的每一个节点均采取了强有力的措施以进行错误检测、错误标定及错误自检。错误检测(ErrorDetection):为了检测错误,必须采取以下措施:¾-监视(发送器对发送位的电平与被监控的总线电平进行比较)¾-循环冗余检查¾-位填充¾-报文格式检查错误检测的执行(PerformanceofErrorDetection):错误检测的机制要具有以下的属性:¾-检测到所有的全局错误¾-检测到发送器所有的局部错误¾-可以检测到一报文里多达5个任意分布的错误¾-检测到一报文里长度低于15(位)的突发性错误¾-检测到一报文里任一奇数个的错误¾对于没有被检测到的错误报文,其残余的错误可能性概率低于:报文错误率*4.7*10–11。10、错误标定和恢复时间(ErrorSinallingandRecoveryTime):任何检测到错误的节点会标志出已损坏的报文。此报文会失效并将自动地开始重新传送。如果不再出现新错误的话,从检测到错误到下一报文的传送开始为止,恢复时间最多31个位的时间。11、故障界定(FaultConfinement):CAN节点能够把永久故障和短暂扰动区分开来。永久故障的节点会被关闭。12、连接(Connections):CAN串行通讯链路是可以连接许多单元的总线。理论上,可连接无数多的单元。但由于实际上受延迟时间以及/或者总线线路上电气负载的影响,连接单元的数量是有限的。13、单通道(SingleChannel):总线是由单一进行双向位信号传送的通道组成。通过此通道可以获得数据的再同步信息。要使此通道实现通讯,有许多的方法可以采用,如使用单芯线(加上接地)、2条差分线、光缆等等。这本技术规范不限制这些实现方法的使用,即未定义物理层。14、总线值(Busvalue):总线可以具有两种互补的逻辑值之一:“显性”或“隐性”。“显性”位和“隐性”位同时传送时,总线的结果值为“显性”。比如,在执行总线的“线与”时,逻辑0代表“显性”等级,逻辑1代表“隐性”等级。本技术规范不给出表示这些逻辑电平的物理状态(比如,电压、光)。15、应答(Acknowledgment):所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答;对于不连贯的报文,接收器作出标志。16、睡眠模式/唤醒(SleepMode/Wake-up):为了减少系统电源的功率消耗,可以将CAN器件设为睡眠模式以便停止内部活动及断开与总线驱动器的连接。CAN器件可由总线激活,或系统内部状态而被唤醒。唤醒时,虽然传输层要等待一段时间使系统振荡器稳定,然后还要等待一段时间直到与总线活动同步(通过检查11个连续的“隐性”的位),但在总线驱动器被重新设置为“总线在线”之前,内部运行已重新开始。为了唤醒系统上正处于睡眠模式的其他节点,可以使用一特殊的唤醒报文,此报文具有专门的、最低等级的识别符。(rrrrrrdrrrr;r=‘’隐性’d=‘显性’)四、can的报文传输4.1帧类型有2种不同的帧格式,不同之处为标识符域的长度不同,含有11位标识符的帧称标准帧;而29位标识符的帧为扩展帧。报文传输由以下4个不同的帧类型所表示和控制:¾数据帧:数据帧携带数据从发送器至接收器。¾远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。¾错误帧:任何单元检测到一总线错误就发出错误帧。¾过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。数据帧和远程帧可以使用标准帧及扩展帧2种格式。(或远程帧)通过帧间空间与前述的各帧分开。•4.1.1数据帧数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。数据场的长度可以为0。•帧起始它标志数据帧和远程帧的起始,由一个单独的“显性”位组成。只在总线空闲(参见“总线空闲”)时,才允许站开始发送(信号)。所有的站必须同步于首先开始发送信息的站的帧起始前沿(参见“硬同步”)。•仲裁场标准格式帧与扩展格式帧的仲裁场格式不同。¾标准格式里,仲裁场由11位识别符和RTR位组成。识别符位由ID-28…ID-18。¾扩展格式里,仲裁场包括29位识别符、SRR位、IDE位、RTR位。其识别符由ID-28...ID-0。为了区别标准格式和扩展格式,前版本CAN规