当前位置:首页 > 嵌入式 > 嵌入式硬件

摘 要:基于FPGA开发的机器人VGA视频监视系统。该系统可将经模拟摄像头得到的数据通过处理后直接送到显示器,节省了计算机的处理过程;系统预留出外部接口和程序空间,有很好的再开发性。根据输入视频信号和输出视频信号的不同格式,讨论了用Verilog硬件描述语言设计从YcrCb到RGB格式的转换器的方法。
关键词:可编程器件 硬件描述语言 实时图像 VGA显示器

工业机器人往往在无人现场监视的情况下工作,这就要求工作人员能在控制室中实时监视机器人的运动状态,了解机器人周围的工作环境,及时发现机器人运动时出现的故障。最好的监视手段就是实时视频监视。随着计算机、多媒体和集成电路等技术的发展,各种大规模集成电路的出现为视频信号数字化处理提供了有效手段。利用可编程器件FPGA实现的VGA彩色显示控制器已有很多的实际应用。本设计采用先进的FPGA芯片,通过硬件描述语言Verilog设计模块控制器实现各个系统模块间的通信及控制,通过Modelsim软件对系统功能模块进行仿真综合,在VGA显示器上得到十分清晰的图像。系统预留出一定的程序空间,可根据不同现场需要对图像进行诸如小波变换、图像增强等处理。
1 系统整体结构
系统整体结构框图如图1所示。


目前数字监视系统已在某些领域取代了模拟监视系统,但与数字摄像头相比,模拟摄像头在高分辨率和变焦方面仍占有优势。根据机器人实际工作情况,本设计选用高性能的模拟摄像头来采集视频信号。
模拟摄像头输出的视频信号中除了图像信号外,还有场同步、行同步、开槽脉冲等信号,它们和图像信号混合在一起,所以不能直接对其进行A/D转换。要得到图像数据,就要对视频信号进行必要的同步分离。本系统采用Philips公司的增强型可编程视频解码器SAA7113,通过FPGA配置其寄存器,使其输出标准ITU 656 YUV4:2:2格式(8位)VPO数据;通过Verilog语言设计的I2C总线控制器,控制两个多功能实时输出端口,并可以用来校验是否写入操作正确;通过I2C总线对地址02H进行配置可以得到想要的片内信号源[1][2]。
系统选用EP1C20为FPGA主芯片,作为Cyclone系列芯片中功能最强大的芯片,其运算速度快,具有20 060个逻辑单元,FPGA内部有PLL,可以用50MHz的时钟产生SRAM及VGA控制器所需要的时钟。FPGA内部结构非常适合数字视频处理,同时技术成熟,完全可以用来实现对机器人运动的视频监视。
帧存是图像处理器与显示设备之间的数据通道,因此要显示的图像数据首先存放在帧存中,然后再输出显示。帧存的设计是图形显示系统设计的关键。采集的一帧图像是800×600像素,每像素用2字节表示,每帧图像800×600×16bit=7500kbit,分成奇数场和偶数场分别存储在两片SRAM中,则每片SRAM存储3750kbit的图像数据,因此选用两片256K×16bit=4Mbit的静态存储器(SRAM)ISSI IS61LV25616-10T芯片作为图像帧存,并用FPGA设计帧存控制器,从而大大减小电路板的尺寸,增加系统的可靠性和设计灵活性。FPGA作为逻辑控制芯片, 负责识别源信号, 将图像数据按照一定的格式写入帧缓存, 同时以固定的速率从帧缓存中读出数据并产生相应的同步信号,一同送往DAC。
视频输出模块采用ADI公司的VGA DAC ADV7125KST50,其与FPGA间的接口为标准的数字VGA信号,同时可配置为8位输入。ADV7125KST50包括三路8位D/A转换器并与RS-343A/RS-170接口输出兼容。
ADV7125KST50在本系统中的硬件设计如图2。


2 系统功能模块
2.1 各功能模块设计
系统通过Verilog硬件描述语言设计的I2C总线控制器与SAA7113芯片完成原始图像的处理与传输。I2C控制核的设计采用自顶而下的方法,分为三个模块:I2C_top模块是顶层管理模块,用来生成当前I2C控制核的工作状态,把命令字信号送到I2C_cmd模块;I2C_cmd模块的核心部分是命令状态机,该模块的主要功能有两个:一是把I2C_top模块发送的start、write、read、stop四个命令信号转化命令码发送到I2C_controller模块,二是实现接收数据的串并转换;I2C_controller模块负责I2C接口,最终实现I2C总线信号SCL和SDA的启动、停止、读、写、确认等具体操作的时序关系[5]
SRAM控制器完成对帧存的数据存储和读取,SRAM控制器的结构包括系统控制接口模块、CMD命令解析模块、命令响应模块、数据通路模块共四个模块。系统控制接口模块用于接收系统的控制信号,进而产生不同的CMD命令组合;CMD命令解析模块用于接收CMD命令并解码生成操作指令;命令响应模块用于接收操作指令并产生SRAM的操作动作;数据通路模块则用于控制数据的有效输入输出。
当FPGA向SRAM存储数字视频信号时,用SAA7113的LLC2作为FPGA内部同步时钟信号;当FPGA传输数字视频信号时,读选通信号Clk作为内部同步时钟信号。当有VS上升沿时,如果RTS0为低电平,则表明奇数场即将到来,产生Pin高电平信号,对Pin取反作为SRAM(ODD)的写信号WE1;如果RTS0为高电平,则表明偶数场即将到来,产生PinEven高电平信号,对PinEven取反后作为SRAM(Even)的写信号WE2,WE1和WE2经过与门后产生两个SRAM的写选通信号WE。此外,由Pin和PinEven产生PinAll信号作为选择内部同步时钟的控制信号。由FPGA芯片产生的Ramodd(OE1)和RamEven(OE2)信号,分别用作SRAM(ODD)和SRAM(EVEN)的读信号,OE1和OE2经过与门后产生两个SRAM读选通信号OE。当PinAll为高电平时,表示FPGA正在向SRAM存储数据,此时用WE1作为SRAM(ODD)的片选信号CE1,用WE2作为SRAM(EVEN)的片选信号CE2;当Pin为低电平时,表示正在从SRAM读取数据,此时用OE1作为SRAM(ODD)的片选信号CE1,用OE2作为SRAM(EVEN)的片选信号CE2。
VGA控制器实现视频信号的处理,并将图像显示在VGA显示器上。在VGA中,水平同步脉冲在光栅扫描线需要回到水平开始位置,即在屏幕左边时插入,垂直同步脉冲在光栅扫描线需要回到垂直开始位置,即在屏幕上方时插入。复合同步脉冲是水平同步脉冲和垂直同步脉冲的组合。RGB为像素数据,当消隐有效时,RGB信号无效。VGA主要参数的工业标准为:像素输出频率为25.175MHz;行频(线频率)为31.469kHz;场频(刷新率)为59.941Hz[4]。图3是VGA行扫描、场扫描的时序图。


2.2 YCrCb到RGB格式的转换器设计
在SAA7113 所提供的多种数据输出格式中,ITU656 格式在8位输出管脚上直接输出与像素时钟相对应的像素灰度值。由于SAA7113是YUV输出,而目前所有的显示器都采用RGB 值驱动,这就要求在显示每个像素之前,必须把彩色分量值转换成RGB 值。根据SAA7113数据手册的输入标准以及系统的时钟,需要对输入的数据做一个延时,调整Y、Cb、Cr的顺序,有效视频信号延迟一个周期,而对准信号要延迟两个周期。本系统通过Verilog语言设计了一个从YCrCb到RGB格式的转换器。
YCrCb转换到RGB(注意到0.299+0.587+0.114=1.0,三原色的系数之所以不同是因为人的眼睛对不同波长的颜色有不同的敏感度):
Y=0.299R+0.587G+0.114B
CB=-0.1687R-0.3313G+0.5B
CR=0.5R-0.4187-0.0813
RGB转换回YCRCB:
R=Y+1.402CR
G=Y-0.34414CB-0.71414CR
B=Y+1.772CB
2.2.1 YcbCr到RGB 变换器接口说明
module yuvrgb(
clk,//时钟输入
rst,//复位输入
y_in,//变换前Y分量输入
cb_in,//变换前Cb分量输入
cr_in,//变换前Cr分量输入
ena_in,//待变换数据使能,当它为高时,输入数据有效
R_out,//变换后R分量输出
G_out,//变换后G分量输出
B_out,//变换后B分量输出
ena_out//变换后数据使能输出
);
2.2.2 YcbCr到RGB变换器测试方法
在Quartus Ⅱ下通过调用Modelsim软件对该变换器进行仿真,将YCbCr 输入转换成RGB 输出,时序图如图4所示。


在Quartus Ⅱ下调用Modelsim的方法简单、直观,并且易于修改。根据得到的仿真结果,可以看到变换器满足时序要求。
本文设计开发了一套基于FPGA的机器人图像监视系统,该系统成功地应用于对机器人的视频图像传输,并可通过Verilog硬件描述语言设计各种控制模块并实现模块间的通信。这个平台可以对视频信号进行高质量的传输,还可以根据现场需要在今后的设计中对视频信号进行一系列的图像处理,具有很好的再开发性。
参考文献
[1] 张晓健.视频解码芯片SAA7113的初始化与控制[J].电子设计应用,2003,(8).
[2] PHILIPS Corporation.SAA7113 DATA SHEET[Z].1999-7-1.
[3] 陈海燕.I2C串行通讯的软件实现[I].国防科技大学学报,1996,(4).
[4] ROBIN M,POULIN M.视频和音频系统的设计与安装.人民邮电出版社,2003.

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭