基于嵌入式Linux的打印数据桥接系统和桥接方法与流程

文档序号:19323628发布日期:2019-12-04 00:49阅读:420来源:国知局
基于嵌入式Linux的打印数据桥接系统和桥接方法与流程

本发明涉及一种基于嵌入式linux的打印数据桥接系统及相关桥接方法。



背景技术:

现有商场收银系统主要基于windows操作系统,主机(处理器)通过相关接口与打印机和显示器直接通信,由专门的收银员进行操作,在一定程度上满足了商家的需要,但随着信息技术的发展和需求的多样化,这种技术也显示出局限性,一是对串口、usb口、网口、wifi及蓝牙等多种打印接口的支持上缺乏灵活性,二是商场在打印小票(或称消费小票)时,除了需要打印源自pos机的交易信息外,还需要打印上二维码、致辞、优惠信息、会员信息等额外信息(追打信息)。依据上述现有技术,要实现上述功能,需要配备的设备复杂,数据处理量大,资源占用多,给使用者带来不便。

在避免复杂设备和大量数据处理的情形下解决追打问题的一种可行的思路是在主机(例如,pos机)与打印机之间设置桥接,通过桥接电路(桥接系统)加入追打信息,但现有桥接技术多为基于单片机的设计方案,通过单片机收发数据,单片机通过phy芯片接受经过解析后usb数据,然后经过处理转发给打印机,在处理过中不涉及usb底层协议处理。因此在处理过中经常会导致usb数据包的丢失,同时也存在数据转发不及时导致pc与打印机通信异常。造成这个问题出现的原因有四个方面:1)数据处理未能在最底层控制usb协议,导致对数据的控制不精确;2)由于单片机自身工作频率的限制,单片机的处理速度较慢,无法满足usb通信的要求;3)无法在不影响打印机打印的情况下暂停电脑端发送数据,经常导致电脑端识别打印机异常。



技术实现要素:

为解决上述技术问题,本发明提供了一种基于嵌入式linux的打印数据桥接系统,还提供了一种适应于该桥接系统的桥接方法,以简化处理过程,减少设备需求,方便使用。

本发明的技术方案是:一种基于嵌入式linux的打印数据桥接系统,主要由嵌入式mcu(microcontrollerunit,微控制单元或单片机)以及与mcu连接的fpga(field-programmablegatearray,现场可编程门阵列或称现场可编程逻辑门阵列)、接口模块、通信模块以及存储模块构成,所述fpga串接在pos机与打印机之间,通过其输出端获取pos发出的打印数据并送至mcu,所述mcu对打印数据进行解析,依据打印配置进行追打设置,将经过追打设置的包含追打数据的打印数据送至fpga,所述fpga通过其输出端将追加打印数据向打印机输出,控制打印机实施打印。

所述mcu优选采用arm处理器,设有存储模块、通信模块和电源模块。

所述fpga优选设有驱动电路,支持与并口、串口和usb口的连接,支持或者不支持与网口(例如,以太网接口)的连接。

通常,所述并口符合ieee1284标准,所述串口符合rs232标准,所述usb符合usb2.0标准,所述网口为符合ieee802.3标准的以太网接口。

所述mcu设有嵌入式linux系统,并设有相应的应用程序。

所述应用程序可主要包括:web配置模块、升级模块、守护进程模块、网络连接模块和业务程序模块。

所述业务程序模块可主要用于:

1)与并口、串口、usb口、fpga及网口程序配合,完成打印数据的获取;

2)与平台进行tcp通信;

3)根据本地和平台的配置进行程序初始化;

4)打印账单文件的上传;

5)账单的本地解析和账单信息上传;

6)账单的平台解析;

7)设备监控信息上传;

8)远程控制命令支持,用于修改程序配置和调试;

9)关键信息和错误信息的日志记录;

10)本地和平台推送的二维码追加打印;

11)本地和平台推送的营销信息追加打印及更新。

所述cpu可以通过spi接口发送配置或追打数据到fpga,优选其中包括:

1)fpga工作模式配置,通过此项配置fpga的工作模式,所述fpga的工作模式有两种,包括:a)截获模式;b)追打模式。

2)打印机类型配置,通过此项配置打印机为针式打印机或热敏打印机;

3)账单关键字配置数据,通过此项配置需要追加打印的账单关键字;

4)信号滤波延迟配置,通过此项配置对并口采样数据信号滤波延迟;

5)追打位置配置,通过此项配置追加打印位置;

6)追加打印数据,通过此项配置发送需要追加打印的数据;

7)过滤的切纸配置信息,通过此项配置发送需要过滤的切纸数据。

所述桥接系统可以采用本发明公开的任意一种基于嵌入式linux的打印数据桥接方法工作。

一种基于嵌入式linux的打印数据桥接方法,设置本发明公开的任意一种基于嵌入式linux的打印数据桥接系统,所述桥接系统在接收到源自pos机的打印数据后,读取打印配置,依据打印配置,在需要直接打印账单时,依据这些打印数据控制打印机进行账单打印和/或显示;在需要追加打印追打信息时,把打印数据保存为原始账单文件,对原始账单文件进行解析,去除控制打印指令,将打印数据转换成图片或文字,取出关键字,按mac地址加时间戳的格式生成解析后的打印数据文件,依据所要追打的内容生成追加打印数据文件,将解析后的打印数据文件和追加打印数据文件打印和/或显示为一个完整的账单,其中追打信息位于该账单中设定的追打区域。

可以依据下列方式控制打印机进行追打信息的打印或显示:依据打印数据文件打印或显示原始账单文件的尾前内容,依据打印配置确定追打信息在账单上的打印或显示位置,当追打信息在账单上的打印或显示位置为插在原始账单文件的尾前内容和账单尾之间时,依据追加打印数据文件在原始账单文件的尾前内容的后面追打或显示打印数据,依据打印数据文件在追打信息的后面打印或显示原始账单文件的账单尾;当追打信息在账单上的打印或显示位置为在原始账单文件的账单尾的后面时,在原始账单文件的尾前内容的后面打印或显示原始账单文件的账单尾,依据打印数据文件在原始账单文件的尾前内容的后面打印原始账单文件的账单尾,依据追加打印数据文件在原始账单文件的账单尾的后面打印或显示追打信息。

所述fpga可以采用下列工作方式:

步骤s1.与pos机建立通信;

步骤s2.与打印机建立通信;

步骤s3.接受arm是否需要对pos的打印机数据进行追加打印的配置,如果需要追加,进入步骤s4,否则进入步骤s5;

步骤s4.追加打印数据。对接收到的pos端数据,分离出打印机数据,对打印机数据判断头尾,在匹配到头部尾部标识时,采用对分离传输部分数据应答nak的方式进行数据的截断,等待arm发送需要追加打印的打印数据,接受到追加打印的打印数据后,将这些打印数据打包发送给打印机,等待arm发送追加结束标志,接受到arm发送的追加结束标志后,退出追加模式,进入步骤s5;

步骤s5.转发打印机数据。对接受到的pos端数据,分离出打印机数据,将分离出的打印机数据直接发送给打印机,保持pos与打印机通信,

重复步骤s3-s5,直至打印结束。

本发明的有益效果是:在不破坏原有pos机与打印机的环境下获取打印信息,实现追加打印,全面支持高速、双向的串、并、网、usb接口的打印机的数据采集及二维码等追打信息的追加打印功能,实现了设备和数据处理过程的简化,且有效避免了追加打印时出现卡死、追加打印延迟、采集数据丢包乱码等的现象,做到即插即用。

附图说明

图1是本发明产品使用场景和使用架构的示意图;

图2是本发明产品的硬件架构示意图;

图3是本发明软件架构示意图。

具体实施方式

参见图1和图2,本发明是一种商业环境下pos软件与打印机打印数据桥接的系统,主要由嵌入式mcu以及与mcu连接的fpga、接口模块、通信模块以及存储模块构成,以fpga实现pos机和打印机之间的桥接,所述fpga设有相应的驱动电路,可以连接到并口、串口、usb口和网口的打印机,通过串接在pos机与打印机之间,可以获取pos发出的打印数据并将其解析成标准化数据格式,同时追打打印二维码等数据,根据需要,可以增加将解析出的标准化数据上传到平台(例如,局域网络平台或云平台)的功能。

所述mcu可以以arm(即arm处理器)作为其中央处理单元(cpu),形成arm与fpga组合的桥接系统(参见图2所示),实现桥接接口(包括并口、串口、usb口和网口等)。

在现有技术背景下,可以通过设置集成有千兆网tcp协议栈+千兆mac+千兆phy的芯片或其他适宜的现有技术手段实现fpga与网口的连接。

在现有技术背景下,可以采用下列标准,所述并口符合ieee1284标准,所述串口符合rs232标准,所述usb符合usb2.0标准,所述网口为符合ieee802.3标准的以太网接口。

可以通过fpga实现并口、串口或usb接口协议,获取协议打印数据。fpga可以通过内部总线接口把打印数据发送到cpu(arm)端,由arm实现账单分析,解析以及对追打的控制(追打内容)等功能。

实施时,将pos机的并口、串口、usb口和/或网口等接口(按pos机实际的接口设置和使用情况)接到桥接系统的数据输入端,将桥接系统的数据输出端连接并口、串口、usb口和/或网口打印机(按打印机实际设置和使用情况)。

在pos机打印账单(小票)时,其输出的打印数据通过相应接口输出到本桥接系统的输入端,由fpga转发给cpu端,arm根据是否需要追打判断如何进行打印数据的输出,桥接系统的数据输出端把打印数据(桥接处理后的打印数据)发送给打印机,由打印机实施打印。

输入端收到的打印数据从fpga到cpu后,业务程序会根据配置的账单标识截取打印数据形成账单,之后把账单数据发送给arm的账单解析模块进行解析,同时上传到云平台。账单解析模块会把账单数据解析成标准格式,同时判断是否需要追加打印。如果需要追加打印,业务程序会根据规则生成追打数据,之后会把追打数据发送给fpga,fpga通过数据输出端把追打数据的打印数据输出给打印机完成追加打印。

根据实际需要,也可以由平台或者由解析模块与平台共同实施打印数据的解析及追打设置,桥接系统通过与平台的通信上传原始的打印数据,获得解析后或包括追打信息的相应打印数据。

本发明的桥接系统嵌入式linux系统,包括bootloader和linuxkernel,设有相应的应用程序,其中bootloader和linuxkernel经过深度定制,包括启动程序和驱动程序等。

所述应用程序主要包括:web配置模块、升级模块、守护进程模块、网络连接模块和业务程序模块。

其中:

所述web配置模块主要用于:

1)平台连接配置,主要涉及:

a)域名或ip访问;

b)端口号。

2)网络配置,包括有线网络配置、wifi网络配置和移动通信网络(3g、4g、5g等)配置,其中,

所述有线网络配置主要涉及:

a)dhcp;

b)静态ip;

c)dns。

所述wifi网络配置主要涉及:

a)ssid;

b)密码。

3)截获配置,主要涉及:

a)并口、串口、usb口、网口;

b)各接口属性配置。

所述升级模块主要用于:

1)升级系统文件;

2)升级web配置模块;

3)升级守护进程程序;

4)升级业务程序。

所述守护进程模块主要用于:

1)创建必要的环境;

2)启动业务程序;

3)守护业务程序。

所述网络连接模块主要用于:

1)根据配置文件识别网络连接方式;

2)以太网连接;

3)wifi连接;

4)3g/4g网络连接。

所述业务程序模块主要用于:

1)与并口、串口、usb口、fpga及网口程序配合,完成打印数据的获取;

2)与平台进行tcp通信;

3)根据本地和平台的配置进行程序初始化;

4)打印账单文件的上传;

5)账单的本地解析和账单信息上传;

6)账单的平台解析;

7)设备监控信息上传;

8)远程控制命令支持,用于修改程序配置和调试;

9)关键信息和错误信息的日志记录;

10)本地和平台推送的二维码追加打印;

11)本地和平台推送的营销信息追加打印及更新。

所述cpu(arm)通过spi接口发送配置或追打数据到fpga,其中包括:

1)fpga工作模式配置,通过此项配置fpga的工作模式,所述fpga的工作模式有两种,包括:

a)截获模式;

b)追打模式。

2)打印机类型配置,通过此项配置打印机为针式打印机或热敏打印机;

3)账单关键字配置数据,通过此项配置需要追加打印的账单关键字;

4)信号滤波延迟配置,通过此项配置对并口采样数据信号滤波延迟;

5)追打位置配置,通过此项配置追加打印位置;

6)追加打印数据,通过此项配置发送需要追加打印的数据;

7)过滤的切纸配置信息,通过此项配置发送需要过滤的切纸数据。

本发明可以依据下列方式工作:在接收到pos机的打印数据(原始打印数据)后,读取打印配置,依据打印配置,在需要直接打印账单时,依据这些打印数据控制打印机进行账单打印和/或显示;在需要追加打印追打信息时,把打印数据保存为原始账单文件,对原始账单文件进行解析,去除控制打印指令,将打印数据转换成图片或文字,取出关键字,按mac地址加时间戳的格式生成解析后的打印数据文件,依据所要追打的内容生成追加打印数据文件,将解析后的打印数据文件和追加打印数据文件打印和/或显示为一个完整的账单,其中追打信息位于该账单中设定的追打区域。

可以依据下列方式控制打印机进行追打信息的打印或显示:依据打印数据文件打印或显示原始账单文件的尾前内容,依据打印配置确定追打信息在账单上的打印或显示位置,当追打信息在账单上的打印或显示位置为插在原始账单文件的尾前内容和账单尾之间时,依据追加打印数据文件在原始账单文件的尾前内容的后面追打或显示打印数据,依据打印数据文件在追打信息的后面打印或显示原始账单文件的账单尾;当追打信息在账单上的打印或显示位置为在原始账单文件的账单尾的后面时,在原始账单文件的尾前内容的后面打印或显示原始账单文件的账单尾,依据打印数据文件在原始账单文件的尾前内容的后面打印原始账单文件的账单尾,依据追加打印数据文件在原始账单文件的账单尾的后面打印或显示追打信息。

所述fpga可以采用下列工作方式:

步骤s1.与pos机建立通信;

步骤s2.与打印机建立通信;

步骤s3.接受arm是否需要对pos的打印机数据进行追加打印的配置,如果需要追加,进入步骤s4,否则进入步骤s5;

步骤s4.追加打印数据。对接收到的pos端数据,分离出打印机数据,对打印机数据判断头尾,在匹配到头部尾部标识时,采用对分离传输部分数据应答nak的方式进行数据的截断,等待arm发送需要追加打印的打印数据,接受到追加打印的打印数据后,将这些打印数据打包发送给打印机,等待arm发送追加结束标志,接受到arm发送的追加结束标志后,退出追加模式,进入步骤s5;

步骤s5.转发打印机数据。对接受到的pos端数据,分离出打印机数据,将分离出的打印机数据直接发送给打印机,保持pos与打印机通信,

重复步骤s3-s5,直至打印结束。

由于本发明嵌入了高性能、多任务的操作系统linux,该操作系统具备源代码开放、内核体积小、占用系统资源少等优点,保证了系统的可靠性,满足了用户的通用性需求,具有多任务处理能力,功能扩展方便。

使用嵌入式linux系统作为本产品的操作系统,优势主要有以下几点:

1)可应用于多种硬件平台。linux已经被移植到多种硬件平台,原型可以在标准平台上开发后移植到具体的硬件上,加快了软件与硬件的开发过程。linux采用一个统一的框架对硬件进行管理,从一个硬件平台到另一个硬件平台的改动与上层应用无关。linux可以随意地配置,不需要任何的许可证或商家的合作关系,源代码可以免费得到。本身内置网络支持,而本产品对网络支持要求较高。linux的高度模块化使添加部件非常容易。

2)linux以内核为基础的、具有完全的内存访问控制,支持大量硬件(包括arm等现有的大部分芯片)等特性的一种通用操作系统。其程序源码全部公开,对并口驱动,串口驱动,usb驱动,spi驱动,iic驱动,sd\mmc驱动,网卡驱动,wifi无线网卡驱动,以太网驱动等移植到本产品linux系统中,使应用程序可以控制硬件功能。

3)linux系统带有用户熟悉的完善的开发工具,几乎所有linux系统的应用软件都已移植到嵌入式linux系统上。其强大的语言编译器gcc,c++等也可以很容易得到,不但成熟完善,而且使用方便。

本发明所称pos机或pos,亦可称为收银机,泛指交易中用于产生账单(包括消费小票)或发票等的打印数据以便通过打印机或打印装置进行账单打印的设备,在现有技术背景下,这些打印数据亦可通过显示屏显示或者作为电子账单送出而不打印成纸质账单,目前这类装置主要采用通常所称的pos机。

本发明公开的各优选和可选的技术手段,除特别说明外及一个优选或可选技术手段为另一技术手段的进一步限定外,均可以任意组合,形成若干不同的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1