微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的实时视频信号处理平台的设计,包括电路图及源代码

基于FPGA的实时视频信号处理平台的设计,包括电路图及源代码

时间:06-04 来源:互联网 点击:

常工作,图像变倍时,变倍跟踪模块输出的电机驱动信号有效,变倍结束后,搜索模块产生的电机驱动信号有效。

(7)电机驱动模块

本项目选用的光学镜头具有变倍和聚焦两个步进电机,光学变焦22倍,步距角18°,每步位移量0.02mm,转速600~800pps,采用2-2相驱动励磁方式,驱动脉冲变化如表1所示。

表1 步进电机驱动脉冲

1

2

3

4

A+

H

H

L

L

A-

L

L

H

H

B+

L

H

H

L

B-

H

L

L

H

若驱动脉冲按1à2à3à4方向循环发出,则步进电机带动的镜片朝靠近图像传感器方向移动,反之朝远离图像传感器方向移动,从而可通过产生不同的驱动脉冲控制电机的转动步数及转动方向。

该模块根据系统控制模块输出的电机驱动信号(转向,步长)来产生对应的A+、A-、B+、B-电机驱动脉冲。该模块内部为模值为4的计数器,输入转向控制信号为高电平时,该计数器加法计数,转向为低电平时,计数器减法计数,根据输入的步长控制输出驱动脉冲的持续时间长度,计数器值对应不同的驱动脉冲信号,则可产生不同方向、不同步长的电机驱动脉冲。

  1. 图像处理模块

图像处理模块可实现图像的压缩编码、解码、本地存储及以太网传输。其内部功能模块如图7所示。

  1. 后端处理模块

后端处理模块主要实现了图像的帧率提升、图像放大。其内部结构如图8所示。

该模块接收16位的YCbCr(4:2:2)格式视频信号,并输入到输入缓冲,输入缓冲写满一行、即736*16数据后,触发主控制器读取,主控制器将从输入缓冲中连续读取一行数据并输出到DDR控制器模块,由于DDR存储器为双沿触发,所以主控制器模块将接收的16位数据转换成32位宽。DDR控制器分别在260MHz时钟上升沿、下降沿将数据写入到DDR存储器的Bank0中,并从Bank1中每次连续读取一行图像数据,即736个数据,输出到输出缓冲中。当一帧图像都写入到Bank0中,则下一帧图像数据写入到Bank1中,并从Bank0中读取数据,一直按此规则进行读写切换。同时,时序发生器模块产生1024*768@60Hz的行场扫描信号,在行场信号都有效时,在输出像素时钟同步下,从输出缓冲中读取视频数据,由于写入输入缓冲中的数据速率较低,在写满一帧图像的时间内可从DDR中读出5帧,则输出图像的帧率可由12Hz提升至60Hz。色空间转换模块将16位的YCbCr(4:2:2)格式视频信号转换成24位的RGB信号,并通过图像放大模块将分辨率由736*576放大到1024*768。

  1. 输入缓冲模块

该模块内部包含一个异步先进先出(FIFO),宽度为16位,深度为2048,接收格式转换模块输出的16位图像数据,写入速率为原视频输入像素时钟的2分频,当写满一行图像数据(736*16)时,触发主控制器产生读使能信号,在520MHz主时钟同步下,连续读取736个数据。

  1. 主控制器模块

该模块为视频处理的主要控制模块,接收输入缓冲模块发出的读触发信号,产生输入缓冲的读使能信号,从输入缓冲中读取数据,并转换成32数据宽度,转换方法与格式转换模块原理相同,转换后的32位宽数据写入到DDR控制器模块。该模块同时接收输出缓冲模块发出的写触发信号,并向DDR控制器模块发出读请求信号,接收DDR控制器模块输出的32位宽的数据信息,并将32位宽数据转换成16位宽,写入到输出缓冲,每次连续写入数据个数为736。

当从输入缓冲模块接收完一帧数据,并写入到DDR存储器Bank0空间后,第二帧数据将写入到Bank1空间,同时从Bank0中读取数据,写满一帧数据后,进行读写切换,由于写满一帧的时间为输入图像的场周期,即83ms,读取一帧的时间为输出视频的场频,即16.67ms,则在写满一帧数据的时间内,可连续循环读出5帧数据,提高了帧率。

  1. DDR控制器模块

该模块工作时,首先对DDR2存储器进行初始化,设置迸发长度为4。由于选用的DDR2存储器的行宽度为13位,所以设置刷新周期为64ms/213,即7.8125us。

该模块主要功能是接收主控制器模块发出的写命令、写地址、32位宽的写入数据,将数据写入到对应存储单元,由于DDR存储器为双沿触发,在内部260MHz时钟的上升沿和下降沿分别将低16位和高16位数据写入到DDR2存储器,同时接收主控制器模块产生的读命令、读地址,并读取对应存储单元的数据,输出到主控制器模块。

  1. 时序发生器模块

该模块主要功能是根据VESA标准,产生1024*768@60Hz的行场扫描信号,并在行场信号都有效时,产生输出缓冲的读使能信号。

  1. 输出缓冲模块

该模块内部包含一个异步先进先出(FIFO),写时钟为520MHz的系统主时钟,写入数据来自主控制器模块从DDR控制器中读出的视频数据,每次连续写入一行数据,即736个数据,读时钟为时序发生器模块生成的输出像素时钟,读使能为时序发生器模块输出的读使

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top