1 引 言

条码技术是自动识别技术中最成熟,也是应用最广泛和最成功的技术。条码技术为快速准确的数据采集、数据录入提供了有效、可靠的手段,他与计算机、网络通讯等一起构成了现代商业自动化的基础。条码符号制作容易,扫描操作简单易行,信息采集速度快,采集信息量大,设备结构简单,成本低。因此在大型超市和物流系统中有着广泛的运用。

传统的在线采集终端与计算机之间由电缆连接传输数据,不能脱机使用。因此,在线式数据采集终端必须安装在固定的位置,并且需把带条码符号的物品拿到扫描器前阅读。由于在线式数据采集终端在使用距离上有一定的限制,使其不能应用在需要脱机使用的场合,如较大新库存盘点,大件物品的扫描等。为了弥补在线式数据采集终端的不足之处,无线数据采集终端应运而生。而目前市面上的无线条码扫描仪传输距离一般为30~100m的范围内。本系统所设计的基于嵌入式的无线条码扫描仪,传送距离可达800 m,并且系统本身具有一定的数据处理功能,很大程度上提高了无线条码扫描的距离,增强了系统的功能。

2 系统设计

整个嵌入式无线条码扫描系统由3部分组成,一是数据采集与发射装置,主要由LPC2142和ADF7020无线收发芯片构成;二是数据接收和终端接口电路,由ADF7020为核心构成的接收电路,并由LPC2142进行数据处理和与终端主机进行数据传输;三是HOST主机数据库管理系统,对收集到的条码数据进行管理。

2.1 系统硬件构成

系统总体结构框图如图1所示。

系统工作原理如下:条码扫描仪读取条码信息,通过条码扫描仪自带的USB接口,和嵌入式接收装置连接并传输数据。LPC2142将接收的数据通过串口送给ADF7020,ADF7020再通过无线网络发给无线接收设备。与HOST连接的无线接收装置接收到数据后,将数据通过串口传到HOST主机,由主机上的应用数据系统对数据进行处理。

2.2 主要芯片介绍

本系统所使用的主要芯片分别是PHILIPS公司的LPC2142 arm嵌入式芯片和ADI公司ADF7020无线收发芯片。

2.2.1 LPC2142芯片介绍

LPC2142是基于一个支持实时仿真和嵌入式跟踪的32/16位arm7TDMI—S CPU的微控制器,并带有32kB和512 kB嵌入的高速FLASH存储器。128位宽的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。

较小的封装和很低的功耗使LPC2142特别适用于访问控制POS机等小型应用中;由于内置了宽范围的串行通信接口(从USB 2.0全速器件、多个UART,SPI,SSP到I2C总线)和8~40kB的片内SRAM,他们也非常适合于通信网关、协议转换器、软Modem、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。多个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,数字接收信号强度指示(RSSI),温度传感器以及全自动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、DATAI/O两个串行接口实现数据收发功能,能够与多种单片机(MSC51,arm,AVR,PIC等)直接兼容连接。在本系统中,LPC2142和ADF7020无线收发模块之间通过串口相连,采用SP3232E芯片进行RS232电平转换。具体电路如图3所示。

3 系统软件设计

系统软件设计包括USB的驱动和基于USB的数据传输,无线数据的收发,终端主机上数据库应用程序的开发。

3.1 USB的驱动和基于USB的数据传输

本系统的USB通信采用标准USB2.O协议,与USB控制器之间12 Mb/s的数据传输。该软件编程是用C语言实现的,通信过程主要包括2部分:并口数据的采集和初始化。

并口数据的采集是通过轮询的方式来进行的。在系统上电后,LPC2142扫描USB端口,当条码扫描仪准备工作,发送请求接收数据信号时,LPC2142接收到信号后,则从条码扫描仪的数据端口将并口数据读出。利用LPC2142芯片自带的串行接口引擎对USB数据流进行译码,并将数据写入相应的端点缓冲存储器。在从条码扫描仪向LPC2142进行数据传输过程中,LPC2142向条码扫描仪发送一个IN令牌,在条码扫描仪接收到令牌后对数据进行响应。

初始化过程分2部分:ARM芯片的初始化和条码扫描仪的初始化。arm芯片的初始化过程就是直接向相应的I/O口写初始化值及设置看门狗,调用函数watchdog_init()实现设置看门狗。条码扫描仪的初始化包含以下一些步骤:获取设备描述符、设置条码扫描仪USB地址、获取配置描述符、加载USB配置值、发送数据接收符。

3.2 无线数据的收发

无线数据收发软件设计,首先是在LPC2142接收到条码扫描仪发送的数据后,发送一个信号给无线发送模块,两模块之间的连接是采用RS 232转接器来实现,在接收到LPC2142的发送信号后,无线模块返回接收信号,并打开RS 232转接器,LPC2142接收到信号后,发送数据到收发模块,收发模块具有接收和发送的功能,在软件的控制下实现数据收发。

3.3 数据库应用程序

本系统可为中、小型规模企业用户提供完整的库存业务管理和物料管理方案。他能彻底改善企业库房管理不畅、货物调配不及时、库存查询繁琐、库管人员太忙等不良工作状况。本系统数据库系统包含:基础档案、系统管理、库存业务管理、综合查询等模块。具体框图如图4所示。

4 结语

本文提出了一种基于嵌入式无线条码扫描仪的方案,并提出由ADF7020芯片构成的无线收发模块。系统能保证远距离数据通讯的可靠性,具有功能齐全、系统扩展灵活、性能/价格比高等特点。以嵌入式为基础的无线条码扫描仪系统,具有很大的实现性,在仓管、超市、图书、邮件等物品流通行业更有其优势。

转载于:https://www.cnblogs.com/jiegekaoyan/archive/2010/01/06/1640572.html

基于嵌入式的无线条码扫描仪系统的设计相关推荐

  1. Linux群控源码,基于嵌入式Linux无线群控系统的研究与实现

    摘要: 无线通信技术应用领域越来越广泛,在很多场合都有良好的效果,但是却极少用在大型团体操表演上.而近年来团体操表演越来越多的引入了光电技术,丰富了观众的视觉效果,却缺乏独立的控制系统对发光色块变化进 ...

  2. linux远程监控毕业设计,毕业设计论文:基于嵌入式Linux远程监控系统的设计与实现.doc...

    摘 要 可编程逻辑控制器(PLC)不仅在工业控制中应用越来越广泛,而且在其他领域的应用也逐渐扩大,例如:电力.化工.能源.水利等.由于它的功能比较强大.使用安全可靠.维护简单方便的优点,在很多地方已经 ...

  3. 基于android点餐系统需求分析,基于Android的点餐系统的设计及实现

    内容简介: 基于Android的点餐系统的设计及实现,毕业论文,共58页,20083字,附开题报告.答辩文稿.源程序. 摘 要 随着无线网络(如4G.3G.GPRS)及无线网络技术与移动操作系统的不断 ...

  4. arm linux 指纹识别,基于ARM—Linux指纹识别系统的设计.pdf

    基于ARM-Linux指纹识别系统的设计.pdf 第 20卷 第 l5期 电子设计工程 2012年 8月 Vo1.20 No.15 ElectronicDesienEn~inee Aug.2012 基 ...

  5. 基于智能矿山电力监控系统的设计与应用方法

    摘要:随着煤矿建设的智能化程度越来越高,构建智能电力监控系统实现对矿山生产的有效监控至关重要.首先分析了矿山电力监控系统存在的主要问题,其次重点介绍了基于智能矿山电力监控系统的设计过程,后提出了加强智 ...

  6. 基于STM32的智能手环系统的设计

    STM32系列 基于STM32的智能手环系统的设计 STM32系列 前言 一.系统方案的设计 1.1系统功能分析 1.2系统总体结构 二.硬件电路的搭建 2.1STM32最小系统组成部分 2.2S硬件 ...

  7. 嵌入式linux仪器,一种基于嵌入式Linux设备双系统的启动方法

    一种基于嵌入式Linux设备双系统的启动方法 [技术领域] [0001]本发明涉及一种基于嵌入式Linux设备双系统的启动方法. [背景技术] [0002]Linux操作系统特别是其嵌入式系统由于其源 ...

  8. python毕业设计开题报告-基于Python的教学互动系统的设计与实现开题报告

    基于Python的教学互动系统的设计与实现开题报告 背景: 在各种信息技术与课堂的不断探索中,我们一直在寻找一个能提高教学效率的方式,同时可以发现要提高教学效率,在课堂教学中必不可少的就是师生间的互动 ...

  9. 基于matlab的人脸五官边缘检测方法,基于MATLAB的人脸识别系统的设计

    基于MATLAB的人脸识别系统的设计(论文12000字,外文翻译,参考程序) 摘要:本文基于MATLAB平台设计了一款简单的人脸识别系统,通过USB摄像头来采集图像,经过肤色方法进行人脸检测与定位,然 ...

最新文章

  1. 金山词霸2009牛津版
  2. 【Java8新特性】浅谈方法引用和构造器引用
  3. Silverlight的4个版本
  4. 创建web服务器||HTTP协议的概念||报文||HTTP请求与响应处理——未完待续
  5. C4C的导航菜单的问题,disable这个属性,就会变成正常的两级菜单
  6. animiz动画制作软件_AN动画制作软件
  7. 淤泥管道机器人_丛台区设备管道清洗超高效率
  8. java中有关线程的题目
  9. 复制K2流程图实现记录
  10. 工程联盟管理平台、CRM、项目管理、合同管理、合作商管理、考勤管理、成本管理、指标管理、业主管理、工时报告、招投标、开票回单、物料库、培训中心、知识库、采购管理、Axure原型、产品原型、rp原型
  11. 繁忙SQL Server上的查询计划
  12. log4j配置以及logback配置
  13. RAS、AES、DES加密
  14. eclipse中创建最简单的maven结构的项目
  15. Linux下WebLogic漏洞补丁包安装过程
  16. 错误: 在类中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则
  17. 来聊聊我的阿里云P7面试经历
  18. 笔记本散热不好怎么办
  19. 脱颖而出 你凭什么得到一份好工作
  20. ux设计_如何草绘UX文章

热门文章

  1. UML建模详解(1)—初识UML建模
  2. 戴尔R730服务器增加内存,多功能存储密集型 戴尔R730xd拆解评测
  3. 读《九败一胜—美团创始人王兴创业十年》有感
  4. 卡耐基·梅隆大学教授金出武雄:对户外机器人三十年来的探索|CCF-GAIR 2017
  5. 17春c语言,2017春C语言程序设计 上(长安大学)
  6. 下划线JSON字符串与驼峰Java Bean相互转换
  7. python数字1 3怎么表示_Python3数据类型之数字
  8. 你只需画草稿,剩下都交给AI!哈佛『机器学习』最新课程;Evernote收费又难用?试试这款开源工具;提示工程资源整合笔记;前沿论文 | ShowMeAI资讯日报
  9. cadence virtuoso前仿出现模型缺失
  10. git同步代码到远程github仓库