《电动车CAN总线培训PPT.ppt》由会员分享,可在线阅读,更多相关《电动车CAN总线培训PPT.ppt(46页珍藏版)》请在三一办公上搜索。
1、CAN总线示意图,CAN总线原理,CAN总线的通信是通过一种类似于“会议”的机制实现的,CAN总线原理,CAN基本概念,CAN基本概念,报文:在总线上传输的信息信息路由:CAN不对通信单元分配地址,报文的寻址内容由报文的标识符指定。所有CAN节点通过报文滤波来判断是否接收报文,CAN扩展格式数据帧,CAN总线上的电平,总线空闲时,CAN_H和CAN_L上的电压为2.5V在数据传输时,显性电平(逻辑0):CAN_H 3.5V CAN_L 1.5V隐性电平(逻辑1):CAN_H 2.5V CAN_L 2.5V,CAN总线上的信号变化,CAN总线负载率计算,假设CAN总线波特率为250Kbit/s,
2、总线报文发送时间间隔为50ms,报文为数据帧(8个字节数据),1:根据通信波特率计算50ms总共可以发送多少bit(250000/1000)*50=12500bit2:计算最长的一帧报文有多少个bit1sof+29id+1ide+1rtr+1srr+2r+4dlc+8*8data+16crc+2ack+7eof=128bit3:计算50ms内可以支持的报文数目 12500/128 97当50ms间隔的报文数量超过97条时,就会出现丢帧,CAN通讯机制,通信波特率为250Kbit/s,那么每一个bit的时间就为1/250=0.004s=4s最长一帧报文有128bit,每帧报文占用时间为128*4
3、=512s为了保证通讯的可靠性和稳定性,同时考虑到控制的实时性,网络通讯周期定为50mS,整车控制器初始化运行后,每隔50mS 以广播方式发送数据给各部件,在一个周期里只发送一次,CAN协议和标准规格,J939帧数据结构,J939帧数据结构,CAN29位ID位置 J1939帧的位位置,常用J1939文档,J1939/11 物理层 250Kbits/s 屏蔽的双绞线J1939/21 数据链路层文档J1939/71 汽车应用层J1939/73 应用层 诊断J1939/81 网络管理协议,J1939地址解译,PGN:61701(0 xF105)ID=0 x08F10501,J1939地址解译,0 x
4、181328F3解译成报文结构如下,J1939信息解译,PGN(61443)电子 发动机控制器#2(EEC2)刷新率:50ms数据长度:8字节数据页:0PF:240PS:3P:3PGN:61443(0 x00F003)参考位 长度 SPN描述 SPN 2 1 byte 加速踏板 91,J1939信息解译,Spn91 加速踏板位置1输入装置类似发动机速度/转速的实际位置(如油门踏板或节流杆)和输入装置最大位置的比值,此参数意在为最初的实施加速器控制。SPN 91 仅应用于单加速器控制。对于公路上的汽车,一般针对驾驶员的油门踏板。数据长度:1字节分辨率:0.4%/位递增,从0%开始计算数据范围:0
5、%到100%类型:测量值可疑参数号码:91参数组编号:61443,J1939信息解译,通过CAN分析仪得到如下信息序号 时间 帧ID 帧格式 帧类型 DLC 帧数据1 0811 29 609 0CF003x 数据帧 扩展帧 0 x8 7D C3 C0 2D FF FF FF FF解译C31 将C3转换成十进制=1952 乘以转换系数0.4=195*0.4=783加上偏置0=76.8+0=78(实际参数值=分辨率*参数值+偏移量)4 得出加速踏板位置在78%处。,CAN模块装置,收发器,CAN驱动总线的差动信号放大器,CAN收发器,状态1:截止状态,晶体管截止(开关未接合)状态0:接通状态,晶体
6、管导通(开关已接合),CAN收发器,发送过程,CAN控制器,SJA1000硬件结构框图,SJA1000控制器,CAN 核心模块负责CAN 信息帧的收发和CAN 协议的实现,接口管理逻辑负责同外部主控制器的接口,该单元中的每一个寄存器都可由主控制器通过SJA1000 的地址/数据总线访问,发送缓冲区可存贮一个完整的信息帧长度为13个字节,主控制器可直接将标识符和数据送入发送缓冲区,然后置位命令寄存器CMR 中的发送请求位TR,启动CAN 核心模块读取发送缓冲区中的数据,按CAN 协议封装成一完整CAN 信息帧,通过收发器发往总线,验收滤波器单元完成接收信息的滤波,只有验收滤波通过且无差错才把接收
7、的信息帧送入接收FIFO 缓冲区,CAN控制器对报文检验滤波,当总线上有报文到达时,收发器会将该报文的标识符与本地的标识符校验寄存器中进行比较,本地标识符屏蔽寄存器则是用于指定比较结果是否有影响,1表示相应位的比较结果不影响报文的接收。,J1939实例之6120HEV网络拓扑结构,J1939实例之VCU,6120HEV混合动力车整车控制器(VCU)使用飞思卡尔16位单片机MC9S12XDP512,它拥有双路MSCAN 口,24 路AD 转换通道,8 个PWM 口输出。CodeWarriorfors集成开发环境编程,VCU硬件结构简图,飞思卡尔CAN控制器MSCAN,MSCANCAN协议的实施-
8、CAN 2.0A/B版 标准和扩展数据帧 0 8字节的数据长度 高达1Mbps的可编程比特率 支持远程帧带FIFO存储机制的5个接收缓冲器带内部优先级分配功能的3个发送缓冲器灵活的可屏蔽标识符过滤器:2个32位扩展标识符过滤器 4个16位过滤器 8个8位过滤器,MC9S在CAN总线中位置,CAN控制器MSCAN12模块框图,MSCAN外部引脚,MSCAN12模块图,MSCAN12模块图,MSCAN初始化,MSCAN12的发送,3个发送缓冲区,发送控制相关寄存器,MSCAN发送流程,配置:将标识符、数据和优先级写入空的发送缓冲器。安排缓冲器的发送顺序(清除TXEn)启动发送中断(设置TXEIEn
9、)优先级值最低的发送缓冲器(安排发送消息的缓冲器)将在下一个IFS期间参与仲裁以接入CAN总线发送中断:识别已发送完消息的信息缓冲器 关闭发送中断 测试ABTAK(确认标记)读取时间戳寄存器(如果启动了TIME链路的话)如果发送队列中还有一条消息,请重复上述发送流程。,MSCAN发送流程,MSCAN接收结构,接收器标志寄存器(CANRFLG)中有一位RXF:接收缓冲器已满标志0:RxFG 中没有新报文1:接收器FIFO 非空。RxFG 中有报文,MSCAN接收流程,配置:设置INITRQ(初始化模式请求)配置接收过滤器 启动接收中断 清除INITRQ 接收中断:读取标识符,执行过滤 读取数据长度代码字段 读取数据字段(如果不是远程帧的话)读取时间戳(如果启动了时间链路)释放接收缓冲器,MSCAN接收流程,MSCAN 报文存储模式,标识符寄存器 PF高3位SRR:替代远程请求,扩展帧中置1IDE:扩展帧标志,扩展帧置1RTR:远程发送请求,数据寄存器,CAN收发器PCA82C251,