新闻中心

EEPW首页>EDA/PCB>设计应用> 基于NiosII的二维条码识别系统设计

基于NiosII的二维条码识别系统设计

作者: 时间:2009-07-02 来源:网络 收藏

1.1 系统硬件结构
系统通过配置视频采集芯片ADV7181B,通过图像采集子系统将CCD采集到的条码数据存储在SRAM中后,产生硬件中断,处理器响应中断,Nios对SRAM中的数据进行图像预处理、译码及纠错,通过译码算法硬件加速模块对耗时较多部分算法进行优化,在实现条码数据译码及纠错后,产生射频传送和LCM显示中断,进入中断程序将译码数据通过射频传输模块发送到上位机,并且在LCM实时显示。其硬件平台结构原理如图3所示。

本文引用地址://m.amcfsurvey.com/article/192009.htm

1.2 图像采集子系统
由于本设计采用的是灰度图,因此图像采集子系统的主要功能是:配置采集芯片,从解码芯片读出数据流,根据行场同步信号对数据流进行分离,提取出亮度信号,并将采集到的亮度信号通过乒乓缓存存入SRAM中。
在设计中,采用ADI的解码芯片ADV7181B进行图像信号的数模转换,FPGA中的I2C模块是作为主设备来对ADV7181B进行配置的,而ADV7181B作为从设备来接受I2C总线传来的数据,实现芯片的初始化、寄存器的配置等。图4中T_DA为数据信号,TD_VS为场同步信号,TD_HS为行同步信号。
系统上电时,I2C配置模块将对ADV7181B的内部寄存器进行配置,ADV7181B将模拟信号转换为Y:U:V为42:2:2的8位CCIR656数字信号,其中输出的时序包括行场同步、行场消隐、行频场频及场识别等信号。

CCD摄像头采集的图像实际尺寸为768×576像素,每帧图像由奇场数据和偶场数据交错组合而成,奇场数据与偶场数据在时间上是先后输入的。本设计使用的是320×240的液晶显示屏,在处理过程中也采用的是320×240的图片格式,所以要对摄像头采集的图片进行提取。在设计中仅采奇场数据的中间240行,并对每行中间的640个数据每两个像素抽取一个像素,从而得到符合系统要求的图像大小。由于一帧图像的奇场数据与偶场数据实际上非常接近,而每行的相邻两个像素值也几乎没有差异,因此可以得到原输入图的缩小图像而不会有失真。
图像存入SRAM采用了乒乓缓存,如图5所示,是为了防止写出速度快于写入速度而导致出现错误数据。采用两个行缓存进行乒乓切换,在数据提取子模块向行A写入数据时,数据写出子模块读取行缓存B中的数据输出到总线;在对下一行进行采集时,对行缓存A读数据,对行缓存B写数据。因此行缓存写路选器与行缓存读路选器在同一时刻选通的一定是不同的行缓存。



评论


相关推荐

技术专区

关闭