一、CAN总线的概述
CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
二、CAN总线的分层结构
CAN遵从OSI模型,按照OSI基准模型,CAN结构划分为两层:数据链路层和物理层,如下图所示。
1.按照IEEE 802.2和802.3 标准,数据链路层又划分为:
1)逻辑链路控制(LLC-Logic Link Control)。
2)媒体访问控制(MAC-Medium Access Control)。
2.物理层又划分为:
1)物理信令(PLS-Physical Signalling)。
2)物理媒体附属装置(PMA-Physical Medium Attachment)。
3)媒体相关接口(MDI-Medium Dependent Interface)。
MAC子层运行借助称之为“故障界定实体(FCE)”的管理实体进行监控。故障界定是使判别短暂干扰和永久性故障成为可能的一种自检机制。物理层可借助检测和管理物理媒体故障实体进行监控(例如总线短路或中断,总线故障管理)。LLC和MAC两个同等的协议实体通过交换帧或协议数据单元(PDU-Protocol Data Unit)和(N)-用户数据组成,为传送一个NPDU,(N-1)层实体必须通过(N-1)服务访问点(SAP-Service Access Point)[(N-1)-SAP].NPDU借助于(N-1)层服务数据单元(SDU-Service Data U nit)[(N-1)-SDU]传至(N-1)层,其服务功能允许NPDU的传送。SDU是接口数据,对其识别预先在(N)层实体间进行,亦即,它表示逻辑数据单元由服务进行传送。CAN协议的数据链层既不提供分配一个SDU至多个PDU,也不提供分配多个SDU至一个PDU的方法,亦即,NPDU直接由相应的NSDU和层指定控制信息N-PCI构成。[page]
三、CAN总线的原理介绍
当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时, 转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。
四、CAN总线的特点
CAN具有十分优越的特点,使人们乐于选择。这些优越的特点包括:
(1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。
(2)网络各节点之间的数据通信实时性强。CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。
(3)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mb/s.
(4)CAN总线通信接口中集成了CAN协议的物理层和数据链路层作用,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。
(5)CAN协议的一个最大特点是废除了传统的站地址编码,雨代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种数据块编码方式,还可使不同的节点同时接收到相同的数据,这一点在分步式控制中非常重要。
(6)数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而倮证了通信的实时性。
(7)CAN协议采用CRC检验并可提供相应的错误处理作用,保证了数据通信的可靠性。CAN总线所具有的卓越性能、极高的可靠性和独特设计,特别适合工业设各测控单元互连。因此备受工业界的重视,并已公认为最有前途的现场总线之一。
五、CAN与其它通信方案的比较
CAN总线与其它通信网的不同之处在于:
一是报文传送中不包含目标地址,它是以全网广播为基础。各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的丢弃。其好处是可在线上网下网、即插即用和多站接收;
二是特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。
在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。在第一种方法中,不管每个节点是否申请总线,都对每个节点按最大期间分配。由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。这将保证在总线存取时有明确的总线分配。在第二种方法中,总线按传送数据的基本要求分配给一个站,总线系统按站希望的传送分配。因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。为了分配总线,多于一个总线存取是必要的。
CAN实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。不同于Ethernet网络的消息仲裁,CAN的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。
总而言之,现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持
关键字:CAN 现场总线 基础知识
引用地址:CAN现场总线的基础知识
CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
二、CAN总线的分层结构
CAN遵从OSI模型,按照OSI基准模型,CAN结构划分为两层:数据链路层和物理层,如下图所示。
1.按照IEEE 802.2和802.3 标准,数据链路层又划分为:
1)逻辑链路控制(LLC-Logic Link Control)。
2)媒体访问控制(MAC-Medium Access Control)。
2.物理层又划分为:
1)物理信令(PLS-Physical Signalling)。
2)物理媒体附属装置(PMA-Physical Medium Attachment)。
3)媒体相关接口(MDI-Medium Dependent Interface)。
MAC子层运行借助称之为“故障界定实体(FCE)”的管理实体进行监控。故障界定是使判别短暂干扰和永久性故障成为可能的一种自检机制。物理层可借助检测和管理物理媒体故障实体进行监控(例如总线短路或中断,总线故障管理)。LLC和MAC两个同等的协议实体通过交换帧或协议数据单元(PDU-Protocol Data Unit)和(N)-用户数据组成,为传送一个NPDU,(N-1)层实体必须通过(N-1)服务访问点(SAP-Service Access Point)[(N-1)-SAP].NPDU借助于(N-1)层服务数据单元(SDU-Service Data U nit)[(N-1)-SDU]传至(N-1)层,其服务功能允许NPDU的传送。SDU是接口数据,对其识别预先在(N)层实体间进行,亦即,它表示逻辑数据单元由服务进行传送。CAN协议的数据链层既不提供分配一个SDU至多个PDU,也不提供分配多个SDU至一个PDU的方法,亦即,NPDU直接由相应的NSDU和层指定控制信息N-PCI构成。[page]
三、CAN总线的原理介绍
当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时, 转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。
四、CAN总线的特点
CAN具有十分优越的特点,使人们乐于选择。这些优越的特点包括:
(1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。
(2)网络各节点之间的数据通信实时性强。CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。
(3)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mb/s.
(4)CAN总线通信接口中集成了CAN协议的物理层和数据链路层作用,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。
(5)CAN协议的一个最大特点是废除了传统的站地址编码,雨代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种数据块编码方式,还可使不同的节点同时接收到相同的数据,这一点在分步式控制中非常重要。
(6)数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而倮证了通信的实时性。
(7)CAN协议采用CRC检验并可提供相应的错误处理作用,保证了数据通信的可靠性。CAN总线所具有的卓越性能、极高的可靠性和独特设计,特别适合工业设各测控单元互连。因此备受工业界的重视,并已公认为最有前途的现场总线之一。
五、CAN与其它通信方案的比较
CAN总线与其它通信网的不同之处在于:
一是报文传送中不包含目标地址,它是以全网广播为基础。各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的丢弃。其好处是可在线上网下网、即插即用和多站接收;
二是特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。
在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。在第一种方法中,不管每个节点是否申请总线,都对每个节点按最大期间分配。由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。这将保证在总线存取时有明确的总线分配。在第二种方法中,总线按传送数据的基本要求分配给一个站,总线系统按站希望的传送分配。因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。为了分配总线,多于一个总线存取是必要的。
CAN实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。不同于Ethernet网络的消息仲裁,CAN的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。
总而言之,现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持
上一篇:PROFIBUS-DP和PROFINET网络的区别
下一篇:MODBUS通讯协议及编程
推荐阅读最新更新时间:2024-05-02 23:30
STM32 CAN过滤器设置
看来还是很多人不会设置过滤器,我也看了很久才会,大家先去看一个寄存器 CAN_TIxR(x=0~2) 发送邮箱标识寄存器 标准帧在 31~21 位 共11位 STID 扩展帧在 20~3 位 共29位 EXID +STID 0~2 位分别为 TXRQ ,RTR ,IDE uint16_t CAN_ID = 0x0101 uint32_t ExCAN_ID= 0x10001 所以设置标位帧ID过滤应该这样设: CAN_FilterInitStructure.CAN_FilterIdHigh = CAN_ID 5; CAN_Filte
[单片机]
PIC基础知识
振荡器类型 LP方式:低功耗晶体振荡器方式 XT方式:晶体/陶瓷振荡器方式 HS方式:高速晶体/陶瓷振荡器方式 High-Speed Crystal/Resonator HS4方式:带有PLL使能的高速晶体/陶瓷振荡方式 RC方式:阻容振荡方式 RCIO方式:带有I/O引脚使能的外部阻容振荡方式 EC方式:外部时钟方式 External Clock with FOSC/4 Output ECIO方式:带有I/O引脚使能的外部时钟方式 复位方式 上电复位(POR) 在正常工作状态下通过在外部MCLR引脚上加低电平复位 在休眠状态下通过在外部MCLR引脚上加低
[单片机]
Canalys:大陆智能机出货创史上最大减幅;苹果遭小米超车
日本苹果情报网站iPhone Mania 28日报导,根据市场调查公司Canalys公布的调查报告指出,上季(2018年1-3月)中国大陆智能手机出货量较去年同期大减21%至9,100万支,连续第4季呈现萎缩、且创下史上最大减幅纪录。 就厂商别出货量来看,华为上季出货量小幅成长2%至2,100万支、以24%的市占率稳居龙头;OPPO、Vivo出货量皆下滑约10%至1,800万支、1,500万支,以19%、17%的市占率分居第2、3位。 小米表现最令人惊艳,上季出货量大增37%至1,200万支,市占率自去年同期的8%扬升至13%,超越苹果(Apple)位居第4位;苹果中国大陆市占率则退居第5位。 Canalys指出,上季
[手机便携]
基于CAN控制器P8xC591和传感器实现车窗智能控制系统的设计
1、引言 目前.以微控制器为代表的汽车电子在整车电子系统中应用广泛,汽车控制正由机电控制系统转向以分布式网络为基础的智能化系统。 CAN 总线是一种支持分布式和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域广泛应用。作为目前最具应用潜力的现场总线之一,CAN总线技术为我国汽车产业升级、降低成本,扩大市场占用率提供支持。 现在各中高档轿车都安装有电动车窗,按钮控制车窗玻璃的升降。如果车窗无智能,司机在没有注意到乘客的手或物体伸出窗口的情况下按下按钮,乘客容易被车窗夹伤。为了安全,很多乘车都采用电动防夹车窗。在充分研究有关CAN总线在汽车电子系统中的应用和电动车窗防夹方案的基础上,提出一种基于CAN总线的轿车车窗智
[汽车电子]
HMS Ixxat® CANnector:灵活的高性能多面手
HMS Networks宣布推出Ixxat® CANnector——一种用于记录、桥接和扩展CAN网络的灵活解决方案。CANnector作为对现有CAN@net NT和CANbridge NT系列的补充,能提供更多接口和功能以及数据记录功能。由于它与CAN@net NT和CANbridge NT兼容,因此可以对原先安装的设备进行扩展。 灵活的多面手——记录、桥接和扩展 就如同CAN@net NT和CANbridge NT一样,CANnector是一个独立运行的设备,这意味着不需要PC。除了通用的CANnector,还提供三种预配置的版本: CANnector Range:用于通过以太网的简单CAN(FD)范围扩展,或作为
[网络通信]
电动汽车分布式电机驱动测试系统研究与应用
1 引言 随着能源和环境问题日益受到重视,电动汽车以其清洁无污染、能量效率高、低噪声、能源多样化等优点研究发展迅速。电动汽车作为一种交通工具,工作环境复杂多变,其电机驱动系统需要满足可靠性高、效率高、调速性能好、造价低等性能要求。因此电动汽车的电机驱动系统测试是一项重要研究内容。 电机驱动系统包括电机及其控制器,系统测试中需较长时间采集驱动系统内部和外部的信号,用到多个测量仪器,输出大量数据。电动汽车电机驱动系统研究的深入对其测试的效率和精度有了更高的要求,传统的手工测试方法已无法满足试验需求。随着计算机技术、通信技术和自动控制技术的发展,以PC机和工作站为基础的虚拟仪器和分布式网络化测试技术为主的现代化开放式测试系统
[汽车电子]
CAN总线局部错误及全局通知分析
局部错误,全局通知是CAN总线错误类型中较为典型的一种,如何通过错误报文及波形快速定位错误原因呢?本文结合现场实测案例简要分析。 一、CAN总线错误简介 在CAN总线中存在5种错误类型,如图1所示:它们互相并不排斥,下面简单介绍一下它们的区别、产生的原因。 图1 5种错误类型 位错误:向总线送出一位的某个节点同时也在监视总线,当监视到总线位的电平和送出的电平不同时,则在该位时刻检测到一个位错误。但是在仲裁区的填充位流期间或应答间隙送出隐性位而检测到显性位时,不认为是错误位。 填充错误:在使用位填充方法进行编码的报文中(帧起始到CR序列),出现了第6个连续相同的位电平时,将检 测出一个填充错误。 CRC错误
[嵌入式]
LPC1778 CAN ID过滤设置需注意的地方
1.验收滤波器模式 滤波设置前设置关闭模式,设置完成后设置为工作模式。 Efcan:扩展帧ID时,没有FULLCAN模式,此位置0。 2.区域寄存器设置 只有在验收滤波器关闭模式和旁路模式中才能对所有区配置寄存器进行写访问。允许在所 有的验收滤波器模式下对寄存器进行读访问。 ID 查找表 RAM 只能进行字访问,并且只能在验收滤波器关闭或旁路模式下进行写访问。但读访问可以在所有的验收滤波器模式下进行。 寄存器的低两位未用,但不需将设置值左移后写入。 3.不同CAN通道的区分 以高三位数值确定。 16.15 配置和搜索算法 CAN 标识符查找表存储器
[单片机]