《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于DM368的嵌入式数据记录仪的设计与实现
基于DM368的嵌入式数据记录仪的设计与实现
2018年电子技术应用第3期
石永彪1,2,张 湧2,楼晨风1,2,刘 淳1,2,胡麟苗1,2
1.中国科学院大学,北京100039;2.上海技术物理研究所红外探测与成像技术重点实验室,上海200083
摘要: 针对导弹弹上空间有限、对载体的重量和功耗有着严格限制等要求,研制了一种具有高可靠性、低功耗、小型化的弹载数据记录仪。本系统主要实现对导弹飞行过程中的场景视频信息进行H.264格式硬件压缩存储以及对飞行姿态等数据进行实时记录并存储至高速大容量SD卡,极大地方便了飞行试验后数据的读出和处理。
中图分类号: TP216.2
文献标识码: A
DOI:10.16157/j.issn.0258-7998.173541
Design and implementation of embedded data recorder based on DM368
Shi Yongbiao1,2,Zhang Yong2,Lou Chenfeng1,2,Liu Chun1,2,Hu Linmiao1,2
1.University of Chinese Academy of Sciences,Beijing 100039,China; 2.Key Laboratory of Infrared System Detection and Imaging Technology of Shanghai Institute of Technical Physics, Shanghai 200083,China
Abstract: In view of the limited of the space, the weight of the carrier and the power consumption of the missile, this paper designed a data recorder system with high reliability, low power consumption and small size. The system could receive video data of scene and then realize hardware compressed storage in H.264 format. At the same time, it can also record the flight status data of the missile in real time and store the data in high-speed and large-capacity SD card, which is easy to read back and process the collected data.
Key words : embedded data recorder;video real-time compression in H.264 format;SD card storage;low power consumption

0 引言

    弹载数据记录仪的主要作用是对导弹飞行中的各种数据信息进行采集与记录,通过对数据记录仪的信息进行回读和分析,可以评估导弹在飞行过程中的性能,从而对其功能进行修改和完善。随着信息技术的发展,弹载数据记录仪在导弹的研制过程中有着越来越重要的作用,对其要求也越来越高,低功耗、大容量、小体积、高速度是当前弹载数据记录仪的发展趋势[1]

    基于以上原因和实际指标要求,本文设计了一种基于片上系统(System on Chip,SoC)芯片的数据记录仪,采用高速大容量的Micro SD卡为存储介质,使用德州仪器生产的TMS320DM368处理器作为主控芯片,在片上运行嵌入式Linux操作系统,进行相关的裁剪和移植,最终实现了1路PAL模拟视频数据的采集及H.264格式压缩存储,1路CAN总线和RS422总线与弹载计算机通信和数据交互,并通过USB接口进行数据在上位机的回读分析,以此评估飞行器的性能参数。本系统具有功耗低、成本低、数据存储量大、工作温度范围大、可扩展性强等特点。

1 系统组成部分

    弹载数据记录仪主要实现在导弹飞行过程中对环境信息的视频信息和飞行姿态参数信息的记录存储,在导弹落地后,通过配套的地面数据读取设备和地面计算机配合读出记录仪中的试验数据,最后由上位机软件对数据进行分析处理。地面读取装置与地面计算机之间通过USB接口或者百兆网络接口通信,将数据拷贝到本地存储介质。数据记录仪与地面读取装置的组成框图如图1所示。

ck7-t1.gif

    本数据记录仪实现了对多路信号的采集和记录,存储容量可以根据实际需求通过更换不同容量的SD卡来实现,且飞行试验结束后数据回读的实现方式快捷有效。记录仪的主要技术指标如下:

    (1)导弹电源系统为数据记录仪提供+12 V的工作电压,记录仪的功耗低于6 W;

    (2)采集1路PAL制式视频数据,帧频不低于25帧/s,可硬件实时压缩存储;

    (3)包含1路CAN总线和1路RS422总线,实现飞行过程中数据实时接收;

    (4)系统启动时间小于10 s,且具有掉电保护功能;

    (5)系统可正常工作的温度范围为-40 ℃~85 ℃。

    数据记录仪的功能框图如图2所示。

ck7-t2.gif

2 系统硬件平台设计

    受导弹舱体内空间的限制,同时考虑到导弹飞行过程中振动幅度大,本系统由3块体积较小的板卡组成,分别为主控板、接口板和电源板,板卡之间由专用的接口连接,可方便固定在载体内部,并进行灌封保护。其中主控板负责接收视频、RS422总线和CAN总线上的数据,并进行采集和存储控制,此模块是数据记录仪的数据存储模块,会在舱体内进行灌封防护处理以保护数据安全;接口板负责RS422总线、CAN总线以及USB接口通信的实现;电源板负责电压的转换,给主控板和接口板提供所需的工作电压。

2.1 主控制器和存储模块设计

    本系统主控板上使用TI公司的DM368处理器作为主控芯片,该芯片采用ARM+硬件编解码器的硬件架构,具有尺寸小、功耗低、编解码速度快等优点[2]。其内部包含的ARM926EJ-S处理器工作频率可达432 MHz,同时具有MJCP和HDVICP两个协处理器,可实现MPEG、H.264等格式的压缩处理,此外内部还集成视频处理子系统及各种其他丰富的外部存储或通信总线控制器。相比于传统的基于DSP、FPGA的弹载平台数据记录仪,该平台很大程度上减小了系统的复杂度,并且硬件实现视频数据的编解码,提高了压缩比,减小了开发的难度。

    由于板卡尺寸的限制以及考虑到NAND Flash存储容量较小,系统没有采用Flash芯片分组级联的存储方案,改用Micro SD卡作为压缩视频以及导弹飞行信息数据的存储介质,将SD卡放置在主控板上。由于弹体在发射和落地时存在较高的过载和冲击,为保护记录仪数据的安全,需要对主控板进行整体灌封技术处理[3]。此外,主控板上模拟视频采集模块由TVP5150AM1芯片实现,这是一款超低功耗,能够支持NTSC、PAL、SECMA等格式的高性能视频解码器,正常工作时的功耗低于120 mW,并且封装体积较小,完全满足本数据记录仪的应用需求。使用时通过I2C总线配置其内部寄存器,将采集到的CVBS信号转换为8 bit BT.656格式数据输出到DM368的视频前端(VPFE)图像采集端口,进行一些预处理后,视频数据经过缓存模块,实现编码输出或者压缩存储至SD卡,模拟视频从采集到H.264压缩存储的数据处理流程如图3所示。

ck7-t3.gif

2.2 通信模块的设计

    在数据记录仪的接口板实现了1路RS422串行数据总线接口,用于与弹载计算机实现指令的传送,RS422接口使用MAX3490芯片实现差分方式进行数据的传输,有效克服了通信过程中干扰、噪声、传输效率低等缺点;1路CAN总线接收弹载计算机发送的飞行过程中的数据信息,接口板上使用带SPI接口的独立CAN控制器的MCP2515芯片实现,该器件主要由3部分组成:CAN通信协议模块、CAN通信控制逻辑模块、SPI接口协议模块[4]。DM368主控芯片通过SPI接口,使用标准的SPI读写指令实现对MCP2515的初始化,以及数据发送和数据接收的功能操作。CAN总线的实现原理示意图如图4所示。此外接口板上有1路USB2.0接口,用于弹体落地后地面计算机从数据记录仪上读回记录数据。

ck7-t4.gif

3 系统软件的设计

    本数据记录仪所使用的SoC芯片DM368内部集成的ARM926核主频高达432 MHz,可以运行嵌入式Linux操作系统,有效实现对各种外设的控制和应用程序的执行。此外,片内的协处理器HDVICP对视频数据进行H.264格式的压缩编码,大大减小了数据量,方便了传输和存储,并且提高了图像质量[5]

    嵌入式软件平台的设计主要包括对应外设的驱动程序的开发、所需功能的应用程序的实现以及系统运行参数的设置。本系统CAN总线模块MCP2515的驱动是基于Socket CAN的网络设备驱动,用于设备的初始化配置以及为应用程序提供接口。

    在实际的飞行试验中导弹发射后接收到相关指令后开始采集视频数据,并记录存储一些飞行姿态参数,在系统断电之前停止程序的运行,释放占用的系统资源,确保数据正确地写入存储介质,断电时数据不会丢失。根据以上数据记录仪的任务需求,设计实现了基于Linux的多任务多进程的应用程序,系统初始化后,同时启动视频处理、RS422总线指令接收、CAN总线数据接收3个进程,由收到的相应指令执行对应的操作,提高了软件执行效率,并且确保了功能稳定性。飞行状态软件实现流程图如图5所示。

ck7-t5.gif

3.1 视频信号处理多线程实现

    飞行中的场景信息由摄像头采集到主控板上,在DM368处理器内进行H.264格式编码压缩,然后以文件的形式写入到SD卡。对数据记录仪的视频处理的任务采用多线程技术,程序的实现分为4个交互运行线程:控制线程、采集线程、编码线程和存储线程。线程之间通过管道共享缓冲区,设置互斥锁实现线程间的调度,提高了程序的执行效率。视频处理多线程流程图如图6所示。

ck7-t6.gif

3.2 SD卡存储掉电保护

    为确保SD卡存储介质中的数据可靠安全地记录下来,除了进行物理上的灌封保护措施,在软件方面也进行了特殊处理。为了防止系统正常关闭前突然掉电可能导致数据丢失的情况发生,在对SD卡存储操作的软件实现上,使用fflush、fsync函数实现数据从缓冲区到磁盘的写入,保证文件内容的更新速度。

4 系统功能测试

    为对该系统的性能进行测试和评估,在实验室搭建了模拟环境,主要针对系统技术指标进行了测试。使用PC向数据记录仪发送控制指令,通过上位机调试软件接收数据记录仪反馈的信息,此外通过USB接口对SD卡存储的数据进行回读分析,视频数据在SD卡内保存为后缀为h264的文件,CAN接收的数据保存为文本格式。

    首先在数据记录仪程序内记录300 s内所处理的视频帧数,通过串口将信息发送给上位机进行分析。实验数据如表1所示。

ck7-b1.gif

    由实验结果可以计算出数据记录仪平均每秒可以处理的视频图像为25.06帧,满足设计指标的压缩要求。

5 结论

    本文中所设计的弹载数据记录仪实现了多路数据的采集和存储,具有体积小、功耗低、成本低的优点,采用低功耗的SoC作为主控器、高速大容量的SD卡作为存储介质,很大程度上提高了数据记录仪的性能。实际应用表明,该记录仪满足抗高过载、高冲击、宽温度范围的工程需求,具有较高的可靠性和适用性。

参考文献

[1] 王晖,高先锋.弹载记录系统的发展趋势[J].遥测遥控,2009,30(4):69-72.

[2] Texas Instruments.TMS320DM368 digital media system-on-chip(DMSoC),Datasheet SPRS668C[Z].2010.

[3] 孙伟,张会新.基于Miron NAND Flash的弹载数据记录器的设计[J].计算机测量与控制,2014,22(8):2595-2596.

[4] 丁雪静,许永辉.基于MCP2515的CAN总线通信单元设计[J].现代电子技术,2015,38(21):60-63.

[5] 吴文生.基于DM368的高清IP Camera的软件系统设计与实现[D].武汉:华中科技大学,2011.



中文引用格式: 石永彪,张湧,楼晨风,等. 基于DM368的嵌入式数据记录仪的设计与实现[J].电子技术应用,2018,44(3):77-80.

英文引用格式: Shi Yongbiao,Zhang Yong,Lou Chenfeng,et al. Design and implementation of embedded data recorder based on DM368[J]. Application of Electronic Technique,2018,44(3):77-80.



作者信息:

石永彪1,2,张  湧2,楼晨风1,2,刘  淳1,2,胡麟苗1,2

(1.中国科学院大学,北京100039;2.上海技术物理研究所红外探测与成像技术重点实验室,上海200083)

此内容为AET网站原创,未经授权禁止转载。