扫遍天下无敌手——认识扫描枪

应用之道

扫描枪也叫条码阅读器。在日常生活中我们经常能看到它的身影。在超市里,收银员只要将扫描枪靠近商品的条形码(以下简称条码),就能马上读出商品的名称、价格等。那么,你知道扫描枪是如何进行条码识别的吗?

扫描枪的构造

扫描枪的构造其实并不复杂,它主要有光源、感光元件、译码电路和计算机接口等主要部分组成。根据感光元件的类型来分,扫描枪可分为CIS和CCD两种类型。和扫描仪非常相似,扫描枪也有光学分辨率和色彩深度的概念。我们常见的手持式扫描枪一般多采用CIS感光元件,其光学分辨率在200dpi左右,虽然识别能力一般,但是价格便宜;而在一些大型超市看到的扫描枪或扫描设备,多采用CCD作为感光元件,其光学分辨率在300dpi~8000dpi之间不等,其优点是识别能力高,纠错能力强,但是价格较贵。

识别原理

今天我们以激光反射式扫描枪为例,来说说它的工作过程与识别原理。

在大型超市我们看到,扫描枪发射出的是多条、连续的光网。其实在扫描枪内部,一般只采用单只激光管进行工作。这只激光管发射出的光并不是直接照射在物体上,而是照射在扫描枪内部的一个高速旋转的菱镜上,通过菱镜的折射、反射与旋转,激光束便产生了不同的偏转(图1)。这样,在扫描枪外就形成一个位置不断变化的单点光束,由于人眼视觉停留现象,所以我们就看到了一个由多条连续光束组成的光网。

13-b13-t32.jpg
图1 扫描枪工作原理图

我们知道,商品的条码是由宽度不同的黑白条纹组成(图2)。当扫描枪发出的激光束从条码上扫过时,照射到条码黑色部分的光束会被吸收;而照射到白色部分的光束则会被反射回扫描枪内部的感光元件上。当扫描枪的感光元件接收到反射回来的光线时,感光元件上的电压就会发生变化。这样,就初步形成了一个连续变化的电压信息。当然,这个电压变化幅度极小,不能马上使用。首先需要经过放大电路进行放大;放大之后还须对波形进行整形和滤波操作,将原有连续变化的杂乱波形转换为方波。同时滤除掉电压中的干扰波形,避免外部杂光波形造成的干扰。当这一系列工作完成后,就开始对这一电压进行模拟到数字的编码操作了,从而形成一个可让计算机识别的数字信号。需要注意的是,这个编码过程并不是对全部电压信号进行编码,为了防止对非条码部分反射回来的光信号进行编码而形成误码的情况,在编码时,首先要识别编码信号的起始端,大家仔细观察条码时可以发现,条码的起始和终止部分是一样的。这样,从条码上反射回的光线就会形成一个特殊的电压波形,当编码器接收到这一特殊波形信号时,编码器开始执行条码读取工作,直到编码器接收到特殊的终止信号为止。这样,扫描枪就完成了对整个条码阅读和识别的过程。

13-b13-1-2.jpg
图2 商品的条形码

提高识别的方法

由于不同产品的包装材料各异,其条码的反光率也各不相同,如果再加上条码的褪色、污损等原因,都有可能导致读码失败和读码错误,那么,扫描枪是如何来增加读码识别率并降低读码错误呢?首先,采用冗余技术。所谓冗余技术,就是多次从不同角度读取条码信息,并将各次读取的数据进行对比校验,这样,当某个角度读取的数据不完整时,就可以试图从其他角度读取的数据包中提取数据。而即便是各角度读取的数据都不完整时,还可试图从多组数据中进行组合,获取有效数据。这就是比较高端的扫描枪为什么要使用多条光束,从不同角度读取条码的原因。其次是对数据进行校验。比较从不同角度读取到的数据,看数据是否一致,如数据一致的话,则认为读码正确;而数据不一样的话,则试图重新读取数据,扩大比较范围,以确定哪组是正确数据。因为商品条码有严格的编码规则,所以扫描枪还会把读取到的数据和标准条码数据对比,看是否符合编码规则。如果不符,则说明读取数据结果错误。

当扫描枪读到正确的结果后,会将解码数据送往计算机进行处理,而计算机接收到数据后,会在数据库中搜寻条码相对应的记录。这样,就可以很方便的查询到商品的名称、价格等信息。

注意的问题

在日常使用扫描枪的过程中需要注意一些什么问题呢?

首先,要避免日光或强光直射扫描枪。虽然大多数扫描枪有滤光片可以滤除非工作波长的光线进入扫描枪,并且还有冗余校验功能,但是大家知道,自然界中的光线波长非常复杂,难免有些和激光束波长相同或相近的光束透过滤光片进入扫描枪内。而一旦这些光束有足够的能量,将会使扫描枪内部的感光元件长期处于饱和状态,这样无论感光元件是否接收到反射光束,都无法引起电压变化,自然就无法正常工作了。

其次,使用合格的条码并保证条码的完整性也是提高条码识别率的重要因素。在这点上,千万不要依赖扫描枪的“纠错”能力。因为从原理上来说,扫描枪根本无法纠正条码上存在的错误。这样,一旦条码损坏或有问题时,扫描枪也无能为力。而即便读出一些问题条码,所花费的时间和误码率也会大大提高。

还有一种情况需要注意,这些条码很清晰,也符合规定。但是条码表面覆盖的透明物质(如商品的多层包装,商品表面的塑料膜等)也会影响光束的反射,导致无法正常读码或读码困难。最后一点不得不提醒大家,扫描枪作为一种光学电子设备,它里面的感光元件非常脆弱,使用时务必要轻拿轻放,以保证它的使用寿命。