当前位置:首页 > EDA > 电子设计自动化
[导读]摘要 介绍了以FPGA为核心的逻辑控制模块的数据采集系统的设计可以满足实时性要求,设计中采用自顶向下的设计方法,根据不同的功能将整个系统划分为若干模块进行设计,并介绍了每个模块的功能和实现方法。在设计中采用

摘要 介绍了以FPGA为核心的逻辑控制模块的数据采集系统的设计可以满足实时性要求,设计中采用自顶向下的设计方法,根据不同的功能将整个系统划分为若干模块进行设计,并介绍了每个模块的功能和实现方法。在设计中采用VHDL语言对各个模块进行描述。视频解码芯片采用Philips公司的SAA7113H,该芯片通过I2C总线协议进行配置。实验表明,设计可以满足图像采集实时性的要求。
关键词 图像采集;可编程门阵列;视频解码芯片;格式转换;状态机

    在图像处理系统中,首先对摄像头采集的视频信号进行A/D转换,将模拟图像信号转化为数字信号,提供给后端的处理系统进行图像处理。而视频图像采集系统是多媒体信息处理、视频监控等系统的前端子系统,是视频处理系统中不可缺少的部分。传统视频采集系统一般电路复杂、成本高,而且较难满足实时性的要求,而采用视频摄像头+视频解码器+FPGA的模式,可简化电路的复杂性,其中视频解码器对摄像头采集的信号进行AD转换,FPGA对信号的采样进行控制。FPGA的时钟频率高、时间延迟小,可以满足实时性的要求。基于以上的优点文中采用些结构来实现视频图像的采集。

1 视频解码器SAA7113H
    SAA7113H是Philips公司的一种增强型视频输入处理器,内部有一系列寄存器,寄存器的读、写通过I2C总线完成。包括一个双通道的模拟预处理电路、可编程静态增益和自动增益控制电路、时钟生成电路、数字多标准解码电路、亮度、对比度、饱和度控制电路和I2C总线控制电路。SAA7113H需外接24.576 MHz晶体,内部锁相环PLL可输出27 MHz的时钟。自动检测50 Hz和60 Hz的场频,可在PAL、NTSC两种制式之间自动转换。具有4路模拟视频信号输入,通过内部寄存器的不同配置可以实现4路信号的转换;输入可以是4路CVBS或2路Y/C信号或1路Y/C信号2路CVBS,输出为标准ITU656 YUV4:2:2格式的VPO数据总线(8-bit)。SAA7113H模拟部分和数字部分采用+3.3V,数字I/O接口兼容+5V。

2 系统总体方案及工作原理
    系统选用Altera公司的CycloneⅡ系列中的EP2C20Q240C8为系统的硬件平台,该芯片内部有18752个LE,26个乘法器和4个锁相环等。视频解码芯片采用Philips的SAA7113H。系统主要由SAA7113H图像采集接口模块、I2C总线配置模块、控制模块、像素存储模块、格式转换模块和显示接口模块组成。设计中利用VHDL语言在QuartusⅡ下进行编程和调试。系统基本结构如图1所示。



3 主要模块功能介绍
3.1 SAA7113H图像采集接口模块
    该模块负责视频图像的采集并将模拟视频信号转换为数字视频信号,为后面的视频处理做准备。该模块与SAA7113H的VPO数据总线、RTS0、RTS1、及LLC相连,RTS0和RTS1分别配置为行同步和场同步信号,只有在这两个信号同时有效时,输出数据是有效图像数据,否则是消隐信号。有效的视频信号分为奇数场和偶数场,共576行有效数据,其中奇数场有效数据为23~310行,偶数场有效数据为336~623行,其余
为垂直控制信号。
    SAA7113H的VP0总线输出数据的频率是27 MHz,在每个LLC的上升沿输出1 Byte有效数据。标准ITU YUV 4:2:2格式视频信号的每个像素都有各自的亮度分量Y,每两个相邻的像素公用一对的色差数据Cb和Cr。在存储像素数据时,可认为每两个连续字节表示一个像素,当需要格式转换或进行其他的处理时,要一次提取两个相邻的像素的数据,进行相应处理。其中,每行有数据864个采样点中有效数据720个,消隐期间数据144个。在完整的一帧图像数据中第一场的消隐EAV为FF 00 00 BX,第一场消隐SAV为FF 00 00 AX;第一场有效数据SAV为FF 00 00 8X,有效数据EAV为FF 00 00 9X,其他场类推。奇数场有效数据阶段的SAV为“FF 00 00 80”,偶数场有效数据阶段的SAV为“FF 00 00 C7”。在每个时钟的上升沿读取8位数据,当检测到一行数据的开始标志FF 00 00 XY时,检测到SAV或EAV信号,提取H、F、V信号。然后开始对图像数据进行解码,根据8位数据自带的信息,判断该数据是Y、Cb还是Cr,从而得到Y、Cb、Cr各分量。
3.2 I2C总线配置模块
    该模块通过I2C总线协议对SAA7113H进行配置,时钟频率为20 kHz。通过该模块完成SAA7113H配置。配置模块如图2所示。


    其中,inicio_conf信号表示启动对SAA7113H进行配置,高电平有效。clk为时钟信号。reset为外部复位信号高电平有效。SCL和SDA为SAA7113H配置信号。CONFIGURACION_OK表示解码芯片配置好以后输出一个控制信号给控制模块,以启动数据采集。
    SAA7113H的寄存器地址从00H开始,只有01H~05H前端输入配置部分,06H~13H、15H~17H解码部分,40H~60H常规分离数据部分,这些可读写,其余为保留地址或只读寄存器,将需要配置的寄存器数据存在查找表con_data中,并用count表示当前对哪个寄存器配置,配置时逐个写入寄存器。
    根据I2C总线数据传输的时序,总线控制器的状态机分为空闲状态、启动状态、数据传输状态、应答状态和停止状态。Idle状态表示总线空闲状态,SCL和SDA都为高电平,若clk=1则进入Start状态。Start状态表示总线启动,此时保持SCL为高电平,将SDA由高电平变为低电平,从而启动数据传输。Data_trans状态中一次传1 Byte数据。在本状态中,1 Byte数据的传输过程为将时钟线变为低电平,然后将数据放在数据线SDA上。再将时钟线变为高电平,让接收方进行数据接收。传输完1 Byte后进入Hold。Hold状态用来表示应答阶段,主要是产生一个时钟脉冲,让接收方对1 Byte的数据产生应答信号。在此状态中进行对本次数据连续传送是否完毕进行判断。如未传输完则继续到Start状态进行下一次数据的传输,并将count-1。Stop状态表示数据传输结束。在SCL高电平期间将SDA由低转为高。然后输出一个配置完成的信号。寄存器配置状态机如图3所示。


3.3 控制模块
    控制模块由control_enable模块和control_interface模块组成主要负责图像采集模块和显示接口模块的同步和使能。当解码芯片配置完成后,从CONFIGURACION_OK输入使能信号,启动该模块,同时通过href和odd信号启动图像采集模块和显示接口模块,href=1表示SAA7113H通过VPO传输像素数据;odd=1表示奇数场,odd=0表示偶数场。
3.4 像素存储模块
    图像的一帧为720×625提取其中的有效像素640×576存入SDRAM中,再读出480行数据进行格式转换和显示。
    由于SDRAM每个单元为16位,所以将一个Y和一个Cb或Cr合存在一个地址空间中,即两个时钟周期产生一个地址。SDRAM有4端口模式,2个用于将FIFO中的数据写SDRAM,2个用于将数据读到FIFO中,读写采用的时钟不同,写时钟采用解码芯片的27MHz,而渎时钟采用VGA的25MHz,由于SDRAM的读写速度为50 MHz,时钟频率不同,不能直接写入,因此需要一个FIFO将数据暂时储存,再将其写到SDRAM中。
    此处关键问题是隔行扫描到逐行扫描的转换。SAA7113H是先奇数场后偶数场的顺序输出,即隔行输出,而VGA显示是逐行显示的,因此要进行去隔行操作。利用对SDRAM的读写地址的控制能够有效解决隔行到逐行的转换问题,数据写入SDRAM是将隔行数据写入到SDRAM的0-640× 576的地址空间中,其中640×23-640×310为1、3、5、…奇数场的有效数据,640×336-640×623为2、4、6、…偶数场的有效数据。两场数据分别通过不同的FIFO读出,格式转换时交叉读取两个FIFO中的数据,这样读出的数据即1、2、3、4、…逐行数据。
3.5 格式转换模块
    要将摄像头采集的图像显示在显示器上,需进行数据的格式转换,将YUV格式的数据转换成RGB格式的数据。YUV 4:2:2格式的数据两个相邻的像素共用一对Cb和Cr分量,所以在进行格式转换时要先解交织,即一次从FIFO中提取相邻的两个像素数据,将Cb和Cr各复用一次,使得YUV变成4:4:4格式,然后进行格式的转换。将转换好的数据存放在reg_RGB中,VGA显示的时候交叉读取这两个寄存器中的数据。转换公式如下所示
   
    由于在FPGA中进行浮点运算较困难,因此可将式(1)中的各系数转化为整数在进行运算,采用将各系数放大1 024倍的方法,得到r、g、b后再除以1 024,放大后的公式为
   
    根据上述公式得到r、g、b。然后将结果均右移10位完成除法运算,得到RGB值。由于r、g、b均为8位,取值范围为0~255,而运算过程较易生成负数和超过255的正数,因此运算结果需将负数取0,超过255的正数取为255。此方法虽然会引入误差,但对最终图像的显示效果不会有较大影响。
3.6 显示接口模块
    由interface_vga负责图像的显示,从reg_RGB寄存器中读取转换好的数据,对这两个像素的读取由一个转换电路负责在两个寄存器之间切换。显示接口模块将r、g、b以及hsync、vsync一起发送给编码芯片THS8134,通过VGA显示出来,hsync和vsyne分别是行和场同步信号。在仿真中,选用CycloneⅡEP2C20Q240C8芯片,用QuartusⅡ8.0进行综合与仿真。图4是对显示接口模块的仿真。由仿真结果可以看出,行同步和场同步符合时序要求。



4 结束语
    实现了一种基于CycloneII系列FPGA与视频信号处理芯片SAA7113H的嵌入式图像采集系统。系统结构简单系、统稳定、功耗低、成本低、速度快以及接口方便,可以满足视频监控系统等的需要。图像采集系统中采用FPGA作为采集控制部分,可以提高系统处理的速度及系统的灵活性和适应性,对于不同的视频图像信号,只要在FPGA内对控制逻辑稍作修改,便可实现信号采集。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

2024年4月11日,中国——意法半导体的ST25R100近距离通信(NFC)读取器芯片独步业界,集先进的技术功能、稳定可靠的通信连接和低廉的成本价格于一身,在大规模制造的消费电子和工控设备内,可以提高非接触式互动功能的...

关键字: 嵌入式 数据读取器 芯片

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统
关闭
关闭