當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]本文介紹一種用藍(lán)牙技術(shù)來實(shí)現(xiàn)主機(jī)與打印機(jī)的無線連接,實(shí)現(xiàn)遙控打印的方法。

引言
     作為一種短距離無線通信協(xié)議,藍(lán)牙技術(shù)以其低成本、低功耗、高速率、方便靈活等特點(diǎn)在眾多無線解決方案中脫穎而出。藍(lán)牙10m的工作距離可以很好的滿足大多數(shù)數(shù)字設(shè)備的應(yīng)用場合,如辦公室或家庭。打印機(jī)是常用的一個(gè)設(shè)備,擺脫打印機(jī)連線所帶來的不便,實(shí)現(xiàn)無線打印,可以減少桌面上令人不快的電纜,并且可以將打印機(jī)遠(yuǎn)離主機(jī)任意搬動,擺放在房間中適合的位置。本文介紹一種用藍(lán)牙技術(shù)來實(shí)現(xiàn)主機(jī)與打印機(jī)的無線連接,實(shí)現(xiàn)遙控打印的方法。

藍(lán)牙打印機(jī)的設(shè)計(jì)方案 
    設(shè)計(jì)的總體思路如圖1所示:

          圖1 藍(lán)牙打印機(jī)設(shè)計(jì)的總體思路

    在主機(jī)端用一單片機(jī)來仿真打印機(jī)進(jìn)行工作,截取從主機(jī)并口傳出的數(shù)據(jù)及控制信號,并通過藍(lán)牙無線連接傳送到打印機(jī)端。在打印機(jī)側(cè)的單片機(jī)則根據(jù)所收到的藍(lán)牙數(shù)據(jù)來仿真主機(jī)對打印機(jī)進(jìn)行控制操作,從而實(shí)現(xiàn)打印機(jī)與主機(jī)的藍(lán)牙無線連接。主機(jī)端的藍(lán)牙作為主設(shè)備進(jìn)行查詢和發(fā)起連接,打印機(jī)端的藍(lán)牙則作為從設(shè)備等待連接的建立。單片機(jī)采用89C2051,藍(lán)牙芯片采用愛立信公司生產(chǎn)的支持點(diǎn)對點(diǎn)連接的ROK101-008。該模塊內(nèi)包括了無線部分、基帶控制器、閃存、電源控制模塊和內(nèi)部時(shí)鐘這五個(gè)主要部分,提供UART、PCM、I2C標(biāo)準(zhǔn)接口并內(nèi)置晶振,其硬件框圖如圖2所示:
 
        圖2 Ericsson ROK 101 008 硬件框圖


    該方案適用于具有Centronic并行接口的通用打印機(jī)。用戶無須更改打印機(jī)的驅(qū)動程序,只需將含有單片機(jī)和藍(lán)牙的兩塊板子分別連接到主機(jī)端和打印機(jī)上,就可以進(jìn)行無線打印了。整個(gè)過程對于原打印機(jī)驅(qū)動程序是透明的,這樣就為打印機(jī)用戶提供了很大的方便。

單片機(jī)對藍(lán)牙模塊的控制

       圖3 藍(lán)牙HCI傳輸層示意圖
 
    藍(lán)牙規(guī)范定義了主機(jī)控制接口(HCI),它為基帶控制器、硬件控制器、硬件狀態(tài)和控制寄存器等提供了標(biāo)準(zhǔn)的命令接口。主機(jī)通過HCI傳輸層將控制命令和數(shù)據(jù)發(fā)送給藍(lán)牙模塊,而藍(lán)牙模塊又通過HCI傳輸層將其狀態(tài)信息及數(shù)據(jù)發(fā)還給主機(jī)。HCI傳輸層的主要目的是實(shí)現(xiàn)透明性。傳輸層不需要對主控制器驅(qū)動程序傳送給主控制器的數(shù)據(jù)可見,這就使接口(HCI)或主控制器能在不影響傳輸層的基礎(chǔ)上升級。
如圖3所示,在HCI傳輸層中至少傳送4種不同類型的包——HCI命令、HCI事件、ACL數(shù)據(jù)和SCL數(shù)據(jù)。每個(gè)HCI包都以HCI指示頭開始,不同的指示頭代表著不同類型的HCI包:
0x01 HCI指令分組
0x02 HCI ACL數(shù)據(jù)分組
0x03 HCI SCO數(shù)據(jù)分組
0x04 HCI事件分組
   
    傳輸層主要有下列3種:HCI USB ; HCI PCM; HCI UART。我們用單片機(jī)通過HCI-UART傳輸子層對藍(lán)牙模塊進(jìn)行控制。連接的原理圖如圖4所示:

      圖4 單片機(jī)與藍(lán)牙連接原理圖


    一般來說,將單片機(jī)與藍(lán)牙芯片在短距離內(nèi)直接相連,便已可保證數(shù)據(jù)的可靠傳輸,也無須接CTS和RTS信號進(jìn)行流量控制。單片機(jī)與藍(lán)牙間的UART通信采用8位數(shù)據(jù)位,1位終止位,無奇偶校驗(yàn),使用無類型小Endian格式,即最低位最先發(fā)送。UART通信格式及波特率均可通過單片機(jī)向藍(lán)牙發(fā)送HCI指令來進(jìn)行調(diào)整。ROK-101-008芯片最高可支持460.8Kbps的UART速率。發(fā)送給藍(lán)牙模塊的第一條HCI指令應(yīng)該是軟件復(fù)位(Soft Reset)命令,當(dāng)藍(lán)牙執(zhí)行完一條指令后,將返回一個(gè)帶有狀態(tài)參數(shù)信息的命令完成事件(Command_Complete_Event),以告知主機(jī)(單片機(jī))命令執(zhí)行的情況。

    當(dāng)完成軟件復(fù)位后,要使得藍(lán)牙模塊做為從設(shè)備等待來自其他藍(lán)牙設(shè)備的查詢和連接發(fā)起,我們還需設(shè)置一些計(jì)時(shí)器的值,進(jìn)行一系列的參數(shù)設(shè)定。即使是作為主設(shè)備的主機(jī)端藍(lán)牙,在進(jìn)行查詢和建立連接之前也需要做上述的參數(shù)設(shè)定工作。這些需要設(shè)置的參數(shù)主要有下列幾個(gè):
* Set Event Filter(設(shè)置事件過濾器)
* Write Scan Enable(設(shè)置掃描參數(shù),如是否可以進(jìn)行查詢和尋呼)
* Write Authentication Enable(設(shè)置是否需要進(jìn)行驗(yàn)證)
* Write Page Timeout(設(shè)置尋呼超時(shí),一般該值可以設(shè)為7s)

   打印機(jī)端的藍(lán)牙模塊在設(shè)置完上述各參數(shù)后便已經(jīng)做好了從設(shè)備的準(zhǔn)備,等待連接的建立。而在主機(jī)端的藍(lán)牙模塊還需進(jìn)行查詢(Inquiry)過程以取得遠(yuǎn)端設(shè)備的藍(lán)牙地址,并根據(jù)查詢得到的藍(lán)牙地址來發(fā)起連接。一旦藍(lán)牙連接被建立之后,便可以進(jìn)行數(shù)據(jù)的收發(fā),以實(shí)現(xiàn)藍(lán)牙無線打印。

單片機(jī)與主機(jī)以及打印機(jī)的連接

   單片機(jī)和主機(jī)以及打印機(jī)的接口電路十分簡單,以與打印機(jī)連接為例,電路如圖5所示:
 
      圖5 單片機(jī)與打印機(jī)連接原理圖

   將89C2051的P1口直接與打印機(jī)的數(shù)據(jù)口相連,用P3.7來采樣打印機(jī)的BUSY信號。由于主機(jī)與打印機(jī)的連線一般較長,打印機(jī)一側(cè)一般均有匹配電阻,因此作為STROBE信號輸出的P3.3不能與打印機(jī)直接相連,這里我們用一與非門來增加驅(qū)動能力以實(shí)現(xiàn)控制。當(dāng)單片機(jī)接收到主機(jī)通過藍(lán)牙發(fā)送過來的數(shù)據(jù)后,在打印機(jī)側(cè)模擬主機(jī)對打印機(jī)進(jìn)行控制操作。首先將要發(fā)送給打印機(jī)的數(shù)據(jù)從P1口輸出,隨后從P3.3經(jīng)過門電路反向產(chǎn)生一個(gè)負(fù)脈沖,作為選通信號發(fā)送給打印機(jī),偵聽P3.7上的BUSY信號,當(dāng)該信號電平為低時(shí),則表示本次數(shù)據(jù)已被打印機(jī)接收,可以發(fā)送下一個(gè)數(shù)據(jù)。

結(jié)語
  以上方案并不涉及打印機(jī)的具體型號,也無須改變用戶打印機(jī)的驅(qū)動程序,因而適用于大多數(shù)的通用打印機(jī)。這種用單片機(jī)通過UART傳輸層對藍(lán)牙模塊進(jìn)行控制的方法,不僅僅適用于藍(lán)牙打印機(jī)的研制,還適應(yīng)于各類嵌入式的藍(lán)牙系統(tǒng)。

參考文獻(xiàn):
1. Specifications of the Bluetooth System Version 1.1,
http://www.bluetooth.com. 2. Ericsson ROK 101 008 Data Sheet,http://www.ericsson.com.
3. 金純等著,《藍(lán)牙技術(shù)》,電子工業(yè)出版社,2001.
4. 李華等著,《MCS-51系列單片機(jī)實(shí)用接口技術(shù)》,北京航空航天大學(xué)出版社,1993.



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉