新闻中心

EEPW首页>EDA/PCB>设计应用> 基于NiosII的二维条码识别系统设计

基于NiosII的二维条码识别系统设计

作者: 时间:2009-07-02 来源:网络 收藏

3 系统软件设计
系统软件是在Nios II的μC/OSII操作系统下进行C语言编程的。系统初始化主要包括对采集芯片、射频传输控制模块、网络接口的初始化,整个系统动态扫描条码图像和实时译码。系统主要流程如图9所示。其中,系统初始化时利用函数IOWR(SIGNAL_CAP_O_BASE,O,1)将采集模块全局信号复位,然后使用函数alt_irq_register。(SIGNAL_CAP_0_IRQ,NULL,sig_cap_irq_proc)来建立一个用户中断程序,对按键中断响应进入中断服务程序sig_cap_irq_proc,向摄像头发送采集指令。当采集模块完成一幅条码图像采集后,产生一个硬件中断,将标志FLAG置1。当主循环程序判断FLAG为1时,就可以从外扩的SRAM中将图像数据读入SDRAM中,接着进行图像预处理和译码,其中包括用自定义用户指令和硬件模块实现的一些运算量大的部分。射频传输与的PIO口相连,通过函数IOWR_ALTERA_AVALON_PIO_DA_TA来实现。

本文引用地址://m.amcfsurvey.com/article/192009.htm


4 实验与分析
本识别系统工作频率为100 MHz,图像采样分辨率为320×240,一幅条码图像识别时间为60 ms。本系统有如下几个特点:
①利用PDF417码本身的特点来定位分割条码,与传统的条码定位分割算法相比,大大提高了速率。传统条码定位分割多采用Hough变换来确定条码倾斜角度,不能满足手持式嵌入式条码识读器的实时性要求。
②在FPGA中嵌入NioslI软核处理器,简化硬件设计,同时使系统更加稳定。FPGA的可重配置以及SOPC的可裁减使系统具有很高的资源利用率,而且方便升级和维护。
③利用自定义模块、自定义指令、C2H硬件加速等方法刮对部分耗时算法进行优化,大大提高了整个系统识别速率。
笔者针对不同环境下采集的300幅条码图像进行了三次测试:第一次是在条码无破损的情况下,第二次是在条码有5%破损和污染的情况下,第三次随机识别100幅条码。本文所采用的算法平均识别率达96.7%,耗时60ms,如表1所列。

结 语
条形码诞生后,条码技术的应用领域更加广泛,不仅应用于物流运输,还渗透到生产、生活的各个领域。本文介绍了一种基于SOPC的系统的设计,提出了一种软硬件综合的解决方案,由于涉及底层的硬件和相应的软件设计,在系统性能优化方面有着很大的空间。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭