基于飛思卡爾微型熱敏打印機的設計與實(shí)現

發(fā)布時(shí)間:2010-7-22 10:23    發(fā)布者:vinda
關(guān)鍵詞: 打印機 , 熱敏
引言

本課題來(lái)源于北京普析通用公司的一個(gè)項目。由于公司現有單機版光譜儀器產(chǎn)品(如1810、T6等)采用的是并行口打印技術(shù),而隨著(zhù)USB打印機技術(shù)的逐漸普及,并行口打印機越來(lái)越不好買(mǎi)到,而且有些用戶(hù)的打印機只是USB接口而非并行口,因此現有儀器產(chǎn)品對打印機的支持變得不能適應用戶(hù)需要。為了實(shí)現能將公司的并行口儀器直接和USB打印機相連進(jìn)行打印,決定設計開(kāi)發(fā)一款LPT-USB打印機的驅動(dòng)器,負責并口儀器和USB打印機的連接。  

本文利用單片機和USB總線(xiàn)接口芯片實(shí)現LPT-USB打印機的驅動(dòng)器設計。利用該設計將能夠實(shí)現并行打印口數據可以在USB打印機上的直接打印工作,克服了有些并口儀器必須連接并口打印機才能打印的弊端,極大地方便了用戶(hù)的使用。

1 CH375芯片特點(diǎn)及工作原理  

1.1 CH375芯片特點(diǎn)  

CH375是一個(gè)USB總線(xiàn)的通用接口芯片,支持Host主機方式和Slave設備方式。CH375芯片內部集成了PLL倍頻器、主從USB接口SIE、數據緩沖區、被動(dòng)并行接口、異步串行接口、命令解釋器、控制傳輸的協(xié)議處理器、通用的固件程序等。在本地端,CH375具有8位數據總線(xiàn)和讀、寫(xiě)、片選控制線(xiàn)以及中斷輸出,可以方便地掛接到單片機/DSP/MCU等控制器的系統總線(xiàn)上。CH375的USB主機方式支持各種常用的USB全速設備,外部單片機/DSP/MCU可以通過(guò)CH375按照相應的USB協(xié)議與USB設備通信。CH375芯片有如下特點(diǎn):  

①全速USBHOST主機接口USBV1.1,支持動(dòng)態(tài)切換主機與設備方式,外圍元器件只需要一個(gè)晶體和2個(gè)電容;  
②主機端點(diǎn)輸入和輸出緩沖區各64B,支持常用的12Mbps全速USB設備;  
③支持USB設備的控制傳輸、批量傳輸和中斷傳輸;  
④自動(dòng)檢測USB設備的連接和斷開(kāi),提供設備連接和斷開(kāi)的事件通知;  
⑤內置控制傳輸協(xié)議處理器,簡(jiǎn)化常用的控制傳輸;  
⑥并行接口包含8位數據總線(xiàn),4線(xiàn)控制(讀選通、寫(xiě)選通、片選輸入和中斷輸出);  
⑦串行接口包含串行輸入、串行輸出和中斷輸出,支持通信波特率動(dòng)態(tài)調整;  
⑧支持5V電源電壓和3.3V電源電壓。  

1.2 CH375芯片工作原理  

如圖1所示,CH375芯片通過(guò)被動(dòng)并行接口芯片可以很方便地掛接到各種8位單片機、DSP和MCU的系統總線(xiàn)上,并且可以與多個(gè)外圍器件共存。并口信號線(xiàn)包括:8位雙向數據總線(xiàn)D7~D0、讀選通輸入RD、寫(xiě)選通輸入WR、片選輸入CS、中斷輸出INT以及地址輸入線(xiàn)A0。CH375芯片的RD和WR可以分別連接到單片機的讀選通輸出引腳和寫(xiě)選通輸出引腳。INT可以連接到單片機的中斷輸入引腳,中斷請求是低電平有效。當CS和RD以及A0都為低電平時(shí),CH375中的數據通過(guò)D7~D0輸出;當CS和WR以及A0都為低電平時(shí),D7~D0上的數據被寫(xiě)入CH375芯片中;當CS和WR都為低電平而A1為高電平時(shí),D7~D0上的數據被作為命令碼寫(xiě)入CH375芯片中。  






2 硬件電路設計  

單片機通過(guò)CH375控制USB打印機的硬件電路,如圖2所示。  

如圖2所示,CH375芯片通過(guò)被動(dòng)并行接口芯片掛接到8位單片機的系統總線(xiàn)上,CH375的TXD引腳接地,從而使CH375工作于并口方式。CH375芯片的8位雙向數據總線(xiàn)D7~D0直接與單片機的P0數據口相連,RD和WR分別連接到單片機的讀選通輸出引腳和寫(xiě)選通輸出引腳。片選信號CS連接到單片機的P26引腳,該引腳為低電平時(shí)選通CH375芯片。INT可以連接到單片機的中斷輸入INT0引腳,中斷請求是低電平有效。地址輸入線(xiàn)A0連接至單片機的P25引腳,當A0引腳為高電平時(shí)選擇命令端口,可以寫(xiě)入命令;當A0引腳為低電平時(shí)選擇數據端口,可以讀寫(xiě)數據。  

采用74HC245三態(tài)雙向總線(xiàn)驅動(dòng)器作為打印機口向單片機傳送并口數據的接口,其片選信號與單片機的P27相連,方向控制位DIR與單片機的T0相連。當DIR置成高電平時(shí),數據從A端口向B端口傳送,此時(shí)單片機可以通過(guò)讀取74HC245數據端口即可得到并口數據。打印機狀態(tài)信號BUSY連接至單片機的P15引腳,并口數據采集控制信號CTRL直接連至單片機的INT1中斷引腳,當INT1產(chǎn)生中斷時(shí),單片機從并口將數據取走,然后再發(fā)送至打印機打印出來(lái)。  

3 軟件設計實(shí)現  

軟件實(shí)現的流程如圖3所示。該軟件編程是用C語(yǔ)言實(shí)現的,通信過(guò)程主要包括兩部分:初始化和并口數據的采集。  

并口數據的采集是通過(guò)中斷方式進(jìn)行的。采集數據的控制信號CTRL連接至單片機的中斷INT1引腳,通過(guò)不斷檢測INT1的狀態(tài)來(lái)進(jìn)行并口數據的采集。當打印機不忙(即BUSY=0)時(shí),如果有INT1中斷產(chǎn)生,則從74HC245的數據端口將并口數據讀出,同時(shí)將打印機忙標志BUSY置1(表示打印機忙)。當數據已經(jīng)發(fā)送至打印機打印時(shí),則將打印機忙標志BUSY置0。然后重復上述步驟進(jìn)行并口數據的采集及打印。  
初始化過(guò)程分兩部分:?jiǎn)纹瑱C初始化和打印機的枚舉初始化。單片機的初始化過(guò)程就是直接向相應的I/O口寫(xiě)初始化值及設置看門(mén)狗,可調用函數watchdog_init()實(shí)現設置看門(mén)狗。  



打印機的枚舉初始化過(guò)程很重要,要實(shí)現打印采集到的并口數據,首先必須成功地枚舉初始化打印機。初始化USB打印機函數init_print()主要用到以下幾個(gè)主要函數:  

◇get_descr(1),獲取設備描述符。

◇rd_usb_data(buffer),從CH375中讀取數據到單片機中。

◇set_addr(3),設置打印機的USB地址。

◇get_full_descr(buffer),獲取配置描述符。

◇set_config(unsignedcharcfg),加載USB配置值。

編者注:具體程序見(jiàn)本刊網(wǎng)站:www.mesnet.com.cn  

結語(yǔ)  

本文詳細介紹了基于80C51單片機和USB總線(xiàn)通用接口芯片CH375的LPT-USB打印機驅動(dòng)器設計及C語(yǔ)言實(shí)現。經(jīng)測試表明,利用該設計能夠實(shí)現并口儀器數據直接經(jīng)USB打印機打印出來(lái),打印結果正確無(wú)誤。該設計現已被用于并口儀器上,利用該驅動(dòng)器,并行口儀器可以直接和USB打印機相連進(jìn)行打印,極大克服了有些并口儀器必須連接并口打印機才能打印的弊端,從而很大程度上方便了用戶(hù)。
本文地址:http://selenalain.com/thread-15942-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页