基于磁盘阵列的全数字遥测记录系统的设计
时间:09-18
来源:互联网
点击:
2.3 系统软件设计
系统软件的主要作用就是与配套的硬件相互协调工作完成中频检前信号实时记录和事后回放。他分成视频采集卡驱动模块、主控进程、记录/回放进程和用户界面。其中视频采集卡驱动模块作为驱动程序以模块的形式插入内核空间运行,由于用户空间进程不能直接访问底层硬件设备,所以驱动模块是上层应用程序和设备物理层之间的桥梁,上层应用程序不必关心硬件设备的具体信息,即可通过RT-Linux的指令FIFO完成对视频采集卡的控制。驱动模块负责完成对视频采集卡的设置、控制和状态采集,以及定时读取视频采集卡内的B码值和锁定标志。上层应用程序也可通过指令FIFO来设置视频采集卡内的B码值。视频数据采集卡模块和上层应用之间通过RT-Linux的共享内存来共享系统的关键性状态、控制数据,实现内核态和用户态程序的数据共享。主控进程为用户空间的普通Linux进程,他负责完成系统的初始化、维护和指令传输等任务。完成用户空间程序到内核空间程序间的指令传递。他多处于等待状态,当接收到来自用户(X-Window窗口界面或文本调试界面)的指令(通过信号量实现)时,经过FIFO发给内核进程,实现指令的传递。同时当他发送启动采集/回放命令后,会负责创建独立的读/写盘进程,来实现数据的硬盘记录和回放。主控进程维护了一个初始的系统配置参数文件,系统停止运行后,他会保存系统的当前状态,在系统再次启动时用于初始化系统参数,同时主控进程在每次启动时会对盘阵上的任务文件进行修复,以保证因停电等意外故障导致的关机发生时,对没有结束的任务文件进行修复。记录/回放进程被主控进程创建后,便不断地在硬盘和采集缓存间(MBUFF)传输数据,记录时只要采集缓存(MBUFF)有数据,他就将数据写入硬盘阵列中。而回放时他首先将回放的数据填满采集缓存(MBUFF),然后当数据被DMA传送完成后,再次读取硬盘阵列中数据,将空出的采集缓存(MBUFF)填满。当记录/回放停止后,该进程自动结束。用户界面是基于X-window的用户进程。他以窗口的形式提供给用户一可视的操控平台,实时显示系统状态、任务内容信息和盘阵空间使用状态,接受用户如下指令:B码设置/显示、开始记录、盘阵上任务文件的回放、改名、转储、删除及数据正确性校验等管理性功能。当用户启动开始采集记录时,控制命令发给主控进程,主控进程建立一个写盘进程,同时将采集命令通过指令FIFO发给底层的视频采集卡,使视频采集设备开始采集数据。视频采集设备会连续的采集输入的中频检前信号流数据到的视频采集卡内的乒乓缓存内,当乒乓缓存缓存满时,他会切换到另一片乒乓缓存继续采集数据,同时会产生一个数据就绪中断,触发系统的中断服务程序。中断服务程序启动一次DMA传输将乒乓缓存内的数据依次传输到采集缓存(MBUFF)内,并调整下一次存储数据的采集缓存(MBUFF)指针,使采集数据在这里暂存且不被覆盖。而写盘进程实时的检测采集缓存(MBUFF)内是否有新采集的数据,如果有会马上写入的硬盘阵列中,512 MB的采集缓存(MBUFF),保证了采集数据未被覆盖前既被写入到盘阵。同样的,当回放时,预先将盘上的回放数据读到缓存内,再发送回放命令,这样即使读盘速度暂时降低,也可以保证缓存内有足够的回放数据被输出到视频采集卡,保证了回放的连续性。

3 结 语
为了检验系统性能和工作可靠性,研制样机进行了累计1 000 h的环境应力试验(包括测试时间)和100 h的加速寿命试验,表现均稳定可靠,记录数据满足各项指标。同时还反复进行了记录过程磁盘阵列单盘掉电数据恢复测试,结果令人满意,充分验证了RAID技术用于数字记录的优越性。
系统软件的主要作用就是与配套的硬件相互协调工作完成中频检前信号实时记录和事后回放。他分成视频采集卡驱动模块、主控进程、记录/回放进程和用户界面。其中视频采集卡驱动模块作为驱动程序以模块的形式插入内核空间运行,由于用户空间进程不能直接访问底层硬件设备,所以驱动模块是上层应用程序和设备物理层之间的桥梁,上层应用程序不必关心硬件设备的具体信息,即可通过RT-Linux的指令FIFO完成对视频采集卡的控制。驱动模块负责完成对视频采集卡的设置、控制和状态采集,以及定时读取视频采集卡内的B码值和锁定标志。上层应用程序也可通过指令FIFO来设置视频采集卡内的B码值。视频数据采集卡模块和上层应用之间通过RT-Linux的共享内存来共享系统的关键性状态、控制数据,实现内核态和用户态程序的数据共享。主控进程为用户空间的普通Linux进程,他负责完成系统的初始化、维护和指令传输等任务。完成用户空间程序到内核空间程序间的指令传递。他多处于等待状态,当接收到来自用户(X-Window窗口界面或文本调试界面)的指令(通过信号量实现)时,经过FIFO发给内核进程,实现指令的传递。同时当他发送启动采集/回放命令后,会负责创建独立的读/写盘进程,来实现数据的硬盘记录和回放。主控进程维护了一个初始的系统配置参数文件,系统停止运行后,他会保存系统的当前状态,在系统再次启动时用于初始化系统参数,同时主控进程在每次启动时会对盘阵上的任务文件进行修复,以保证因停电等意外故障导致的关机发生时,对没有结束的任务文件进行修复。记录/回放进程被主控进程创建后,便不断地在硬盘和采集缓存间(MBUFF)传输数据,记录时只要采集缓存(MBUFF)有数据,他就将数据写入硬盘阵列中。而回放时他首先将回放的数据填满采集缓存(MBUFF),然后当数据被DMA传送完成后,再次读取硬盘阵列中数据,将空出的采集缓存(MBUFF)填满。当记录/回放停止后,该进程自动结束。用户界面是基于X-window的用户进程。他以窗口的形式提供给用户一可视的操控平台,实时显示系统状态、任务内容信息和盘阵空间使用状态,接受用户如下指令:B码设置/显示、开始记录、盘阵上任务文件的回放、改名、转储、删除及数据正确性校验等管理性功能。当用户启动开始采集记录时,控制命令发给主控进程,主控进程建立一个写盘进程,同时将采集命令通过指令FIFO发给底层的视频采集卡,使视频采集设备开始采集数据。视频采集设备会连续的采集输入的中频检前信号流数据到的视频采集卡内的乒乓缓存内,当乒乓缓存缓存满时,他会切换到另一片乒乓缓存继续采集数据,同时会产生一个数据就绪中断,触发系统的中断服务程序。中断服务程序启动一次DMA传输将乒乓缓存内的数据依次传输到采集缓存(MBUFF)内,并调整下一次存储数据的采集缓存(MBUFF)指针,使采集数据在这里暂存且不被覆盖。而写盘进程实时的检测采集缓存(MBUFF)内是否有新采集的数据,如果有会马上写入的硬盘阵列中,512 MB的采集缓存(MBUFF),保证了采集数据未被覆盖前既被写入到盘阵。同样的,当回放时,预先将盘上的回放数据读到缓存内,再发送回放命令,这样即使读盘速度暂时降低,也可以保证缓存内有足够的回放数据被输出到视频采集卡,保证了回放的连续性。

3 结 语
为了检验系统性能和工作可靠性,研制样机进行了累计1 000 h的环境应力试验(包括测试时间)和100 h的加速寿命试验,表现均稳定可靠,记录数据满足各项指标。同时还反复进行了记录过程磁盘阵列单盘掉电数据恢复测试,结果令人满意,充分验证了RAID技术用于数字记录的优越性。
总线 Linux C语言 电路 滤波器 ADC FPGA DAC 相关文章:
- 一种新型防伪读码器的设计(01-01)
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 基于ARM核的AT75C220及其在指纹识别系统中的应用(05-24)
- 基于nRF2401智能小区无线抄表系统集中器设计(04-30)
- 基于FPGA安全封装的身份认证模型研究(05-27)
- 高精度压力测控系统的试验研究(04-08)
