搜档网
当前位置:搜档网 › CAN总线

CAN总线

CAN总线
CAN总线

基本概念

CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。

CAN总线优势

CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性:

网络各节点之间的数据通信实时性强

首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;

缩短了开发周期

CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会出现象在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。

已形成国际标准的现场总线

另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是目前CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。

最有前途的现场总线之一

CAN 即控制器局域网络,属于工业现场总线的范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和JAGUAR(美洲豹)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有:SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

CAN总线的产生与发展

控制器局部网(CAN-CONTROLLER AREA NETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。控制器局部网将在我国迅速普及推广。随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将5C技术--COMPUTER(计算机技术)、CONTROL (自动控制技术)、COMMUNICATION(通信技术)、CRT(显示技术)和CHANGE (转换技术)紧密结合的产物。它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。典型的分散式控制系统由现场设备、接口与计算设备以及通信设备组成。现场总线(FIELDBUS)能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。现场总线的研究与应用已成为工业数据总线领域的热点。尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格比将吸引众多工业控制系统采用。同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的

依据。控制器局部网CAN(CONTROLLER AERANETWORK)正是在这种背景下应运而生的。由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年9月PHILIPS SEMICONDUCTORS制订并发布了CAN技术规范(VERSION 2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,能提供11位地址;而2.0B给出了标准的和扩展的两种报文格式,提供29位地址。此后,1993年11月ISO正式颁布了道路交通运载工具--数字信息交换--高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。

CAN总线特点

CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1MBPS。

完成对通信数据的成帧处理

CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

使网络内的节点个数在理论上不受限制

CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。

可在各节点之间实现自由通信

CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN总线插卡可以任意插在PC AT XT兼容机上,方便地构成分布式监控系统。

结构简单

只有2根线与外部相连,并且内部集成了错误探测和管理模块。

CAN总线技术介绍

位仲裁

要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配。实时处理通过网络交换的紧急数据有较大的不同。一个快速变化的物理量,如汽车引擎负载,将比类似汽车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。CAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。这种优先级一旦在系统设计时被确立后就不能再被更改。总线读取中的冲突可通过位仲裁解决。如图2所示,当几个站同时发送报文时,站1的报文标识符为011111;站2的报文标识符为0100110;站3的报文标识符为0100111。所有标识符都有相同的两位01,直到第3位进行比较时,站1的报文被丢掉,因为它的第3位为高,而其它两个站的报文第3位为低。站2和站3报文的4、5、6位相同,直到第7位时,站3的报文才被丢失。注意,总线中的信号持续跟踪最后获得总线读取权的站的报文。在此例中,站2的报文被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送了。所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。这种方法在网络负载较重时有很多优点,因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的个体隐伏时间。对于主站的可靠性,由于CAN协议执行非集中化总线控制,所有主要通信,包括总线读取(许可)控制,在系统中分几次完成。这是实现有较高可靠性的通信系统的唯一方法。

CAN与其它通信方案的比较

在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。在第一种方法中,不管每个节点是否申请总线,都对每个节点按最大期间分配。由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。这将保证在总线存取时有明确的总线分配。在第二种方法中,总线按传送数据的基本要求分配给一个站,总线系统按站希望的传送分配(如:Ethernet CSMA/CD)。因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。为了分配总线,多于一个总线存取是必要的。CAN实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。不同于Ethernet网络的消

息仲裁,CAN的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。

CAN的报文格式

在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留位(ro),为将来扩展使用。它的最后四个字节用来指明数据场中数据的长度(DLC)。数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。

数据错误检测

不同于其它总线,CAN协议不能使用应答信息。事实上,它可以将发生的任何错误用信号发出。CAN协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。

3.4.1 循环冗余检查(CRC) 在一帧报文中加入冗余检查位可保证报文正确。接收站通过CRC可判断报文是否有错。 3.4.2 帧检查这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误。 3.4.3.应答错误如前所述,被接收到的帧由接收站通过明确的应答来确认。如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文无站接收。CAN协议也可通过位检查的方法探测错误。 3.4.4 总线检测有时,CAN中的一个节点可监测自己发出的信号。因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。 3.4.5 位填充一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步。为保证同步,同步沿用位填充产生。在五个生。在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。例如,五个连续的低电平位后,CAN自动插入一个高电平位。CAN通过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误。如果至少有一个站通过以上方法探测到一个或多个错误,它将发送出错标志终止当前的发送。这可以阻止其它站接收错误的报文,并保证网络上报文的一致性。当大量发送数据被终止后,发送站会自动地重新发送数据。作为规则,在探测到错误后23个位周期内重新开始发送。在特殊场

合,系统的恢复时间为31个位周期。但这种方法存在一个问题,即一个发生错误的站将导致所有数据被终止,其中也包括正确的数据。因此,如果不采取自监测措施,总线系统应采用模块化设计。为此,CAN协议提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。这种方法可以通过对出错站统计评估来确定一个站本身的错误并进入一种不会对其它站产生不良影响的运行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而被终止。

CAN总线可靠性

为防止汽车在使用寿命期内由于数据交换错误而对司机造成危险,汽车的安全系统要求数据传输具有较高的安全性。如果数据传输的可靠性足够高,或者残留下来的数据错误足够低的话,这一目标不难实现。从总线系统数据的角度看,可靠性可以理解为,对传输过程产生的数据错误的识别能力。残余数据错误的概率可以通过对数据传输可靠性的统计测量获得。它描述了传送数据被破坏和这种破坏不能被探测出来的概率。残余数据错误概率必须非常小,使其在系统整个寿命周期内,按平均统计时几乎检测不到。计算残余错误概率要求能够对数据错误进行分类,并且数据传输路径可由一模型描述。如果要确定CAN的残余错误概率,我们可将残留错误的概率作为具有80~90位的报文传送时位错误概率的函数,并假定这个系统中有5~10个站,并且错误率为1/1000,那么最大位错误概率为10—13数量级。例如,CAN网络的数据传输率最大为1Mbps,如果数据传输能力仅使用50%,那么对于一个工作寿命4000小时、平均报文长度为80位的系统,所传送的数据总量为9×1010。在系统运行寿命期内,不可检测的传输错误的统计平均小于10—2量级。换句话说,一个系统按每年365天,每天工作8小时,每秒错误率为0. 7计算,那么按统计平均,每1000年才会发生一个不可检测的错误。应用举例

某医院现有5台16T/H德国菲斯曼燃气锅炉,向洗衣房、制剂室、供应室、生活用水、暖气等设施提供5kg/cm2的蒸汽,全年耗用天然气1200万m3,耗用20万吨自来水。医院采用接力式方式供热,对热网进行地域性管理,分四大供热区。其中冬季暖气的用气量很大,据此设计了基于CAN现场总线的分布式锅炉蒸汽热网智能监控系统。现场应用表明:该楼宇自动化系统具有抗干扰能力强,现场组态容易,网络化程度高,人机界面友好等特点。

CAN总线典型特征

CAN总线有如下基本特点◎废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作;◎采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突;◎采用短帧结构,每一帧的有效字节

数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短;◎每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用;◎节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响;◎可以点对点,一对多及广播集中方式传送和接受数据。CAN总线的优点●具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;●采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;●具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络;●可根据报文的ID决定接收或屏蔽该报文;●可靠的错误处理和检错机制;●发送的信息遭到破坏后,可自动重发;●节点在错误严重的情况下具有自动退出总线的功能;

●报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

can总线协议完全解析

CAN总线协议解析 李玉丽 (吉林建筑工程学院电气与电子信息工程学院,吉林长春,130021 ) 摘要:现场总线的发展与应用引起了传统控制系统结构的改变。控制局域网(C AN)总线因其自身的特点被广泛应用于 自动控制领域。本文对C AN总线协议作了详尽解析。 关键词:C AN总线;隐性位;显性位;节点 中图分类号:T U 85 文献标识码:A CAN(Cont roll e r A rea N et work)是分布式实时控 制系统的串行通信局域网,称谓CAN总线。在数据 实时传输中,设计独特、低成本,具有高可靠性,得到 广泛应用。 本文着重解析C AN 技术规范2.0B 版的CAN 的分层结构规范和CAN 报文结构规范。重点在于 充分理解CAN总线协议精髓,有助于CAN总线的 局网设计、软件编程、局网维护。 一、C AN的分层结构 CAN 遵从O SI ( Ope n Syste m I nte rc onnec ti on Re fe re nce Mode l ) 模型,其分层结构由高到低如图1 所示。 图1 C AN的分层结构 对应OSI 模型为两层,实际为三层,即LLC、 MA C、PL S。由此而知,对应于CAN总线系统每个 节点都是三层结构。数据发送节点数据流为LLC→ MA C→P LS ,然后将数据发送到总线上;而对于挂在 总线上的所有节点(包括发送节点)的接收的数据流 为PL S→MA C→LLC。 这种分层结构的规范保证了CAN 总线的多主 方式工作模式,即不分主从,非破坏性的仲裁工作模 式。而LLC 层的报文滤波功能可实现点到点、一点 对多点、全局广播、多点对一点,多点对多点等数据 传递方式。 各分层主要功能如下: LLC 层:接收滤波、超载通知、恢复管理; MAC 层:控制帧结构、执行仲裁、错误检测、出 错标定、故障界定。该层是CAN的核心; PL S 层:位编码/ 解码、位定时。 二、CAN总线的报文规范 CAN报文的传送有4 种不同类型的帧结构,数 据帧、远程帧、出错帧、超载帧。CA B2.0B 有4 种帧 格式。 (一)数据帧

使用泰克MSO4000示波器测试与分析CAN总线信号

主题TOPIC —————————————————————————————————TITLE:使用泰克MSO4000示波器测试与分析CAN总线信号 OBJET :介绍了泰克MSO4000系列示波器在CAN网测试中的若干应用

目录 1目的 (3) 2适用范围 (3) 3参考文件 (3) 4历史 (3) 5泰克MSO4000示波器简介 (4) 6利用MSO4000示波器对CAN LS信号进行采集和解码 (4) 6.1 对示波器进行设置 (4) 6.2 监测CAN LS网络上的CAN_H和CAN_L电平信号 (5) 6.3 技术规范对CAN LS信号电平值的规定 (8) 6.4 监测CAN LS网络的总线解码信号 (9) 7利用MSO4000示波器对CAN HS信号进行采集和解码 (10) 7.1 对示波器进行设置 (10) 7.2 监测CAN HS网络上的CAN_H和CAN_L电平信号 (10) 7.3 技术规范对CAN HS信号电平值的规定 (11) 7.4 监测CAN HS网络的总线解码信号 (11) 8使用泰克“e﹡Scope”功能对示波器进行远程操作 (12) 9使用Open Choice软件自动获取示波器屏幕截图 (13) 10使用SignalExpress TE软件实现自动化测试 (15) 2 of Page 19

1 目的 CAN网络信号的测试包括总新电平信号的采集、电压值的测量、信号解码分析、总线通讯状态监测等内容,这部分内容也是构成CAN网络底层测试的基础,测试结果的正确与否,直接关系到整车电器架构的稳定性与电控单元功能的完好性,因此如何便捷高效地完成CAN网络的测试,已经成为整车验证环节中不可回避的一个话题。本文中提出了一套使用泰克MSO4000系列示波器与配套的LabVIEW SignalExpress TE软件进行CAN总线信号测试与分析的方法,从而完成整车高速、低速CAN网络信号的分析与测试工作。通过“示波器+PC软件”的方式,测试人员可以方便快捷地对总线信号进行实时监测,也可以使用示波器的解码功能直接观测到对应的逻辑信号。在使用附属的SignalExpress TE软件后,还可以实现远程测试、自动化测试等功能,与其它测试和分析方法相比,具有入门简单、适用范围广、数据采集精度高等优点,大大提高了基于CAN总线技术的电控单元的开发与测试效率。 2 适用范围 供新车型项目中进行CAN网底层测试时参考使用。 3 参考文件 4 历史

CAN总线呕心沥血教程

哥很郁闷,为了CAN研究了不少,看了不少资料,现在我给大家总结一下先看看工作原理 当CAN总线上的一个节点(站)发送数据时,它以报文的形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式成为面向内容的编制方案。同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文,当几个站同时竞争总线读取时,这种配置十分重要。 大体的工作原理我们搞清了,但是根本的协议我们还要花一番功夫。下面介绍一个重要的名词,“显性“和”隐性“ 在我看到的很多文章里,有很多显性和隐性的地方,为此我头痛不已,最终我把它们彻底弄明白了。 首先CAN数据总线有两条导线,一条是黄色的,一条是绿色的。分别是CAN_High线和CAN_Low线 当静止状态时,这两条导线上的电平一样。这个电平称为静电平。大约为2.5伏。这个静电平状态就是隐形状态,也称隐性电平。也就是没有任何干扰的时候的状态称为隐性状态.当有信号修改时,CAN_High线上的电压值变高了,一般来说会升高至少1V,而CAN_Low线上的电压值会降低一个同样值,也是1v,那么这时候。CAN_High就是2.5v+1v=3.5v,它就处于激活状态了。而CAN_Low降为2.5v-1v=1.5v。 可以看看这个图 由此我们得到 在隐性状态下,CAN_High线与CAN_Low没有电压差,这样我们看到没有任何变化也就检测不到信号。但是在显性状态时,改值最低为2V,我们就可以利用这种变化才传输数据了。所以出现了那些帧,那些帧中的场,那些场中的位,云云~~~~~~~~~~~ 在总线上通常逻辑1表示隐性。而0表示显性。这些1啊,0啊,就可以利用起来为我们传数据了。 利用这种电压差,我们可以接收信号。 一般来说,控制单元通过收发器连接到CAN驱动总线上,这个收发器(顾名思义,可发送,可接收)内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。然后,这个放大器很自然地就放大了CAN_High和CAN_Low线的电平差,然后传到接收区。如下图 由上图可知,当有电压差,差动信号放大器放大传输,将相应的数据位任可为0。下面我们进入重点难点。报文 所谓报文,就是CAN总线上要传输的数据报,为了安全,我们要给我们传输的数据报编码定一下协议,这样才能不容易出错,所以出现了很多的帧,以及仲裁啊,CRC效验。这些都是难点。 识别符的概念。 识别符顾名思义,就是为了区分不同报文的可以鉴别的好多字符位。有标准的,和扩展的。标准的是11位,扩展的是29位。他有一个功能就是可以提供优先级,也就是决定哪个报文优先被传输,报文标识符的值越小,报文具有越高的优先权。CAN的报文格式有两种,不同之处其实就是识别符长度不同,具有11位识别符的帧称为标准帧,而还有29位识别符的帧为扩展帧,CAN报文有以下4个不同的帧类型。分别是

CAN总线通信接口及程序设计毕业设计

机电工程学院 毕业设计说明书设计题目: CAN总线通信接口及程序设计 2012 年 5 月21 日

目次

1 CAN总线介绍 1.1 CAN总线的发展背景 随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。汽车中的各种电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否安全、是否便利、成本是否低、是否舒适都已成为人们首要考虑的事情。但是传统的汽车控制技术已不足以满足人们越来越高的要求,也已不适以汽车的发展方向。20世纪80年代,德国Bosch公司着手研究用于汽车产业的新的通信协议及控制方法,并首先提出了CAN总线控制系统。这一崭新的网络协议使得汽车产业得到了飞速的发展。 CAN总线最明显的特点是最大程度地减少了汽车控制系统中的线束的数量及长度,另外还大大提高了系统控制的可靠性和稳定性。在没有CAN总线协议之前,一辆汽车中用于各种控制通信的线束的总长度达3公里之长,严重影响了汽车的通信速度和通信精度。并且还使汽车的整体结构繁冗复杂,可靠性低,成本高,难以维护。因此CAN总线的出现无疑具有重大的意义和作用。作为一种新的网络通信协议,CAN总线不仅减少了汽车中线束的长度,还提高了汽车的整体性能,极大的促进了汽车产业的发展。 CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议的性能和可靠性经过多年的检验,已被应用于越来越多的产业,比如航空、船舶、机床等产业设备方面。仅仅二十多年的发展,CAN总线便已成为自动化领域技术的潮流。 CAN总线是串行通信网络。传统运用的是基于R线构建分布式控制系统,这种传统的控制系统是基于通信节点的地址编码的,因此其结构复杂,直接导致系统的通信效率不高,并且控制的可靠性能低。CAN总线通过每个网络节点进行数据通信,每个节点可以互相收发数据,CAN总线协议对通信数据编码,不对节点地址编码,使各个节点可以同时接收到相同的数据,大大增强了数据通信的实时控制及传输性能。另一方面CAN总线使用起来非常方便。CAN总线的结构十分简单,仅有2根线(CANH和CANL)和外部设备相连,但CAN总线的内部却有非常复杂和智能的通信模块,可以方便快捷准确无误的进行数据

CAN总线故障检查方法

一、CAN总线简介 CAN总线即控制器局域网,为串行通信协议,能有效得支持具有很高安全等级得分布实时控制,在汽车电子行业中,使用CAN连接发动机控制单元,传感器,防刹车系统等等,其传输速度可达到1Mbit/S。 1、CAN总线数据生成 CAN总线得数据分为模拟信号与数字信号,模拟信号就是由传感器检测得到,并将得到得信号进行转换(A/D),变成数字信号,送给MCU,由MCU将生成得CAN报文发送到总线上。模拟信号一般显示在指针表上,如气压1,气压2等.数字信号相对简单,可直接由MC U接收,然后将报文发到CAN总线上,如发动机诊断,刹车片磨损等等,一般显示在仪表上. 2、CAN信号线 CAN传输得两条信号线被称为CAN_H 与CAN_L。通电状态:CAN_H(2、5V)、CAN_L(2、5V)或CAN_L(3、5V)、CAN_H(1、5V)断电状态:CAN_H、CAN_L之间应该有60~62欧电阻值,两个120欧分别在仪表模块与后控模块中,并联后就是60欧姆左右。 ?友情提示:用万用表就是测不准CAN_H或CAN_L电压得,因为通电后C AN线上得电压在不停变化,而万用表得响应速度很慢,所以测得得电压就是并不就是当前电压而就是电压得有效值。 3、唤醒线WAKEUP

CAN总线所有模块都有两个WAKEUP引脚,模块内部就是连接在一起得,前控模块为WAKEUP输出,其它模块为WAKEUP得输入,连线时总线各模块得WAKEUP都必须与前控连接在一起,当前控电源正常、钥匙1档(ACC档)开时,前控正常工作,WAKEUP输出(输出电压值约等于当前电源电压),总线其它模块收到WAKEUP信号,模块被唤醒,在电源正常得情况下,各模块开始工作。 二、线路与模块得基本检查 1、线路得基本检查分为输入与输出线路。 对输入线路得检查:首先,要找到输入得管脚(各种车得管脚定义不同);然后将输入得管脚与模块断开;最后对线路就是否有信号输入进行检查. 对输出线路得检查 首先,确定输出得线路就是否断线或搭铁。将管脚与模块断开后测量.然后就是测量线路就是否有输出.将模块与管脚连接后检查. 2、模块得基本检查包括对电源线、地线、唤醒线、CAN线得检查。 电源得检查:模块上一般有4根左右得电源线,在模块正常工作时,每个电源都应该有24 v得电压。 地线得检查:模块上一般都有2到3根地线,在模块工作时,这些地线都要与全车得地线接触良好. 唤醒线得检查:每个模块都要有1根唤醒线,在模块工作时有24v得电压。

CAN总线技术详解

CAN总线技术详解 起源 20世纪80年代,Robert Bosch 公司在SAE(汽车工程协会)大会上介绍了一种新型的串行总线CAN控制器局域网,那也是CAN 诞生的时刻。今天,在欧洲几乎每一辆新客车均装配有CAN 局域网。同样,CAN也用于其他类型的交通工具,从火车到轮船或者用于工业控制。CAN 已经成为全球范围内最重要的总线之一甚至领导着串行总线。CAN总线的工作原理 CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。 当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。 由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。

can总线分析仪kvaserlin产品详解

CAN总线分析仪Kvaser Linx 将Kvaser Linx连接到Kvaser 现场总线上,即可分析J1587、LIN、K-Line、SWC 或 LS 总线网络,其优越的兼容性、灵活性和可靠性,极大的方便了各种总线的分析,目前市场上尚只有Kvaser Linx J1587 ?Kvaser Linx LIN适用于LIN 2.0和LIN 1.x. ?Kvaser Linx J1587适用于 SAE J1587/1708. ?Kvaser Linx K-line适用于ISO 9141. ?Kvaser Linx SWC适用于SAE J2411, GMLAN. ?Kvaser Linx LS适用于ISO 11898-3 (故障容忍CAN). ?Kvaser Linx Analog I/O适用于从0到24伏的输入电压. 一般特点 ?塑模造的9针DSUB母连接器带大拇指螺钉 ?塑模造的9针DSUB公连接器 ?紧凑的塑料外壳 ?适用于Kvaser的高速CAN接口 ?特别适合于 Kvaser Memorator Professional, Kvaser USBcan Professional 产品版本 ?Kvaser Linx J1587 (Schedule for Item no. 00389-7) ?Kvaser Linx LIN (Schedule for Q1, 2007) ?Kvaser Linx K-line (Schedule for Q1, 2007) ?Kvaser Linx SWC (Schedule for Q1, 2007) Kvaser Linx LS (Schedule for Q1, 2007)

CAN总线实例介绍

CAN总线读书笔记 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准。CAN总线解决方案为嵌入式设计提供通信与连接,使其进入崭新阶段。CAN串行总线协议是一款高速可靠的通信协议,创建最初用于汽车应用,如今已广泛用于需要达到1 Mbps比特率的稳健通信应用。在产品设计中集成CAN协议将是在恶劣电气环境下实现高度实时通信功能的低成本的可靠途径。 CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。近年来广泛应用于汽车控制系统和工业控制系统领域。下面我们可以看到CAN-BUS总线技术应用的具体案例。 案例1:电动汽车充电站换电站充电桩CAN总线管理系统方案背景介绍:电动汽车充电站是电动汽车发展和普及的重要基础支撑系统,也是电动汽车商业化、产业化过程中的重要环节。 现在通常的通电方式有3类,适用于不同的应用场合。充电站通常主要提供快速充电服务,辅以用于慢速充电的充电桩;充电桩则只能提供慢速充电;换电站则提供为电动汽车更换电池的服务。 而这三类的充电方式都会同样使用到计算机作为管理核心,并且通过以太网来连接站内的各个功能部分,如计费和打印等计算机和系统。所以以太网是作为管理网络存在于系统当中。对于直接的充电的指示和监控则是由可靠性和实时性更好的CAN总线来管理的,所以BMS和充电桩都是CAN接口的。

基于CAN总线的汽车测试解决方案

基于CAN总线的汽车测试解决方案 于CAN总线的汽车测试解决方案一、前言 随着中国汽车市场的快速发展和汽车电子的价值含量迅速提高,针对汽车电子的测试技术也变的日益复杂,在全球化的汽车设计和生产的趋势下,中国本地的工程师越来越感觉到汽车电子测试所面临的种种困难,其中主要包括:(一)无法满足产品线不断更新的需求,并希望减少产品投放市场的周期。 1.汽车电子产品的日益更新,要求测试系统以最快的速度满足新的需求。而目前国外引进的专用测试系统往往升级周期较长,无法满足本地瞬息万变的产品测试需求。图1:基于PXI TestStand平台的测试系统 2.专业汽车电子厂商往往生产多个不同型号的同类产品,并根据订单、物流的条件,其生产计划经常发生变化。如果不同型号的产品都采用不同的测试设备,将会导致测试设备重复利用率过低,大大降低投资效率。 (二)目前汽车电子测试缺乏通用仪器的解决方案,如汽车音响及仪表盘的测试往往需要专门定制的仪器,而且这些仪器价格非常昂贵。 (三)本地的售后服务和及时的故障响应。测试生产线上一切以生产线的持续运行为最高目标,当中国工程师不能掌握

全面的故障诊断和维修技术时,就只能向国外的工程师求助,这样容易导致响应速度慢,且代价昂贵。 (四)复杂的汽车测试系统常常需要多种测量和控制任务的协同工作,一个用于集成的软硬件同步平台就显得尤为的重要。 二、支持CAN协议的柔性测试设备 20世纪80年代Bosch公司为解决汽车系统中各个电子单元之间的通信问题开发了CAN总线标准。这种串行总线用2 根或1根电线把汽车里的各个电子设备连接起来,相互可以传递信息。采用CAN总线避免了电子模块间大量繁复的连线,比如仪表板上车速、发动机转速、油量和发动机温度的指示就不需要连接不同的线缆到对应的传感器,而只需要接入CAN总线,就可以从总线上获取相应信息。CAN的卓越表现使汽车制造商们纷纷开发并使用基于CAN和数据采集 设备的测试系统。国际标准组织将CAN总线接纳为ISO 11898标准。NI公司在其标准虚拟仪器测试平台上推出CAN 控制器系列,支持多种CAN总线的协议,其中包括高速CAN、低速容错CAN和单线CAN。尤其是新推出的PXI-8464软 件可选类型的CAN控制器,可以让你不用更改硬件连接, 就适应各种CAN通信协议,同时既可以作为总线控制器, 又可以作总线通信分析仪,使得测试设备可以在最大程度上适应柔性生产。

CAN总线学习心得--重要

CAN总线学习心得--重要 SJ A1 0 0 0 的常用标准波特率设置,为什么基本上都是单次采样?即使是低速的时候也是这样的,既然T SEG1 的设置周期都很大,比如都大于1 0 了,为什么不让他采样三次呢?答:是不好理解,但那是Ci A 推荐的值。用5 1 系列芯片和两个SJ A1 0 0 0 接口还要外扩一个RAM,请问5 1 的AL E 能否同时与三个芯片的AL E 管脚相连( 地址不同) 有哪位高手做过双SJ A1 0 0 0 冗余的请指教!答:能同时连接。请问CAN 总线在想传输1 0 0 0 m 的情况下, 最快的速度能到多少呢?答: 5 0 k b p s = 1 3 0 0 m。如果一个网络中只有 2 个节点, 其中一个处于监听模式,另一个节点发送报文会使处于监听模式的节点进入中断吗?答:能进入接收中断,你自己的试验也可以证明。想组建一个简单的CAN 网络, 已经有两个节点, 我想问CAN 总线如何组建, 终端电阻安装在哪里?小弟还没有入门, 大虾们指点一下。答1 :直接将节点CANH 和CANL 连到总线上,终端电阻接在总线两端,大约1 2 0 欧。答2 :推荐北航出版《现场总线CAN 原理与应用技术》,研读一下。请问各位老师:我是一名c a n 总线的新手,我正在做c a n 总线的开发,控制器用s j a 1 0 0 0 t ( 我自己两个控制板互通) , 但我在发送数据后将出现总线关闭,我看到发送错误计数器在不断增加,直到0 x f f 最后恢复到0 x 7 f , 谢谢各位老师帮我解答这个问题。或者对我给与启发答1 ;首先调通单个节点。答2 :这是单节点发送没有成功( 或者由于网络中其他节点没有收到帧并在响应场响应) 建议参考网站CAN 应用方案。我想请教各位c a n 远程贞有何作用?如何应用?在什么情况下才需要用到远程贞?谢谢了!答:远程帧的用与不用完全取决你自己的协议,c a n 有远程帧的功能,是可用可不用的!用网站提供的计算波特率的工具算出的数,1 2 k 以上的都正确,无论是自接收还是两个节点通讯都没有任何问题。但是1 2 k 以下的数据一个都不能用,两个节点通讯没有成功的,自接收有1 0 k 的几个数据成功。我们的项目要求必须在1 0 k 以下,最好是5 k ,但是不成功,自己计算的数据也没有成功的。(我们至少试验了3 0 多个,所有情况都考虑了。)我现在怀疑s j a 1 0 0 0 的波特率根本达不到5 k 和相对应的传输1 0 k m。或者可以谁能提供个经过实践检验的正确的总线定时器0 和1 的设置呢?要求低于1 0 k 。答:PCA8 2 C2 5 0 / 2 5 1 可以保证5 KBPS 的速率;比如Z L GCAN 系列接口卡。答:t j a 1 0 5 0 在低速时好像有问题。我用1 0 5 0 进行5 k 的时候不行,用8 2 c 2 5 0 很好,你可以试一试。我本想双机调试,一边收,一边发,但跑程序后,发送方会不断进入复位模式,所以现在进行自测试模式,我先进入复位模式,设置进入PEL I CAN 模式,对寄存器初始化后,设置接收,发送中断使能,最后设置进入自接收,单滤波模式,这样初始化就结束了,我的ACR0 ~ ACR3 为0 x 5 5 , 0 x 5 5 , 0 x 5 5 0 x 5 0 , AMR0 ~ AMR3 为0 x f f , 之后,我就往BUF F ER 里填数,0 x 8 8 , 0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x 5 0 , 0 x 3 0 , 0 x 3 1 , .0 x 3 7 , 之后,启动自接收请求命令,但是程序只进入了中断一次,是发送空中断,接收中断没有产生,我读发送错误寄存器,发现有错误产生,我读接收计数寄存器,为0 ,说明我没有收到数,但我读接收BUF F ER 时,值为0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 , 0 , 0 , 0 , 0 , 以上测试时,我在CANH 和CANL 之间加入了两个1 2 0 欧的匹配电阻并联在一起的,请各位高手指点呀,谢谢了答:在总线上加个CAN 接口卡会方便许多,或者加个捕获功能的示波器也可以检测波形。仿真环境:k e i l u v 2 编译器:k e i l c 5 1 7 . 0 仿真器:t k s - 5 9 1 s c p u : p 8 7 c 5 9 1 程序大小:8 K 左右兄弟在一片CPU 中烧写了一个,运行一个CAN 总线,I I C 总线测试程序能够正常运行。这个基础上加上应用程序后在仿真机中运行正常,但是烧写到c p u 后插入c p u 程序不能运行,请问是什么原因?另外一个问题:在另外一个项目中条件相同,程序只有4 K, 程序正常跑着,CAN 接口可以检测到输出波形但是却不能正确传输数据,在一块旧板子上就可以,比较两者之后发现电路完全相同测量也正常,只是布局不同,请教原因。答:程序已运行了吧?可能是HEX 文件有错;编制程序时注意P8 7 C5 9 1 的ERAM 设置、6 CL K 设置。位流数据采样自发送节点的8 2 c 2 5 0 的T x 管脚。测试条件:p e l i c a n ,扩展,双滤波模式,对方I D:0 x 8 8 , 0 x 1 1 , 0 x 5 5 , 0 x 1 0 ,发送的对方I D 为:0 x 8 8 , 0 x 1 1 , 0 x 0 0 , 0 x 0 0 ,发送2 字节数据为:0 x 0 5 , 0 x 0 6 采集的位流数据如下:0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 请教位流数据的含义?答:自行计算时要区分位,还需要进行“位填充”的逆运行;简单的方法是将此信号连接

(完整版)CAN总线解析

一、概述 CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。 想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel)CAN 有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到1Mbps,通信距离最远到10KM,无损位仲裁机制,多主结构。 近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。现在每一辆汽车上都装有CAN总线。 一个典型的CAN应用场景: 二、CAN总线标准 CAN总线标准只规定了物理层和数据链路层,需要用户来自定义应用层。不同的CAN标准仅物理层不同。

CAN收发器负责逻辑电平和物理信号之间的转换,将逻辑信号转换成物理信号(差分电平)或者将物理信号转换成逻辑电平。 CAN标准有两个,即IOS11898和IOS11519,两者差分电平特性不同。(有信号时,CANH 3.5V,CANL 1.5V,即显性;没有信号时,CANH 2.5V,CANL 2.5V,即隐性) IOS11898高速CAN电平中,高低电平的幅度低,对应的传输速度快。 双绞线共模消除干扰,是因为电平同时变化,电压差不变。 2.1物理层 CAN有三种接口器件

多个节点连接,只要有一个为低电平,总线就为低电平,只有所有的节点都输出高电平时,才为高电平。所谓“线与”。 CAN总线有5个连续性相同的位后,就会插入一个相反位,产生跳变沿,用于同步。从而消除累计误差。 和485、232一样,CAN的传输速度与距离成反比。 CAN总线终端电阻的接法:

特点:低速CAN在CANH和CANL上串入2.2kΩ的电阻;高速CAN在CANH和CANL 之间并入120Ω电阻。为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。(因为大多数双绞线电缆特性阻抗大约在100~120Ω。) 120欧姆只是为了保证阻抗完整性,消除回波反射,提升通信可靠性的,因此,其只需要在总线最远的两端接上120欧姆电阻即可,而中间节点并不需要接(接了反而有可能会引起问题)。因此各位在使用CAN Omega做CAN总线侦听的时候,大多数情况下是不需要这个120欧姆电阻的,当然,即使当前网络中并没有终端匹配电阻,只要传输线长度不长(比如SysCan360比赛环境中,传输线只有1-2米)CAN节点数量不多的情况下,不要这个120欧姆电阻也完全可以工作,甚至,你接任意电阻都是不会有影响的。因为此时传输线长度和波长还相差甚远,节点不多的情况下,反射波的叠加信号强度也不会很强,因此传输线效应完全可以忽略。 而哪些情况需要呢,主要就是,当使用2个CAN Omega对发或者当前网络中仅有2个CAN设备的时候,此时两个端点最好都加上终端匹配电阻,当然,前面也说过了,传输线长度不长的时候,也可以不需要2端120欧姆电阻,但为了信号完整性考虑,加上这两个电阻才是严谨的。 2个120欧姆电阻的意义在于,使用USB CAN调试某些不带终端电阻的中间节点设备时,有时候CAN总线上没有2个120欧姆电阻通信可能会异常,此时可以接入2个120欧姆电阻作为2个终端电阻来作阻抗匹配,这时候其他端点不应接入任何终端电阻!并且,这2个120欧姆电阻不可用1个60欧姆电阻代替!

CAN总线最全应用

幻灯片1 幻灯片2 第4讲 CAN 数据总线(CAN BUS) 幻灯片3 幻灯片4 CAN通信技术概述 CAN ( Controller Area Network ) 即控制器局域网络。由于其高性能、高可靠性、及独特的设计,CAN越来越受到人们的重视。国外已有许多大公司的产品采用了这一技术。 CAN最初是由德国的BOSCH公司为汽车监测、控制系统而设计的。现代汽车越来越多地采用电子装置控制,如发动机的定时、注油控制,加速、刹车控制(ASC)及复杂的抗锁定刹车系统(ABS)等。由于这些控制需检测及交换大量数据,采用硬接信号线的方式不但烦琐、昂贵,而且难以解决问题,采用CAN总线上述问题便得到很好地解决。 幻灯片5 1993年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。 CAN的规范从CAN 1.2 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。 幻灯片6 CAN总线特点 CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。 CAN总线特点如下: (1)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。 (2)网络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求。 (3)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。 幻灯片7 (4)可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据。 (5)直接通信距离最远可达10km(速率5Kbps以下)。 (6)通信速率最高可达1MB/s(此时距离最长40m)。

CAN总线应用

设计(论文)题目:基于CAN总线的楼宇温度检测系统 前言 基于单片机实现传统温度检测技术的特点,提出了基于CAN总线的楼宇温度检测系统方案。该系统方案的硬件平台主要包括温度检测模块和主控平台,并详细介绍了其硬件实现、软件设计思想及流程。实验表明:该系统可实现对楼宇温度的实时检测,并由数码管显示检测结果,对异常情况进行处理,从而实现对楼宇房间温度的有效检测。 在传统的检测技术中,温度检测基本采用单片机系统为主,且大多数都针对工业需要,日常生活中的应用并不多;而通信多基于落后的485总线,不能进行远距离的实时数据传输,更不能与因特网相连,可靠性也不高。因此,本文提出一种基于CAN总线的温度测控技术,该技术适合远距离控制与传输,具有非常高的可靠性。 控制器局域网(Controller Area Network,CAN)是国际上应用最广泛的现场总线之一。CAN总线最早出现在20世纪80年代末的汽车工业中,由德国BOSCH公司最先提出,其主要特性为低成本,且总线利用率高。CAN采用串行通信方式工作,所提供的最高数据传输速率为1Mbit/s,最大通信距离为10km。CAN还具有可靠的错误处理和检错机制,极强的错误检测能力,发送信息遭到破坏后可自动重发;可在高噪声的干扰环境中只用,能够检测出产生的任何错误,当数据的传输距离达到10km时,CAN仍能提供5kbit/s的数据传输速率。 正是基于CAN总线的上述优点,目前CAN总线在众多领域被广泛应用,其应用范围不再局限于原先的汽车行业,而向过程工业、机械工业、纺织工业、数控机床、医疗器械及传感器等领域发展,CAN总线已经形成国际标准,并已被公认为是几种最有前途的现场总线之一。 考虑到CAN总线的高可靠性和远距离传输优点,结合目前温度检测技术的技术瓶颈,即距离短和实时性差的特点,本系统CAN总线应用于传统的温度检测中,也是一种新的尝试。

STM32的can总线实验心得要点

STM32的can总线实验心得 (一) 工业现场总线 CAN 的基本介绍以及 STM32 的 CAN 模块简介 首先通读手册中关于CAN的文档,必须精读。 STM32F10xxx 参考手册Rev7V3.pdf https://www.sodocs.net/doc/155155227.html,/bbs/redirect.php?tid=255&goto=lastpost#lastpos t 需要精读的部分为 RCC 和 CAN 两个章节。 为什么需要精读 RCC 呢?因为我们将学习 CAN 的波特率的设置,将要使用到RCC 部分的设置,因此推荐大家先复习下这部分中的几个时钟。 关于 STM32 的 can 总线简单介绍 bxCAN 是基本扩展 CAN (Basic Extended CAN) 的缩写,它支持 CAN 协议 2.0A 和 2.0B 。它的设计目标是,以最小的 CPU 负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。 对于安全紧要的应用,bxCAN 提供所有支持时间触发通信模式所需的硬件功能。 主要特点 · 支持 CAN 协议 2.0A 和 2.0B 主动模式 · 波特率最高可达 1 兆位 / 秒 · 支持时间触发通信功能 发送 · 3 个发送邮箱 · 发送报文的优先级特性可软件配置 · 记录发送 SOF 时刻的时间戳 接收 · 3 级深度的2个接收 FIFO · 14 个位宽可变的过滤器组-由整个 CAN 共享 · 标识符列表 · FIFO 溢出处理方式可配置 · 记录接收 SOF 时刻的时间戳 可支持时间触发通信模式 · 禁止自动重传模式 · 16 位自由运行定时器 · 定时器分辨率可配置 · 可在最后 2 个数据字节发送时间戳 管理 · 中断可屏蔽

CAN 总线通信原理分析

CAN总线通信原理分析 CAN(Controller Area Network)总线,即控制器局域网总线,在工业控制、医疗电子、家用电器及传感器领域都得到了广泛的应用。目前国内外文献中针对CAN总线协议分析的文章主要是针对CAN协议的帧结构以或位时序特性进行分析,如文献鲜有从通信的角度对CAN总线协议进行分析,鲜有从工程应用的角度出发,对CAN总线的通信机制进行深入分 析的文章。 1 CAN应用特性及结构构成 CAN总线协议具有两个国际标准,分别是ISO11898和ISO11519。其中,IS011898是通信速率为125 kbps~1Mbps的高速CAN通信标准,属于闭环总线,总线最大长度为40 m/1Mbps。ISO11519定义了通信速率为10~125kbps的低速CAN通信标准,属于开环总线,最大长度为1 km/40kbps。由于电气特性限制,即总线分布电容和分布电阻对总线波形的影响,CAN总线上最大节点数目为110个。对于应用工程师,只需正确配置收发端 的波特率和位参数即可实现收发节点的数据同步。通过CAN控制器硬件对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。同时,由于CAN报文采用短帧结构,并且每帧均包含CRC校验部分,保证了数据出错率极低。CAN总线在工 程应用中结构构成如图1所示。 系统实现中的CAN应用层、操作系统(在无操作系统的应用中以后台程序实现)及驱动程序共同实现了ISO参考模型中的应用层功能。其中,CAN应用层定义ID分组、发送数据装包、接收数据处理以及应用层总线安全监测;操作系统/后台程序用于在CAN中断到达后调度CAN驱动程序对数据进行处理;驱动程序包括初始化(控制器工作状态设置、波特率设置、验收滤波器配置)、收发驱动及异常处理程序。 对于传输介质层,需要根据环境干扰噪声、总线长度等来确定。在强干扰噪声的情况下必须采用屏蔽线;由于分布电容造成的总线波形失真及分布电阻造成的总线电平的衰减,总线长度需要考虑采用的传输介质的分布电阻和分布电容特性;同时,若采用高速总线还需通过实验确定总线的匹配电阻值。 对于CAN驱动层和应用层,驱动程序包括CAN初始化(包括硬件使能、波特率设置、控制器工作模式设置及验收滤波器ID表配置)、收/发驱动并向上层提供接口函数,其中需要说明的是验收滤波器的ID表配置需要根据应用层对系统ID的分组来进行;CAN应用层 根据总线上各节点之间的数据收发关系进行数据包的ID分组、发送数据装包、接收数据处

CAN宝马车系CAN总线信号的检测

宝马车系CAN总线信号的检测 CAN总线信号检测 此说明用于检查总线连接上的CAN高速和CAN低速信号电平是否正确。 使用的电缆。 多功能检测导线 检测提示 ◇电压检测(示波器):电压检测的前提条件是,蓄电池已连接并且点火开关已接通 ◇电阻测量:在电阻测量时,在测量前必须把待A部件断电,为此应断开车辆蓄电池的接线,等待约3 min,直到系统中的所有电容器放完电 关于CAN总线的信息 CAN(控制器区域网络)总线系统是一种线形总线系统并具有以下特征: ◇信号双向传播 ◇所有总线用户都接收同一个信息,每个一弥线用户决定,它是杏利用该信息 ◇通过简单并联即可添加附加的总线用户 ◇此总线系统构成一个多主控单元系统,每个总线用户可以是主控单元也可以是副控制单元,根据其作为发射器还是接收器被连接而定

◇传输媒介是双线连接,导线的名称为:CANLow(低速)和CANHigh(高速) ◇廊仕每个总线用户可以通过总线同所有其他总用户通信,通过干预法,控制总线上的数据交换,数据总线K-CAN(车身CAN)、PT-CAN(传动系CAN)和F-CAN(底盘CAN)之间的主要区别是: (1)K-CAN:数据传输率约l00kBit/s,可以进行单线运行。(2)PT-CAN:数据传输率约500kBit/s,不能进行单线运行。 (3)F-CAN:数据传输率约500kBits/s,不能单线运行。 主控单元:主控单元是主动式通信方,、通信的主动权由它发出。主控制单元掌控总线,并控制通信。主控制单元能够在总线系统中向被动式总线用户(副控制单元)发送信息,并根据被动式用户的要求接收信息。 副控制单元:副控制单元是一个被动式通信用户,副控制单元被要求接收和发送数据。 多主控单元系统:在一个多主控单元系统中所有的通信用户在某个时间都能够担当主控单元或副控制单元的角色。 示波器测量 K-CAN;PT-CAN、F-CAN 为了弄清CAN总线是否完好工作,必须观察总线上的通信情况。在这种情况下不需要分析单个位,而只需要观察CAN总线是否工作。示波器测量说明:“CAN总线很可能无故障工作”。

CAN总线技术讲解

摘要: 随着工业测控技术和生产自动化技术的不断进步,传统的RS-232、RS-485和CCITTV.24通信技术已不能适应现代化的工业控制需要,而现场总线(Fieldbus)以其低廉的价格、可靠的性能而逐步成为新型的工业测控领域的通信技术。现场总线是应用在生产现场,在微机化测量控制设备之间实现双向串行多节点数字通信的系统,是一种开放式、数字化、多点通信的底层控制网络。汇集了计算机技术、网络通信技术和自动控制技术(3C)的现场总线技术,从20世纪80年代开始发展起来,并逐步在制造业、流程工业、交通、楼宇等方面的自动化系统中得到了广泛的重视和应用。现场总线主要有以下几种类型[1-3]:基金会现场总线(FF)、LonWorks、ProfiBus、CAN、HART,而其中CAN即控制器局域网因为具有高性能、高可靠性以及独特的设计而越来越受到关注,现已形成国际标准,被公认为几种最有前途的现场总线之一。 Abstract: As industrial measurement and control technology and production automation technology advances, the traditional RS - 232, RS - 485 and CCITTV. 24 communication technology can not meet the needs of modern industrial control, and field bus (Fieldbus), with its low price, reliable performance, and gradually become a new kind of communication technology in the field of industrial measurement and control. Field bus is used in production field, between microcomputer-based measuring control equipment to realize the bidirectional serial multi-node digital communication system, is a kind of open, digital, multipoint communication bottom control network. Brings together computer technology, network communication technology and automatic control technology (3 c) field bus technology, developed in the 1980 s, and gradually in the manufacturing and process industries, transportation, building automation system has been widely attention and application. Fieldbus basically has the following several types: [1-3] foundation fieldbus (FF), LonWorks, ProfiBus, CAN, HART, and which CAN namely controller local area network (LAN) because of the high performance, high reliability and unique design is more and more attention, already formed the international standard, is recognized as one of the most promising fieldbus.

相关主题