摘要 随着SOPC技术的日益成熟,基于SoPC技术的嵌入式系统得到广泛应用。本文采用SOPC技术,以EP2C35为主控芯片,实现二维条码识别系统的设计,并提出一种适用于嵌入式系统的PDF417条码识别算法。实验表明,该识别系统能够快速准确地识别二维条码,效果良好。
关键词 SOPC 二维条码 PDF417 嵌入式系统 NiosII
二维条码PDF417中PDF为Portable Data File的缩写,每一个PDF码的储存量可高达1 108字节,若将数字压缩则可存放2 729字节。作为一种新的信息存储和传递技术,PDF417具有成本低、信息可随载体移动、不依赖于数据库和计算机网络、保密防伪性能强等优点,广泛应用在国防、公共安全、交通运输、医疗保健、工业、商业、金融、海关及政府管理等领域,PDF417码的例子如图1所示。
1 系统总体设计
本系统在FPGA上使用SOPC技术来实现无线手持二维条码识读器,与传统一维条码识读器最大的区别在于完全脱离后台数据库,以及在高达50%破损率的情况下能够进行高效率识别。
SOPC技术是一种基于FPGA解决方案的SOC,由美国Altera公司于2000年提出。基于SOPC平台的开发结合了FPGA灵活可编程与片上。NioslI软核处理器的用户可配置等特点。在实现某功能时,通过在NiosII处理器下编写C程序运行,也可以使用硬件模块来加速。本系统综合两种实现思路,采用高性价比的Cyclone II EP2C35系列FPGA实现,系统总体结构如图2所示。
整个系统由低到高分为三个层次:条码识别的硬件平台、μC/OS—II操作系统、条码译码核心算法。最底层硬件平台采用Altera公司的Cylone II EP2C35与ADI公司的视频解码芯片ADV7181B,具有8 MB的Flash存储器,1.MB的SRAM等外设;中间层μC/OS—II操作系统提供任务调度和设备驱动,以及提供各种中断来实现对外界请求的响应,如模式切换、LCM.显示、射频传送等,有效地提高了系统运行速率;最顶层条码译码核心算法包括了对条码图像的预处理和对译码数据的RS纠错,采用C语言在NiosII的集成开发环境中(IDE)实现。