uCAN设计说明通信协议x.docx_第1页
uCAN设计说明通信协议x.docx_第2页
uCAN设计说明通信协议x.docx_第3页
uCAN设计说明通信协议x.docx_第4页
uCAN设计说明通信协议x.docx_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

陈正uCan设计说明通信协议部分陈正2010-7-2历史记录修改人版本日期备注陈正0.0.12007-9-9文档创建陈正0.0.22007-11-17添加数据报命令陈正0.0.32007-12-15修改命令格式陈正0.0.42010-05-27修改命令格式前言uCan设计说明包括硬件设计说明,嵌入式软件设计说明,PC软件设计说明,以及通信协议设计说明。本文属于通信协议设计说明。范围本文针对uCAN设备与PC通信的通信协议做了详细描述,包括通信帧格式,数据内容定义,以及通信命令定义。引用文件CAN2.0规范术语和定义无1. 通信速度uCAN设备通过全速USB2.0接口与PC进行通信,传输类型为批量传输方式,理论速度可达12Mbps,采用批量传输时实际速度可达900KBps。足够满足两个CAN以最大1Mbps的速度。2. 通信格式uCan和PC的通信采有两种形式:l 数据流:用于传输大量的CAN数据帧,一个数据流可以由一个或多个USB帧组成。每一路CAN对应两个数据流,一个用于接受PC上发送的数据,另外一个用于向PC传输接收到的CAN数据。l 数据报:用于向设备发送命令或者获取设备状态。数据报由报头以及数据组成,且不可大于一个USB帧长。数据报占用了两个端点,一个端点用于接收PC发送的命令,另一个端点用于设备向PC报告当前设备状态。一个USB帧能且只能传输一个数据报。数据流和数据报分别通过不同的端点传输,这样可以简化程序处理,但是缺点是需要占用了更多的端点。2.1. 数据流格式:数据流的长度必须是4的整数倍,数据流由整数个CAN帧信息报文组成,如图 1所示。图 1 数据流与CAN帧关系数据流由上行(设备到PC)与下行(PC到设备)两种传输方向,其中下行和上行数据流中CAN帧信息格式是不同的,下面两节将详细介绍下行和上行数据流的CAN帧信息格式。2.1.1. 下行CAN帧格式:下行数据流用于传输PC需要往CAN网络发送的数据,其具体格式如图 2所示。图 2 下行数据帧格式表 1 下行数据帧格式字典名称含义FS帧信息域,包含了该帧描述信息FF扩展帧标志,1表示扩展帧,0表示标准帧RTR远程帧标志,1表示远程帧,0表示数据帧DLC数据长度,当RTR为1时,表示远程帧请求的数据长度,当RTR为0时,表示数据帧中的数据长度。CAN帧中数据长度最大为8字节,所以当DLC大于8时,应当作为8来处理。PRICAN帧发送优先级,数值越低优先级越高。IDCAN标识符,当FF为0时,标识符长度为11位;当FF为1时标识符长度为29位DATA数据域,该域中的数据以四字节为单位出现。当数据帧的DLC大于0时,DATA1DATA4必须存在;当数据帧的DLC大于4时,DATA5DATA8必须存在。由图 2可以看出,一个CAN长度范围为8-16字节。2.1.2. 上行CAN帧格式:下行数据流用于传输设备往PC传输CAN网络上的数据,其具体格式如图 3所示。图 3 上行数据帧格式表 2 上行数据帧格式字典名称含义TIME接收到CAN的时间,单位1us,该时间从打开CAN成功开始或者使用过程中由用户重新启动,长度为48位(溢出时间大概为8.9年)FS帧信息域,包含了该帧描述信息FF扩展帧标志,1表示扩展帧,0表示标准帧RTR远程帧标志,1表示远程帧,0表示数据帧DLC数据长度,当RTR为1时,表示远程帧请求的数据长度,当RTR为0时,表示数据帧中的数据长度。CAN帧中数据长度最大为8字节,所以当DLC大于8时,应当作为8来处理。R用于表明当前帧是设备接收到的帧还是设备发出的1表示设备接收0表示设备发出ID index保留项IDCAN标识符,当FF为0时,标识符长度为11位;当FF为1时标识符长度为29位DATA数据域,该域中的数据以四字节为单位出现。当数据帧的DLC大于0时,DATA1DATA4必须存在;当数据帧的DLC大于4时,DATA5DATA8必须存在。由图 3可以看出,一个CAN帧最大长度范围是12-20字节(DLC大于4且RTR不等于1时),最小长度为12字节(DLC为0或者RTR等于1时)。2.2. 数据报格式数据报每次传输的最大长度为一个USB帧长度,可以用于向设备发送命令以及接收设备状态。一个USB帧能且只能传输一个数据报。图 4 一个USB帧中包含多个数据报数据报包含报头和参数,其中报头的长度为四个字节,而参数的长度根据其由报头中的长度字段来指示,其具体格式如图 5所示。数据报的下行与上行格式相同,都是采用报头加数据的形式来传输。图 5 数据报格式表 3 数据报格式字典名称含义CMD命令,长度为16位一般我们最高位为1表示设置命令,最后2位用于表示CAN端口号响应命令时,需对主控请求的命令取反Extern扩展字段,长度16位主机可在这里填充一些辅助信息响应报文可在这里填充一些简单状态DATA数据区,用于存放命令参数或者状态值,0-60字节长度数据报的交互有如下几种情况:1、 PC发送数据报,设备无需应答;2、 PC发送数据报,设备做出响应;如返回参数或者执行结果等;3. 端点定义端点定义如表 4所示。表 4 系统端点功能定义顺序端点号方向功能12OUT数据报22IN数据报35OUTCAN1发送数据流45INCAN1接收数据流58OUTCAN2发送数据流68INCAN2接收数据流4. 数据报命令本小节描述设备支持的所有命令,每一条命令都将描述数据报命令的各个字段,除了ID字段。该字段的详细说明可见表 3 数据报格式字典。4.1. 立即发送CAN消息命令字:0X8000-0X8003,最后两位表示CAN端口号扩展字段含义:当前报文包含的CAN帧数量,1-3有效数据长度:16-48字节数据:1-3个CAN报文数据,格式同数据流中的CAN发送帧格式。0-15字节存放第一个CAN报文16-31字节存放第一个CAN报文(如果有)32-47字节存放第一个CAN报文(如果有)响应:扩展字段:发送成功的帧数量数据字段:无4.2. 设置CAN模块状态命令字:0X8010-0X8013,最后两位是CAN端口号扩展字段:无意义,填0数据长度:8字节数据:Data0-3对应MOD寄存器Data4-7对应BTR寄存器响应:无备注:执行该命令会导致CAN端口复位,设备端会先将CAN进入状态再设置相应的值。设置顺序为:先复位,再设置BTR,最后设置MOD4.3. 获取CAN状态命令字:0X0010-0X0013,最后两位是CAN端口号扩展字段含义:无意义,填0数据长度:0数据:无响应:扩展字段含义:无意义,填0数据长度:40数据:Data0-3对应MOD寄存器Data4-7对应BTR寄存器Data8-11对应ICR寄存器Data12-15对应GSR寄存器Data16-19表示CAN总线数据过载次数(由于CPU未能及时响应报文,硬件自动丢弃)Data20-23表示CAN丢弃个数(因为USB缓冲区已满,导致无法继续处理,软件丢弃)Data24-27表示控制器复位次数(因为错误而导致的复位)Data28-31表示总线错误发生次数Data32-35最后错误代码需要相应说明表,0表示无错误Data36-37物理层接口类型需要相应的说明表Data38-39保留4.4. 设置CAN总线数据过载次数由于CPU未能及时响应报文,而导致硬件自动丢弃的过载次数统计命令字:0X8010-0X8013,最后两位是CAN端口号扩展字段含义:无意义,填充0长度:4数据:需要设置的值响应:无4.5. 设置CAN丢弃个数由于USB缓冲区已满,导致无法继续处理,软件主动丢弃的过载次数统计命令字:0X8020-0X8023,最后两位是CAN端口号扩展字段含义:无意义,填充0长度:4数据:需要设置的值响应:无4.6. 设置CAN控制器复位次数该复位次数是指由于总线错误而导致的复位命令字:0X8030-0X8033,最后两位是CAN端口号扩展字段含义:无意义,填充0长度:4数据:需要设置的值响应:无4.7. 设置CAN总线错误报警发生次数命令字:0X8040-0X8043,最后两位是CAN端口号扩展字段含义:无意义,填充0长度:4数据:需要设置的值响应:无4.8. 设置CAN计数器时间命令字:0X8050-0X8053,最后两位是CAN端口号扩展字段含义:无意义,填充0长度:8数据:需要设置的值,注意计数器有效长度是6字节的,最前面两个字节保留响应:无4.9. 获取设备信息该命令用于获取设备总体信息。命令发起:该命

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论