正在加载图片...
Vol.28 No.9 周剑波等:利用FPGA和USB总线的视频图像的采集与处理系统设计 .887. 冲模块、消除抖动模块、SAA7111A接口模块、 3 FPGA控制模块 SRAM接口模块、实时插入结束标识模块、缓冲 经过对系统功能的分析和划分,可以将设计 模块FIFO、多路选择器DATA-MUX、数据处理 划分为若干个子模块,每个子模块通过内部握手 模块DATA-Proc等几个部分,如图2所示,模块 信号相互关联并完成相对独立的功能,最后将子 之间通过中间信号进行通讯,从而实现数据的传 模块组合起来就能得到系统级的功能芯片,将 输和控制, FPGA划分为以下几个功能子模块:输入信号缓 From SAA7111A Input_Buffer Sraml_Interface To_Sram! SAA_Interface Data Mux Data_Proc Fifo To_EZUSB LLC2 DLL Insert_Flags Sram2_Interface To_Sram2 Reset Debounce 图2FPGA内部结构框图 Fig-2 FPGA inside structure diagram 3.1SAA-INTERFACE模块 接口模块SRAM-INTERFACE的主要功能 SAA-INTERFACE模块的主要功能是接收 是完成与SRAM存储器的接口工作,由于采用 来自SAA7111A的数据信号和状态信号,实现 了两片SRAM,所以FPGA中的SRAM接口模块 FPGA与视频A/D芯片SAA7111A的接口,并根 也应该有两个,该模块根据当前状态做出判断,从 据这些信号产生相应像素灰度信息的存储地址, 而对SRAM发出相应的控制信号和地址信号,完 在时钟信号LLC2的控制下,完成数据在SRAM 成数据的写入和读出工作, 中的存储写入地址和读出地址及对两片SRAM 3.3 INSERT-FLAGS模块 进行乒乓操作的指示信号的生成 为了在上位机显示所采集到的图像,除了需 分析SAA7111A输出的状态信号的时序图, 要相应的像素信息外,还必须提供行同步信号和、 可以分析得到以下结论: 场同步信号,本系统没有另外提供专门的行同步 (1)每行图像共有864个像素,其中0~719 信号、帧同步信号,而是通过在恰当的时刻插入标 为有效像素、720~863为水平消隐阶段,在消隐 识数据的方法来代替视频流的行同步信号和帧同 期间的像素为无效像素[] 步信号 (2)每行图像起始条件是:场参考信号 INSERT-FLAGS模块将在行结束时,将自 VREF为逻辑1'时,HREF产生一个上升沿,每 定义的行结束标识插入到数据流中;在帧结束时, 行图像结束条件是:HREF信号的出现下降沿, 将帧结束标识插入到视频流中,从而为上位机实 当VREF为逻辑O'状态时,处于场消隐阶段,此 现对图像信息的再现和处理创造了方便条件 时为无效图像 3.4DATA-MUX模块 (3)每帧图像起始的条件是:RTS0为逻辑 DATA-MUX模块实现了对数据的流向的 ‘1'期间,VREF产生一个上升沿,而每帧图像结 控制和数据处理工作.它接收来自SAA7111A的 束的条件是:RTS0为逻辑‘O'期间,VREF产生 原始数据VP0和实时插入的行、帧结束标识信号 一个下降沿]. VPO-FLAGS,并产生最终的连续的含有场、帧结 由于复合视频信号CVBS是由隔行扫描的方 束标识的数据流VPO-ALL,并控制VPO-ALL 式得到的,而计算机显示器是逐行扫描来显示图 的流向.当WR1RD2为逻辑‘1'时,VPO-ALL 像的,所以写入SRAM的数据必须隔行写入,而 写入SRAM1,同时将已经存储到SRAM2的数据 读出SRAM的数据必须逐行读出.读取SRAM 读出到DATA-Proc模块中;当WR1RD2为逻辑 时,由于奇偶场己经“隔行”写入SRAM中,所以 0'时,VP0-ALL的数据写入SRAM2中,同时 只需要逐行顺序读取即可, 将SRAM1的数据读出到DATA-Proc模块 3.2SRAM-INTERFACE模块 中3.3 FPGA 控制模块 经过对系统功能的分析和划分‚可以将设计 划分为若干个子模块.每个子模块通过内部握手 信号相互关联并完成相对独立的功能.最后将子 模块组合起来就能得到系统级的功能芯片.将 FPGA 划分为以下几个功能子模块:输入信号缓 冲模块、消除抖动模块、SAA7111A 接口模块、 SRAM 接口模块、实时插入结束标识模块、缓冲 模块 FIFO、多路选择器 DATA— MUX、数据处理 模块 DATA—Proc 等几个部分‚如图2所示.模块 之间通过中间信号进行通讯‚从而实现数据的传 输和控制. 图2 FPGA 内部结构框图 Fig.2 FPGA inside structure diagram 3∙1 SAA-INTERFACE 模块 SAA—INTERFACE 模块的主要功能是接收 来自 SAA7111A 的数据信号和状态信号‚实现 FPGA 与视频 A/D 芯片 SAA7111A 的接口‚并根 据这些信号产生相应像素灰度信息的存储地址‚ 在时钟信号 LLC2的控制下‚完成数据在 SRAM 中的存储写入地址和读出地址及对两片 SRAM 进行乒乓操作的指示信号的生成. 分析 SAA7111A 输出的状态信号的时序图‚ 可以分析得到以下结论: (1) 每行图像共有864个像素‚其中0~719 为有效像素、720~863为水平消隐阶段‚在消隐 期间的像素为无效像素[2]. (2) 每 行 图 像 起 始 条 件 是:场 参 考 信 号 VREF 为逻辑‘1’时‚HREF 产生一个上升沿.每 行图像结束条件是:HREF 信号的出现下降沿. 当 VREF 为逻辑‘0’状态时‚处于场消隐阶段‚此 时为无效图像[2]. (3) 每帧图像起始的条件是:RTS0为逻辑 ‘1’期间‚VREF 产生一个上升沿.而每帧图像结 束的条件是:RTS0为逻辑‘0’期间‚VREF 产生 一个下降沿[2]. 由于复合视频信号 CVBS 是由隔行扫描的方 式得到的‚而计算机显示器是逐行扫描来显示图 像的‚所以写入 SRAM 的数据必须隔行写入‚而 读出 SRAM 的数据必须逐行读出.读取 SRAM 时‚由于奇偶场已经“隔行”写入 SRAM 中‚所以 只需要逐行顺序读取即可. 3∙2 SRAM-INTERFACE 模块 接口模块 SRAM—INTERFACE 的主要功能 是完成与 SRAM 存储器的接口工作.由于采用 了两片 SRAM‚所以 FPGA 中的 SRAM 接口模块 也应该有两个‚该模块根据当前状态做出判断‚从 而对 SRAM 发出相应的控制信号和地址信号‚完 成数据的写入和读出工作. 3∙3 INSERT-FLAGS 模块 为了在上位机显示所采集到的图像‚除了需 要相应的像素信息外‚还必须提供行同步信号和、 场同步信号.本系统没有另外提供专门的行同步 信号、帧同步信号‚而是通过在恰当的时刻插入标 识数据的方法来代替视频流的行同步信号和帧同 步信号. INSERT —FLAGS 模块将在行结束时‚将自 定义的行结束标识插入到数据流中;在帧结束时‚ 将帧结束标识插入到视频流中‚从而为上位机实 现对图像信息的再现和处理创造了方便条件. 3∙4 DATA-MUX 模块 DATA—MUX 模块实现了对数据的流向的 控制和数据处理工作.它接收来自 SAA7111A 的 原始数据 VPO 和实时插入的行、帧结束标识信号 VPO—FLAGS‚并产生最终的连续的含有场、帧结 束标识的数据流 VPO—ALL‚并控制 VPO—ALL 的流向.当 WR1RD2为逻辑‘1’时‚VPO— ALL 写入 SRAM1‚同时将已经存储到 SRAM2的数据 读出到 DATA—Proc 模块中;当 WR1RD2为逻辑 ‘0’时‚VPO—ALL 的数据写入 SRAM2中‚同时 将 SRAM1 的 数 据 读 出 到 DATA— Proc 模 块 中[3]. Vol.28No.9 周剑波等: 利用 FPGA 和 USB 总线的视频图像的采集与处理系统设计 ·887·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有