基于嵌入式的无线条码扫描仪系统的设计
扫描二维码
随时随地手机看文章
1 引 言
条码技术是自动识别技术中最成熟,也是应用最广泛和最成功的技术。条码技术为快速准确的数据采集、数据录入提供了有效、可靠的手段,他与计算机、网络通讯等一起构成了商业自动化的基础。条码符号制作容易,扫描操作简单易行,信息采集速度快,采集信息量大,设备结构简单,成本低。因此在大型超市和物流系统中有着广泛的运用。
传统的在线采集终端与计算机之间由连接传输数据,不能脱机使用。因此,在线式数据采集终端必须安装在固定的位置,并且需把带条码符号的物品拿到扫描器前阅读。由于在线式数据采集终端在使用距离上有一定的限制,使其不能应用在需要脱机使用的场合,如较大新盘点,大件物品的扫描等。为了弥补在线式数据采集终端的不足之处,无线数据采集终端应运而生。而目前市面上的无线条码扫描仪传输距离一般为30~的范围内。本系统所设计的基于嵌入式的无线条码扫描仪,传送距离可达800 m,并且系统本身具有一定的数据处理功能,很大程度上提高了无线条码扫描的距离,增强了系统的功能。
2 系统设计
整个嵌入式无线条码扫描系统由3部分组成,一是数据采集与发射装置,主要由和芯片构成;二是数据接收和终端,由为核心构成的接收电路,并由进行数据处理和与终端主机进行数据传输;三是HOST主机数据库管理系统,对收集到的条码数据进行管理。
2.1 系统硬件构成
系统总体结构框图如图1所示。
系统工作原理如下:条码扫描仪读取条码信息,通过条码扫描仪自带的USB接口,和嵌入式接收装置连接并传输数据。将接收的数据通过串口送给,ADF7020再通过无线网络发给设备。与HOST连接的装置接收到数据后,将数据通过串口传到HOST主机,由主机上的应用数据系统对数据进行处理。
2.2 主要芯片介绍
本系统所使用的主要芯片分别是公司的LPC2142 ARM嵌入式芯片和ADI公司ADF7020芯片。
2.2.1 LPC2142芯片介绍
LPC2142是基于一个支持实时仿真和嵌入式跟踪的32/16位—S CPU的微控制器,并带有32kB和512 kB嵌入的高速存储器。128位宽的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
较小的封装和很低的功耗使LPC2142特别适用于访问控制POS机等小型应用中;由于内置了宽范围的串行通信接口(从USB 2.0全速器件、多个,SPI,SSP到I2C总线)和8~40kB的片内,他们也非常适合于通信网关、协议转换器、软、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。多个32位器、1个或2个10位ADC,10位DAC,,PWM通道、45个高速GPIO以及多达9个边沿或电平触发的外部中断管脚,使他们特别适用于工业控制和医疗系统。LPC2142是属于工业级的应用芯片,其工作温度为-40~+85℃,具有最优化的消耗,特别适合运用在小型手持系统之中。
在本系统运用中,LPC2142起到2个作用,在数据采集与发射装置端,其作用是通过,接收条码扫描仪的扫描信息,并将其存储在自带的存储器中,最后数据传送到发射模块。在数据接收和终端端,他的作用是接收从接收模块输送来的数据,并通过其接口电路将数据传输到终端主机。
2.2.2 ADF7020芯片介绍
ADF7020是ADI公司的产品,是一种低功耗,低IFISM频段收发器,工作在433 MHz,868 MHz和915 MHz,电压2.3~3.6 V,可编输出功率从-16~13 dBm,1 kb/sFSK模式的接收灵敏度为-117.5 dBm或9.6 kb/s的-110.5 dBm,接收模式的功率为20 mA,10 dBm输出的发送模式的功率为30 mA,特性包括VCO,分数N PLL,片内7位ADC,数字接收信号强度指示(),温度以及全自动AFC回路,关断模式的电流小于1μA,在信号良好的情况下,传输距离可达800 m。在低成本数据传输器,遥控/安全系统,无线测量和无键盘输入方面有很大的应用前景。
在本系统中,ADF7020是无线数据通信模块的主要芯片,利用芯片本身集成的射频、滤波、放大、数字信号处理的模块,搭建收发一体的无线通信模块。由于芯片无线通信距离远及其高度的集成化,使得无线模块电路设计简单,调试方便,系统工作也更稳定。
2.3 主要电路介绍
本系统硬件电路分为3个部分:条码扫描仪和LPC2142之间的数据传输接口;数据电路;LPC2142和终端主机之间的接口电路,本系统采用串口与主机进行数据通讯。
主要电路的设计介绍如下:
2.3.1 条码接收电路
目前绝大多数条码扫描仪的数据接口有USB和串口2种形式,USB接口数据传输速度快和安装简单的优点。在系统设计中,我们采用USB接口的扫描仪。条码扫描仪读取条码信息后,通过USB将条码信息传送入LPC2142,LPC2142接收到条码信息后,驱动无线模块将数据发送出去。
LPC2142带有USB设备控制器,他由寄存器接口、串行接口引擎、端点缓冲存储器和DMA控制器组成。串行接口引擎对USB数据流进行译码,并将数据写入相应的端点缓冲存储器。通过该控制器直接与USB接口的设备相连,其连接2所示。
2.3.2 无线收发模块电路
ADF7020芯片集成了完整的无线收发电路。在接收模式下,相当于一个传统的超外差接收器,RF(射频)输入信号通过从RFIN管脚引出的,经LNA(低噪声)放大后翻转进入混频器,通过混频器混频产生IF(中频)信号。在IF处理阶段,该信号在送入解调器前被放大和滤波。解调后从引脚DATA I/O输出解调数字信号,解调信号的同步由芯片提供的时钟信号完成。
ADF7020芯片自带SDATA、/O两个串行接口实现数据收发功能,能够与多种(MSC51,ARM,AVR,PIC等)直接兼容连接。在本系统中,LPC2142和ADF7020无线收发模块之间通过串口相连,采用芯片进行电平转换。具体电路如图3所示。
3 系统软件设计
系统软件设计包括USB的驱动和基于USB的数据传输,无线数据的收发,终端主机上数据库应用程序的开发。
3.1 USB的驱动和基于USB的数据传输
本系统的USB通信采用标准.O协议,与USB控制器之间12 Mb/s的数据传输。该软件编程是用C语言实现的,通信过程主要包括2部分:并口数据的采集和初始化。
并口数据的采集是通过轮询的方式来进行的。在系统上电后,LPC2142扫描USB端口,当条码扫描仪准备工作,发送请求接收数据信号时,LPC2142接收到信号后,则从条码扫描仪的数据端口将并口数据读出。利用LPC2142芯片自带的串行接口引擎对USB数据流进行译码,并将数据写入相应的端点缓冲存储器。在从条码扫描仪向LPC2142进行数据传输过程中,LPC2142向条码扫描仪发送一个IN令牌,在条码扫描仪接收到令牌后对数据进行响应。
初始化过程分2部分:ARM芯片的初始化和条码扫描仪的初始化。ARM芯片的初始化过程就是直接向相应的I/O口写初始化值及设置看门狗,调用函数_()实现设置看门狗。条码扫描仪的初始化包含以下一些步骤:获取设备描述符、设置条码扫描仪USB地址、获取配置描述符、加载USB配置值、发送数据接收符。
3.2 无线数据的收发
无线数据收发软件设计,首先是在LPC2142接收到条码扫描仪发送的数据后,发送一个信号给无线发送模块,两模块之间的连接是采用RS 232转接器来实现,在接收到LPC2142的发送信号后,无线模块返回接收信号,并打开RS 232转接器,LPC2142接收到信号后,发送数据到收发模块,收发模块具有接收和发送的功能,在软件的控制下实现数据收发。
3.3 数据库应用程序
本系统可为中、小型规模企业用户提供完整的业务管理和物料管理方案。他能彻底改善企业库房管理不畅、货物调配不及时、查询繁琐、库管人员太忙等不良工作状况。本系统数据库系统包含:基础档案、系统管理、库存业务管理、查询等模块。具体框图如图4所示。
4 结语
本文提出了一种基于嵌入式无线条码扫描仪的方案,并提出由ADF7020芯片构成的无线收发模块。系统能保证远距离数据通讯的可靠性,具有功能齐全、系统扩展灵活、性能/价格比高等特点。以嵌入式为基础的无线条码扫描仪系统,具有很大的实现性,在仓管、超市、图书、邮件等物品流通行业更有其优势。