基于DE1-SoC的新型行车记录仪

时间:2022-07-20 09:45:51

基于DE1-SoC的新型行车记录仪

【摘要】 本产品基于DE1-SoC开发板,通过V4L2方式进行图像的采集,与FPGA交互实时显示,用Ffmpeg方式实现图像的转换和储存,并通过网络让联网的移动设备和电脑实时显示。该设备能进行分辨率为640*480的图像采样,20fps的图像显示和存储。误码率低,性能可靠。

【关键词】 行车记录仪 图像采集 V4L2 FFmpeg

理论分析:

1、整体框架:

系统由五部分组成:视频采集、视频格式转换、视频编码存储、视频显示、视频网络服务。视频采集得到原始视频帧图片,经过视频格式转换分别得到各种图片图片格式,分三路传至视频编码存储、视频显示和视频网络服务作相应处理。

2、视频采集:视频采集有linux内嵌的v4l2框架来实现。先打开视频设备文件,确定本设备为视频捕捉设备,查询摄像头支持的格式,并设置。申请视频采集所需的内存块,再确定每个内存块的信息,将内存块的地址映射到用户空间,便于对视频数据直接处理。把内存块放入队列,启动设备开始采集,等待有数据并从队列中取出,可以得到原始图片数据,再将此内存块放入队列,循环进行采样。

3、视频格式转换设计:将原始图片数据判断作相应转换。视频网络服务器需用到Jpg格式数据;视频编码存储需用到yuv420格式数据;视频显示需用到rgb32格式数据。格式转换引入libjpeg库,以库个API进行编程。

4、视频网络服务端设计:创建一个单线程服务于网络服务端。新建socket,绑定本地IP和端口号,监听网络,一旦有客户端链接,创建一个线程,将格式转换产生的jpg图片数据发送至客户端,而主线程会一直监听网络。

5、视频编码存储:视频编码和存储是采用引FFmpeg库的API来实现。先对FFmpeg进行初始化,设置编码的格式和参数,打开编码库,打开目标存储文件,将格式转换产生的yuv420数据编码并存入目标存储文件。

6、视频显示:视频显示由FPGA来完成。ARM将格式转换生成的rgb32数据存入FPGA指定的空间,并发送控制指令开始FPGA显示即可。

PCB电路搭建:

1.系统时钟:PLL_Stream 组件产生108MHz 和 150MHz的频率,为整个显示模块提供时钟信号;PLL_Sdram 组件主要产生 120MHz 的时钟信号,来对 SDRAM 的控制读写操作。该模块是把各种添加的组件接口相互连接,组建成一个硬件系统。所需要的时钟信号都是由系统时钟间接提供的。为对SDRAM进行同步操作,所以hps_0 组件中的时钟信号h2d_axi_clock 与SDRAM 组件的时钟信号clock 以及 alt_vip_ vfr_0组件的时钟信号clock_master 采用同一时钟,本系统采用的是PLL 产生的pll_sdram.outclock0。主要使用了 Hard Processor System IP Cores、Frame Reader IP Cores、SDRAM Controller IP Cores、PLL_Altera IP Cores。是由 hps_0 来控制整个系统的运行,由pll_sdram 提供整个模块运行所需要的时钟信号,alt_vip_vfr_0 来读取内存的视频数据。

2:接口连接匹配:SDRAM 作为HPS向FPGA写数据缓存设备,同时也供 alt_vip_vfr_0 读取数据。所以 alt_vip_vfr_0的 Avalon master 接口也与sdram 的 salve 接口相连。HPS通过 light weight HPS-to-FPGA 接口与其 salve 接口连接实现。在系统中对这两个IP 分配Light weight HPS-to-FPGA Bridge地址空间中的基地址,供HPS 对IP模块进行寻址访问。

3:VGA显示:第一个图层和第二图层模块的显示是由LOG_Generate_0来实现的,主要是在显示屏上显示“郑州大学”字样。背景层是由 timing_adapter_0 和alt_vip_tpc_0 组件来实现。 显示控制模块主要由 Clocked Video Output 组件来实现,通过Avalon 接口与 Alpha Blending Mixer Avalon 接口相连接。直接输出 VGA 格式的视频图像在显示屏上。

结果分析:系统采集到的视频画面质量良好,清晰度高,是一种可行的行车记录仪解决方案。因系统中引入了各类格式转化库导致系统处理时间过长,导致fps降低,后续可将转化库进行整合,以达到优化转换时间,提高fps。

参 考 文 献

[1]《C程序设计语言(第2版)》Brian W.Kernighan Dennis M.Ritchie著机械工业出版社2012年

[2]《ARM&Linux嵌入式系统教程》,马忠梅等著 北京航空航天大学出版社,2004年

[3]《TCP/IP详解 卷1:协议》W.Richard Stevens著 机械工业出版社 2013年

[4]《Verilog 数字系统设计教程》夏宇闻 编著 北京航空航天大学出版社 2013年7月出版

[5]Altera 公司提供的数据手册 :《Video and Image Processing Suite》和 《Embedded Peripheral IP User Guide》

[6]友晶科技提供培训教程:《DE1_SOC Training Matirial》

上一篇:如何有效提升初中语文教学效率 下一篇:有关如何打造初中高效政治课堂的研究