微机电(MEMS)陀螺广泛应用于航空、汽车自动化和消费类电子产品等领域,按照振动结构的不同,主要分为线振动陀螺和旋转振动陀螺。随着MEMS陀螺成本功耗不断降低、体积重量逐渐减小,对其数字化方案也提出了新的要求如高精度、高采样频率等。为使MEMS陀螺能在高频率下工作,数字化电路就需要具备高采样频率,而目前MEMS陀螺的数字化主要是通过采用嵌入式现场可编程门陈列(FPGA)、数字信号处理器(DSP)芯片或者它们的组合来实现。
最终使用MEMS陀螺在该平台上进行测试验证,使陀螺的信号解调和控制能在PC端实现,实际的使用过程比一般的FPGA或者DSP更加便捷。通过PCIe(PCIexpress)总线,实现PC和采集卡的高速传输,最大控制延时小于10μs.
1、计算机实时控制系统稳定低延迟优化设计
实时性作为陀螺测控系统的关键指标,本节将着重设计和优化控制系统的低延时性和稳定性。第一部分低延迟性优化主要包括硬件优化和软件优化。硬件优化需要考虑高速总线的类型和高速总线的传输控制方式;而软件优化则主要涉及到操作系统驱动层面的优化以及控制算法优化。第二部分稳定性优化是让计算机实时控制系统稳定地产生输出信号,在实际工程中则是避免该系统对陀螺设备的控制受到中断延时和传输延时波动的影响。
1.1、数据传输的低延优化
图1 实时测控平台低延迟优化方案
图1a展示了实时测控平台的软硬件框架和数据流向。硬件中断发出后,AD采集到的数据需要经过接口转换层、FPGA的PCIeIP核、PCIe总线等才能到达计算机IO内存空间。完成内存地址映射后,用户程序就可以从该内存读取数据,进行数据处理。在实际多线程的数据传输中,还会产生额外的延时,如图1b中所示,有中断延时、线程延时和线程上下文切换延时等。其中中断延时定义为计算机端硬件中断产生到中断服务程序(ISR)中第一条指令执行的时间差,主要与内核架构、CPU主频和负载有关。由于线程之间的调度,内核需要准备时间,用于保存和恢复线程上下文环境、获取或释放信号量等。线程延时定义为ISR中从产生唤醒正在等待的线程信号,到线程执行第一条指令的时间差。线程上下文切换时间则为一个线程运行完到第二个线程第一条指令执行的时间差。