APP下载

LQ—300K型打印机在嵌入式系统下的应用与实现

2016-05-30羊阳王洪亮程恒锋

科技风 2016年12期
关键词:信号量字符中断

羊阳 王洪亮 程恒锋

摘 要:本文介绍了电力系统中常用的EPSON LQ-300K型打印机在嵌入式系统中的具体应用,详细介绍了打印机与主控制器的接口电路设计,并在实时嵌入式系统μC/OS-II中利用信号量编写驱动实现字符和图形的打印。

关键词:LQ-300K;μC/OS-II;信号量;串行接口

随着嵌入式产品的进一步开发和推广,嵌入式技术与人们的生活联系越来越紧密,尤其在测量仪器仪表及继电保护中使用较多,而在这些场合中往往有对打印机的配置需求,用来打印运行过程中的重要参数及波形信息。

由于在电力系统中的环境较为恶劣,对打印机的要求较高,EPSON公司的LQ-300K型打印机结构简单、结实、操作方便,适合在长期负荷的恶劣环境中使用。

本文介绍了基于32位嵌入式处理器LPC1788作为硬件平台,移植实时操作系统μC/OS-II,进而在此基础上编写LQ-300K型打印机驱动,实现了字符与图形的打印功能。

1 打印机接口设计

LPC1788属于LPC1700系列 Cortex-M3 微控制器,用于处理要求高度集成和低功耗的嵌入式应用。

其操作频率可达100MHz,具有丰富的外围接口,包含一个带 RMII 接口MAC控制器,通过外部PHY芯片扩展一路以太网口通讯接口。

4个全双工UART,通过RS485转换芯片实现RS485通信模式,通过RS232转换芯片实现打印接口。

EPSON LQ-300K型24针针式打印机可提供高质量的打印输出,设计紧凑、性能高,在高速打印时,10cpi(每英寸字符数)下,可达300 cps(每秒字符数),在各个领域应用广泛;同时支持一个标准双向、8位、IEEE1284 Nibble模式支持的并行接口和EIA-232D串行接口,具有32KB缓冲区,当打印机接收到数据时自动切换到相应的接口。

本打印机控制系统由LPC1788处理器通过串口与LQ-300K型打印机相连,主控制器由1路UART通过RS232转换芯片SP3232扩展出RS232接口,TXD/RXD与打印机RXD/ TXD交叉相连,GND直接相连,因考虑到电力系统应用环境中的情况比较复杂,采用快速光电隔离芯片HCPL-0600对RS232扩展电路进行光电隔离,以提高接口的抗外界干扰能力,硬件接口设计如图1所示。

2 打印机驱动软件设计

打印机工作原理主要是通过主控制器将打印数据或控制码经串口发送至打印机的串行接口,然后经过打印机缓存区,最终完成打印工作。

在实时系统μC/OS-II中,采用中断方式实现对打印串口的控制,以提高CPU的利用率,在前后台环境下使用中断出传输时,采用μC/OS-II的信号量机制和LPC7188串行接口中自带的FIFO组成一套完整的逻辑来协调好底层和应用程序中串口数据的发送和接收。

μC/OS-II提供了5个对信号量进行操作的函数,它们分别是OSSemCreate( )、OSSemPend( )、OSSemPost( )、OSSemAccept( )和OSSemQuery( )。

首先在使用一个信号量之前,要建立该信号量,即调用OSSemCreate( )函数,这里涉及中断发送和接收,需设置两个信号量:发送OS_EVENT *UartTSem、接收OS_EVENT *UartRSem。

在接收模式下:当接收FIFO数据达到触发深度时引发中断,在中断函数UART_IRQHandler( )中读取FIFO中数据放到接收缓存区中,注意将FIFO中数据保留一个字节引发字符超时中断,完成整帧数据的接收,然后通过调用信号量函数OSSemPost()通知应用层数据接收完成。

在发送模式下较为简单,根据发送的字节数据在中断函数UART_IRQHandler( )填充发送FIFO,全部数据发送完后调用OSSemPost()通知应用层数据发送完成。

LQ-300K型打印机的打印主要是通过主控制器和打印机的串口数据交互来完成的,通过以上介绍的ESC/P打印控制码和串口驱动的实现,通过实际需要进行编程,就能实现在实时系统μC/OS-II下LQ-300K各种格式下的字符和图形的打印。

参考文献:

[1] 周立功.深入浅出Cortex-M3—LPC1700(上册)[M].广东致远电子有限公司,233-264.

[2] Jean J.Labrosse.嵌入式實时操作系统μC/OS-II(第二版)[M].北京航空航天大学出版社,166-188.

[3] 顾龙全.发光光度计中打印接口和驱动程序的设计与实现[J].上海师范大学学报(自然科学版),2000,29(4).

作者简介:

羊阳(1987-),男,汉族,河南驻马店,硕士,助理工程师,研究方向:电力系统。

猜你喜欢

信号量字符中断
寻找更强的字符映射管理器
字符代表几
一种USB接口字符液晶控制器设计
Nucleus PLUS操作系统信号量机制的研究与测试
消失的殖民村庄和神秘字符
跟踪导练(二)(5)
千里移防,卫勤保障不中断
硬件信号量在多核处理器核间通信中的应用
μC/OS- -III对信号量的改进
Linux操作系统信号量机制的实时化改造