您好, 访客   登录/注册

基于LPC1100的RS-485总线热敏打印机设计

来源:用户上传      作者:

  [摘 要] 本文介绍了基于LPC1100系列ARM微控制器的微型热敏打印机总体设计方案,完成了打印机硬件电路设计,并在此基础上完成了软件设计。在软件设计方面,本文在传统的嵌入式软件设计方法基础上,给出了一种多任务机制的设计方法,创新点就是实现了打印机的无冲突多机共享。
  [关键词] 热敏打印机 微控制器 多机共享
  
  1.引言
  微型热敏打印机具有体积小、打印速度快,噪声低、可靠性高、字迹清晰等优点,可满足各种场合的打印要求,因此得到广泛应用。目前,热敏打印机原装进口控制板价格昂贵,且有的不支持汉字打印。并且随着使用微型打印机行业的智能化和信息化,对打印机的功能提出了更多的要求,如在工业场合打印、多机共享等。为此,本设计针对热敏打印机的发展现状及应用需求,以市场定价最低的32位MCU―LPC1100系列ARM芯片作为主控制器,基于RS-485通信技术,设计一套“RS-485总线热敏打印机”。
  2.总体设计方案
  热敏打印机的主要任务包括数据传输、数据处理和实时打印控制。在本设计中,系统分为上位机和下位机两部分,二者通过RS-485总线连接。
  上位机主要是PC端打印机控制软件,用户通过上位机软件实现对打印机的控制;下位机主要包括主控制器、液晶显示器、字库以及打印机芯四部分。系统的核心部分――打印机芯,主要由步进电机驱动模块、热敏头加热电压控制模块、状态检测及异常处理模块组成。下位机采用LPC1100系列ARM微控制器LPC1114作为主控制器,通过通讯接口接收命令和数据,根据打印信息执行命令或控制打印头进行打印,还要控制加热时间的精确计算。同时,还需驱动液晶显示打印机的状态,并将打印机的状态反馈给上位机。系统示意图为:
  
  3.系统硬件设计
  本设计硬件主要由以下几部分组成:电源部分、打印机控制部分、显示控制部分以及RS-485通信部分。其中核心部分打印机控制部分又包括步进电机驱动、热敏头加热电压控制、缺纸检测、滚筒打开检测和热敏头温度检测几部分。这几部分构成了整个系统的硬件框架,为打印机的运行提供一个良好的硬件平台,从而保证整个系统运行的可靠性和稳定性。
  热敏打印机加热控制时序要求极高,热敏打印头加热时间一般为1ms,连续加热超过1s后,很容易烧毁热敏头,所以热敏头加热控制要采取保护措施。本设计中给热敏头加热采取不同于一般控制方法,而是采用了双重保护电路,对电源VP的控制采用一种独立于控制器的保护电路。将打印头的电源VP通过开关管连接到供电电源,对开关管的控制通过一个可重触发的单稳触发器74HCT123D进行的,因此加热电源导通时间保证在安全范围内。
  4.系统软件设计
  微型热敏打印机软件的主要任务是接收上位机的数据,并对接收到的数据进行处理。之后控制打印机头加热,将相应的字符打印出来,同时根据打印速度控制步进电机走纸。在微型热敏打印机的控制中,CPU完成的功能主要分为以下几个模块:数据接收模块、数据处理模块、打印模块、状态检测及异常处理模块。
  4.1多任务机制的程序设计方法
  本设计采用一种多任务机制的设计方法。此方法整体思路是在主函数main中依次放置几个死循环作为任务框架,利用中断进行任务切换。程序为所有任务设置一个总入口并放在主函数中,各中断每次返回时必须先经过这个总入口,在总入口处检查任务控制变量(全局变量)的值,根据其值决定要切换到哪个任务。
  4.2打印机无冲突多机共享设计
  为了实现多上位机无冲突共享打印机,本设计中采取打印机广播后上、下位机应答的方式来确定使用权的方法。
  每台上位机软件设置一个唯一的ID号。任何上位机发出打印命令后并不马上占用RS-485总线,而只是将打印请求标志置位。下位机定时循环发送各ID号查询是否有打印请求,当有打印请求的上位机接到本机ID号时,给下位机发送应答,之后才获得使用权;当打印机被其他上位机占用时,即使有打印请求,本机先不与下位机通信,而是将本机串口关闭,定时打开串口查询是否收到本机ID号,直到接到下位机发送的本机ID号时,才能获得打印机使用权。当打印任务完成后,打印机又进入空闲任务,继续循环广播。采用这种设计方法,打印机作为主机,各上位机作为从机,打印机定时循环广播各ID号,并通过判断上位机返回的状态(请求打印/无请求)决定是否接受打印请求。所有任务都由打印机发起,故不会发生多机冲突,实现了打印机的无冲突多机共享。
  4.3上位机设计
  本设计中上位机主要实现对打印机的控制,通过RS-485总线向下位机发送打印命令和需要打印的数据,接收下位机反馈的打印机状态并进行显示。上位机软件的开发使用Microsoft公司的VC++6.0。
  本设计为用户提供友好的上位机界面,用户通过上位机界面即可简单、方便的实现对打印机的控制,实现文本和图片打印功能。
  5.系统抗干扰设计
  在嵌入式系统中,系统的抗干扰性直接影响系统工作的可靠性。当系统的可靠性越来越成为人们关注的一个重要课题的时候,抗干扰设计成为应用系统设计中不可忽略的一个重要内容。设计时需要从硬件和软件两个方面考虑,设法消除干扰对系统的影响。
  应用硬件抗干扰措施是经常采用的一种有效抗干扰的方法。实践表明,通过合理的硬件电路设计,可以消弱或抑制绝大部分干扰。其中本系统设计采用的措施主要有:选用抗干扰性能好的器件;去耦技术;开关量输入、输出的抗干扰措施;电路板合理布局。同时采取设置指令冗余技术和软件陷阱;设置软件看门狗WDT等软件抗干扰措施,提高软件的可靠性,减少软件错误的发生以及在发生错误的情况下能使系统恢复正常运行。对系统抗干扰技术的研究与设计,进一步提高了系统的抗干扰性和稳定性。
  6.结论
  本文设计的微型热敏打印机通过RS-485总线进行通信,可应用于远距离打印、工业场合打印等。基于市场定价最低的32位ARM微控制器进行开发,既保证了系统的低成本,又保证了实时性。实现了汉字、字符和图片打印,打印速度快、打印效果好,支持部分ESC/POS指令。多任务机制的程序设计方法提高的系统的实时性和稳定性,实现了打印机无冲突多机共享,拓展了热敏微打的应用领域,对打印机在局域网的设计开发具有一定的参考价值。
  参考文献:
  [1]周立功等.ARM嵌入式系统软件开发实例(一)[M].北京:北京航空航天大学出版社,2004.
  [2]窦振中,汪立森.热敏打印机设计原理[J].电子计算机与外部设备,2000(2):22-23.
  [3]施坚强,吴丹.基于ARM的热敏打印机系统[J].黑龙江科技信息,2008(28):46-49.


转载注明来源:https://www.xzbu.com/8/view-48273.htm