摘要:跟着新式SoC(System On a Chip)集成技能在航天技能中的运用越来越广泛,传统的星载板级规划转为SoC芯片级规划逐步成为趋势。依据IP—cores(the integration of complex building blocks)复用的SoC技能,是卫星研发中下降规划时刻和本钱卓有成效的办法。本文以商用器材SmartFusion2为渠道,以CAN总线数据收集体系为例,论述了CAN总线模块的冗余架构规划和IP核复用技能,此计划不只满意了星载核算机渠道高集成度、低功耗、也进步了星载通讯网络的稳定性和牢靠性。
关键词:SoC;IP—cores;CAN总线;软硬件协同
跟着电子技能的前进和芯片集成化技能的开展,卫星渠道电子设备出现小型化、集约化、智能化的开展趋势。SoC(System On a Chip)作为一种新的体系集成技能,可以将一个单板体系乃至整个操控体系的功用集成在一块芯片中完结,不只可以进步星载电子设备集成度,减小体积分量,进步功用密度,并且可以进步功用和体系的整体牢靠。
本文选用依据Flash为根底的SmartFusion2系列FPGA芯片作为星载核算机渠道,该芯片将可装备模仿部件、大容量Flash内存构件、全面的时钟生成和办理电路,以及依据Flash的高功用可编程逻辑模块集成在单片器材中。与此一起,FPGA内部集成了高效的ARM内核——Cortex— M3,可以直接替换传统的MCU+FPGA组合。
1 体系总述
星载核算机作为卫星渠道的中心部件,选用总线网络与星载其他电子设备进行互连通讯,完结对卫星的多模块操控、星上资源的优化与重组、整星归纳信息处理等作业。本体系选用CAN总线将各个单机模块衔接在一起,构建一个可以有用的支撑分布式操控的串行通讯网络。
归纳电子舱内部集成了多个模块,以Cortex—m3微操控器作为主操控单元,各单机模块传送的数据经过特定的通讯接口将操控信号送给星载核算机微操控器模块,并进行一致的数据处理与使命调度。体系渠道包含大容量存储办理单元模块,大容量存储办理单元由独立的处理器承受载荷的数据并存储到4G bits的flash,依据中央处理单元的要求对大容量存储单元进行操作,为存储载荷的有用数据供给了确保。
卫星体系功用与信息流如图1所示。
2 硬件规划
2.1 微操控器模块规划
微操控器模块是归纳电子舱的中心模块,首要担任会集完结星上的数据处理、卫星飞翔操控使命和姿势轨迹数据处理等。依据商用器材SmartFusion2为渠道的星载核算机,集成FPGA、ARM Cortex—M3处理器硬核,以及可编程模仿资源于一体的器材,可以完结彻底可定制体系规划和IP维护才能,并且便于完结软硬件协同规划。FPGA模块供给的资源如图2所示,首要包含:500000逻辑门单元,大于1 Mbit的RAM模块,可用I/O引脚数大于300个。FPGA内嵌的处理器内核是Cortex-M3,主频为166 MHZ,支撑的外设有10/100/Mbps的网络,USB2.0接口、CAN2.0操控器接口、UART串行调试接口等。存储单元首要存储体系的运用程序代码及记载数据,由NOR FLASH存储器和DDRSDRAM组成。主内存是体系运转时代码履行的区域,也是运用程序暂时变量和中心数据的寄存空间,它的读写速度直接影响到了体系的核算功率,因而需求尽量进步主内存的拜访速度和空间巨细。本体系中运用DDR SDRAM作为体系的主内存,确保内存拜访时刻和内存容量不会成为影响体系功用的瓶颈。
2.2 CAN模块规划
由于星载核算机自身处在恶劣的作业环境,在体系规划开发时有必要首要考虑其自身的牢靠性及容错才能,所认为确保通讯接口的牢靠性,本体系选用冗余备份形式规划CAN接口模块。硬件逻辑结构如图3所示,CAN总线冗余规划选用操控器冗余形式,由两个CAN收发器、两个CAN操控器和单CPU组成。两条数据通道彻底独立、互不影响。与此一起,双CAN模块选用热备份作业形式,主用设备和备用设备一起处于上电运转状况,且同步进行数据收集、数据处理和核算。可是备份设备的数据处理不起作用,仅当主用设备失效时,CPU才会挑选快速呼应备用设备的中止,并接纳备用设备的数据。
2.3 CAN总线冗余模块规划
依据SmartFusion2的SoC规划渠道仅在APB_1总线上挂载了单一CAN2.0操控接口,为完结硬件冗余规划,利用了SoC供给的FPGA可编程逻辑资源完结了独立的SJA1000CAN操控器。
如图4所示,由VHDL言语规划完结SJA1000 CAN IP软核的规划并生成体系可装备的动态模块,主控单元Cortex—M3经过高档外设总线(APB3)总线接口将数据输出,CAN总线操控器经过一个SRAM(报文缓冲器)与从设备完结通讯并对数据报文进行预处理。
HDL程序在Libero IDE集成环境中完结,运用VHDL硬件描绘言语编写代码,并编写相关的测验代码进行功用验证。
3 软件规划
CAN总线操控器的功用装备和行为由主操控器Cortex—M3设置的C程序完结,在SoftConsole集成开发环境中完结。
依据SJA1000规划的CAN操控器和微操控器自带的CAN操控器构成了CAN总线上的双冗余备份形式。两者在内存中的映射开始地址分别为:0x40015000u和0x70000000u。由于两种CAN操控器的IP核不同,需求依据每个操控器选用的协议规划CAN设备的驱动程序。
1)单节点驱动规划
Cortex—M3内部集成的CAN操控器对如图5所示,操控器从CAN总线上接纳和发送串行数据,并将数据传递给报文处理器。报文处理器依据当时的过滤设置以及报文目标存储器中的标识符,将适宜的报文内容载入与之对应的报文目标。报文处理器还担任依据CAN总线的事情发生中止;报文目标存储器是一组32 个彻底相同的存储模块,可为每个报文目标保存其当时的装备、状况以及实践数据。用户可直接装备报文目标存储器完结数据的发送和接纳装备。
CAN总线节点的软件规划首要包含CAN节点初始化、报文发送和报文接纳。运用操控器之前,需设置CAN的作业时钟(40 MHz)并装备用于传输CAN信息的GPIO管脚。
2)冗余程序规划
体系运用了两条彻底独立的CAN总线数据通道,完结了物理层、数据链路层的全面冗余。独立的操控器可以检测到自己通道的毛病,但CAN协议标准界说的数据链路层和部分物理层并不完好,需求经过软件冗余模块来完结总线状况的监控、网络毛病的确诊和标识处理。
在热冗余的情况下,本地节点主操控器一起翻开两个总线操控器的中止。当网络其他节点发送数据帧/恳求帧时,如集一个CAN操控器到它相对应的总线上的任一环节发生故
障,则相应的总线操控器不会发生中止,操控器收到的数据则是另一个没有发生毛病的总线上的数据。假如本地两个总线操控器一起接纳到同一个报文,并分别向主操控器Cort ex—M3请求中止。当有一个总线操控器请求成功时,则在中止服务程序中封闭中止,进行数据处理。假如接纳到的报文有用,主操控器则对数据进行处理,处理完毕后,参加低延时、铲除一切的中止并在退出前翻开一切的中止。另一个CAN总线操控器的中止,假如是一起抵达的则被铲除,假如是稍后抵达的,则会由于中止处理程序的延时也相同会被铲除。假如接纳到的报文无效,主操控器将铲除本次操控器请求的中止,退出中止处理函数。此刻,另一个CAN总线操控器的中止会被呼应,主操控器会判别接纳到的报文是否有
效,并采纳相应措施。
4 结束语
本文的规划立异点在于提出了依据SoC技能与IP核复用技能的星载核算机CAN网络模块冗余规划,与传统的星载核算机外扩两片CAN操控器的冗余规划计划比较,本规划充分利用SoC技能完结内置两路CAN操控器,简化电路规划、节省了星载核算机单板体积且选用揭露敞开免费的软IP以及自行开发的软IP核到达下降本钱的意图下降了本钱。