0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于基于DM368的嵌入式数据记录仪的设计与实现

电子设计 来源:网络整理 作者:工程师吴畏 2018-06-21 09:40 次阅读

0 引言

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

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

1 系统组成部分

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

关于基于DM368的嵌入式数据记录仪的设计与实现

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

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

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

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

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

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

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

关于基于DM368的嵌入式数据记录仪的设计与实现

2 系统硬件平台设计

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

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

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

由于板卡尺寸的限制以及考虑到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所示。

关于基于DM368的嵌入式数据记录仪的设计与实现

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接口,用于弹体落地后地面计算机从数据记录仪上读回记录数据。

关于基于DM368的嵌入式数据记录仪的设计与实现

3 系统软件的设计

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

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

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

关于基于DM368的嵌入式数据记录仪的设计与实现

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

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

关于基于DM368的嵌入式数据记录仪的设计与实现

3.2SD卡存储掉电保护

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

4 系统功能测试

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

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

关于基于DM368的嵌入式数据记录仪的设计与实现

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

5 结论

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18281

    浏览量

    288378
  • 数据记录仪
    +关注

    关注

    0

    文章

    123

    浏览量

    13235
收藏 人收藏

    评论

    相关推荐

    DM368高速摄像机开发,请问DM368一秒钟最多能处理多少帧数据DM368最多能压缩多少帧640*480的视频数据

    388,架构是SENSOR+FPGA+DM368,外加硬盘对数据缓冲,但是DM386需要对视频处理,比如2A等操作,而且还要对视频进行H264压缩,我想问的是,DM368一秒钟最多能处
    发表于 05-31 08:41

    DM368的previewer功能

    请教一下,在DM368的开发包里的capture_create()函数里的previewer实现什么功能?里面细分了很多的模块,不知该如何配置?
    发表于 06-21 17:17

    DM368的 Pause_create()函数

    请教一下DM368的 Pause_create()函数实现什么功能?
    发表于 06-21 02:26

    DM368的截图功能

    请教一下DM368的DVSDK中的demo有没有截图和录像功能的代码?
    发表于 06-21 11:52

    DM368移植opencv

    请问一下,想移植opencv到DM368上去做拍照功能(截图),不知能否跑起来?
    发表于 06-21 16:02

    求助:有关DM368的视频采集压缩后图像质量差的疑问

    1.基于DM368器件。 2.encode版本:Build ID: 02.20.00.01  3.前端设备:adv7611,从行车记录仪采集到HDMI接口输入到ADV7611,送给DM368 4.
    发表于 06-21 03:25

    DM368监控摄像机

    : 看了DM368数据手册,看到一个疑惑点: 就是当DM368在HD(1080P,不显示,视频数据直接通过Ethernet输出)时,ARM926必须工作在432MHz,同时Vedio
    发表于 06-21 13:27

    tvp7002输入DM368的信号异常后,DM368无法正常捕获视频问题

    后发现是此时DM368无法正常捕获视频数据,capture线程一上来捕获视频的函数就卡死了;当振动结束,硬件连接稳定后,tvp7002的输出信号会变得正常,但DM368无法自行恢复,重新运行应用程序
    发表于 06-21 18:31

    dm368 deepsleep

    你好,我最近在调试dm368的deepsleep,我在平台下自己编写了pm.c sleep.S ,并通过 shell 写入mem触发 suspend,但是我发现当挂起时首先总线驱动
    发表于 06-23 06:38

    请教关于DM368与AIC3101 capture/playback 采样率 问题

    大家好:我们现在可以单独实现 1 DM368 接收 AIC3101采集(8k/16k/32k/44k)的立体声数据.2 DM368 让AIC3101播放(8k/16k/32k/44k)
    发表于 07-27 09:26

    DM368信号时序

    的YUV422 信号输入。如果是内嵌同步,则不需要接入HD 信号和VD 信号。对于输入内嵌同步的信号,DM368 硬件可以自动解析出数据嵌入的同步信息给芯片内部使用。DM368 的P
    发表于 06-13 05:00

    如何利用嵌入式系统设计汽车行驶记录仪

    行驶记录仪的国家标准(GB/T19056-2003),于2003年9月1日起正式实施。实施对象包括所有的在用车和新车,将逐步由点到面,分批分时的展开。那么我们该如何利用嵌入式系统设计汽车行驶记录仪呢?
    发表于 07-30 08:16

    如何设计嵌入式数据记录设备?

    蓝牙方式下载数据,与传统的数据下载方式相比,下载数据时既不需要拆卸设备连接线缆或插拔存储卡,又减少了连线和插拔存储卡可能导致的接触故障。那么,我们具体该如何设计嵌入式
    发表于 07-31 07:50

    DM368怎么跳过I2C检查?

    请教个问题,我想用dm368直接接收bt656数据,不需要dm368对前端的ad芯片进行初始化配置(初始化配置由单片机完成),也就是DM368的i2c不接ad芯片的i2c,请问如何修改
    发表于 04-16 07:40

    TI达芬奇系列芯片DM368在视频前端信号采集中的应用分析

    ,为 DM368 用户正确采集数据提供了参考。本文内容也可以给 DM8127、DM385 芯片的用户在使用视频摄像并行输入口采集时提供帮助。
    的头像 发表于 03-19 10:11 4760次阅读
    TI达芬奇系列芯片<b class='flag-5'>DM368</b>在视频前端信号采集中的应用分析