RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于單片機和USB接口實現(xiàn)LPT-USB打印機驅動器的設計

電子設計 ? 來源:電子設計工程 ? 作者:王小芳,鄭寬磊,強 ? 2021-03-22 16:20 ? 次閱讀

作者:王小芳,鄭寬磊,強偉鋒

1 引言

本課題來源于北京普析通用公司。 由于該公司現(xiàn)有光譜儀器的單機版(如1810和T6等)采用的是并行口打印技術,而隨著USB打印機技術的逐漸普及,并行口打印機越來越少,有些用戶原有的打印機只是USB接口而非并行口,因此現(xiàn)有儀器對打印機的支持不能適應用戶需要。為了使該公司的并行口儀器直接和USB打印機相連,設計了一種LPT-USB打印機驅動器,實現(xiàn)并口儀器與USB打印機的連接。

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

2 CH375的特點及工作原理

2.1 CH375的特點

CH375是一個USB總線通用接口電路,支持HOST主機方式和SLAVE設備方式。CH375內部集成了PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動并行接口、異步串型接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線及中斷輸出,可以方便地掛接到單片機、DSPMCU控制器的系統(tǒng)總線上。CH375的USB主機方式支持各種常用的USB全速設備,外部單片機、DSP、MCU可以通過CH375按照相應的USB協(xié)議與USB設備通信。CH375的特點如下:

(1)全速USB-HOST主機接口符合USB1.1,支持動態(tài)切換主機與設備方式,外圍元器件只需要1個晶體和2個電容;

(2)主機端點輸入和輸出緩沖區(qū)各有64字節(jié),支持常用的12Mb/s全速USB設備;

(3)支持USB設備的控制傳輸、批量傳輸、中斷傳輸;

(4)自動檢測USB設備的連接和斷開,提供設備連接和斷開的通知;

(5)內置控制傳輸?shù)膮f(xié)議處理器,簡化常用的控制傳輸;

(6)并行接口包含8位數(shù)據(jù)總線,4線控制:讀選通、寫選通、片選輸入和中斷輸出;

(7)串行接口包括串行輸入、串行輸出和中斷輸出,支持通信波特率的動態(tài)調整。

(8)支持5V電源電壓和3.3V電源電壓。

2.2 CH375的工作原理

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

[/table]

3 硬件電路設計

圖2所示為單片機通過CH375控制USB打印機的硬件電路。CH375通過被動并行接口電路掛接到8位單片機的系統(tǒng)總線上,CH375的TXD引腳接地,使CH375工作于并口方式。CH375的8位雙向數(shù)據(jù)總線D7-DO直接與單片機的PO數(shù)據(jù)口相連,RD和WR分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。片選信號CS連接到單片機的P2.6引腳,該引腳為低電平時選通CH375。INT可以連接到單片機的中斷輸入INTO引腳,中斷請求是低電平有效。地址輸入線AO連接至單片機的P2.5引腳,當AO引腳為高電平時選擇命令端口,可以寫入命令,當AO引腳為低電平時選擇數(shù)據(jù)斷口,可以讀寫數(shù)據(jù)。

采用74HC245型三態(tài)雙向總線驅動器作為打印機口向單片機傳送并口數(shù)據(jù)的接口,其片選信號與單片機的P2.7相連,方向控制位DIR與單片機的P3.4相連,當DIR為高電平時,數(shù)據(jù)從A端口向B端口傳送,此時單片機可以通過讀取74HC245數(shù)據(jù)端口得到并口的數(shù)據(jù),打印機狀態(tài)信號BUSY連接至單片機的P1.5引腳,并口數(shù)據(jù)采集控制信號CTRL直接連至單片機的INT1中斷引腳,當INT1產生中斷時,單片機從并口讀取數(shù)據(jù),然后再發(fā)送至打印機進行打印。

4 軟件設計

4.1 軟件流程

軟件流程如圖3所示。該軟件用C語言編程,通信過程主要包括初始化和并口數(shù)據(jù)的采集。

并口數(shù)據(jù)的采集是通過中斷方式進行的。采集數(shù)據(jù)的控制信號CTRL連接至單片機的中斷INT1引腳,通過不斷檢測INT1的狀態(tài)進行并口數(shù)據(jù)的采集。當打印機不忙(BUSY=0)時,如果產生INT1中斷,則從74HC245的數(shù)據(jù)斷口讀出并口數(shù)據(jù),同時將打印機忙標志BUSY置1(表示打印機忙),當數(shù)據(jù)已經發(fā)送至打印機打印時,則將打印機忙標志BUSY置0。然后重復上述步驟進行并口數(shù)據(jù)的采集及打印。

初始化過程分為單片機初始化和打印機的枚舉初始化。單片機的初始化過程是直接向相應的I/0口寫初始化值及設置看門狗,可調用函數(shù)watchdog_init()設置看門狗。

打印機的枚舉初始化過程是很重要的,要打印采集到的并口數(shù)據(jù)首先必須成功地枚舉初始化打印機。初始化USB打印機函數(shù)init_print()主要使用以下幾個主要函數(shù):

4.2 主程序源代碼

程序代碼如下:

[table]

5 結束語

本文詳細介紹了基于80C51型單片機和CH375型USB總線通用接口電路的LPT-USB打印機驅動器的設計及C語言實現(xiàn)。測試結果表明,利用該設計能夠實現(xiàn)并口儀器數(shù)據(jù)直接經USB打印機打印,打印結果正確無誤。該設計現(xiàn)已用于并口儀器上,并行口儀器利用該驅動器可以直接和USB打印機相連并進行打印,克服了有些并口儀器必須連接并口打印機才能打印的弊端,方便了用戶。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634631
  • usb
    usb
    +關注

    關注

    60

    文章

    7936

    瀏覽量

    264474
  • 打印機
    +關注

    關注

    10

    文章

    768

    瀏覽量

    45659
收藏 人收藏

    評論

    相關推薦

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

    LPT-USB打印機驅動器,負責并口儀器和USB打印機的連接。本文利用單片機
    發(fā)表于 09-22 16:00

    80C51和CH375的USB打印機驅動設計

    本帖最后由 luna 于 2011-3-3 12:05 編輯 介紹基于80C51和CH375的LPTUSB打印機驅動器的設計與實現(xiàn)方法,介紹USB總線的通用
    發(fā)表于 03-02 15:19

    80C51和CH375的USB打印機驅動設計

    USB打印機的連接。本文利用單片機USB總線接口芯片實現(xiàn)
    發(fā)表于 03-03 17:43

    采用CH375接口電路實現(xiàn)LPT-USB打印機驅動器設計

    USB接口而非并行口,因此現(xiàn)有儀器對打印機的支持不能適應用戶需要。為了使該公司的并行口儀器直接和USB打印機相連,筆者設計了一種
    發(fā)表于 06-18 05:00

    如何設計一種LPT-USB打印機驅動器?

     本文詳細介紹了基于80C51型單片機和CH375型USB總線通用接口電路的LPT-USB打印機驅動器
    發(fā)表于 04-23 06:20

    如何利用單片機USB總線接口芯片實現(xiàn)LPT-USB打印機驅動器設計

    本文利用單片機USB總線接口芯片實現(xiàn)LPT-USB打印機
    發(fā)表于 04-26 06:36

    微型打印機單片機接口

    微型打印機單片機接口:是PDG格式的電子書.
    發(fā)表于 12-13 22:32 ?92次下載
    微型<b class='flag-5'>打印機</b>與<b class='flag-5'>單片機</b><b class='flag-5'>接口</b>

    MCS-51單片機與鍵盤、顯示、微型打印機接口

    MCS-51單片機與鍵盤、顯示、微型打印機接口
    發(fā)表于 09-13 08:07 ?150次下載

    基于單片機的噴墨打印機控制技術

     摘要:介紹一種采用MCS51系列單片機控制驅動Hewlett Packard DESKJET 600/800系列噴墨打印機的硬件接口設計和軟件設計方法。以控制
    發(fā)表于 03-11 11:48 ?2241次閱讀
    基于<b class='flag-5'>單片機</b>的噴墨<b class='flag-5'>打印機</b>控制技術

    基于80C51和CH375的LPT-USB打印機驅動器設計及

    引 言             隨著USB打印機技術的逐漸普及,并行口打印機越來越不好買到,而且有
    發(fā)表于 07-16 09:54 ?1655次閱讀
    基于80C51和CH375的<b class='flag-5'>LPT-USB</b><b class='flag-5'>打印機</b><b class='flag-5'>驅動器</b>設計及

    EPSON C4X系列打印機電源原理分析

    在EPSON C4X系列的打印機中,SC和UX打印機僅僅是與電腦連接的接口不同,SX打印機采用LPT接口
    發(fā)表于 09-18 07:48 ?3355次閱讀
    EPSON C4X系列<b class='flag-5'>打印機</b>電源原理分析

    基于C8051F單片機的標簽打印機接口設計

    基于美國Silicon Labs公司生產的SoC單片機C8051f020作為主控制芯片,通過RS 232串行接口與標簽打印機進行串行通信,采取單片機向標簽
    發(fā)表于 05-20 09:32 ?4397次閱讀
    基于C8051F<b class='flag-5'>單片機</b>的標簽<b class='flag-5'>打印機</b><b class='flag-5'>接口</b>設計

    linux支持usb打印機

    配置CONFIG_USB_PRINTER=y inux內核默認運行打印機驅動,直接在配置上CONFIG_USB_PRINTER=y添加上去就好了。 make menuconfig
    發(fā)表于 01-16 20:59 ?1247次閱讀

    USB打印機開關電路設計資料分享

    這是USB打印機開關電路設計,帶有兩個USB輸入端口和一個USB輸出端口。這是一個非常簡單的設備,允許兩臺計算機(臺式/筆記本電腦)選擇一
    的頭像 發(fā)表于 05-14 10:51 ?2382次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>打印機</b>開關電路設計資料分享

    3D打印機USB接口和SD卡接口防靜電設計

    3D打印機USB接口和SD卡接口防靜電設計3D打印機的平民化帶來了一場應用革命,越來越多的教學,模型,設計,廣告場合應用。但由于眾多
    的頭像 發(fā)表于 12-31 10:54 ?1003次閱讀
    3D<b class='flag-5'>打印機</b>的<b class='flag-5'>USB</b><b class='flag-5'>接口</b>和SD卡<b class='flag-5'>接口</b>防靜電設計
    RM新时代网站-首页