<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 藍牙技術(shù)的無(wú)線(xiàn)顯示屏系統設計

藍牙技術(shù)的無(wú)線(xiàn)顯示屏系統設計

作者: 時(shí)間:2011-03-12 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

技術(shù)是一種用于替代有線(xiàn)電纜的短距離無(wú)線(xiàn)通信技術(shù)。它是由多家公司發(fā)起的SIG組織制定的無(wú)線(xiàn)通信技術(shù)標準,目的是取代現有的PC、打印機、傳真機、移動(dòng)電話(huà)和家庭網(wǎng)關(guān)等設備上的有線(xiàn)接口,為個(gè)人提供語(yǔ)音數據和普通數據的無(wú)線(xiàn)傳輸。設備的工作頻段選在全世界范圍內都可以自由使用的2.4 GHz的ISM頻段;成本低,功耗低,體積小,通信距離短,安全性高,能夠同時(shí)傳送普通數據和語(yǔ)音數據,可以組成微微網(wǎng)和散射網(wǎng)等。它已經(jīng)廣泛應用在移動(dòng)電話(huà)、PDA、無(wú)線(xiàn)耳機、筆記本電腦等眾多設備上。ISM頻段是對所有無(wú)線(xiàn)電系統都開(kāi)放的頻段,因此使用其中的某個(gè)頻段都會(huì )遇到不可預測的干擾源。例如某些家電、無(wú)繩電話(huà)、汽車(chē)房開(kāi)門(mén)器、微波爐等,都可能是干擾。為此,技術(shù)還特別設計了快速確認和跳頻方案,以確保鏈路穩定。

本文介紹一種藍牙系統的設計方案。使用藍牙技術(shù)可以短距離無(wú)線(xiàn)控制顯示終端,實(shí)現圖像和字符數據的無(wú)線(xiàn)傳輸和顯示,免去了有線(xiàn)連接所帶來(lái)的缺陷,可以應用在多種領(lǐng)域。

1系統總體設計

該無(wú)線(xiàn)圖形顯示屏系統主要由兩部分組成:主機部分和顯示終端部分。主機負責控制命令以及需要顯示數據的發(fā)送,顯示終端部分負責接收和顯示。系統結構如圖1所示。

主機部分由裝有Linux操作系統的PC機和BlueCore4藍牙模塊通過(guò)USB接口連接組成。

顯示終端由以ARM9微控制器S3C2440A為核心的嵌入式Linux平臺加上BlueCore4藍牙模塊以及LCD液晶顯示屏組成。Linux操作系統安裝在NAND FLASH中,并連接了64 MB的外擴RAM。由于S3C2440A接口比較豐富,所以系統硬件具有較好的擴展性能。

系統通過(guò)藍牙協(xié)議棧的RFCOMM協(xié)議層進(jìn)行通信。RFCOMM協(xié)議提供串行數據傳輸,并能在2臺藍牙設備之間同時(shí)維持多達60個(gè)連接,可以同時(shí)支持遺留串行端口應用程序以及其他應用程序中的OBEX協(xié)議。藍牙協(xié)議棧的結構框圖如圖2所示。

系統的工作過(guò)程為:系統初始化以后,主機和顯示終端建立藍牙連接。連接成功以后,主機應用程序通過(guò)藍牙模塊向顯示終端發(fā)送顯示的命令,顯示終端根據對應命令進(jìn)行接收圖像數據或者字符數據等操作,然后通過(guò)LCD控制器將數據發(fā)送到LCD液晶顯示屏。系統連接成功以后,顯示終端可以根據收到的數據實(shí)時(shí)地顯示不同的圖像和字符數據,直到主機發(fā)出退出命令系統后結束通信。

2系統硬件設計

主機端和顯示終端都使用了CSR公司BlueCore4-ROM芯片組成的藍牙無(wú)線(xiàn)收發(fā)模塊。BlueCore4系列符合2.0版藍牙標準,并與現有1.1版和1.2版藍牙設備完全兼容。這里采用的BlueCore4-ROM芯片具有很高的集成度,需要很少的外圍露件。它提供了UART、USB2.0等主機接口,并且提供了PCM音頻接口以及SPI接口。具有支持微微網(wǎng)和散射網(wǎng),低功耗,和手機良好兼容,可以和802.11協(xié)議共存等優(yōu)點(diǎn)。BlueCore4藍牙模塊結構如圖3所示。

PC主機使用USB接口和BlueCore4藍牙模塊連接,對應的藍牙模塊同樣通過(guò)USB接口和S3C2440A的USB-HOST接口進(jìn)行連接。USB接口具有即插即用的優(yōu)點(diǎn)。通過(guò)Linux操作系統的支持,該模塊還可以使用通用的USB藍牙適配器替代。BlueCore4藍牙模塊部分參考電路原理如圖4所示。

LCD液晶屏和S3C2440A微控制器之間通過(guò)S3C2440A內建的LCD控制器接口進(jìn)行連接。LCD液晶屏這里采用了3.5 in的L35T32,該液晶屏顯示像素為240×320,可顯示16位色彩,并可以方便地擴展為更大尺寸的液晶屏。S3C2440A的USB-HOST接口和LCD控制器接口部分參考電路原理。LCD控制器接口連線(xiàn)主要包括:VD0到VD23(R、G、B三色分色信息),VCLK(數據傳輸時(shí)鐘),HSYNC(行同步信號),VSYNC(場(chǎng)同步信號),VDEN(數據使能),LCD_PWREN(顯示使能)。

3系統軟件設計

系統軟件同樣分為主機部分和顯示終端部分。這里主要分析顯示終端部分軟件的設計,主機部分與其類(lèi)似。顯示終端部分程序包括:LCD液晶屏初始化,藍牙設備的初始化,藍牙連接的建立和圖像字符數據的傳輸顯示等幾個(gè)部分。程序流程如圖6所示。

用戶(hù)程序以L(fǎng)inux操作系統上的Bluez藍牙協(xié)議棧為平臺進(jìn)行開(kāi)發(fā)。主機應用程序采用GCC編譯器進(jìn)行編譯,顯示終端應用程序采用arm-linux-gcc編譯器進(jìn)行交叉編譯。

3.1藍牙部分

該部分采用了藍牙socket編程。通過(guò)建立藍牙RFCOMM協(xié)議層的socket進(jìn)行連接。連接建立成功之后可以調用函數recv或者read讀取主機發(fā)來(lái)的數據,主機端則對應地采用函數send或者write發(fā)送數據。通信結束之后可以調用函數close結束連接。

主機和顯示終端藍牙模塊都有固定的藍牙地址,主機端直接和固定藍牙地址的顯示終端設備進(jìn)行連接。一臺主機可以和多個(gè)顯示終端進(jìn)行通信,在不同的顯示終端上顯示圖像和字符。

藍牙初始化部分參考程序如下:

3.2 LCD液晶屏部分

LCD液晶屏部分程序采用了Linux內核驅動(dòng)程序的framebuffer編程接口。framebuffer為圖像硬件設備提供了一種抽象化處理,允許應用程序通過(guò)定義明確的界面來(lái)訪(fǎng)問(wèn)圖像硬件設備。軟件無(wú)須了解任何涉及硬件底層驅動(dòng)的東西。通過(guò)framebuffer,應用程序可以用mmap函數把顯存映射到應用程序虛擬地址空間,將要顯示的數據寫(xiě)入內存空間就可以在屏幕上顯示出來(lái)。LCD顯示屏初始化和清屏部分參考程序如下:

LCD液晶屏初始化和藍牙socket初始化連接完成以后,便可以通過(guò)藍牙發(fā)送圖像和字符數據。藍牙接收顯示圖像和字符兩個(gè)部分的程序類(lèi)似,都是通過(guò)調用函數recv或者read讀取主機發(fā)來(lái)的命令,經(jīng)過(guò)程序判斷然后以相同的方式接收數據。字符部分數據接收和顯示參考程序如下:

該段程序利用接收到的字符數據得到對應的顯示字庫數據,然后通過(guò)frambuffer顯示接口顯示到LCD液晶屏上面。源程序帶有顯示字庫文件,該文件通過(guò)編譯并嵌入可執行代碼,然后下載到顯示終端文件系統。系統這里只添加了英文字庫和對應的顯示代碼,可以正常顯示英文字符。如果需要,通過(guò)添加中文字庫和少量顯示代碼就可以很方便地實(shí)現中文字符的顯示。圖像部分程序則是將接收到的位圖數據通過(guò)frambuffer顯示接口直接顯示到LCD液晶屏上面。

為了在顯示終端的Linux操作系統上使用藍牙協(xié)議棧,需要在交叉編譯嵌入式Linux內核時(shí)將所需的藍牙支持選項選上,并將所需的Bluez藍牙庫編譯安裝到終端文件系統中。用戶(hù)應用程序同樣通過(guò)交叉編譯得到可執行代碼,然后下載到終端文件系統運行。

該系統可以應用在公共信息顯示屏,如大廳廣告信息屏、建筑物提示標志等地方,可以避免有線(xiàn)連接的缺陷。系統通過(guò)擴展后還可以同移動(dòng)電話(huà)、PDA、無(wú)線(xiàn)耳機、無(wú)線(xiàn)揚聲器交換數據。

4結論

在嵌入式Linux操作系統上通過(guò)已有的藍牙協(xié)議棧進(jìn)行藍牙開(kāi)發(fā),通過(guò)藍牙協(xié)議層無(wú)線(xiàn)收發(fā)數據,可以不用關(guān)心藍牙底層驅動(dòng)的實(shí)現。用戶(hù)可以通過(guò)各種上層協(xié)議進(jìn)行更復雜的通信,通過(guò)藍牙SCO協(xié)議層還可以發(fā)送音頻數據。因此嵌入式Linux操作系統平臺上進(jìn)行藍牙系統的開(kāi)發(fā)較為方便,并且具有擴展性能好的優(yōu)點(diǎn)。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>