设计卫星基于CAN总线的通用仿真框架(IJEM-V2-N1-9)
- 格式:pdf
- 大小:414.93 KB
- 文档页数:8
基于CAN总线的高可靠测控单元设计
汪庆;黄振卫
【期刊名称】《太赫兹科学与电子信息学报》
【年(卷),期】2015(013)004
【摘要】控制器局域网络(CAN)总线在工业控制和工业自动化等领域有广泛的应用.成功研制了基于CAN总线的高可靠测控单元:分析了CAN总线的特点及其在高可靠部件中应用的可行性和优越性;基于先进的RISC机器(ARM)单片机和CAN总线,设计了高可靠测控单元相应的软硬件,实现了高可靠部件状态控制与测试功能.实验结果表明,该测控单元具有实时性和可靠性,很好地完成了高可靠部件测控任务.【总页数】4页(P609-612)
【作者】汪庆;黄振卫
【作者单位】中国工程物理研究院电子工程研究所,四川绵阳621999;中国工程物理研究院电子工程研究所,四川绵阳621999
【正文语种】中文
【中图分类】TN79;TP336
【相关文献】
1.基于SJA1000的高可靠CAN总线通讯智能单元设计 [J], 赵阳;吕鑫;朱毖微;吴志强
2.应用CAN总线技术设计智能测控单元 [J], 潘学松;王岩
3.基于CAN总线的高可靠测控单元设计 [J], 汪庆;黄振卫;
4.基于CAN总线的变电站综合自动化系统测控单元研究 [J], 杜川;郝艺萌
5.基于CAN总线的变电站综合自动化系统测控单元研究 [J], 杜川;郝艺萌;
因版权原因,仅展示原文概要,查看原文内容请购买。
基于CAN总线的纯电动汽车驱动控制系统仿真与测试易威;罗森侨;彭忆强【摘要】根据CAN总线通信原理,设计纯电动汽车驱动控制系统网络结构,参照SAE J1939协议制定纯电动汽车驱动控制系统的CAN通信协议,并利用CANoe对总线系统进行性能仿真分析,最后采用Matlab/Simulink软件结合CANcaseXL总线分析仪对纯电动汽车电机驱动控制系统进行硬件在环测试.通过仿真及测试实验,验证CAN通信协议及电机驱动控制系统的有效性.【期刊名称】《中国测试》【年(卷),期】2014(040)003【总页数】4页(P105-108)【关键词】纯电动汽车;驱动控制;CAN总线;J1939协议;硬件在环测试【作者】易威;罗森侨;彭忆强【作者单位】西华大学交通与汽车工程学院,四川成都610039;西华大学交通与汽车工程学院,四川成都610039;西华大学交通与汽车工程学院,四川成都610039【正文语种】中文【中图分类】U469.72;TP391.9;TP336;TP273汽车电子控制技术的快速发展,促进了新型网络通信技术在汽车上的应用。
CAN总线以其高可靠性、灵活性和实时性等优点,在车载控制器网络中得到了广泛应用。
SAE J1939协议是美国汽车工程师协会(SAE)为了解决不同电控单元厂商协议不同而产生的通信兼容问题,在CAN2.0B基础上制定的物理层、数据链路层、应用层和网络管理层协议。
此协议采用29位扩展标识符,对网络节点的地址、命名、通信方式和报文发送的优先级进行了明确规定,并对各节点间的通信内容进行了详细的说明,进一步完善和扩展了CAN的功能[1]。
本文参照SAE J1939协议制定了适用于纯电动汽车驱动控制系统的的CAN通信协议,并利用Vector公司的CANoe总线开发软件对设计的CAN总线系统进行了性能仿真分析,最后采用Matlab/Simulink软件结合CANcaseXL总线分析仪对纯电动汽车驱动电机控制系统进行了硬件在环测试。
基于SJA1000的CAN总线系统节点仿真平台的实现
李传艺;陈舜儿;黄红斌;刘敏;刘伟平
【期刊名称】《自动化与信息工程》
【年(卷),期】2005(026)004
【摘要】文章设计了一个控制器局域网CAN总线系统节点的仿真平台,通过选用兼容扩展性及检错纠错能力强的SJA1000芯片作为CAN控制器核心,利用普通PC 机仿真传感器、执行器和人机接口,实现的仿真平台具有灵活通用、简单可靠、性价比高及良好的开放性和扩展性等特点,为CAN总线系统在汽车及其它多种不同领域的自动控制系统中推广应用,提供了方便的研究开发条件.
【总页数】2页(P23-24)
【作者】李传艺;陈舜儿;黄红斌;刘敏;刘伟平
【作者单位】暨南大学,信息科学技术学院,电子工程系;暨南大学,信息科学技术学院,电子工程系;暨南大学,信息科学技术学院,电子工程系;暨南大学,信息科学技术学院,电子工程系;暨南大学,信息科学技术学院,电子工程系
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于SJA1000的CAN总线系统中广播和组播的实现 [J], 孙立辉;和志强
2.SJA1000在CAN总线系统节点的应用 [J], 岑雪松;朱丹
3.SJA1000在CAN总线系统节点的应用 [J], 岑雪松;朱丹
4.基于SJA1000的CAN总线系统智能节点设计 [J], 邹继军;饶运涛
5.基于SJA1000的CAN总线系统智能节点设计 [J], 肖海荣;周风余
因版权原因,仅展示原文概要,查看原文内容请购买。
基于FPGA和CAN控制器软核的CAN总线发送系统的设计与实现关俊强;左丽丽;吴维林;祝周荣【期刊名称】《计算机测量与控制》【年(卷),期】2016(24)3【摘要】基于FPGA嵌入式片上系统可编程技术,采用现有的CAN总线控制器软核模块,设计了软核控制程序,将由CAN控制器软核及其控制程序组成的CAN发送软件嵌入在FPGA内部,开发了CAN总线通信系统,实现了对CAN总线数字量的发送;经过软件仿真验证、静态时序分析和硬件系统测试,仿真和测试结果表明,该系统设计合理,方案可行,时序正确,功能、性能满足要求;系统将硬件软件化,有效的减少了外围芯片的数量,降低了系统的体积和功耗,提高了产品的集成度、通用性和可靠性,具有良好的实用价值和推广前景.【总页数】5页(P281-284,288)【作者】关俊强;左丽丽;吴维林;祝周荣【作者单位】上海航天技术研究院上海航天电子技术研究所,上海201109;上海航天技术研究院上海航天电子技术研究所,上海201109;上海航天技术研究院上海航天电子技术研究所,上海201109;上海航天技术研究院上海航天电子技术研究所,上海201109【正文语种】中文【中图分类】TP336【相关文献】1.基于FPGA软核的爆炸场压力测试系统设计与实现∗ [J], 黄晓敏;石晓丹;张晋文;赵晨阳;张志杰2.基于FPGA的OFDM基带发送系统设计与实现 [J], 崔丽珍;樊晓冬;刘乃君;赵晓燕3.基于FPGA的CAN控制器软核的设计与实现 [J], 吴从中;潘玉静;田中华4.基于FPGA的CAN总线控制器SJA1000软核的设计 [J], 汤书森;刘栋;李建明5.基于FPGA的ARM与CAN控制器的接口设计与实现 [J], 贾建峰;崔培玲因版权原因,仅展示原文概要,查看原文内容请购买。
捷联惯导系统仿真器的设计
刘柱;陈勤;高伟;曹洁
【期刊名称】《应用科技》
【年(卷),期】2004(031)007
【摘要】提出了一种通用捷联惯导系统仿真器的设计方案.根据捷联惯导系统的特点,利用面向对象技术进行模块分解,设计出了可以模拟多种环境、扩展性很强的仿真器. 为相关导航系统算法的验证提供数据源.
【总页数】3页(P40-42)
【作者】刘柱;陈勤;高伟;曹洁
【作者单位】哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001
【正文语种】中文
【中图分类】U666.12
【相关文献】
1.基于VS的捷联惯导系统仿真器设计 [J], 李路苹;徐景硕;陈震
2.一种新的船用捷联惯导系统数字仿真器的设计 [J], 罗恬颖;徐景硕;汤文超;王晓飞
3.捷联惯导系统仿真器的设计与实现 [J], 陈敏;安艳辉;李晓华
4.无人车捷联惯导系统仿真器设计 [J], 李超; 王吉华; 郭栋; 曲金玉
5.捷联惯导系统仿真器设计 [J], 程慧俐;以光衢;张洪铖
因版权原因,仅展示原文概要,查看原文内容请购买。
支持多主通信的星载CAN总线应用协议设计
陈海燕;刘思远;袁春柱;李志刚
【期刊名称】《航天器工程》
【年(卷),期】2014(023)004
【摘要】为提升星上设备间信息交互灵活性,文章对现有小卫星星上CAN总线应
用层通信协议进行了改进,新的应用层协议通过合理的地址域设计、地址编排、屏
蔽策略设计,使得该协议可以灵活支持总线设备多主通信,同时为了确保卫星系统按
照一定的节拍有序运行,建议对总线采取周期调度下的多主通信模式.文章通过构建
多主通信场景对该协议进行验证,结果表明该协议可以有效支持总线节点多主通信、组播、广播等,提升了总线通信的灵活性和通信效率.
【总页数】5页(P72-76)
【作者】陈海燕;刘思远;袁春柱;李志刚
【作者单位】北京电子科技职业学院,北京 100015;航天东方红卫星有限公司,北京100094;航天东方红卫星有限公司,北京 100094;航天东方红卫星有限公司,北京100094
【正文语种】中文
【中图分类】V474
【相关文献】
1.SpaceWire星载网络通信协议设计 [J], 杨志;李国军;杨芳;刘胜利
2.基于CAN总线的机载通信系统协议设计 [J], 马建萍
3.CAN总线电能质量监测系统中的通信协议设计 [J], 袁帅;李颖
4.基于CAN总线智能建筑监控系统的通信协议设计 [J], 王忠;孙浩钦;易茂祥
5.CAN总线组建多主分布式通信网络在智能化开关柜系统中的应用 [J], 陆焱因版权原因,仅展示原文概要,查看原文内容请购买。
I.J. Engineering and Manufacturing, 2012,1, 54-61Published Online February 2012 in MECS ()DOI: 10.5815/ijem.2012.01.09Available online at /ijemA General Simulation Framework Based on CAN Bus for SatelliteDesign1Cheng Long, Cai Yuanwen, Liu DanghuiDepartment of Space Equipment, The Academy of Equipment Command & Technology, Beijing, 101416,ChinaAbstractThe running status of a satellite can be imitated realistically through the use of an interactive simulation system, in which actual hardware can join for testing and validation. To solve the problem of interfaces and communications between different members in a satellite simulation system, an on-board interactive simulation system based on CAN bus is established. Several simulation members are built according to the composition of real system. Interfaces of drivers included in simulation members are packaged into a uniform interface, thus the on-board simulation system is established with the foundation of CAN bus simulation framework. Uniform communication interface of each simulation member is designed and realized, the framework of simulation flow is established, and foundation of intercommunion and operation between simulation members is laid. Experiment results prove that the framework can work stably with great efficiency and high flexibility, and expected effect is achieved.Index Terms: CAN bus; simulation; framework; satellite© 2012 Published by MECS Publisher. Selection and/or peer review under responsibility of the Research Association of Modern Education and Computer Science.1.IntroductionIn recent years, people's demands for satellite application have risen sharply, this brought forward higher request for information transmission and processing ability of space vehicle, and these all highly lie on the performance of on-board data bus. CAN(Controller Area Network) supports a distributed control, and it can equal 1553B for data transmission rate and reliability, this has been proved in the automobile and the industrial control field[1]. Because of its advantages of performance and price, CAN is being applied to spaceflight more and more widely[2]. Especially in satellite application, CAN is capable of replacing the 1553B[3].At present CAN has been adopted for command and control bus or data bus in many satellites[4]. And it’s very suitable to 1This work is supported by National High Technology Research and Development Program of China (863 program, No. 2008AA7045007)* Corresponding author.E-mail address: chenglong317@built-in test[5] and formation flight[6] of satellites in near future. So on-board interactive simulation framework based on CAN bus must be established.Considering the integration and complexity of simulation system, such as different CAN controllers and different driver interfaces, the interface of subsystem must be conformable with each other, so the framework of transmission has to be regulated in a general and standard way which be used in the software engineering. Another problem is the communication between subsystems. There are plenty of data and information between subsystems during simulation, how to regulate the interactive sequence and ensure the simulation time goes forward stably is very essential for system operation.To solve the problem of interface specification and interaction in on-board interactive simulation system, a general simulation framework based on CAN bus is designed and implemented, it can be applied to simulation for various types of spacecrafts.2.Structure of simulation systemIn on-board interactive simulation system, models of subsystems could be hardware or software. Subsystems only need to accord with CAN protocol, no matter what mode it runs in. Thus a subsystem can communicate with others by CAN bus, and all subsystems compose the whole simulation system.Satellite system usually can be divided into two main parts: useful load and platform. And platform is composed of some subsystems, such as structure, thermal control, power supply, attitude and orbit control, tracking telemetry and command, data management, electricity, reentry, etc[7]. According to the composition, a flexible and extensible on-board simulation system is established with the foundation of CAN bus simulation framework, its structure is illustrated in Fig. 1.Fig. 1. Architecture of on-board simulation systemBesides all subsystem simulation members, there is also a simulation control member in system. It will manage and control the simulation process.3.Design and implementation of CAN transmission framework based on simulation3.1.Overall planThe problem of communication in various members must be solved firstly in the process of system integration. Because of different design requirements, the members run in different environments, some in PC and some in embedded system. And they have different CAN devices which were produced by differentmanufacturers, so each member has its own CAN driver interface. In order to regulate the communication interface of system, all members’ CAN driver interfaces must be packaged into a uniform CAN communication interface, as shown in Fig. 2. Using this uniform interface to perform a uniform CAN transmission, a cross-platform and cross-OS interactive simulation system can be established.Fig. 2. Communication interface of systemThe uniform CAN communication interface displayed in Fig. 2 is a CAN transmission framework, which is implemented by a C++ class CCANMemmber. CCANMemmber is packaged into a DLL in order that program developers can use it conveniently. This class is suitable for not only subsystem simulation members but also the simulation control member, just there are some differences in function calls during simulation. Class CCANMemmber’s interface is shown below:class _declspec(dllexport) CCANMember{private:BYTE CanConfig[11];// CAN configuration parameterspublic:CCANMember(int n);//Initialize class, input is member’s ID~CCANMember(void);int MemberID;// Member’s IDDataBuffer RevBuffer;//Data bufferint MemberNum;//Number of members(available for control member)void InitCAN();//Initialize CAN busvoid GetData();//Get data from busvoid SendJoinIns();//Send Join Request(available for subsystem members)void SendDataReq();//Send Data Request(available for subsystem members)void SendStepReq();//Send Step Request(available for subsystem members)void WaitPermit();//Wait for Step Permission (available for subsystem members)void WaitDataReq(); // Wait for Data Request(available for control member)void WaitStepReq(); // Wait for Step Request(available for control member)void SendDataPermit();//Send Data Permission(available for control member)void SendStepPermit();//Send Step Permission(available for control member)void SendData(int nParaIndex,float ParaDate);//Send float type datavoid SendData(int nParaIndex,CString ParaDate);// Send CString type datavoid SendData(int nParaIndex,double ParaDate);// Send double type datavoid SendData(int nParaIndex,int ParaDate); // Send int type data};In order to ensure the convenience of framework, it is designed as simple as possible. Of course, it must meet the demand of simulation running. CAN drivers in different devices are mainly packaged in functions: InitCAN(), GetData(), and SendData(). SendData() performs a function overload for different data types. So we just need to modify these three functions in different members according to their CAN drivers. This can be done by a person who performs CAN drivers packaging specially. And other programmers, who answer for subsystem members, just use CCANMember to complete communication, disregarding what type of CAN controller is used and how the bottom driver interfaces are called.3.2.Design and test on data transmissionTo insure validity and reliability of the CAN drivers packaging, detailed design and testing should be performed according to driver interfaces provided by manufacturer. For example, one member may need to send many data frames continuously during simulation. This member runs in a PC system, which adopts a CAN communication card with PCI interface. And manufacturer drivers provide a function named CAN_Trans() for data sending. But we found that if CAN_Trans() was called continuously and repetitively, data sending would be delayed. The reason may be that PC processed the codes faster than CAN card’s response, so a block happened in CAN card when PC called CAN_Trans() repetitively, and CAN controller performed a delayed time processing in succession. Thus the transmission rate would not meet the demand. To solve this problem, we call CAN_Readreg() for a query about bus status after once CAN_Trans() function call, and perform next CAN_Trans() function call when bus is idle. Thus sending rate can match the baud rate which is set in program initialization. Main code is shown below:CAN_Trans(0,CanBuffer,50);//Send a data frameUCHAR CanReg[2];CanReg[0]=2;do{CAN_ReadReg(0, CanReg);}while((CanReg[1]&12)!=12)// Query busIn addition, data check has to be executed in case errors appear during data sending. These must be considered by the person who performs CAN drivers packaging.Manufacturers generally will provide two modes of data receiving:1) Immediate query modeThis mode receives data frames by a recursive call of a receiving function. But we found that some frames would be lost when high baud rate was set.2) Buffer query modeThis mode is also called interrupt mode, because that CAN device will save arriving data to a buffer automatically by hardware interrupt. So software can get data in batches by querying buffer periodically. This mode can insure a high receiving speed and avoid loss of data.We realized data receiving by buffer query mode, and tests of receiving performance were executed to find out whether some mistakes would happen in a high speed data receiving, such as conflict, confusion and loss. One case of tests is illustrated by Fig. 3.Fig. 3. Receiving performance testA is a PC with Windows XP OS and PCI CAN communication card,B is an embedded system with MCP2510 CAN controller, andC is also an embedded system but with SJA1000 CAN controller. Baud rate of CAN bus is set to 1000Kbps, then B and C send data frames to A separately at the same time. A receives data in buffer query mode, result shows that all data are received accurately.4.Simulation flowAt the time of development of CAN transmission framework, an effective simulation flow has to be put forward. It’s the foundation of interaction and order for simulation members. Simulation flow is designed as Fig. 4.Simulation process is divided into 3 steps:1) Firstly, simulation control member builds simulation system environment. Then it queries bus continuously for Join Requests from subsystem members. At the same time, each subsystem member will wait for Step Permission from control member after sending its Join Request. When all subsystem members join, control member will send Step Permission.2) Control member waits for Data Requests from subsystem members after sending Step Permission. At the same time, each subsystem member runs its own simulation model and makes result for this period, and then it sends Data Request and waits for Data Permission in succession. When control member receives all Data Requests, it will send Data Permission.Fig. 4. Simulation process3) Control member waits for Step Requests from subsystem members after sending Data Permission. Then subsystem members will send data according to different preconditions:a) The first subsystem member will send its simulation results after receiving Data Permission from controlmember, and sends its Step Request when results sending finishes. Then it waits for Step Permission.Because that function GetData() is called in function WaitPermit(), so the first subsystem member can receive the data sent by other members in its waiting time.b) The second subsystem member will send its simulation results after receiving Step Request from the firstsubsystem member, and sends its Step Request when results sending finishes. Then it waits for Step Permission. The rest may be deduced by analogy, other members send its simulation results after receiving Step Request from the previous member. Thus the orderliness of data sending is insured, conflicts are avoided. And all other members are querying bus for fear of loss of data when a member sends data.And when control member receive all Step Requests, it will send Step Permission. Then whole system will go back to step 2).From above we see that simulation member plays a very important role in simulation process. It controls transfer sequence and handshake of whole simulation system. This is mainly materialized by two key nodes: Waits For Data Requests and Sends Data Permission, Waits For Step Requests and Sends Step Permission. Thus every member can not go to next step until all members finish their tasks in this step. As for the transmission mode of CAN bus, we can select either broadcast mode or filter mode according to the data demands between the members.Simulation program frameworks of different members are similar. The framework is just an environment for simulation operation, and it’s commonly developed and maintained by a special programmer. Thus programmers answering for subsystem members can pay more attention to their modeling and simulation tasks. So development efficiency is raised and maintainability of system is enhanced.5.ConclusionAt present the whole on-board simulation system has been established, and it meets all design requirements such as simulation management, transmission efficiency, reliability. Experiment results prove that the simulation framework can work stably with great efficiency and high flexibility. The framework can be easily accepted and used by programmers who are unfamiliar with CAN bus, thus development efficiency of system is raised. And it’s a very general CAN simulation framework, so it can be applied to simulation for various systems based on CAN bus. The following task is to extend the framework in order that actual hardware subsystems can join in.References[1]XIAO Longlong, CHENG Mousen, ZHANG Weihua. “Simulation and evaluation on data transmission of launch vehicle control system based on CAN bus,”Journal of Projectiles Rockets Missiles and Guidance, vol. 29, no. 2, pp. 256-260, 2009.(in Chinese)[2]Liu Shufen, Sun Xin. “Study on application of CAN bus on satellite,”Aerospace Control, vol. 22, no. 6, pp. 79-83, 2004.(in Chinese)[3]Gianluca Casarosa, Michele Apuzzo, Luca Fanucci, Bruno Sarti. “Characterization of the EMC Performances of the CAN Bus in a Typical System Bus Architecture for Small Satellites,”9th EUROMICRO Conference on Digital System Design (DSD'06), 2006, pp. 338-345.[4]Ferrer Albert, Parkes Steve. “Unified communication infrastructure for small satellites,”60th International Astronautical Congress, 2009, vol. 5, pp. 3776-3780.[5]Yan Meizhi. “Research on built-in testing methodology of small satellite,”60th International Astronautical Congress, 2009, vol. 9, pp. 6991-6994.[6]WANG Jihe, WANG Feng, LAN Shengchang, CAO Xibin. “Micro Core Based Double Satellite Real Time Simulation System,”Journal of System Simulation, vol. 20, no. 2, pp. 328-331, 2008.(in Chinese)[7]Xu Fuxiang. An introduction to satellite engineering, Beijing: China Astronautics Press, 2003, pp. 9.(in Chinese)。