基于CIS与ARM 9的条码图像采集系统

2010-04-25 07:28:20夏振春丁万山
电子科技 2010年3期
关键词:条码时序时钟

夏振春,丁万山

(南京航空航天大学 自动化学院,江苏 南京 210016)

实际采集到的条码图像中往往夹杂着背景信息,而真正对条码识别有用的是条码区域信息,因此,尽量减少无用信息的采集对条码识别工作具有举足轻重的意义。不同的应用场合下,条码区域的尺寸各不相同,因此这就需要图像采集设备能够根据实际情况自动调节图像分辨率,减少不必要信息的采集。传统面阵CCD或摄像头等图像采集设备出厂时分辨率就已经固定,无法在不改变硬件结构的条件下做到分辨率自动调节。文中提出一种基于接触式图像传感器(CIS)和ARM9处理器的条码图像采集系统,能够根据实际需要自动调节扫描行数从而达到调节分辨率的目的。

1 条码图像采集平台

条码图像的采集是整套系统的核心部分,它直接影响着系统的整体性能[1]。CIS每次扫描得到一行像素值,因此,必须配合横向(垂直于CIS方向)运动才能完成一幅二维图像的扫描。为保证图像的准确采集,必须精确控制平台的运动速度与CIS换行信号之间的关系[2]。本系统采用减速电机配合光电旋转编码器的方案来协调两者之间的关系。条码图像采集平台的整体结构框图,如图1所示。

图1 条码图像采集平台

采用接触式图像传感器(CIS)作为图像采集器件,其输出的像素值信号(模拟电压信号)经过信号调理电路进行差分、放大、去噪等,送入高速A/D转换器TLC5540转换为对应像素灰度的数字量,然后经FIFO缓存之后由ARM9读入内存,最后传入PC机。

1.1 接触式图像传感器

接触式图像传感器[3]CIS(Contact Image Sensor)是一种新型的光电图像传感器。它具有体积小、重量轻、功耗低、结构紧凑、连接方便等优点,近几年在传真机、扫描仪、复印机和其它独特的图像扫描仪器等领域得到了广泛应用。本系统采用的SV643C10型CIS,其物理分辨率为600 dpi(23.6 dots/mm),有效扫描宽度为29.2 mm,共688个传感器像素单元。

CIS的读操作时序[4]如图2所示。SP的上升沿过后,一轮扫描开始,第一个像素的有效信号发生在第27个时钟周期处,所以,从第一个CP开始共52个Vout信号为无效像素信号。由于此CIS有688个传感器像素单元,所以Vout引脚从第27个CP开始,依次输出688个有效信号,此后Vout引脚输出无效信号,直到下一个SP上升沿产生,触发新一轮的扫描。

图2 读操作时序图

1.2 运动平台

为准确获取一幅完整二维条码图像,必须协调好横向运动速度与CIS之间的关系。本运动平台由减速电机、光电编码器和传送机构组成。其中光电编码器由光电开关(GK152)和光栅盘组成,光栅盘与减速电机同轴。光电编码器产生的信号送给可编程逻辑器件(CPLD),作为CIS换行信号。在平台的前端靠近CIS处再安装一个GK152光电开关,产生的信号送给CPLD,作为整幅图像的启动、停止控制信号。

1.3 信号调理电路

该部分主要完成对CIS信号的差分、放大等功能,以达到降噪以及提高驱动电压的目的。具体电路实现,如图3所示。

图3 信号调理电路

1.4 高速A/D转换器

本系统选择高速A/D转换器TLC5540,采用单一5 V电源供电,8位分辨率,最大采样率为40 msps,完全满足系统需求。CIS输出的电信号经过滤波放大后达到接近A/D转换电路的满度值2 V,然后送入TLC5540的19引脚;当TLC5540输出使能为低时输出数据有效。由于TLC5540没有片选信号,只有输出使能控制,只要输出使能为低就一直向总线上送入数据,该信号一直有效,时钟信号clk由CPLD提供,记作ad_clk。TLC5540的8根数据线首先经过一个具有三态功能的总线驱动器74lv245(常选通),然后再送入FIFO,这样不仅可以提高电路驱动能力,而且还可以起到电平转换的作用。

1.5 ARM9处理器

采用三星公司的ARM9系列S3C2410A作为处理器,工作频率可达到203 MHz,可以满足实时性要求。它负责完成图像的存储、预处理以及与PC机的通讯等工作。

1.6 高速数据缓存

由于A/D输出频率仅为10 MHz,而S3C2410A最大处理速度可达203 MHz,为减少由于速度不匹配带来的等待时间,提高系统工作效率,在高速A/D转换器与处理器之间要加一个FIFO作为高速数据存储器。选用Averlogic公司的1 M×8 bit的AL4V8M440[5,6]。FIFO的读信号RE由S3C2410的通用片选信号nGCS6来控制,这样将地址FIFO映射到S3C2410的0x30000000开始地址空间,ARM对FIFO读取操作即可将数据写入相应地址单元中,接口连接图,如图4所示。

图4 A/D、FIFO以及ARM9连接图

1.7 CPLD模块

负责提供CIS的CP和SP信号,A/D的ad_clk以及FIFO的写及写复位信号等。其输入时钟为10 MHz,除此之外输入信号还有CIS换行信号CR,采集启停信号EN。文中采用的芯片是Altera公司的EPM7128SLC84-15。

2 时序协调与实现

为配合CIS的稳定工作及图像的准确采集,各驱动信号之间必须有严格的时序关系[7]。在Max+plus II开发环境采用VHDL语言进行各种驱动时序及控制信号的设计。其顶层文件采用图形法,如图5所示,其中,CR为CIS换行信号;EN为启、停信号;clk为全局时钟;cp为CIS时钟脉冲输入;SP为CIS帧启动信号;FIFO_WCLK为FIFO写时钟;ad_clk为A/D转换时钟;FIFO_WRST为FIFO写复位信号。

仿真结果,如图6所示,为便于观察,仿真时序中对时钟及计数器大小进行了调整。

3 系统软件流程及采集结果

系统的软件设计主要包括对ARM的编程和对CPLD的编程两个部分,下面就条码图像采集的整个程序流程作简要叙述,系统程序流程图,如图7所示。

图7 采集流程图

系统上电经过一系列初始化后便进入等待状态,等待CIS启动信号,一旦启动,在帧启动信号(SP)有效之后便对CP信号进行计数,计数器为counter,当counter=27时,启动A/D开始转换,CPLD将数据写入FIFO;当counter=344时,停止采集,等待下一次帧启动有效(CIS在CP一个周期内产生两个像素值信号)。

ARM9等待FIFO的满信号,一旦有效,便将FIFO写指针复位并开始从FIFO读取数据,存到SDRAM中;若FIFO为空,则将读指针复位。判断SDRAM空间是否存满,若满,则结束;否则继续判断是否采集完。如果数据采集完毕,即结束,等待下次CIS启动信号有效。为验证采集结果的正确性,系统采集完图像之后,将数据打包传送到PC机上进行显示、存储等,以供后续条码识别。采集结果如图8所示,可以看出,本系统采集的图像纹理清晰,完全能够达到条码识别的分辨率要求,并且大大减少了无用信息的采集。

4 结束语

利用CIS传感器配合运动平台实现了图像分辨率的动态可调,图像分辨率为688,其中,x值可根据条码实际尺寸及SDRAM内存空间大小自动调整。既能满足条码识别系统对条码图像细节及分辨率的要求,又能较好的避免大量无用信息的采集,提高了条码识别的效率。

图8 系统采集结果

[1] 徐大诚,翁桂荣.线阵CCD数据的高速采集系统[J].传感器技术,2002(9):45-50.

[2] 李红梅,陈敏聪,陈子瑜,等.线阵CCD数据获取方法研究与设计[J].电子测量技术,2008(6):125-128.

[3] 深圳矽感科技有限公司.SV643C10使用手册[Z].深圳:深圳矽感科技有限公司,2003.

[4] 米本和也.CCD/CMOS图像传感器基础与应用[M].陈榕庭,彭美桂,译.北京:科学出版社,2006.

[5] 赵劼,刘铁根,李晋申.基于DM642的高速图像识别系统设计[J].电子测量与仪器学报,2007,21(1):86-89.

[6] 杨玉春,毕贵红,丁喜波.利用FIFO和DMA实现线阵CCD高速数据采集[J].哈尔滨理工大学学报,2000,5(3):78-80.

[7] 林德辉,道克刚,钟绍俊.基于CPLD的线阵CCD驱动时序的设计与实现[J].仪表技术,2008(4):22-23.

猜你喜欢
条码时序时钟
中国条码技术与应用协会
条码微站
基于时序Sentinel-2数据的马铃薯遥感识别研究
基于Sentinel-2时序NDVI的麦冬识别研究
别样的“时钟”
古代的时钟
有趣的时钟
一种毫米波放大器时序直流电源的设计
电子制作(2016年15期)2017-01-15 13:39:08
时钟会开“花”
基于固定条码与电子标签比对设备的设计