APP下载

皮卫星多传感器同步采集系统*

2018-08-03张佳慧王慧泉金仲和

传感器与微系统 2018年8期
关键词:实时性布线中断

张佳慧, 王慧泉, 金仲和

(浙江大学 微小卫星研究中心,浙江 杭州 310027)

0 引 言

随着航天事业发展,皮卫星扮演愈发重要的角色[1]。星上传感器数据采集对皮卫星许多应用[2,3]至关重要。早期皮卫星如ZDPS—1A卫星在数据采集设计上注重接口容差容错能力[4,5]设计,而忽略多路数据高速同步采集。受限于能源供给和布线,特别对某些特殊应用来说,传感器布置在星体外部,需通过远距离星体外部布线实现互连,因此,皮卫星[5]数据采集系统要求以尽可能少的信号线实现多传感器通信,且必须低功耗。

吴少军等人采用4块AD100子板,4块DA100子板和1块MD100控制板实现了某大型导弹的同步数据采集系统[6],这种系统方案复杂,皮卫星无法承受。通过以太网实现多个工控机同步工作,进而实现数据同步采集[7],这种设计每个传感器节点需采用单独网线与路由节点相连,对星上布线带来极大压力,也不适用于皮卫星。

相比于地面的传统同步采集系统[8],皮卫星多传感器同步采集的关键在于以有限的通道资源及时获得所有传感器数据,系统设计不仅受限于皮卫星综合电子系统不能长时运行同步采集程序,并且受限于低功耗的传感器单片机(microcontroller unit,MCU)所能支持的数据传输速率。皮卫星在轨正常运行时,需要在后台主循环中周期运行综合电子、姿控、电源等周期性业务程序,限制了同步采集任务的运行时间。同时这些周期业务程序进行不定期的外存存储操作时,最小屏蔽中断时间在7~8 ms,影响系统实时性。多传感器同步采集系统的关键功能在于同步采集传感器数据并实时下传,同时也需要将传感器数据存入外存中以便后续下传。以上需求意味着同步采集系统必须具备可以实时响应的中断系统。若要以100 Hz的频率完成多传感器同步采集,同时确保其他皮卫星任务正常运行,则必须妥善处理外存存储与实时响应中断之间的矛盾。

本文提出一种数字信号处理器(digital signal processor,DSP)+现场可编程门阵列(field programmable gate array,FPGA)架构利用FPGA实现虚拟直接存储器存取(direct memory access,DMA)与实时响应中断系统设计,实现了84路传感器、100 Hz采样频率、同步精度优于10 μs的皮卫星多传感器同步采集系统。

1 硬件平台与软件结构设计

受限于皮卫星结构布局,采用2线I2C总线与传感器间通信,根据布线要求将84路传感器分成6组,每组14只传感器。利用FPGA扩展6个I2C总线控制器,与各传感器通信,为了避免因I2C时序造成的同一路上传感器数据采样时刻时间差,保证所有传感器同步采集,为每路I2C总线额外设计了一根同步启动信号SYNC:当皮卫星综合电子系统发起同步采集任务时,首先给出同步采集信号,所有传感器收到同步启动信号后立即开始采集,综合电子系统再通过I2C总线获取数据,该自定义总线结构如图1。

图1 自定义总线结构

硬件平台具体结构如图2所示,采用基于TI的C6000系列DSP作为核心处理器,用于实时处理传感器数据。利用FPGA扩展实现6路自动采集的I2C主机,每路I2C主机与14只传感器采用图1描述自定义总线协议通信。

图2 同步采集硬件结构

FPGA程序可划分为I2C控制器,中断模块以及缓存模块3部分。一次数据采集,首先由I2C控制器读取传感器采集到的数据并将数据存入缓存中,每完成2次数据采集,向DSP给出外部中断,通知DSP读取缓存数据,以确保中断间隔时间内可以完成数据存储操作,因此,数据采集频率为100 Hz,中断频率为50 Hz。具体程序设计本文不再展开描述。

DSP程序中同步采集任务程序可分为同步采集指令接收模块、数据存储和数据下传模块。指令接收模块用于接收采集指令后完成对各路I2C主机的配置。出于实时性考虑,数据下传必须在中断中进行,受限于DSP内存容量,同步采集数据存储无法以暂存入内存再利用处理器空闲时间进行外存存储的方式进行。因此,多传感同步采集系统软件设计关键在于设计高效的数据下传和数据存储模块。

2 数据下传和存储

2.1 数据下传设计

根据对传感器数据需求的迫切程度,数据可划分为Ⅰ类数据和Ⅱ类数据,Ⅰ类数据表示需要实时更新的数据,Ⅱ类数据为实时性需求较弱的数据。根据目前所提供的测控通道。每帧数据帧中数据区长度为398 B,而Ⅰ类数据与Ⅱ类数据长度之和超过了数据区的长度。因此,须对数据帧进行波道复用。复用方式如图3所示。

图3 波道复用方式示意

其中,Ⅰ类数据前的序号表示数据帧计数,每一个数据帧中均包含完整的Ⅰ类数据信息,Ⅱ类数据拆分为5组,以数据帧计数对5取余的方式识别本次收到的数据帧中所包含的Ⅱ类数据分组信息。此方法确保了Ⅰ类数据100 Hz的更新频率,而Ⅱ类数据也能以20 Hz更新。

2.2 数据存储设计

同步采集系统任务每5次采集中断读取到的数据可以拼成一组完整的Ⅱ类数据,因此,同步采集任务数据存储以每5次采集的数据组成的同步采集存储数据帧为基本单位。NANDflash写入时全局中断屏蔽时长为7~8 ms/page。同步采集存储数据帧大小为2 page,同步采集中断服务子程序在不进行数据存储时耗时为7 ms,若在一次中断中存入完整的同步采集存储数据帧,则该中断耗时将超过20 ms,影响后续中断的实时性。同时,由业务程序发起的NANDflash读写操作也会影响同步采集任务中断的实时性。通过节拍存储的方式可解决上述问题:存储操作以每5个中断为周期,首先将同步采集存储数据帧按page分成存储数据帧1和存储数据帧2,前2个中断分别用于写入存储数据帧1和存储数据帧2,后3个中断则用于调用业务程序数据存储应用程序界面 (application program interface,API)分别用于存储姿控数据、电源数据和综合电子数据。而业务程序中调用的数据存储API将被禁用,这样的互斥性设计确保了同步采集任务发起时,所有NANDflash读写操作均处于中断服务子程序中,保证综合电子系统响应同步采集中断的实时性。

3 数据采样时间计算

低功耗传感器MCU支持最大的通信速率下10 ms仅能传送10 B的数据,不能为每次数据提供采集时刻信息。若以DSP收到同步采集中断的时刻t作为该次数据的采样时刻,则不仅存在DSP中断响应时间Δt1,并且受到I2C时序时间Δt2的影响,若某路I2C总线上存在无法响应的异常传感器,将会导致I2C时序持续时间缩短,进而影响由收到中断时刻修正得到的数据采样时刻的精度。

式中T表示中断周期,即20 ms,再将该相对时间t′ 转换为绝对时间t即可得到本次数据的采样时刻。

4 测 试

4.1 同步采集接口容差容错测试

对接口通信进行可靠性测试,验证接口以及总线协议的性能是否满足要求。其中容差是指将接口通信速率调整至指标上限的150 %,观察通信结果,由于同步采集系统中的外设传感器仅支持固定速率,故不提高其通信速率,表1给出了同步采集系统结果容差容错测试结果。

表1 接口容差容错测试结果

4.2 中断实时性测试

中断实时性测试结果如图4所示,其中高电平表示皮卫星程序处在同步采集中断中,低电平表示程序在执行其他卫星任务。可以看出,同步采集中断触发间隔为20 ms,每5相邻中断中前2个中断要存储同步采集存储数据帧而耗时较长,其他3个中断由于所调用的业务程序数据存储API对应的数据尚未达到page的数据量,无需发起存储操作而耗时较短。同步采集中断服务子程序耗时占比为45.2 %,皮卫星周期业务程序耗时占比约为30 %,发起同步采集任务时综合电子系统DSP空闲时间占比约为24.8 %,因此,同步采集任务进行时不会影响皮卫星业务程序正常运行。

4.3 数据同步性测试

由于存在同步启动信号,84只传感器采样数据的同步性仅由传感器MCU中断响应时间差异以及布线影响各传感器收到同步启动信号时间。经地面测试,各传感器MCU中断响应差异在8 μs以下,同一路的第一只传感器和最后一只传感器布线长度约为1.5 m,布线对数据同步性的影响约为0.5 ns,与MCU中断响应时间差异不可比拟,因此,系统同步采集精度满足10 μs要求。

图4 同步采集中断测试结果

5 结 论

从对84路传感器进行100 Hz实时同步采样的实际任务需求出发,设计了基于I2C与同步采集信号相结合的自定义通信协议克服I2C时序时延,保证各传感器采集时刻的一致性。实验结果表明:该系统满足100 Hz同步采样多路传感器的设计要求,采集数据同步精度优于10 μs;同步采集任务启动时,皮卫星业务程序运行正常。该系统已在某型号皮卫星中得到良好应用,证明其性能优良,稳定可靠,能满足任务要求。

猜你喜欢

实时性布线中断
摆脱繁琐布线,重定义家庭影院 Klipsch Reference Wireless 5.1
电子布线系统在工程中的应用
基于FPGA的中断控制器设计*
卫星固定站集成布线方案的优化设计
跟踪导练(二)(5)
千里移防,卫勤保障不中断
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
一种车载Profibus总线系统的实时性分析
FPGA内嵌PowerPC的中断响应分析