200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > linux马达驱动程序 一种Linux系统的微型针式打印机及其驱动方法与流程

linux马达驱动程序 一种Linux系统的微型针式打印机及其驱动方法与流程

时间:2022-12-19 23:10:37

相关推荐

linux马达驱动程序 一种Linux系统的微型针式打印机及其驱动方法与流程

本发明涉及打印机技术领域,特别是指一种微型打印机及其驱 动方法。

背景技术:

传统的微型针式打印机芯驱动方式,必须使用一颗专用的MCU 控制芯片、马达控制芯片、字库芯片。为了使用微型打印机芯,应 用程序必须首先将待打印字符的编码以及打印位置信息通过串口 ESC命令发送至MCU,MCU根据ESC命令以及字库存储IC中的字 符图形转换为打印头控制信号,走纸马达控制信号、字车马达控制 信号等工作后,方可打印。

传统微型打印机需要多颗芯片协同工作,尤其因字库存储IC 价格昂贵,仅能支持2-3种英文点阵字库,如5x7,7x7两种。以及 一种宋体或黑体的基于GB2312编码的宋体中文字库,字库数量少, 字体大小固定,无法满足多种字体,字号的票据打印场景需求。

传统的微型针式打印机的MCU,因无法运行多任务的操作系 统,针对票据打印无线、有线云端处理的微型打印机,必须使用嵌 入式CPU,如ARM或MIPS芯片,运行Linux内核,Linux或Android 操作系统。而嵌入式CPU,因没有打印机控制器,因此外接专用的 打印机MCU芯片实现打印功能。此种方案因需要外接专用的打印机 MCU以及字库芯片,大大增加了新型微型打印机的成本。同时因为 双CPU的架构,系统可靠性降低。

技术实现要素:

针对现有技术的不足,本发明的目的在于提供一种新型的微型 打印机及其驱动方法,使用嵌入式ARM CPU直接驱动打印头,以 及系统自带的存储器,无需额外的专用机芯驱动MCU,字库芯片。 同时,使用Linux系统内的中英文矢量字库,配合字库排版与处理 程序,可针对任意大小的字体实现打印,特别适用于有多种字体, 多种字号的票据打印场景。

本发明的技术方案如下:一种基于Linux系统的微型针式打印 机:包括驱动打印机的驱动电路,驱动电路中:

走纸马达由嵌入式CPU上的GPIO或PWM控制器与马达控制 芯片输入端连接,马达控制芯片输出端与打印机芯的走纸马达连接;

打印头由嵌入式CPU上的GPIO经过MOS管或达林顿管与打 印机芯的打印头控制信号连接;

回位传感器由嵌入式CPU上的GPIO与打印机芯的回位传感器 信号连接;

黑标传感器由嵌入式CPU上的GPIO与打印机芯的黑标传感器 信号连接;

缺纸传感器由嵌入式CPU上的GPIO与打印机芯的缺纸传感器 信号连接;

温度传感器由嵌入式CPU上的ADC控制器与打印机芯的温度 传感器信号连接。

优选的,马达驱动芯片可选择GPIO或PWM信号中的一种。

优选的,打印头根据实际硬件选择MOS管或达林顿管。

优选的,根据回位传感器GPIO状态判断打印头是否归位,然 后根据打印头位置对字车马达做出相应的控制。

优选的,根据黑标传感器GPIO状态判断打印纸是否检测到黑 标,然后根据打印驱动程序所设定的配置,对走纸马达做出相应的 控制。

优选的,根据缺纸传感器GPIO状态判断打印纸是否存在。然 后根据打印驱动程序所设定的配置,对打印程序做出相应的处理。

优选的,根据温度传感器ADC值判断打印头是否过热,然后根 据打印驱动程序所设定的配置,对打印速度以及打印模式做出相应 处理。

一种基于Linux的微型针式打印机打印驱动方法,其中,打印 驱动方法包括:

步骤1,在有打印需求的应用程序向打印驱动发出打印请求的 情况下,向马达芯片发出控制信号,请求字车马达进行移动,将字 车架上打印头移动到指定位置的装置;

步骤2,根据应用程序发送的打印数据,并将打印请求转换为 打印头所支持的驱动信号进行逐列印字的装置;

步骤3,根据打印数据的行间距转换为走纸请求,并将走纸请 求转换为打印机走纸马达所支持的驱动信号进行走纸移动控制的装 置;

步骤4,向发送请求的应用程序回送该打印机的必要属性信息 的装置;

进一步的,步骤还包括:根据接收到的打印机语言安排打印装 置进行打印操作。

进一步的,步骤还包括:向打印驱动接口发送打印状态消息。

所述的打印机的必要属性信息包含以下信息的部分或全部:缺 纸状态,打印纸黑标状态。

如上所述的打印机驱动程序的步骤中,步骤1中根据实际驱动 接口,接收打印机请求与数据,执行相应的打印动作以及走纸动作。

如上所述的打印机驱动程序的步骤中,步骤2中根据实际驱动 接口,上报打印机状态Linux内核UEVENT事件。

如上所述的打印机驱动程序的步骤中,步骤3中根据实际驱动 接口,回送打印机缺纸状态、打印纸黑标状态。

应用本发明,只需在嵌入式CPU及Linux系统上,增加马达 驱动IC,打印头驱动MOS管或达林顿管,安装一次打印机驱动程 序,字库排版及处理程序,即可进行打印。这种驱动方式不但可以 降低硬件成本,增强系统可靠性,从而,为Linux操作系统下的微 型针式打印提供一种便于操作,低成本,且行之有效的方法。

附图说明

图1为本发明的打印驱动功能框图。

图2为本发明的打印驱动程序流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术 方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明 一部分实施例,而不是全部的实施例。基于本发明中的实施例,本 领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。

首先在具有打印需求的设备上,增加打印机芯驱动所需的器件 与电路,其电路的功能框图如图1所示。微型打印机包括嵌入式 CPU10,马达驱动IC20,和打印机芯30,通过电路或电线连接通信, 其中,打印机芯30包括电路通信连接的走纸马达31、字车马达32、 打印头33、回位传感器34、黑标传感器35、温度传感器36,其中:

走纸马达31由嵌入式CPU上的GPIO或PWM控制器与马达控 制芯片输入端连接,马达控制芯片输出端与打印机芯的走纸马达连 接;

字车马达32由嵌入式CPU上的GPIO或PWM控制器与字车马 达控制芯片输入端连接,马达控制芯片输出端与打印机芯的字车马 达连接;

打印头33由嵌入式CPU上的GPIO经过MOS管或达林顿管与 打印机芯的打印头控制信号连接。

回位传感器34由嵌入式CPU上的GPIO与打印机芯的回位传 感器信号连接。

黑标传感器35由嵌入式CPU上的GPIO与打印机芯的黑标传 感器信号连接。

缺纸传感器由嵌入式CPU上的GPIO与打印机芯的缺纸传感器 信号连接。

温度传感器36由嵌入式CPU上的ADC控制器与打印机芯的温 度传感器信号连接。

马达驱动芯片20根据选择GPIO或PWM信号中的一种。

打印头33根据实际硬件选择MOS管或达林顿管中的一种。

根据回位传感器34的GPIO状态判断打印头是否归位,然后根 据驱动程序所设定的打印头位置对字车马达做出调整控制。

根据黑标传感器35的GPIO状态判断打印纸是否检测到黑标, 然后根据打印驱动程序所设定的配置,对走纸马达做出调整控制。

根据缺纸传感器的GPIO状态判断打印纸是否存在。然后根据 打印驱动程序所设定的配置,打印程序做出故障提示。

优选的,根据温度传感器36的ADC值判断打印头是否过热, 然后根据打印驱动程序所设定的配置,对打印速度以及打印模式做 出调整或待机。

在本发明的具体实施例中,马达驱动芯片20,以支持微型针式 打印机的走纸马达及字车马达驱动。马达芯片在Linux下的驱动程 序中,需要根据实际的硬件配置参数做修改。根据实际的马达相位 控制,驱动电流控制,加减速控制,对驱动程序做出修改。这样在 Linux系统下就可以完成字车马达及走纸马达的控制。

打印头驱动所需要的MOS管或达林顿管,以支持微型针式打印 机的打印头驱动。打印头在Linux下的驱动程序中,需要根据实际 的硬件配置参数做修改。根据实际的打印头针数9针或18针,打印 头回针时间,打印头线圈最大负载时间,对驱动程序做出修改。这 样在Linux系统下就可以进行打印头的控制。

回位传感器、缺纸传感器、黑标传感器、温度传感器所需要的 GPIO或ADC信号,以支持微型针式打印机的回位检测、缺纸检测、 黑标检测、温度检测。在Linux驱动程序中,需要根据实际的硬件 配置参数做修改。这样在Linux系统下就可以进行打印机回位、缺 纸、黑标、温度状态检测。

作为本发明的具体实施例,图2给出了应用本发明的打印驱动 程序流程图,该程序运行在有打印需求的设备上,驱动程序的步骤 包括:

S100、初始化打印机驱动程序;

S110、接收到应用程序的打印请求;

S120、接收待打印的一字符行预处理数据至共享内存Buffer1, Buffer2;

S130、检查单向Buffer1的数据合法性;

S140、驱动字车马达加速至字符行起始打印位置;

S150、根据Buffer1对应点位置的值,驱动9针或18针打印头 出针或不出针;

S160、驱动字车马达至下一列位置;

循环执行步骤S150、S160,直至所有列数据全部打印完毕。

S170检查双向Buffer2的数据合法性;

S180如果Buffer2不为空,则控制马达反向;

S190驱动字车马达加速至字符行起始打印位置;

S200根据Buffer2对应点位置的值,驱动9针或18针打印头出 针或不出针;

S210驱动字车马达至下一列位置;

循环执行步骤S200,S210直至所有列数据全部打印完毕。

S220根据打印请求的行间距,驱动走纸马达至指定距离所对应 的步数。

S230打印结束。

在打印机驱动程序的实施步骤中,驱动程序根据实际驱动接口, 接收打印机请求与数据,执行相应的打印动作以及走纸动作、上报 打印机状态Linux内核UEVENT事件、回送打印机缺纸状态、打印 纸黑标状态。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技 术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以 对这些实施例进行多种变化、修改、替换和变型,本发明的范围由 所附权利要求及其等同物限定。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。