国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

LQ—300K型打印機(jī)在嵌入式系統(tǒng)下的應(yīng)用與實(shí)現(xiàn)

2016-05-30 10:48羊陽王洪亮程恒鋒
科技風(fēng) 2016年12期
關(guān)鍵詞:信號量字符中斷

羊陽 王洪亮 程恒鋒

摘 要:本文介紹了電力系統(tǒng)中常用的EPSON LQ-300K型打印機(jī)在嵌入式系統(tǒng)中的具體應(yīng)用,詳細(xì)介紹了打印機(jī)與主控制器的接口電路設(shè)計(jì),并在實(shí)時嵌入式系統(tǒng)μC/OS-II中利用信號量編寫驅(qū)動實(shí)現(xiàn)字符和圖形的打印。

關(guān)鍵詞:LQ-300K;μC/OS-II;信號量;串行接口

隨著嵌入式產(chǎn)品的進(jìn)一步開發(fā)和推廣,嵌入式技術(shù)與人們的生活聯(lián)系越來越緊密,尤其在測量儀器儀表及繼電保護(hù)中使用較多,而在這些場合中往往有對打印機(jī)的配置需求,用來打印運(yùn)行過程中的重要參數(shù)及波形信息。

由于在電力系統(tǒng)中的環(huán)境較為惡劣,對打印機(jī)的要求較高,EPSON公司的LQ-300K型打印機(jī)結(jié)構(gòu)簡單、結(jié)實(shí)、操作方便,適合在長期負(fù)荷的惡劣環(huán)境中使用。

本文介紹了基于32位嵌入式處理器LPC1788作為硬件平臺,移植實(shí)時操作系統(tǒng)μC/OS-II,進(jìn)而在此基礎(chǔ)上編寫LQ-300K型打印機(jī)驅(qū)動,實(shí)現(xiàn)了字符與圖形的打印功能。

1 打印機(jī)接口設(shè)計(jì)

LPC1788屬于LPC1700系列 Cortex-M3 微控制器,用于處理要求高度集成和低功耗的嵌入式應(yīng)用。

其操作頻率可達(dá)100MHz,具有豐富的外圍接口,包含一個帶 RMII 接口MAC控制器,通過外部PHY芯片擴(kuò)展一路以太網(wǎng)口通訊接口。

4個全雙工UART,通過RS485轉(zhuǎn)換芯片實(shí)現(xiàn)RS485通信模式,通過RS232轉(zhuǎn)換芯片實(shí)現(xiàn)打印接口。

EPSON LQ-300K型24針針式打印機(jī)可提供高質(zhì)量的打印輸出,設(shè)計(jì)緊湊、性能高,在高速打印時,10cpi(每英寸字符數(shù))下,可達(dá)300 cps(每秒字符數(shù)),在各個領(lǐng)域應(yīng)用廣泛;同時支持一個標(biāo)準(zhǔn)雙向、8位、IEEE1284 Nibble模式支持的并行接口和EIA-232D串行接口,具有32KB緩沖區(qū),當(dāng)打印機(jī)接收到數(shù)據(jù)時自動切換到相應(yīng)的接口。

本打印機(jī)控制系統(tǒng)由LPC1788處理器通過串口與LQ-300K型打印機(jī)相連,主控制器由1路UART通過RS232轉(zhuǎn)換芯片SP3232擴(kuò)展出RS232接口,TXD/RXD與打印機(jī)RXD/ TXD交叉相連,GND直接相連,因考慮到電力系統(tǒng)應(yīng)用環(huán)境中的情況比較復(fù)雜,采用快速光電隔離芯片HCPL-0600對RS232擴(kuò)展電路進(jìn)行光電隔離,以提高接口的抗外界干擾能力,硬件接口設(shè)計(jì)如圖1所示。

2 打印機(jī)驅(qū)動軟件設(shè)計(jì)

打印機(jī)工作原理主要是通過主控制器將打印數(shù)據(jù)或控制碼經(jīng)串口發(fā)送至打印機(jī)的串行接口,然后經(jīng)過打印機(jī)緩存區(qū),最終完成打印工作。

在實(shí)時系統(tǒng)μC/OS-II中,采用中斷方式實(shí)現(xiàn)對打印串口的控制,以提高CPU的利用率,在前后臺環(huán)境下使用中斷出傳輸時,采用μC/OS-II的信號量機(jī)制和LPC7188串行接口中自帶的FIFO組成一套完整的邏輯來協(xié)調(diào)好底層和應(yīng)用程序中串口數(shù)據(jù)的發(fā)送和接收。

μC/OS-II提供了5個對信號量進(jìn)行操作的函數(shù),它們分別是OSSemCreate( )、OSSemPend( )、OSSemPost( )、OSSemAccept( )和OSSemQuery( )。

首先在使用一個信號量之前,要建立該信號量,即調(diào)用OSSemCreate( )函數(shù),這里涉及中斷發(fā)送和接收,需設(shè)置兩個信號量:發(fā)送OS_EVENT *UartTSem、接收OS_EVENT *UartRSem。

在接收模式下:當(dāng)接收FIFO數(shù)據(jù)達(dá)到觸發(fā)深度時引發(fā)中斷,在中斷函數(shù)UART_IRQHandler( )中讀取FIFO中數(shù)據(jù)放到接收緩存區(qū)中,注意將FIFO中數(shù)據(jù)保留一個字節(jié)引發(fā)字符超時中斷,完成整幀數(shù)據(jù)的接收,然后通過調(diào)用信號量函數(shù)OSSemPost()通知應(yīng)用層數(shù)據(jù)接收完成。

在發(fā)送模式下較為簡單,根據(jù)發(fā)送的字節(jié)數(shù)據(jù)在中斷函數(shù)UART_IRQHandler( )填充發(fā)送FIFO,全部數(shù)據(jù)發(fā)送完后調(diào)用OSSemPost()通知應(yīng)用層數(shù)據(jù)發(fā)送完成。

LQ-300K型打印機(jī)的打印主要是通過主控制器和打印機(jī)的串口數(shù)據(jù)交互來完成的,通過以上介紹的ESC/P打印控制碼和串口驅(qū)動的實(shí)現(xiàn),通過實(shí)際需要進(jìn)行編程,就能實(shí)現(xiàn)在實(shí)時系統(tǒng)μC/OS-II下LQ-300K各種格式下的字符和圖形的打印。

參考文獻(xiàn):

[1] 周立功.深入淺出Cortex-M3—LPC1700(上冊)[M].廣東致遠(yuǎn)電子有限公司,233-264.

[2] Jean J.Labrosse.嵌入式實(shí)時操作系統(tǒng)μC/OS-II(第二版)[M].北京航空航天大學(xué)出版社,166-188.

[3] 顧龍全.發(fā)光光度計(jì)中打印接口和驅(qū)動程序的設(shè)計(jì)與實(shí)現(xiàn)[J].上海師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2000,29(4).

作者簡介:

羊陽(1987-),男,漢族,河南駐馬店,碩士,助理工程師,研究方向:電力系統(tǒng)。

猜你喜歡
信號量字符中斷
尋找更強(qiáng)的字符映射管理器
字符代表幾
一種USB接口字符液晶控制器設(shè)計(jì)
Nucleus PLUS操作系統(tǒng)信號量機(jī)制的研究與測試
消失的殖民村莊和神秘字符
跟蹤導(dǎo)練(二)(5)
千里移防,衛(wèi)勤保障不中斷
硬件信號量在多核處理器核間通信中的應(yīng)用
μC/OS- -III對信號量的改進(jìn)
Linux操作系統(tǒng)信號量機(jī)制的實(shí)時化改造