位置:51电子网 » 技术资料 » 其它综合

基于SoPC的嵌入式二维条码识读系统

发布时间:2007/8/28 0:00:00 访问次数:377

摘要:提出了一种基于Nios II嵌入式软核处理器的便携式二维条码识别系统的实现方法。该系统在Altera的Cyclone FPGA上实现,使用集成在QuartusII中的SoPC Buider开发组件配置生成片上系统;同时采用Nios II的定制指令提高系统性能,使得硬件执行运算速度快的优点和Nios II CPU的特点相得益彰。系统以数字水印的方式实现了基于二维条码的信息隐藏,以进行防伪和知识产权保护。
关键词:二维条形码 数字水印 定制指令 Nios II
二维条码是为了克服一维条码容量小、信赖数据库的存在、不能表示汉字等缺点而产生的。二维条形码系统是非网络环境下的高安全性信息载体系统,可同步储存照片、虹膜、指纹等生物信息及文字、声音、图像等大量内容,是实现大容量高可靠性信息存储、携带、自动识别的理想系统。现在应用最为广泛的二维条码是美国SYMBOL公司发明的PDF417码,PDF417码是二位条码的美国标准和欧盟标准。我国也已经制定了PDF417码的国家标准GB/T17172——1997。二维条码较磁卡、IC卡的一个明显优势就是成本极低,可在PVC或纸卡上制作,成本几角钱。另外,二维信用条码使用寿命是磁卡、IC卡的十倍。



一个PDF417码最多可容纳1850个字符或1108字节的二晕制数据或2710个数字,其结构见图1。每行从左到右分别为左空白区、起始符、左行指示符号字符、1~30个数据符号字符、右行指示符号字符、终止符、右空白区。
二维条码的一个很重要的特点是可以引入加密机制,信息一旦生成便不可修改。当建立了自己的编译码系统时,就可以在编码过程中加入各种加密形式。比如在二维条形码表面加上水印,在译码时采用同一个水印解密的方法就可以实现条码信息的加密与防伪。在这里,数字水印就是基于二维条码进行信息隐藏的技术。可以利用变形技术对PDF417码符号字符中的各组成单元宽度加以适量的变动,采用误差累积的方式实现隐藏信息的嵌入和提取。由于二维条码使用广泛、体积小、容量大而且人眼无法分辨,因此在二维条码加入水印还有不易引起察觉、携带方便、安全性高、抵御打印扫描攻击、隐藏信息量大等优点。
我国乃至全球都在大力推行二维条码技术。随着二维条码技术的普及,对二维条码识别系统的需求日益增加。在信息安全、现代物流、现代制造、电子商务、电子政务等领域,二维条码识读系统都会有良好的应用。



1 便携式二维条码识读系统的总体设计
本系统要求在FPGA片内利用SoPC技术实现便携式的二维条码识读。它不信赖后台数据库的支持,通过对二维条码的扫描即可将得到的大容量的承载信息(包括文字、头像、指纹等个人信息)在LCD上显示,并可通过USB接口将信息拷贝,或通过RS-232接口将信息上传给PC机,也可以通过GPRS将获得的信息方便快捷地发往数据中心作验证。
本系统使用集成在QuartusII中的SoPC Builder开发组件配置生成片上系统。SoPC Builder是一个功能强大的基于图形界面的片上可编程系统的定制工具,可以在短时间内完成用户定制的SoPC设计。根据应用的需要,应从SoPC Builder库中选择IP模块、存储器、外围接口和处理器,并且配置生成一个高集成度的SoPC系统。因而选取以下一些IP模块组成片上系统:Nios 32bit CPU、Boot Monitor ROM、Communication UARTA、Debugging UART、Timer、User PIO、LCD PIO、External RAM Bus、External Flash Interface。SoPC Builder能自动产生每个模块的HDL文件,同时自动产生一些必要的仲裁逻辑来协调Avalon Bus上各功能模块的工作。
系统以Altera公司的用于可编程逻辑器件的第二代软核处理器Nios II为核心。Nios II是基于哈佛结构的32位RISC通用嵌入式处理器软核,能与用户逻辑相结合,适配到Altera公司的FPGA中。性能超过200DMIPS。它特别为SoPC设计了一套综合解决方案。本系统采用Nios II的经济型(Nios II/e)。片上系统方式能实现主功能,使系统集成度高、高等性强。
系统结构大体分为三层,由低到高分别为系统硬件层、操作系统层、应用软件层,如图2所示。
最底层的系统硬件层是系统的物理设备基础,提供操作系统和应用软件的运行平台和通信接口。系统的硬件平台在Altera公司的Nios II Cyclone嵌入式系统开发板上实现。
第二层的操作系统采用μClinux。这一层提供任务调度以及设备驱动。同时提供中断来实现系统对外界的通信请求的实时响应,如对条码扫描的控制、对GPRS通信端 口的控制等。使用操作系统可以提高系统的运行效率和可靠性。
最上层实现条码译码核心算法。该算法能对采集到的条码图像进行高效的处理和匹配,实现译码。这部分工作采用C语言在Nios II的集成开发环境(IDE)中实现。


图3


2 系统硬件的设计与实现
CMOS图像传感芯片为光电

摘要:提出了一种基于Nios II嵌入式软核处理器的便携式二维条码识别系统的实现方法。该系统在Altera的Cyclone FPGA上实现,使用集成在QuartusII中的SoPC Buider开发组件配置生成片上系统;同时采用Nios II的定制指令提高系统性能,使得硬件执行运算速度快的优点和Nios II CPU的特点相得益彰。系统以数字水印的方式实现了基于二维条码的信息隐藏,以进行防伪和知识产权保护。
关键词:二维条形码 数字水印 定制指令 Nios II
二维条码是为了克服一维条码容量小、信赖数据库的存在、不能表示汉字等缺点而产生的。二维条形码系统是非网络环境下的高安全性信息载体系统,可同步储存照片、虹膜、指纹等生物信息及文字、声音、图像等大量内容,是实现大容量高可靠性信息存储、携带、自动识别的理想系统。现在应用最为广泛的二维条码是美国SYMBOL公司发明的PDF417码,PDF417码是二位条码的美国标准和欧盟标准。我国也已经制定了PDF417码的国家标准GB/T17172——1997。二维条码较磁卡、IC卡的一个明显优势就是成本极低,可在PVC或纸卡上制作,成本几角钱。另外,二维信用条码使用寿命是磁卡、IC卡的十倍。



一个PDF417码最多可容纳1850个字符或1108字节的二晕制数据或2710个数字,其结构见图1。每行从左到右分别为左空白区、起始符、左行指示符号字符、1~30个数据符号字符、右行指示符号字符、终止符、右空白区。
二维条码的一个很重要的特点是可以引入加密机制,信息一旦生成便不可修改。当建立了自己的编译码系统时,就可以在编码过程中加入各种加密形式。比如在二维条形码表面加上水印,在译码时采用同一个水印解密的方法就可以实现条码信息的加密与防伪。在这里,数字水印就是基于二维条码进行信息隐藏的技术。可以利用变形技术对PDF417码符号字符中的各组成单元宽度加以适量的变动,采用误差累积的方式实现隐藏信息的嵌入和提取。由于二维条码使用广泛、体积小、容量大而且人眼无法分辨,因此在二维条码加入水印还有不易引起察觉、携带方便、安全性高、抵御打印扫描攻击、隐藏信息量大等优点。
我国乃至全球都在大力推行二维条码技术。随着二维条码技术的普及,对二维条码识别系统的需求日益增加。在信息安全、现代物流、现代制造、电子商务、电子政务等领域,二维条码识读系统都会有良好的应用。



1 便携式二维条码识读系统的总体设计
本系统要求在FPGA片内利用SoPC技术实现便携式的二维条码识读。它不信赖后台数据库的支持,通过对二维条码的扫描即可将得到的大容量的承载信息(包括文字、头像、指纹等个人信息)在LCD上显示,并可通过USB接口将信息拷贝,或通过RS-232接口将信息上传给PC机,也可以通过GPRS将获得的信息方便快捷地发往数据中心作验证。
本系统使用集成在QuartusII中的SoPC Builder开发组件配置生成片上系统。SoPC Builder是一个功能强大的基于图形界面的片上可编程系统的定制工具,可以在短时间内完成用户定制的SoPC设计。根据应用的需要,应从SoPC Builder库中选择IP模块、存储器、外围接口和处理器,并且配置生成一个高集成度的SoPC系统。因而选取以下一些IP模块组成片上系统:Nios 32bit CPU、Boot Monitor ROM、Communication UARTA、Debugging UART、Timer、User PIO、LCD PIO、External RAM Bus、External Flash Interface。SoPC Builder能自动产生每个模块的HDL文件,同时自动产生一些必要的仲裁逻辑来协调Avalon Bus上各功能模块的工作。
系统以Altera公司的用于可编程逻辑器件的第二代软核处理器Nios II为核心。Nios II是基于哈佛结构的32位RISC通用嵌入式处理器软核,能与用户逻辑相结合,适配到Altera公司的FPGA中。性能超过200DMIPS。它特别为SoPC设计了一套综合解决方案。本系统采用Nios II的经济型(Nios II/e)。片上系统方式能实现主功能,使系统集成度高、高等性强。
系统结构大体分为三层,由低到高分别为系统硬件层、操作系统层、应用软件层,如图2所示。
最底层的系统硬件层是系统的物理设备基础,提供操作系统和应用软件的运行平台和通信接口。系统的硬件平台在Altera公司的Nios II Cyclone嵌入式系统开发板上实现。
第二层的操作系统采用μClinux。这一层提供任务调度以及设备驱动。同时提供中断来实现系统对外界的通信请求的实时响应,如对条码扫描的控制、对GPRS通信端 口的控制等。使用操作系统可以提高系统的运行效率和可靠性。
最上层实现条码译码核心算法。该算法能对采集到的条码图像进行高效的处理和匹配,实现译码。这部分工作采用C语言在Nios II的集成开发环境(IDE)中实现。


图3


2 系统硬件的设计与实现
CMOS图像传感芯片为光电

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!