CAN通信协议及其硬件实现.doc_第1页
CAN通信协议及其硬件实现.doc_第2页
CAN通信协议及其硬件实现.doc_第3页
CAN通信协议及其硬件实现.doc_第4页
CAN通信协议及其硬件实现.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

第5期倪江群等:CAN通信协议及其硬件实现113CAN通信协议及其硬件实现倪江群,唐承佩,张东,冯国聪(中山大学 信息科学与技术学院, 广东 广州 510275)摘 要:首先简要介绍某太空实验项目及其数据通信协议,以该实验项目中轨迹探测器热控子系统为例重点介绍了一种面向航天应用的CAN通信协议的设计及基于FPGA的硬件实现。同时给出了仿真和测试结果以说明该设计的适用性和可靠性。关键词:控制局域网;通信协议;现场可编程阵列中图分类号:TP319 文献标识码:B 文章编号:1000-436X(2008)05-0107-07Design and hardware implementation of a CAN communication protocolNI Jiang-qun, TANG Cheng-pei, ZHANG Dong, FENG Guo-cong (School of Information Science and Technology, Sun Yat-sen University, Guangzhou 510275, China)Abstract: An ongoing space experiment and its data communication protocol were briefly introduced. Based on the TTCS sub-system, the design and FPGA based hardware implementation of space oriented CAN communication protocol were presented in detail. Finally the simulation and test results were given to demonstrate the feasibility and reliability of the design.Key words: CAN; communication protocol; FPGA1 引言阿尔法磁谱仪项目(AMS02, alpha magnetic spectrometer experiment)是由著名美籍华裔科学家丁肇中教授领导的大型国际科研合作项目1,2,目前有15个国家和地区的56个研究机构合作承担。AMS-02项目旨在寻找太空中的反物质和暗物质,并研究宇宙射线的成分与能谱。AMS-02不仅是国际空间站上惟一的大型科学实验,还是人类第一次在太空中使用粒子物理探测仪器和技术的实验。收稿日期:2006-05-10;修回日期:2008-01-20基金项目:广东省人民政府科技专项和科技部国际科技合作重点项目计划(2003DF000050);973计划前期研究专项基金资助项目(2006CB708613)Foundation Items: The Science and Technology Program of Peoples Government of Guangdong Province and the Ministry of Science and Technology of the Peoples Republic of China (2003DF000050); The Prophase Research of National Basic Research Program of China (973 Program) (2006CB708613)硅微条轨迹探测器(tracker)是AMS02磁谱仪5个子探测器中最重要的探测器,其主要是借助超导磁场探测进入磁谱仪粒子的轨迹。工作在空间轨道上的轨迹探测器包含192个电子数据采集单元,轨迹探测器热控系统(TTCS)采用CO2两相技术3,用于将采集单元产生的144W的热量带走并维持探测器温度的高度稳定。TTCS系统目前由中山大学负责研制,包括热、电子和机械3个子系统,本文主要介绍其中TTCS电子控制系统中面向航天应用的CAN通信协议的设计和基于FPGA的硬件实现。图1 TTEC硬件架构2 系统结构2.1 AMS02数据采集系统及通信方式AMS02的数据采集系统包括探测器前端子系统和主数据采集计算机(JMDC),前端系统和各子探测器相连,探测数据由前端系统传输到JMDC,并经由太空站通信单元传回地面,同时接收地面的指令。出于冗余和安全性考虑,在主控制计算机箱J-Crate中,同时放置了4台JMDC计算机(如图1所示)。JMDC是基于PowerPC体系架构的硬件平台,运行Hardhat Linux嵌入式操作系统;每台JMDC中主要包括基于PowerPC 750的计算单元、大容量存储单元和通信单元。为了完成和AMS中不同数据通道的数据交换,JMDC的通信单元主要包括3种主要的接口,即CAN、AMSWire/1553B和HRDL/RS422。AMS对数据通信设计有统一的Master/Slave通信协议和AMS标准数据格式4,以上的各种通信接口通过适配都可以纳入AMS通信协议的框架下。AMS Master/Slave通信协议4是一种传输层协议,其基本思路是:所有的通信过程都是由Master发起请求,Slave根据请求的内容进行回复,而所有的Slave都不允许进行主动的通信,同时在Master方使用超时机制来处理通信中出现的数据丢失等错误。2.2 TTCS电子控制系统TTCE两相CO2热控系统TTCS主要由CO2热环路和电子控制系统TTCE组成,针对太空工作环境的复杂性和高可靠性要求,TTCS系统总体结构采用双冗余设计,不仅CO2热环路设计有主环路(primary loop)和次环路(secondary loop),电子控制系统TTCE也为双冗余设计(TTCE_A + TTCE_B)。TTCE主要包括主控板TTEC、驱动和电源板TTEP和泵及阀门控制板TTPP。主控板TTEC是电子控制系统中的核心,主要完成和JMDC的CAN通信、数据采集和处理、控制算法和环路运行控制等。TTEC板结构如图1所示,硬件设计采用 “MCU + FPGA”结构,其中MCU完成TTCS应用层协议解析;FPGA1主要负责AMS-CAN通信协议解析和非关键点数据采集;而FPGA2则负责关键点温度数据采集、环路运行控制和控制算法(P/PI)输出。在TTEC中CAN通信的实现是由MCU和FPGA1共同完成,FPGA1主要针对AMS传输层协议,以保证CAN通信的稳定可靠;而MCU主要针对TTCS应用层,以保证设计的可扩展性。JMDC和TTEC间的CAN通信采用双CAN总线拓扑(如图1所示)设计,保证了通信的高可靠性。4台JMDC同时跨接在2条CAN总线上,而TTEC通过2个82527 CAN控制器也同时跨接在2条CAN总线上。3 AMS-CAN通信协议图2 AMS-CAN 协议的层次结构本节以AMS中TTEC和JMDC的通信介绍AMS-CAN通信协议的设计。CAN通信5采用15byte的消息报文CAN Message(7byte消息头+8byte消息体),AMS-CAN的信息载体即为CAN Message。在AMS中CAN Message的消息头和消息体分别被视为AMS CAN Block Header和AMS CAN Block Body,以适配AMS Data Block(AMS数据块),运行统一的AMS传输协议。AMS-CAN通信协议栈包括:物理层/数据链路层/网络和传输层/应用层。图2给出了AMS-CAN协议的层次结构,在TTCS的CAN通信中,通信事件由JMDC(Master)发起,每个通信事件又包含多个信息报文(CAM message)4。信息报文主要包括29bit CAN标识符号(ID)和8byte应用数据。一个信息报文中同时包含了AMS-CAN链路层、网络传输层和应用层协议。AMS-CAN协议栈中链路层以下支持CAN2.0规范,即总线拓扑、短帧结构、非破坏性总线仲裁和基于CAN 29bit扩展ID的报文标识符滤波。CAN消息报文首中的29bit ID用于支持AMS-CAN的链路层和传输层协议。3.1 AMS-CAN传输协议AMS-CAN网络传输层遵循AMS Master/Slave模型,该传输协议主要包含2种类型的数据传输:Write(写)和Read(读),传输类型的定义都是以Master为出发点,在TTCS中JMDC和TTEC分别定义为Master和Slave。每一次Master/Slave通信过程都包括一个或多个事务,每个事务包括一对信息,一个是从Master到Slave,另一个是从Slave到Master。每次通信过程都是由Master方发出Write/Read 请求包开始,然后接收Slave方发回的回复包后,再进行后续信息的交换。交互信息中除了主要的Write和Read外,还包括:Next表示正常可继续工作;Error表示有错误发生且错误可通过重发纠正;Abort表示发生了不可纠正的错误;End表示通信过程的结束。图3给出了AMS-CAN传输层协议中几种典型的事物流程,其中“f&l”表示“首个和最后”,用于单个包交换;“f”、“i”和“l”分别表示“首个”、“中间”和“最后”,用于多个包的交换。如图2所示,29bit扩展CAN ID中的如下位用于支持AMS-CAN传输层协议:ID25表示当前报文来自Master(Request)或Slave(Reply);ID24表示当前Master发起的通信事件是读(read)或写(write);ID26-27(消息报文顺序索引)结合报文长度(DLC)支持完成完1个或多个消息报文的读/写。图3 AMS-CAN传输层协议3.2 应用协议Data TypeAMS TTCS 应用层协议由数据类型(data type)4定义,data type位于一个通信事件第一个消息报文体(message body)的首字节。图4给出了AMS TTCS CAN应用协议格式,首字节的B6和B7位拷贝自ID25和ID24,而B0-B7用于data type。应用协议由若干个命令单元组成,命令单元长度m取决于具体的data type,而一次通信事件中的单元个数由报文体第二个字节定义。由于CAN报文体的长度为8byte,故应用协议可能跨多个CAN消息报文。图4 AMS-CAN 应用协议格式对于AMS CAN通信,其实现采用FPGA + MCU混合模式,FPGA遵循AMS网络传输层协议,将来自/发往JMDC的消息报文送到/取自交换缓冲区;MCU访问交换缓冲区,完成应用协议的解析。TTCS中data type定义的主要命令包括:测试(echo)、MCU重启动(reboot)、数据采集、PI和开关控制等。其中echo和 reboot命令由FPGA直接解析和硬件实现。4 AMS-CAN的硬件实现在AMS TTCS CAN通信中,基于AMS Master/Slave通信模型的传输协议是由FPGA硬件实现,而TTCS应用协议则主要由MCU完成。考虑到CAN总线网络上有4台JMDC可能和TTEC通信,在TTEC主控板的SDRAM中设计有4个通信通道缓冲区TX1/RX1TX4/RX4(参见图5),用于实现FPGA和MCU之间的数据交换。TX k/RX k对应第k个通道的发/收缓冲区,缓冲区长度设置为8K byte。图5给出了基于FPGA硬件实现的AMS-CAN通信简化状态迁移图(注:图5并不是严格意义上的状态图,而是为说明和描述问题的类状态图),其主要操作对象包括CAN通信控制器Intel82527和SDRAM中的通道收/发缓冲区,FPGA同时也要完成和MCU的交互,以触发MCU适时处理TTCS应用协议。图5中主要包括3种类型的信号线:细实线代表状态迁移,空心箭头线代表数据访问,而虚线则代表信号交互。另为协调MCU和FPGA对SDRAM的竞争,TTEC中设计有基于FPGA的存储仲裁管理单元。基于FPGA的AMS-CAN通信实现包括CAN_COM和EXE两个主要模块。CAN_COM主要完成AMS-CAN传输层协议处理,包括CAN消息报文在CAN控制器和通道收/发缓冲器间的传送、消息报文分析(Rqst/Rply)和消息报文封装。EXE模块完成2个特定应用层命令(data type)的硬件实现,即用于硬件MCU重启动的Re_Boot(0x00)和用于测试的Echo(0x01),其他Data Type转由MCU处理。CAN_COM中的主要状态(模块)包括初始态(C_idle)、传输协议处理(Rqst / Rply)、读/写消息报表文头/体(R_mh / W_mh / R_mb /W_mb)和SDRAM读/写(Cr_mem/Cw_mem)。EXE中的主要状态(模块)为初始态(E_idle)、SDRAM读/写(Er_mem / Ew_mem)、比较(CP)、Re_boot和Echo。图5 AMS-CAN类状态迁移对于CAN_COM模块(参考图5),如果JMDC发出请求(Rqst)/读报文,CAN控制器的中断信号CAN_int 触发CAN_COM的C_Idle,R_mh读消息头后,Rqst分析消息报文,R_mb读消息体并由Cw_mem写入相应接收通道缓冲区RX,消息报文体中包含转由EXE处理的应用协议。最后Rply根据JMDC的请求报文封装响应报文头,并由W_mh写回CAN控制器作为响应,然后返回C_Idle等待下一个报文。对于JMDC的写请求,CAN_COM模块有类似的过程。CAN_COM中的Cw_mem在完成消息报文体写入RX缓冲区后,发出Rqst_done信号触发EXE模块处理RX中的应用协议,Er_mem读第一个报文体后,CP模块匹配其中data type,如果是0x00(Re_boot)和0x01(Echo),则由FPGA硬件完成;对于其他data type,则返回E_idle,并发MCU_int信号请求MCU处理应用协议。MCU分析RX中的应用协议内容,按要求准备响应数据(例如采集的实时信号和状态等),放入TX缓冲区。MCU通过EXE_done信号触发CAN_COM模块将TX中的响应数据封装后传送给JMDC。EXE中硬件实现的Data Type中,Re_boot可以实现JMDC通过CAN总线硬件控制MCU重启动;而Echo命令主要实现传输层的测试。下节将给出Echo命令的仿真和测试结果。5 仿真和测试结果针对上述TTEC的AMS-CAN硬件设计,分别进行了功能仿真和实际测试以验证设计的正确性。5.1 “Echo”命令仿真功能仿真采用Test bench文件构造TTEC硬件仿真平台,以VHDL实现CAN控制器、SDRAM和MCU等的简化描述,通过加入激励和MCU程序实现了AMS-CAN通信的系统级功能仿真6,包括链路层、网络层和应用层(应用协议解析)。根据AMS Master/Slave通信模型,AMS-CAN协议由Master(JMDC主机)发起,TTEC作为Slave响应。其应用层协议由Data Type定义(参见图4),主要命令包括“Echo”(0x00)、“Read Memory”(0x05)、“Write Memory”(0x06)、“Pump Control”(0x08)和“PWM Control”(0x09)等。为简化描述并不失一般性,本文仅给出了图6的简化Echo命令仿真结果,以验证通信协议的适用性和硬件设计的正确性,对其他data type有类似的仿真结果。“Echo”命令过程为JMDC通过CAN总线发送任意数据报文给TTEC,TTEC接收后将原报文发回JMDC,以此验证通信的可靠性。图6中,JMDC的消息报文中为“0x01 0xAA”,其中0x01表示Echo命令,0xAA为1字节数据“AA”。TTEC的CAN-COM模块读取CAN控制器寄存器(地址0xF7和0xF8)中的消息报文“0x01 0xAA”,写入RX(地址0x72000,0x72001)中,之后CAN-COM结束,拉高“Rqst_done”信号,触发EXE模块。EXE模块判定是“Echo”命令,将其后数据字节图6 “Echo”命令仿真“0xAA”搬到发送缓冲器(地址0x7A000),拉高“Exe_done”信号,通知CAN-COM模块向JMDC返回同一个数据字节(0xAA)。值得指出的是:对于“Echo”命令,其应用层协议由FPGA直接完成,对于其他Data Type,FPGA将通过“MCU_int”信号请求MCU处理应用协议。实验仿真结果表明:基于FPGA的TTEC主控板CAN通信单元可以正确实现所设计的AMS-CAN通信协议。5.2 多机实测为了验证所设计TTEC主控制板通信单元在实际工作环境中的性能和可靠性,我们同时进行了TTEC主控板的CAN通信实际测试;测试环境设计根据图1所示的TTCS CAN通信网络拓扑结构给出,包括仿真JMDC主机(4台)、双CAN总线A/B和TTEC工程件(EM)。其中4台JMDC和待测TTEC的CAN通信单元同时跨接在A/B CAN总线上,任意时刻每个JMDC主机最多只能发起1个CAN通信任务(A或B总线)。测试的主要内容包括多总线、多JMDC主机、多数据字节和长运行时间的“Echo”命令。表1给出了多机实测的4种典型配置和测试结果;测试时由多台JMDC仿真主机连续运行“Echo”命令,其数据长度为8 000byte,测试时间由539h不等。情形1和2分别描述1台和4台JMDC和TTEC在A总线上的测试结果;情形3描述4台JMDC主机在总线B上同时针对TTEC运行“Echo”命令;而情形4则描述A总线上1台JMDC和B总线上2台JMDC同时针对TTEC运行“Echo”命令。实测结果表明:在所有的典型配置情况下,都可以正确运行“Echo”命令,所记录的通信差错率为0。多机实测结果进一步证实所设计的TTEC通信单元可以在多JMDC主机和双CAN总线网络环境下可靠工作。表1双CAN总线典型测试结果测试配置JMDC IDCAN Bus 类型数据长度/byte测试时间/h10x00RQ(A)/RR(A)8 0002420x00-0x03RQ(A)/RR(A)8 000530x00-0x03RQ(B)/RR(B)8 000540x03RQ(A)/RR(A)8 000390x00-0x01RQ(B)/RR(B)8 0006 结束语本文结合正在进行中的大型国际科研合作项目“AMS磁谱仪硅微条探测器热控制系统(TTCS)研制”介绍了AMS的通信系统,着重给出了TTCS中AMS-CAN通信协议的设计和硬件实现。本文通过对CAN消息报文头的设计提出了一种可以实现AMS Master/Slave通信模型的CAN传输层协议,并设计了相应的应用层协议格式。对于AMS-CAN协议栈的传输层,本文采用基于FPGA的硬件实现方案,以保证通信的可靠性;而对于应用层协议则采用MCU实现,以保证通信的可扩展性。本设计方案同时采用双CAN总线和双CAN控制器冗余结构,航天级抗辐射FPGA和MCU芯片,保证了空间环境下通信的高可靠性。仿真和实测结果表明本文提出的CAN通信协议和硬件实现方案可以兼容AMS传输层通信协议,方案设计合理可靠。目前本设计方案在通过AMS内部测试后,已进入资格件(QM)设计和制造阶段。参考文献:1AMS COLLABORATION. Search for antihelium in cosmic RaysJ. Phys Lett, 1999,(9): 387-396.2AMS COLLABORATION. The alpha magnetic spectrometer (AMS) on the international space station: p

温馨提示

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

评论

0/150

提交评论