CAN通信技术.ppt

上传人:本田雅阁 文档编号:2890530 上传时间:2019-06-02 格式:PPT 页数:60 大小:844.02KB
返回 下载 相关 举报
CAN通信技术.ppt_第1页
第1页 / 共60页
CAN通信技术.ppt_第2页
第2页 / 共60页
CAN通信技术.ppt_第3页
第3页 / 共60页
CAN通信技术.ppt_第4页
第4页 / 共60页
CAN通信技术.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《CAN通信技术.ppt》由会员分享,可在线阅读,更多相关《CAN通信技术.ppt(60页珍藏版)》请在三一文库上搜索。

1、工业数据通信与控制网络,阳宪惠 清华大学自动化系,第4讲 CAN通信技术,CAN简介,CANController Area Network是控制器局域网的简称 它是德国Bosch公司在1986年为解决现代汽车中众多测量控制部件之间的数据交换而开发的一种串行数据通信总线 现已被列入ISO国际标准ISO11898 最初为汽车测控数据通信而设计的CAN ,现已在多领域被广泛采用 航天、电力、石化、冶金、纺织、造纸、仓储等行业 火车、轮船、机器人、楼宇自控、医疗器械、数控机床、智能传感器、过程自动化仪表等,CAN的主要技术特点,CAN网络上的节点不分主从 任一节点均可在任意时刻主动地向网络上其他节点发

2、送信息,通信方式灵活 CAN采用非破坏性的总线仲裁技术 CAN网络上的节点具有不同的优先级, 当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而节省了总线冲突的仲裁时间。 可满足对实时性的不同要求 高优先级的数据可在134微秒内得到传输,通过报文滤波可实现点对点、一点对多点及全局广播等几种方式收发数据,无需专门的“调度” CAN的直接通信距离 最远可达10km(速率5kbps以下); 通信速率最高可达1Mbps(此时通信距离最长为40m)。 CAN总线上的节点数决定于总线驱动电路,一般为 可达110个; 报文标识符: CAN2.0

3、A为2032种 CAN2.0B扩展帧的报文标识符几乎不受限制 CAN为短帧结构,传输时间短,受干扰概率低,CAN节点具有良好的检错功能,出错率低 节点中均有错误检测、标定和自检能力。 具有发送自检、循环冗余校验、位填充、报文格式检查等。 CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。 CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。 CAN器件可被置于无任何内部活动的睡眠方式 相当于未连接到总线驱动器 可降低系统功耗 其睡眠状态可借助总线激活或者系统的内部条件被唤醒。,CAN通信技术,CAN的通信参考模型 CAN的通信模型的分层结构 数据链路层 包括

4、逻辑链路控制子层LLC LLC的主要功能是:为数据传送和远程数据请求提供服务,确认由LLC子层接收的报文实际已被接收,并为恢复管理和通知超载提供信息 媒体访问控制子层MAC MAC子层主要规定传输规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定 物理层 物理层规定了节点的全部电气特性,CAN节点的网络连接,CAN总线信号的显位与隐位,显位(0) VCANH: 3.5v VCANL 1 1.5v 隐位(1) VCANH 2.5v VCANL 2.5v 显位可改 写隐位,CAN通信帧的类型,4种不同类型的帧: 数据帧、远程帧、出错帧、超载帧 数据帧携带数据,由发送器传送至接收器 远程帧用

5、以请求总线上的相关单元发送具有相同标识符的数据帧 出错帧由检测出总线错误的单元发送 超载帧用于提供当前的和后续的数据帧的附加延迟,CAN的帧结构,数据帧由7个不同的位场(域)组成: 帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束 帧起始位(1个显位),表示标志帧的开始 中间有仲裁场、控制场、数据场、CRC场、应答场 帧结束(7个隐位) 数据场长度可为零,CAN数据帧的组成,CAN2.0A与CAN2.0B,CAN2.0A与CAN2.0B是1991年颁布的CAN技术规范的两个部分 CAN2.0A只有标准帧一种帧格式 CAN2.0B包括标准帧与扩展帧两种 标准帧与扩展帧的区别主要在仲裁场与

6、控制场 标准帧具有11位标识符 扩展帧具有29位标识符 标准帧的仲裁场由11位标识符和远程发送请求位RTR(Remote Transmission Request)组成 仲裁场的11位标识符从高位到低位顺序发送,最低位为ID.0,最高位为ID.10,其中的高7位(ID.10ID.3)不能全为隐位。 远程发送请求位(RTR)用于区分数据帧与远程帧 在数据帧中RTR位必须是显位 在远程帧中RTR位必须为隐位。,扩展帧仲裁场的组成 29位标识符位:ID.28至ID.0 远程请求替代位SRR (Substitute Remote Request): 设置SRR为保持扩展帧与标准帧的格式兼容 扩展帧中的

7、SRR为隐位 标识扩展位IDE (Identifier Extension): 标识扩展位IDE在标准帧中为显位,在扩展帧中为隐位 远程发送请求位RTR组成,控制场由6位组成 在扩展格式中控制场包括4位数据长度码DLC和2位保留位, 在标准格式中控制场包括4位数据长度码DLC、1位保留位、1位标识扩展位IDE,数据场包含被传送的数据,可包括0-8个8位的字节,先发送最高有效位。 CRC场:15位的CRC序列,1个隐位的CRC界定符 应答场2位:1位应答间隙,1位应答界定符 发送器在应答间隙发送1位隐位,接收器在正确接收到报文后在应答间隙发送1位显位。 应答界定符为隐位,远程帧,远程帧由6个场组

8、成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。远程帧不存在数据场。 远程帧的RTR位必须是隐位。,出错帧,出错帧由两个不同场组成,第一个场由来自各站的出错标志叠加得到,第二个场是出错界定符 错误标志具有两种形式: 活动出错标志(Active error flag),由6个连续的显位组成 认可出错标志(Passive error flag),由6个连续的隐位组成 出错界定符包括8个隐位,超载帧,超载帧包括两个位场:超载标志和超载界定符 超载标志由6个显位组成 超载界定符由8个隐位组成 发送超载帧的超载条件: 接收器要求延迟下一个数据帧或远程帧,实现CAN通信控制的几种ASIC芯片,CAN

9、通信控制器82C200:实现CAN2.0A的标准格式通信帧的通信控制 CAN通信控制器SJA1000:实现CAN2.0B的两种格式通信帧的通信控制 带CAN通信控制器与8位微控制器的P8XC592 带CAN通信控制器与16位微控制器的87C196CA/CB 带32位ARM7 处理器内核、可编程逻辑、存储子系统、CAN接口、以太网接口、I/O接口等的片上系统TA7V 带CAN通信控制器的CAN总线I/O器件82C150 CAN总线收发接口器件82C250,CAN通信控制器,CAN通信控制器要实现CAN总线协议并具备与微控制器的接口 不同型号的CAN总线通信控制器,其结构和功能大体相同; 与微控制

10、器接口部分的结构及方式存在一些差异 由CAN通信控制器芯片完成CAN总线协议中物理层和数据链路层的所有功能 应用层功能由微控制器完成 芯片工作的温度范围为: 40125,汽车及某些军用领域, 4080,一般工业领域,CAN通信控制器82C200的功能框图 82C200实现CAN2.0A协议,CAN通信控制器SJA1000,SJA1000 实现CAN2.0B协议 SJA1000CAN通信控制器由以下几部分构成: 接口管理逻辑IML:它接收微处理器的命令,控制寄存器的地址,并为微处理器提供中断和状态信息。 发送缓冲器TXB: 它是和位流处理器()之间的接口, 有字节长。能存储一条将在总线上发送的完

11、整报文。报文由写入, 由位流处理器读出。 接收缓冲器(,): 是和接收滤波器之间的接口, 用来存储从总线收到并接收的报文。接收缓冲器FIFO共字节长。其中有字节的窗口可供访问。在处理一个报文的同时,由这个继续接收其它正在到来的报文,CAN通信控制器SJA1000(续),接收滤波器ACF: 接收滤波器把收到的报文标识符和接收滤波寄存器中的内容进行比较,以判断该报文是否被接收。如果判断结果是肯定的, 则报文被存入。 位流处理器BSP: 位流处理器控制发送缓冲器和总线之间数据序列,同时它也执行错误检测、仲裁、位填充和总线错误处理功能。 位定时逻辑BTL: BTL监视总线上的串行序列,处理与CAN总线

12、相关的位时间,按收到的报文头与总线上的位流同步。BTL还为补偿传输迟延时间和相位跳变提供可编程的时间段。 错误管理逻辑EML:它按照协议完成错误界定。它接受来自BSP的出错通知,并向BSP和IML提供出错统计,SJA1000功能框图,出错处理功能的增强,仲裁丢失捕捉寄存器():以找到丢失仲裁位的位置 出错代码捕捉寄存器():分析总线错误类型和位置 出错警告限寄存器():定义出错警告极限值 接收出错计数寄存器() 发送出错计数寄存器() 记录发送和接收时出现的错误个数等。可根据从这两个寄存器读取的错误个数来判断目前控制器的出错状态。,出错中断: 出错中断源:总线出错中断、错误警告限中断(可编程设

13、置)和被动出错中断。由中断允许寄存器()区分出以上各中断, 也可直接从中断寄存器()中直接读取中断寄存器的状态来判断出错类型。 出错代码捕捉寄存器(): 当总线发生错误时, 产生相应的出错中断,同时,把对应的错误类型和产生位置写入出错代码捕捉寄存器(相对地址为12)。这个代码一直保存到被主控制器读取出来后,ECC才重新被激活工作,捕捉下一个错误代码。 可以从ECC读取的数据来分析属于何种错误以及错误产生的位置,从而为调试工作提供了方便。,SJA1000的应用电路,SJA1000与以下芯片或电路组合,构成CAN应用节点 微控制器CPU 总线收发器 晶振、电源、复位电路 其它测量控制电路,SJA1

14、000的应用电路,其它与CAN通信相关的器件,INTEL 82527CAN通信控制器,支持CAN 2.0B规范 带CAN通信控制器的8位微控制器 P8XC592 具有微控制器P8XC552和CAN通信控制器82C200的功能组合 带CAN通信控制器的16位微控制器 87C196CA/CB P51XA-C3 CAN总线收发接口器件82C250 CAN总线I/O器件82C150,CAN总线收发接口器件82C250,82C250是CAN通信控制器与物理总线之间的接口,器件可以提供对总线的差动发送和接收功能。82C250的主要特性如下: 与ISO/DIS 11898标准全兼容 高速性(最高可达1Mbp

15、s) 具有抗汽车环境下瞬间干扰的能力 降低射频干扰的斜率控制 热保护 总线与电源及地之间的短路保护 低电流待机方式 掉电自动关闭输出 可支持多达110个节点相连接,对于CAN控制器及带有CAN总线接口的器件,82C250并不是必须使用的器件,因为多数CAN控制器均具有配置灵活的收发接口并允许总线故障,只是驱动能力一般只允许2030个节点连接在一条总线上。 而82C250支持多达110个节点,并能以1Mbps的速率工作于恶劣电气环境,CAN总线I/O器件82C150,82C150是一种具有CAN总线接口的模拟和数字I/O器件,可用于传感器、执行器接口。主要功能包括: CAN接口功能和I/O功能

16、CAN接口功能 符合具有严格的位定时的CAN技术规范2.0A和2.0B 全集成内部时钟振荡器(不需要晶振),位速率为20K125Kbit/s 具有位速率自动检测和校正功能 由4个可编程标识符位,在一个CAN总线系统上最多可连接16个82C150 支持总线故障自动恢复 具有通过CAN总线唤醒功能的睡眠方式 带有CAN总线差分输入比较器和输出驱动器,I/O功能 16条可配置的数字及模拟I/O口线 每条I/O口线均可单独配置,包括I/O方向,口模式和输入跳变的检测功能 在用作数字输入时,可设置为由输入端变化引起CAN报文自动发送 两个分辨率为10位的准模拟量(分配脉冲调制PDM)输出 具有6路模拟输

17、入通道的10位A/D转换器 两个通用比较器,CAN总线I/O器件82C150的应用,可配置片上系统TA7V05,TA7V是一个完整的32位现场可配置片上系统,集成了广泛流行的32位ARM7 处理器内核、可编程逻辑、存储子系统和专用内部总线 适合于工业现场和控制领域的应用 具备功能丰富的FastChip开发套件,为开发、设计人员提供一个灵活的可配置平台,能快速地开发出自定制的嵌入式应用系统,TA7V的主要性能,高性能、低功耗的32位ARM7处理器 支持实时操作系统,可实现源码级调试。 集成了10/100M以太网 为发送接收内建了2KB FIFO缓存,支持3个以上MAC地址 集成了CAN2.0B控

18、制器 带有优先级仲裁,16个接收缓冲器,8个发送报文存储器。 报文滤波支持DeviceNet和CanOPEN协议 集成了USB1.1控制器 支持最高速率为12M的通用串行总线,2个UART通用异步收发接口,可配置成RS-232、RS-485等通信接口 相当于6400个FPGA门阵列的可配置系统逻辑(CSL Configurable System Logic)矩阵;支持标准逻辑设计工具,可实现快速加法器、乘法器、逻辑运算、计数器等专用电路 32KB内部高速暂存SRAM、8KB混合指令/数据缓存,支持外部EEPROM、Flash、SDRAM内存子系统,支持JTAG接口实时调试功能 8通道10位AD

19、C,多功能定时器阵列(Multi-Function Timer Array),丰富的可编程PIO接口,FastChip,配套开发工具FastChip中包括Triscend软模块库 可直接在FastChip编辑界面上配置这些软模块,实现不同功能的灵活设计,系统开发的可靠性高。 允许设计人员导入利用第三方工具生成的用户自定义的网表文件,作为FastChip的新模块,用于系统配置 TA7V05支持Red Hat、uCLinux和uC/OS等嵌入式操作系统 用户可根据系统开发的需要和特点,选择适当的操作系统,编写应用程序并下载到开发板上,TA7V的工业总线“网关”功能,由于TA7V配备了UART、US

20、B1.1、CAN2.0B、以太网等广泛流行的工业总线标准接口,可根据实际要求在短时期内实现自定制的以太网桥,为工业控制设备的Internet接入提供了方便可行的解决方案, 利用TA7V自带的设备驱动程序和丰富的API函数可以缩短应用开发周期。 该款芯片可以作为工业总线互联、工业总线接入Internet的“网关”,可作为嵌入式网关的芯片,利用片上可编程PIO通道、ADC通道,实现离散、模拟参数的输入、输出 还可以利用系统内部的CSL逻辑和片上资源实现电机驱动、PLC和PID等复杂的控制功能,可作为工业控制现场的主控制器和网络连接设备的核心芯片。,CAN总线上测控数据的远程监控,CAN网段上的测控

21、节点通过TA7V上的CAN2.0B接口与片上系统交换数据,存入TA7V的内存或相应的变量中 TA7内存中测控数据可打包为以太网帧,再通过TA7V上的以太网接口发送到以太网上 这里的TA7V并不是严格意义上的网关,只是不同协议网段间的数据转发通道。 通过数据交换的B/S(浏览器/服务器)模式,用户不必亲临现场就可以对现场的CAN总线数据进行监控,达到了远程监控的目的。,在ARM7处理器中植入uCLinux操作系统,而uCLinux支持Web 功能,其Boa Web Server是一个单任务的HTTP服务器,可实现动态Web 用户通过提交表单的方式发出HTML请求,服务器端接收此请求后执行相应的C

22、GI程序,根据用户的表单请求进行数据存取处理,并生成动态HTML文件加载这些数据信息,并返回给浏览器,完成一次信息交互 用户只需编写服务器端的相关CGI程序,对uCLinux 内核和应用程序重新编译后,把映像文件下载到Flash存储器,就可以实现嵌入式系统的Web服务功能。,利用TA7V05片上系统的嵌入式Web方式,可以很方便地实现以太网和CAN总线的互联,并具有体积小、可靠性高、易于增加其他控制功能的优点,是CAN总线实现远程监控的理想解决方案。 TA7V有功能强大的逻辑功能模块;丰富的I/O接口可实现电机驱动、仪表设备等功能,还具有多种工业总线接口,在工业控制领域具有良好的应用前景。 工

23、业现场设备的网络化和智能化是技术发展的必然趋势 ,以片上系统为代表的嵌入式系统将在工业控制中发挥更大的作用,车身控制器硬件设计,车身控制器设计要求 功能要求:如车身部件的正常工作、数据通信、提供诊断信息 工程要求:如工作温度、防干扰性、尺寸要求、耐磨性等 客户的特定要求:如对电源、微处理器、输入输出点定义,车身控制器,车身控制节点的数据通信,车辆启动时的自检 中央控制单元向各个模块发送自检命令,并收集各个模块的返回信息。通过分析处理,及时发现和解决问题。 周期性数据刷新 控制器单元可以定期向功能模块采集车门是否关闭、车锁是否上锁、车窗的停止位置、座椅的电机状态、室内温度、通风状态等状态信息。

24、运行过程中监视 监视总线上报文帧的收发情况,如发现总线异常,自动作出紧急处理,给驾驶人员发出报警等。,CAN通信的时间触发 (Time Triggered communication,CAN采用的非破坏性总线仲裁技术,本质上属于以事件触发的通信方式 其通信具有某种程度的非确定性,无法从根本上保证数据的实时传输 由时间触发的通信协议,其网络调度具有确定性、实时性 为满足汽车控制网络数据通信的实时性要求而开发了如TTCAN、FTTCAN等 能及时传送控制网络的各种数据,TT-CAN ( Time Triggered communication on CAN),TT-CAN是对CAN扩展而形成的实时

25、控制协议 在CAN的物理层和数据链路层上添加了一个会话层 TT-CAN已被国际标准化组织接收为ISO11898-4规范 ISO11898-4规定了两种TT-CAN: 基于时间主节点(Time master)的时间触发CAN协议。 建立全局同步时基(Time base)的时间触发CAN协议。,FTT-CAN (Flexible TT-CAN),FTT-CAN的最大特点是可根据需求在线修改网络策略 适合于子系统之间异步访问总线的应用场合 用于导航控制、ABS等。 FTT-CAN的通信特点 采用单主多从结构 由主节点同步系统时钟 总线时间由无限循环的基本周期组成 每个基本周期起点发送表示基本周期开始

26、的触发报文(Trigger message) 基本周期分为同步报文窗口和异步报文窗口, 同步报文窗口用于传输周期性报文; 同步报文的数据域中包括有触发通信的调度信息,如同步窗口的起始时刻点、在此周期里需要传输的报文等。 在基本周期异步报文窗口用于传输非周期性报文,用于传输报警、诊断等非实时性的信息。 FTT-CAN采用面向基本周期、而非面向每个报文的方式,TTP/C(Time Triggered Protocol),TTP是时间触发协议的缩写,C代表SAE的网络级别Class C。 TTP/C属于实时、容错、确定性的协议,采用基于时分多路访问(TDMA)的总线访问方式。即所有总线活动基于事先规

27、定的时刻点进行。因此,每个节点需要准确的全局时间基准,而且TTP/C通信协议能提供容错的时钟同步。 在TDMA总线访问中,每个通信控制器在时间轴上将分配到属于自己的时隙(Time slot),用于传输自己的报文。事先规定好每个报文的传输时刻点。总线上的所有节点知道某一节点发送报文的时刻点。通过比较事先规定好的报文接收时刻点和实际接收时刻,接收报文的节点可以简单地进行时钟同步的校正。并可以预测每个报文的最大传输延迟时间,保证高实时性通信的要求。,ByteFlight,ByteFlight是宝马公司发布的总线标准,主要应用于安全气囊、安全带等高性能汽车控制领域和一些航空领域。 ByteFlight

28、的数据通信采用FTDMA柔性时分多路访问(Flexible Time Division Multiple Access)的媒体访问方式。一个同步主控制器周期性地发送同步脉冲,网络上的其他节点基于此脉冲同步本地时钟。连续两个同步脉冲之间的时间间隔是一个周期时间(Cycle time),每个周期时间为250s。 ByteFlight根据报文实时性要求的高低把报文分为两种。一种是实时性要求高、每个周期都需要发送的“同步” 报文。另一种是对实时性要求低、非周期性发送的“同步”和“异步” 报文。每个周期被划分为若干时隙,先前的一部分时隙用于传输“同步”报文,剩余时隙用于传输所谓低优先级的“异步“报文。各

29、时隙按报文的优先级大小排队。图4.29表示了这种FTDMA通信调度的周期与时隙。,几种CAN协议的性能比较,汽车内部网络的解决方案 ( Motorola ),SAE J1939,CAN规范只包括了物理层和数据链路层,是一个可以封装在通信控制器集成电路芯片内部的规范。 SAE J1939以CAN为基础,其物理层和数据链路层基本上沿用了CAN规范,并增加了网络层、应用层和网络管理规范。 SAE J1939目前已经发布的规范如下: J1939/01 卡车、公共汽车控制与通信网络 J1939/12 物理层,250Kbps, 四线双绞线 J1939/13 物理层,诊断连接器 J1939/31 网络层 J1939/71 车辆应用层 J1939/72 虚拟终端应用层 J1939/73 应用层-诊断 J1939/81 J1939网络管理协议,通信参考模型比较,ISO模型 CAN SAE J1939,基于SAE J1939的车辆多网段系统,汽车内部网络,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1