2652计算机测量与控制.2010.18(11ComputerMeasurement&Control设计与应用收稿日期:20100327;修回日期:20100507。基金项目:国家自然科学基金(60704010;国家863重点项目(2008AA12A200。作者简介:贾建峰(1977,男,山西翼城人,硕士研究生,主要从事微小卫星姿轨控下位机方向研究。崔培玲(1975,女,河南巩义人,副教授,硕士生导师,主要从事微小卫星姿轨控等方向的研究。文章编号:16714598(201011265204中图分类号:TP336文献标识码:A基于FPGA的ARM与CAN控制器的接口设计与实现贾建峰,崔培玲(北京航空航天大学仪器科学与光电工程学院,新型惯性仪表与导航系统技术国防重点学科实验室,北京100191摘要:卫星姿轨控系统CAN总线的设计与实现是基于CAN总线的卫星控制系统实现的关键技术之一;本文分析了ARM处理器AT91RM9200和CAN控制器SJA1000的接口信号及时序,设计了基于现场可编程门阵列FPGA的ARM处理器与CAN控制器之间的接口电路,并给出了详细的软硬件实现方法,最后,在卫星姿轨控下位机原理样机中实现了该接口方案;测试结果表明,该接口能够实现CAN总线在不同波特率下的通信,性能可靠,扩展性强,满足了姿轨控计算机两路CAN总线冗余备份的要求,为其它系列处理器外扩地址数据线复用接口提供了参考。关键词:ARM;CAN总线;FPGA;接口DesignandRealizationoftheInterfacebetweenARMandCANControllerBasedonFPGAJiaJianfeng,CuiPeiling(NovelInertialInstrumentandNavigationSystemTechnologyKeyLaboratoryofFundamentalScienceforNationalDefense,SchoolofInstrumentScienceandOpto-ElectronicEngineering,BeijingUniversityofAeronauticsandAstronautics,Beijing100191,ChinaAbstract:DesignandrealizationoftheCANbusintheattitudeandorbitcontrolsystemofasatelliteisoneofthekeytechnologiesintheCAN-bus-basedcontrolsystemofthesatellite.Inthispaper,theinterfacesignalsandthetimesequencesabouttheARMprocessorofAT91RM9200andtheCANcontrollerofSJA1000areanalyzed;theinterfacecircuitbetweenARMprocessorandCANcontrollerbasedonfieldprogrammablegatearray(FPGAisdesigned,andthedetailedrealizationmethodsofsoftwareandhardwarearegiven.Intheend,thisdesignisusedinthesatelliteprototypehardwareplatformoftheattitudeandorbitcontrolsystem.ExperimentalresultsshowthattheinterfaceworksstablyindifferentbaudrateoftheCANbus.Itisreliableandexpandableintheaspectofmeetingtheattitudeandorbitcontrolcomputerrequirementsoftwo-wayCANbusforredundancyandwillprovideareferenceindealingwithasimilarproblem.Keywords:ARM;CANbus;FPGA;Interface0引言CAN(ControllerAreaNetwork,控制器局域网总线是一个多主机异步串行总线,已被公认为是最有前途的现场总线之一[1]。由于其采用了简单的通信协议、超强的错误检测手段和优先级仲裁等技术,使得CAN总线具有抗干扰性强、传输速率高和可靠性高的特点,在小卫星和微小卫星中得到了越来越广泛的应用。英国Surrey大学卫星技术公司已使用CAN总线作为多颗小卫星总线,并且取得了飞行成功[2]。我国发射的航天清华一号和纳星一号等多颗小卫星也都采用了主从两套CAN总线作为星上数据总线[3]。目前应用较多的CAN控制器是Philips公司的SJA1000芯片。由于特殊的应用环境,微小卫星姿轨控CPU主要考虑性能功耗等技术指标,ARM(AdvancedRISCMachines嵌入式微处理器是高性能、低功耗RISC芯片[4],能够满足姿轨控CPU的要求。从成功在轨运行的微小卫星可以看出,ARM芯片经过抗辐照、高低温等处理后,可以用于空间飞行器。如2000年成功发射的英国萨瑞大学纳米卫星SNAP1,该星上处理器采用的就是主频220MHz,32位StrongARMRISC处理器SA1100[5]。FPGA(FieldProgrammableGateArray,现场可编程门阵列经过二十多年的发展,集成度越来越高,功能也日渐强大,从电子设计的外围器件逐渐演变为数字系统的核心,在航空航天等诸多领域有着广泛的应用[6]。FPGA具有非常丰富的触发器、存储器资源以及I/O资源,利用这些资源可以将其配置成各种控制逻辑,在时序逻辑控制方面有着较强的优势。针...