一种条形码硬件解码IP核及解码方法技术

技术编号:23288708 阅读:46 留言:0更新日期:2020-02-08 18:36
本发明专利技术公开了一种条形码硬件解码IP核及解码方法,属于集成电路领域。针对现有技术中存在的软件解码数据访问代价大、计算速度慢的问题,本发明专利技术提供了一种条形码硬件解码IP核,包括总线接口、控制部和运算部,SoC通过总线接口的主设备接口和从设备接口分别与IP核的运算部和控制部相连,控制部接收SoC传输的配置信息,向运算部传输配置信息,运算部由数据访问单元、动态滤波单元、字元宽度计算单元、宽度寄存器组、码值计算单元、校验单元、转换单元、ASCII字符寄存器组和标准输出单元组成,用于对二维码进行解码运算。本发明专利技术将软件算法硬件化,可以大幅提高算法性能、减小数据访问代价。

A hardware decoding IP core and decoding method of bar code

【技术实现步骤摘要】
一种条形码硬件解码IP核及解码方法
本专利技术涉及集成电路领域,更具体地说,涉及一种条形码硬件解码IP核及解码方法。
技术介绍
条形码技术最早出现在20世纪40年代,是“由一组规则排列的条、空及其对应字符组成的,用以表示一定信息的标识”。目前已广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通运输、包装、配送等领域。通常使用软件解码算法对条形码进行解码,该算法为了防止条码位置发生旋转,对图像先进行逐行扫描,如果解码不成功,再进行逐列扫描,每扫描一行或者一列,都对该行/列图像数据进行去噪滤波,判定边缘点,然后根据各个边缘点之间的宽度进行解码,最后通过校验位进行判断是否解码正确。近年更由于支付应用快速增长,提高了对二维码以及条形码自动识别解决方案的要求,尤其在一些典型的应用场景,如停车场和高速公路出口的缴费场所,更提出在远距离、高清晰度条件下的解码要求。远距离和高清条件下解码对算法提出的更高要求,本专利将软件算法硬件化,可大幅度提高算法性能,并设计成IP,方便SoC集成。中国专利申请,申请号CN201611213759.3,公开日2017年4月26日,公开了一种用于条码扫描设备的硬件解码芯片,该芯片包括处理器模块、内置随机存取存储器以及内置闪存器,其包括底层的实时操作系统层,设于其上的驱动层模块,与所述驱动层模块连接的图像信号处理模块,与图像信号处理模块连接的解码器模块,与解码器模块连接的数据处理器模块以及接口,建于实时操作系统层上且对所述的驱动层模块,图像信号处理模块,解码器模块,数据处理器模块以及接口进行控制的配置管理器。该专利技术的硬件解码芯片,用于条码扫描设备,将解码功能集成到芯片的解码器中,实现硬件解码,不同于目前的采用软件解码的芯片,芯片无需进行其他的软件处理。其不足之处在于,芯片的结构较为复杂,成本较高,且未对解码模块进行专门的底层硬件设计,运算性能较低。
技术实现思路
1.要解决的技术问题针对现有技术中存在的软件解码数据访问代价大、计算速度慢的问题,本专利技术提供了一种条形码硬件解码IP核,它可以大幅提高算法性能、减小数据访问代价。2.技术方案本专利技术的目的通过以下技术方案实现:一种条形码硬件解码IP核,包括,总线接口,包括主设备接口和从设备接口,片上系统(SoC)通过主设备接口和从设备接口分别与知识产权核(IP核)的运算部和控制部相连,主设备接口用于IP核主动对SoC进行数据访问,从设备接口用于SoC对IP核的配合和数据读取访问,通过总线接口实现了SoC与IP核的数据交互;控制部,包括控制寄存器组,接收SoC通过总线接口传输的配置信息,向运算部传输配置信息,实现对运算部的状态控制、允许SoC访问解码结果;运算部,包括按照信号顺序依次连接的:数据访问单元,与控制寄存器组及主设备接口相连,获取控制部的寄存器组传输的配置信息,通过主设备接口向SoC读取数据,实现IP核对SoC的主动访问;动态滤波单元,获取数据访问单元传输的数据,对数据进行滤波处理,消除条形码图像中的噪点,提高字元宽度计算单元计算的准确度;字元宽度计算单元,获取动态滤波单元传输的数据,计算滤波后的数据,得到字元宽度;宽度寄存器组,用于保存字元宽度计算单元传输的字元宽度;码值计算单元,获取宽度寄存器组保存的字元宽度,转换字元宽度为码值和码类;校验单元,获取码值计算单元传输的码值和码类,根据码值和码类计算出校验码,对计算出的校验码进行校验,实现对解码结果的检验,由于硬件实现乘累加计算的效率比较高,因此校验单元采用正向计算的方式,对每个有效码值都进行乘累加操作,提高了运算效率;转换单元,获取校验单元传输的码值和码类,转换码值为条形码码表中对应的ASCII字符;ASCII字符寄存器组,根据转换单元传输的若干组带有ASCII字符信息的信号,选择对应的ASCII字符并保存;标准输出单元,获取ASCII字符寄存器组保存的ASCII字符,向控制寄存器组传输ASCII字符,完成了对条形码的解码。进一步的,数据访问单元包括DMA控制器、像素坐标寄存器和FIFO存储器,像素坐标寄存器将数据传输给DMA控制器,DMA控制器接收的数据传输给FIFO存储器,用于主动从SoC系统中读取数据和接收控制部寄存器传输的配置信息。DMA控制器能够主动、连续快速获取数据,避免数据到内存再到IP的复杂和耗时的流程;FIFO存储器用于存储获取的数据,通过FIFO存储器实现了流水线实时处理,隐藏了计算时间;像素坐标寄存器用于存储像素值,每读入一个像素值,像素坐标寄存器自增1,像素坐标是当前像素距离起始点像素的坐标,用于标定字元宽度。更进一步的,动态滤波单元包括若干个流水线寄存器,寄存器用于保存像素灰度值,寄存器以流水线的形式连接,每次输入一个像素灰度值,末端的寄存器移除数据,前面的寄存器按顺序依次将数据传输给后一个寄存器。更进一步的,字元宽度计算单元包括若干个历史边沿坐标寄存器,历史边沿坐标寄存器用于保存动态滤波单元传输的边沿坐标。字元宽度计算单元获取动态滤波单元传输的当前边沿坐标值,用当前边沿坐标值减去保存在历史边沿坐标寄存器中的上一次的边沿坐标,得到新的字元宽度,然后将当前坐标值保存于历史边沿坐标寄存器用于下一次宽度计算。更进一步的,宽度寄存器组由若干个寄存器组成,在保存字元宽度时,输入有效数值后偏移量变量普遍会自增1,在硬件电路中加法器会降低运算效率,用寄存器的移位方式替代加法器可以有效提高运算效率。更进一步的,ASCII字符寄存器组由若干个寄存器组成,根据转换单元传输的若干组带有ASCII字符信息的信号,判定ASCII字符的码类,寄存器的有效位移动对应的位数对其进行保存,实现对ASCII字符的存储。更进一步的,所述的宽度寄存器组和ASCII字符寄存器组中的寄存器使用one-hot编码方式,通过使用多个触发器的方式简化译码逻辑,提高了运算效率。一种条形码硬件解码IP核的解码方法,其特征在于,包括以下步骤:(1)SoC通过从设备接口向IP核的控制部的控制寄存器组传输配置信息,控制寄存器组将配置信息传输给IP核的运算部的数据访问单元,数据访问单元按照配置信息通过主设备接口向SoC中读取条形码数据,并将条形码数据保存到FIFO存储器中,每成功读入一个像素值,像素坐标寄存器自增1;(2)动态滤波单元获取数据访问单元中的条形码数据,对条形码数据进行滤波降噪处理,得到滤波后的条形码数据即边沿坐标;(3)字元宽度计算单元获取动态滤波单元中滤波后的边沿坐标,计算并得到字元宽度数组,将字元宽度数组保存到宽度寄存器组中的若干个寄存器中;(4)码值计算单元获取宽度寄存器组中的字元宽度数组,将宽度数组的值转换为条形码码表中对应的码值和码类;(5)校验单元获取码值计算单元的码值和码类,根据码值和码类计算出对应的校验码,之后对校验码进行校验,若计算出的校验码与条码中实际校验码一致,则本文档来自技高网
...

【技术保护点】
1.一种条形码硬件解码IP核,其特征在于:包括,/n总线接口,包括主设备接口和从设备接口,SoC通过主设备接口和从设备接口分别与IP核的运算部和控制部相连;/n控制部,包括控制寄存器组,接收SoC传输的配置信息,向运算部传输配置信息;/n运算部,包括按照信号顺序依次连接的:/n数据访问单元,与控制寄存器组及主设备接口相连,用于接收控制部传输的配置信息,读取SoC的数据;/n动态滤波单元,用于对数据进行滤波处理;/n字元宽度计算单元,将滤波后的数据转换为字元宽度;/n宽度寄存器组,用于保存字元宽度;/n码值计算单元,用于转换字元宽度为码值和码类;/n校验单元,用于校验码值;/n转换单元,用于转换码值为ASCII字符;/nASCII字符寄存器组,用于保存ASCII字符;/n标准输出单元,向控制部传输ASCII字符。/n

【技术特征摘要】
1.一种条形码硬件解码IP核,其特征在于:包括,
总线接口,包括主设备接口和从设备接口,SoC通过主设备接口和从设备接口分别与IP核的运算部和控制部相连;
控制部,包括控制寄存器组,接收SoC传输的配置信息,向运算部传输配置信息;
运算部,包括按照信号顺序依次连接的:
数据访问单元,与控制寄存器组及主设备接口相连,用于接收控制部传输的配置信息,读取SoC的数据;
动态滤波单元,用于对数据进行滤波处理;
字元宽度计算单元,将滤波后的数据转换为字元宽度;
宽度寄存器组,用于保存字元宽度;
码值计算单元,用于转换字元宽度为码值和码类;
校验单元,用于校验码值;
转换单元,用于转换码值为ASCII字符;
ASCII字符寄存器组,用于保存ASCII字符;
标准输出单元,向控制部传输ASCII字符。


2.根据权利要求1所述的一种条形码硬件解码IP核,其特征在于:所述的数据访问单元包括DMA控制器、像素坐标寄存器和FIFO存储器,像素坐标寄存器将数据传输给DMA控制器,DMA控制器接收的数据传输给FIFO存储器。


3.根据权利要求1所述的一种条形码硬件解码IP核,其特征在于:所述的动态滤波单元包括若干个流水线寄存器。


4.根据权利要求1所述的一种条形码硬件解码IP核,其特征在于:所述的字元宽度计算单元包括若干个历史边沿坐标寄存器。


5.根据权利要求1所述的一种条形码硬件解码IP核,其特征在于:所述的宽度寄存器组由若干个寄存器组成。


6.根据权利要求1所述的一种条形码硬件解码IP核,其特征在于:所述的ASCII字符寄存器组由若干个寄存器组成。


7.根据权利要求5或6所述的一种条形码硬件解码IP核,其特征在于:宽度寄存器组和ASCII字符寄存器组中的寄存器使用one...

【专利技术属性】
技术研发人员:刘磊张飞飞卢孟
申请(专利权)人:江苏邦融微电子有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1