关于CAN总线的9条特点的问题。

关于CAN总线的9条特点的问题。,第1张

1、低成本;
现在用一个控制器和收发器就够了。在相对复杂的远距离网络中性价比比较高。
可靠性也是降低后期成本的主要原因。
2、极高的总线利用率;
有完善的仲裁机制。而且可以使用硬件自动完成仲裁。所以,在负载比较大的网络中比较适用,不容易出现因为拥堵导致的通信错误和总线瘫痪。
3、很远的数据传输距离(长达10Km);
距离就看收发器的能力了。而且can协议是不限制传输介质的,也就是说使用光缆可以绕地球一圈,勒死4亿多人。
4、高速的数据传输速率(高达1Mbit/s);
can通常使用独立的硬件,或者使用硬件内独立的功能模块所以不会占用更多系统资源,而且校验机制比较完善。所以可以使用较高的波特率。
不过这些优点都是在特定的条件下才成立的。比如一个小网络,安全要求又很低。那么can的成本反而很高。
说白了,这些特点是吓逼扯的。
擦,答完才发现一分没给。真扣。

can总线工作原理如下。
CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。
当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
CAN总线的特点:1、具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点
2、采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
3、具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络;
4、可根据报文的ID决定接收或屏蔽该报文;
5、可靠的错误处理和检错机制;
6、发送的信息遭到破坏后,可自动重发;
7、节点在错误严重的情况下具有自动退出总线的功能;
8、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

问题一。假设A点为接收方,如果我设置了ID滤波,那么不是所有的ID都能接收,只有符合我的需要的ID才能接收,那不就相当ID连带了目标MAC,而却每个节点ID都是不一样的,根据ID值你就能知道是哪个节点发送过来的数据了。这与接受数据时需要仲裁并不矛盾啊。
问题四很简单解决。在B节点你设置报文滤波就行了。屏蔽掉C节点的ID,这样就算C节点发送报文。B也不会接受的

摘要:控制器局域网(CAN)是一种有效支持分布式控制或实时控制的现场总线,具有高性能和高可靠性的特点;随着现代汽车技术的发展,CAN技术在汽车电子领域应用日益广泛。文章介绍了符合CAN20B协议汽车CAN系统设计方案,着重讨论了以微处理器P89C668为核心的CAN总线智能节点的软硬件实现,推荐一款MOTOROLA的多路开关检测芯片MC33993,并且涉及到 ,SPI以及在系统编程等技术。
关键词:现场总线,CAN,汽车电子,MC33993, ,SPI
1 汽车电子与CAN总线
随着汽车电子技术的不断发展,汽车上各种电子控制单元的数目不断增加,连接导线显著增加,因而提高控制单元间通讯可靠性和降低导线成本已成为迫切需要解决的问题。为此以研发和生产汽车电子产品著称的德国BOSCH公司开发了CAN总线协议,并使其成为国际标准(ISO11898)。1989年,Intel公司率先开发出CAN总线协议控制器芯片,到目前为止,世界上已经拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微处理器芯片。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。我国的汽车CAN总线技术起步较晚,但随着现代汽车电子的不断进步发展,其研究和应用正如火如荼的进行中。CAN总线是一种串行多主站控制器局域网总线,是一种有效支持分布式控制或实时控制的串性通讯网络。CAN总线的通信介质可以是双绞线,同轴电缆或光导纤维,通信速率可达1Mbps/40m,通信距离可达10km/40Kbps。由于其通信速率高,可靠性好以及价格低廉等特点,使其特别适合中小规模的工业过程监控设备的互连和交通运载工具电气系统中。CAN总线有如下基本特点:
◎ 废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作;
◎ 采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突;
◎ 采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短;
◎ 每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用;
◎ 节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他 *** 作不受影响;
◎ 可以点对点,一对多及广播集中方式传送和接受数据。
图1 汽车CAN总线系统架构
现代汽车典型的控制单元有电控燃油喷射系统,电控传动系统,防抱死制动系统(ABS),防滑控制系统(ASR),废气再循环系统,巡航系统和空调系统,车身电子控制系统(包括照明指示和车窗,刮雨器等)。完善的汽车CAN总线网络系统架构如图1所示。
2 CAN节点硬件构架
核心芯片:
选用PHILIPS公司的高性能8位微处理器P89C668。其突出特点如下:
◎ 80C51 中央处理单元;
◎ 内置可ISP(在系统编程)和IAP(在应用编程)的Flash 存储器,Boot ROM 可通过串口访问从而升级下载用户程序;
◎ 每个机器周期6 个时钟周期 *** 作标准,每个机器周期12 个时钟周期 *** 作可选,周期12 个时钟周期下速度高达33MHz;
◎ 8K字节RAM和64K字节FLASH;
◎ 4 个中断优先级,8 个中断源;
◎ 自带 串行接口序列;
◎ 5路可编程的计数器阵列PCA(PWM输出,捕捉/比较,高速输出三种工作方式)。
无论从处理能力,存储容量,还是外围资源以及网络可扩展性方面来评价,P89C668都是一款出色的微处理器,适用工控电子等各个领域。尤其是其8K字节RAM的"海量"内存,更是许多高速存储应用场合的首选。
CAN接口电路:
采用技术成熟应用广泛的SJA1000(CAN控制器),6N137(光电隔离),P82C250(CAN收发器)组成接口电路。需要指出的是,CAN总线(CANH,CANL)两端务必跨接120欧的终端电阻。SJA1000中断引脚接CPU的外中断0引脚。
在应用/系统编程电路:
IAP/ISP技术在许多款高性能单片机得到应用,其突出特点是方便快捷的实现程序的下载和更新。P89C668的FLASH空间0XFC00~0XFFFF烧写入1K字节的Boot Rom程序,上电后可以通过软件和硬件置位方法进入Boot Rom程序,通过PHILIPS提供的编程软件由串行口通讯就可以实现程序的在线升级(ISP)。当然用户还可以根据需要依据协议,自己编写Boot Rom程序(IAP)。通过拨码开关硬件置位(ALE, , ,P26,P27),上电后强制进入Boot Rom程序,烧写程序完毕后拨回原来状态重新上电后就进入用户程序。串行口电平转换芯片用MAX202替代MAX232,其匹配电容只需103瓷片电容。串行数据通讯波特率可达38400bps。
晶振和复位电路:
外接一块工业级的12M振荡芯片作为时钟信号。复位电路采用X25045芯片进行智能控制。X25045芯片将看门狗定时器,电源监控电路和E2PROM功能合三为一。看门狗定时器功能在系统出错期间,经过一个可设置的时间间隔就置位RESET信号。电源监控电路能检测到欠电压状况,在VCC下降到限阀值以下,系统被复位。并且RESET信号在VCC恢复且稳定之前一直有效。存储器功能的X25405是CMOS的4096字的E2PROM并且支持SPI协议的三线(SO,SI,SCLK)存取。本节点用到X25405的前两个功能构成可靠的复位电路。
开关/数字量,模拟量检测电路:
汽车节点的开关器件(信号灯,雨刮,面板,车窗玻璃,电动后视镜等等的开关)特别复杂和繁多,而电流检测,水温油位传感器信号都是非线性的模拟信号,所以可靠实时地对这些开关/模拟量进行检测成为汽车电子硬件必须解决的问题。传统的分立元件保持电路存在可靠性差,尤其是开关触点氧化严重,浪费大量的微处理器I/O口等问题,推荐采用MOTOROLA公司的多路开关检测芯片MC33993。其突出优点如下:
◎ 33/50V的SPI序列读写(SO,SI,SCLK);
◎ 8路可编程开关输入检测(接地或接电源),14路接地开关输入检测,每路开关状态改变均能够产生中断;
◎ 开关输入电压从-14V~Vpwr(工作电源),Vpwr最大可达40V;
◎ 开关状态改变时的可选择唤醒;
◎ 可选择的湿性电流(16mA或2mA);
◎ 22对1的模拟量输出;
◎ Vpwr的低功耗电流(standby current)小于100uA,VDD的低功耗电流(standby current)小于10uA。
可见只需要四个CPU口线(SPI序列线和片选),就能够完成22路开关量(其中有8路可编程为对接电源开关)的检测,还可以进行串行和并行的多片MC33993级连。所谓的湿性电流(wetting current),指的是MC33993内部提供的输入口的上拉和下拉恒流源,可以编程选择为16mA或2mA,这对于保证开关的可靠闭合,去除金属触点的氧化物有着良好的作用。输入口的恒流源,可以直接驱动MOSFET以及LED。每一个输入口都可以编程为模拟量输出状态,从而在AMUX引脚输出所选输入口的电压。利用MC33993恒流源和模拟量输出可以组成线性的传感器检测电路。ADC芯片选用AD公司生产的并行数据采样集成芯片AD1674。它从引脚到功能都与AD574/674完全兼容,但内部增加了采样/保持电路,采样频率为100kHZ,并且有全控模式和单一工作模式。其采样精度可达005%,符合高速数据采集的要求。
功率器件驱动电路:
汽车车身控制系统需要驱动大功率的用电器件,比如照明信号灯,前后雨刮器电机,电动车窗,电动后视镜等等。功率驱动器件考虑采用MOTOROLA公司的汽车专用功率器件。MC33286为汽车电气专用智能的双路控制驱动芯片,与传统的机械继电器相比,自身提供过流和过热保护,响应时间更短,稳定性更高。MC33286设有两路驱动通道,每路最大工作电流可达15A,通过两路输入端口将CPU引脚电平信号引入,经过内部的逻辑处理模块转换成输出通道的电平变化。特别适合信号灯以及阻性负载的驱动。MC33887是带反馈的H桥型驱动芯片,专用来驱动需要正反转的电机负载。MC33486与MC33887类似,但内部只有半桥须外加CMOS管以构成全桥驱动电路,稳定输出可达10 A,尤其适用于电动车窗电机之类的大功率并伴有冲击电流的正反相控制要求。
3 软件结构
系统的程序结构分为四个部分:CAN通讯程序(包括应用层协议的SJA1000通讯),外围接口程序(所有检测芯片和驱动芯片的驱动),中断服务程序(处理开关信号以及故障报警等消息),主程序(完成系统初始化和任务调度,喂狗等)。限于篇幅,以下着重介绍 CAN应用层协议。
本系统CAN通讯选用CAN20B协议的PeliCAN模式,通信位速率为500Kbps,采用双验收滤波器机制。为使用及修改方便,通讯协议中标识码设计兼容点对点、一对多及广播通讯模式。开关量消息通讯时各节点间采用主从结构,子节点的报文只有主节点接收(点对点模式),主节点的报文所有子节点均接收(广播模式)。模拟量消息通讯时各节点间采用点对点模式。
标识符定义:(如图3所示)
◎ 类名:00000100--应答类消息(自检应答、故障诊断);00001000--命令类消息;00010000--调试类消息;00100000--下载类消息;01000000--工作类消息。
◎ 保留A:验收滤波器配置预留。
应答类消息中:ID19:1--自检应答消息 0--故障诊断出错消息
ID20:验收滤波器配置预留
工作类消息中:ID19:1--开关量消息 0--模拟量消息
ID20:验收滤波器配置预留
◎ 目的地址:接收报文节点的地址。
◎ 源地址:发送报文节点的地址,用于系统自检。
图3 标识符定义
4 结束语
CAN总线以其高性能,高可靠性及独特的设计,受到工业控制领域和汽车电子领域的广泛重视,已被公认为最有前途的现场总线之一。我们深信不久的将来,国产的CAN总线汽车必将诞生。

控制器局域网CAN-BUS 1,CAN-BUS的起源

控制器局域网(controllerareanetwork 简称CAN)最初是德国Bosch公司于1983年为汽车应用而开发的,一种能有效支持分布式控制和实时控制的串行通讯网络,属于现场总线(FieldBus)的范畴。1993年11月,ISO正式颁布了控制器局域网CAN国际标准(ISO11898),为控制器局域网标准化、规范化推广铺平了道路。目前它已经成为国际上应用最广泛的开放式现场总线之一。

2,CAN-BUS的原理

CAN(Controller Area Network)即控制器局域网络。是应用在现场、在微机化测量设备之间实现双向串行多节点数字通讯系统,是一种开放式、数字化、多点通信的底层控制网络。 CAN协议建立在ISO/OSI模型之上,其模型结构有三层。协议分为Can20A, CAN20B,CANopen几种。

CAN-BUS即CAN总线技术,全称为“控制器局域网总线技术(ControllerAreaNetwork-BUS)”。CAN总线的通讯介质可采用双绞线,同轴电缆和光导纤维。通讯距离与波持率有关,最大通讯距离可达10km,最大通讯波持率可达1Mdps。CAN总线仲裁采用11位标识和非破坏性位仲裁总线结构机制,可以确定数据块的优先级,保证在网络节点冲突时最高优先级节点不需要冲突等待。CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的片已经商品化,性价比高,特别适用于分布式测控系统之间的数据通讯。

3,CAN-BUS的发展

Can-Bus总线技术最早被用于飞机、坦克等武器电子系统的通讯联络上。将这种技术用于民用汽车最早起源于欧洲,在汽车上这种总线网络用于车上各种传感器数据的传递。

随着CAN-BUS的不断完善和发展,作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-BUS 不再仅仅局限于汽车电子领域,还被广泛应用到其它各个自动化控制系统中。在欧洲、美洲,亚洲CAN-bus总线技术在工程机械领域都已经普遍应用,国际上一些著名的工程机械大公司如CAT、VOLVO、利勃海尔等都在自己的产品上广泛采用CAN-bus总线技术,大大提高了整机的可靠性、可检测和可维修性,同时提高了智能化水平。在国内,CAN-bus总线控制系统也开始在汽车的控制系统中广泛应用,在工程机械行业(如自动控制、智能大厦、电力系统、安防监控等领域)中也正在逐步推广应用。

4,CAN-BUS的应用

目前CAN-BUS总线在车上的应用越来越普及,不仅仅局限于高档车(比如波罗、宝来、帕萨特),中档车(如上海大众的途安)也越来越多的配备了CAN-BUS总线。

汽车上的CAN-BUS总线一般有三种:高速的动力驱动系统(速率可达到500kb/s以上)主要连接对象包括发动机ECU、ABSECU、SRSECU、组合仪表等;低速的CAN总线则用于车身舒适系统(速率100kb/s),连接对象有集控锁、电动门窗、 后视镜 、厢内照明灯等;另外可能还会有用于卫星导航的智能通讯系统。

通过遍布车身的传感器,汽车的各种行驶数据会被发送到“总线”上,这些数据不会指定唯一的接收者,凡是需要这些数据的接收端都可以从“总线”上读取需要的信息。Can总线的传输数据非常快,可以达到每秒传输32bytes有效数据,这样可以有效保证数据的实效性和准确性。传统的轿车在机舱和车身内需要埋设大量线束以传递传感器采集的信号,而Can-Bus总线技术的应用可以大量减少车体内线束的数量,综合了发动机、变速箱、安全气囊、组合仪表、ABS和舒适电脑诊断系统。通过控制器区域网络,使汽车的各个系统协调运作,信息共享,保证车辆行驶更安全、舒适和可靠。 控制器局域网CAN-BUS @2019


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13374562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存