基于Labwindows的藍(lán)牙手機(jī)測試系統(tǒng)設(shè)計(jì)
出處:tyw 發(fā)布于:2007-04-29 11:49:36
關(guān)鍵詞:藍(lán)牙手機(jī);Labwindows/CVI;HCI命令
引言
目前,越來越多的手機(jī)置入了藍(lán)牙芯片。在生產(chǎn)過程中,必須對手機(jī)進(jìn)行嚴(yán)格的測試,由于藍(lán)牙制式與GSM完全不同,原有的測試系統(tǒng)無法滿足測試的需求,這就需要在原有的測試系統(tǒng)中加入藍(lán)牙測試程序。一般測試都采用兩個(gè)程序分別控制藍(lán)牙芯片和藍(lán)牙綜測儀的方法來實(shí)現(xiàn)自動(dòng)測試,這實(shí)際上只是一種半自動(dòng)方式。有的藍(lán)牙綜測儀,如安立公司的MT8852,提供了生產(chǎn)用的測試系統(tǒng)軟件,但是由于無法得到程序的源代碼,對于生產(chǎn)線的維護(hù)是非常不方便的。為了提高測試效率,并且兼顧手機(jī)在GSM制式下的RF及藍(lán)牙性能,需要一套同時(shí)涵蓋GSM及藍(lán)牙的自動(dòng)測試系統(tǒng),本文主要介紹針對藍(lán)牙性能的自動(dòng)測試系統(tǒng)的設(shè)計(jì)。
自動(dòng)測試系統(tǒng)設(shè)計(jì)思路
要實(shí)現(xiàn)測試系統(tǒng)的自動(dòng)化,必須在一個(gè)測試系統(tǒng)中對藍(lán)牙手機(jī)端和測試儀器端分別實(shí)現(xiàn)自動(dòng)控制。
如所示,藍(lán)牙協(xié)議棧以主控制器接口為界,分為兩部分:主控制器接口以下為無線信道、基帶物理層和鏈路管理層協(xié)議;主控制器接口以上為邏輯鏈路控制和適應(yīng)層協(xié)議、服務(wù)發(fā)現(xiàn)協(xié)議(SDP)、串口仿真協(xié)議(RFCOMM)、無線應(yīng)用協(xié)議(WAP)及TCP/IP協(xié)議等。根據(jù)BT_Core_V1_2規(guī)定,可以通過主控制器接口直接發(fā)送HCI命令來控制藍(lán)牙芯片的工作模式、狀態(tài),建立連接等符合藍(lán)牙規(guī)范的動(dòng)作,因此,對藍(lán)牙手機(jī)端的控制就通過主控制器接口直接發(fā)送HCI命令來實(shí)現(xiàn)。有的藍(lán)牙芯片生產(chǎn)廠商在RFCOMM層上進(jìn)行封裝,支持AT指令,可以通過PC機(jī)上的操作系統(tǒng)自帶的超級(jí)終端對藍(lán)牙模塊進(jìn)行控制,這種封裝可以給研發(fā)過程中的調(diào)試工作帶來一定的便利,但是對于從事測試系統(tǒng)開發(fā)的測試工程師來說,這種方式則難以解決用一套系統(tǒng)對不同藍(lán)牙芯片進(jìn)行測試時(shí)的兼容問題,為此,本套測試系統(tǒng)中對藍(lán)牙模塊的控制是基于藍(lán)牙興趣小組所頒發(fā)的藍(lán)牙規(guī)范中規(guī)定的標(biāo)準(zhǔn)HCI命令實(shí)現(xiàn)的。
對于測試儀器的控制,目前為廣泛的方式是通過GPIB總線(General Purpose Interface Bus,通用接口總線)程控儀器。其控制順序、一般數(shù)據(jù)格式、狀態(tài)和通用命令集等遵守IEEE488.2規(guī)范。GPIB總線通過24根線與儀器設(shè)備進(jìn)行通信,包括8根數(shù)據(jù)線、3根信號(hào)交換線、5根通用控制線和8根地線。連接在總線上的設(shè)備統(tǒng)稱為器件,向總線發(fā)送數(shù)據(jù)的設(shè)備稱為講者,從總線接收數(shù)據(jù)的設(shè)備稱為聽者,控制總線的設(shè)備稱為控者。在數(shù)據(jù)傳輸?shù)倪^程中,只能有一個(gè)講者,但可以指定多個(gè)聽者。在本測試系統(tǒng)中只有一個(gè)講者,即PC;一個(gè)聽者,即藍(lán)牙測試儀。
系統(tǒng)的硬件環(huán)境
測試系統(tǒng)的硬件環(huán)境由一臺(tái)PC、一臺(tái)藍(lán)牙綜測儀、GPIB卡、GPIB電纜、串口線、射頻電纜或耦合天線及待測手機(jī)組成。其中PC和藍(lán)牙綜測儀之間用GPIB線相連,PC和待測手機(jī)之間用遵從RS-232規(guī)范的串口線相連,藍(lán)牙測試儀和待測手機(jī)之間通過射頻電纜或耦合天線連接。
740)this.width=740" border=undefined>
藍(lán)牙協(xié)議棧
表1 HCI包格式
First Byte Last Byte
Packet Type Indicator(1byte) HCI Packet(Variable length)
表2 HCI 包類型
HCI Packet Type Packet Type Indicator
HCI Command Packet 0x01
HCI ACL Data Packet 0x02
HCI SCO Data Packet 0x03
HCI Event Packet 0x04
表3 HCI命令包結(jié)構(gòu)
First Last
OCF OGF Length Para0 Para1 ------
表4 進(jìn)入測試模式的HCI命令
命令 操作碼 參數(shù)
HCI_Write_PageScan_Activity 0x001c 0x0800,0x0012
HCI_Write_InquireScan_Activity 0x001e 0x0800,0x0012
HCI_Write_Scan_Enable 0x0c1a 0x03
HCI_Write_Device_Under_Test_Mode 0x1803 無
系統(tǒng)的軟件實(shí)現(xiàn)
測試軟件在Labwindows/CVI軟件開發(fā)平臺(tái)下完成。Labwindows/CVI是由NI公司開發(fā)的半圖形化的編程工具,該工具以標(biāo)準(zhǔn)C語言為基礎(chǔ),具有強(qiáng)大的庫函數(shù),提供了靈活的開發(fā)手段和良好的用戶界面。該測試系統(tǒng)的軟件從功能角度可以劃分為四部分:對綜測儀的初始化、對藍(lán)牙手機(jī)的初始化、建立連接和測試指標(biāo)子程序。
部分:對綜測儀的初始化,步驟如下:
步驟1. 查找聽者。函數(shù)原形為:
ibln(int Board/Device,int Primary Address,int Second Address,short Found Listener );
查找聽者的主要目的是為了確認(rèn)聽者的Primary Address,由于一個(gè)總線上多有30個(gè)聽者,可以通過有限循環(huán)查找,如果確認(rèn)只有一個(gè)聽者,當(dāng)找到一個(gè)聽者時(shí)即可停止查找。
步驟2. 打開設(shè)備。函數(shù)原形為:
ibdev(int Board_Index,int Primary_Address,int Secondary_Address,int Timeout_Value,int END_Message,int EOS_Character);
函數(shù)返回值相當(dāng)于一個(gè)操作句柄,當(dāng)成功打開設(shè)備后,對儀器的讀寫操作均通過操作句柄完成。
對于有些儀器,通過以上兩個(gè)步驟就可以得到一個(gè)有效的操作句柄,但有的儀器,如R&S公司的CMU200,不但有Primary Address,還有Secondary Address,這就需要在得到總的操作句柄后,通過ibwrt函數(shù)對各子項(xiàng)(這里指的是bluetooth signalling和bluetooth non-signalling)設(shè)置次地址,當(dāng)次地址設(shè)置完成后,可以通過ibdev函數(shù)得到具體的針對子項(xiàng)的操作句柄。
第二部分:對手機(jī)的初始化。對手機(jī)的初始化是通過串行通信端口(RS-232)實(shí)現(xiàn)的,步驟如下:
步驟1. 打開串口。函數(shù)原形如下:
int OpenComConfig(int COM_Port,char Device_Name[],long Baud_Rate,int Parity,int Data_Bits,int Input_Queue_Size,int Output_Queue_Size);
函數(shù)中的參數(shù)根據(jù)藍(lán)牙模塊所支持的方式進(jìn)行設(shè)置。
步驟2. 發(fā)送HCI命令,使手機(jī)進(jìn)入測試模式。通過函數(shù)ComWrtByte(int Com Port,char Byte)發(fā)送,發(fā)送時(shí)按照HCI命令標(biāo)準(zhǔn)包格式,選擇相應(yīng)的參數(shù),從高字節(jié)向低字節(jié),以16進(jìn)制的形式,逐字節(jié)發(fā)送。HCI包格式如表1所示。其中Packet Type Indicator按照表2確定。而詳細(xì)的HCI命令包組成見表3。其中OCF,OGF為操作碼,Length指的是參數(shù)長度,如果參數(shù)為一個(gè),則Length值為1,參數(shù)為HCI命令自身所帶的參數(shù),因命令而異。以HCI_Write_Scan_Enable命令為例,因?yàn)槭敲畎?,故Packet Type Indicator應(yīng)為0x01;又操作碼為0x0c1a,打開掃描時(shí)參數(shù)為0x03,故參數(shù)長度為1,所以該命令的發(fā)送序列應(yīng)為(16進(jìn)制):01 1a 0c 01 03。
使手機(jī)進(jìn)入測試模式,首先激活尋呼掃描和查詢掃描,然后才能發(fā)送進(jìn)入測試模式的指令。主要通過發(fā)送表4中的HCI命令實(shí)現(xiàn)。
第三部分:建立連接。在討論藍(lán)牙建立連接的過程之前,首先要了解藍(lán)牙設(shè)備的組網(wǎng)過程。藍(lán)牙根據(jù)網(wǎng)絡(luò)的概念提出點(diǎn)對點(diǎn)和點(diǎn)對多點(diǎn)的無線連接,在任意一個(gè)有效通信范圍內(nèi),所有設(shè)備的地位都是平等的。首先提出通信要求的設(shè)備成為主設(shè)備(Master),被動(dòng)進(jìn)行通信的設(shè)備成為從設(shè)備(Slave),利用TDMA,一個(gè)Master可以多和7個(gè)Slave進(jìn)行通信。在本測試系統(tǒng)中,考慮到生產(chǎn)線上一般采用屏蔽箱防止干擾,所以認(rèn)為系統(tǒng)中只有1個(gè)Master和1個(gè)Slave,同時(shí),由于測試的需要,并考慮到實(shí)際情況(現(xiàn)在很多藍(lán)牙綜測儀在測試過程中并不能作為Slave),一般將藍(lán)牙綜測儀作為Master,待測手機(jī)作為Slave。
本測試系統(tǒng)軟件中,通過ibwrt函數(shù)控制藍(lán)牙綜測儀發(fā)出查詢指令,查找當(dāng)前有效范圍內(nèi)的待測手機(jī)。當(dāng)查找完成后,ibwrt函數(shù)繼續(xù)控制藍(lán)牙綜測儀發(fā)出連接請求,當(dāng)已經(jīng)進(jìn)入測試模式的待測手機(jī)收到連接請求后,將會(huì)返回接受或拒絕連接請求的信息,該信息通過發(fā)送HCI_Accept_Connection_Request指令完成,當(dāng)藍(lán)牙綜測儀收到該信息后,即確認(rèn)可以建立連接,這樣,雙方的連接就建立成功了。
第四部分:測試指標(biāo)子程序。
建立連接成功后,下一步就是測試手機(jī)的性能指標(biāo),這里測試的主要是藍(lán)牙的發(fā)射機(jī)和接收機(jī)的性能指標(biāo)。由于在藍(lán)牙規(guī)范中對于每個(gè)測試指標(biāo)都有相應(yīng)的測試條件及測試標(biāo)準(zhǔn)的詳細(xì)規(guī)定,而每項(xiàng)測試指標(biāo)的測試條件相差很大,特別是對藍(lán)牙綜測儀的設(shè)置方面。因此,在本測試軟件中,將每個(gè)測試指標(biāo)封裝成子函數(shù),程序通過調(diào)用每個(gè)測試項(xiàng)的子函數(shù)來實(shí)現(xiàn)對指標(biāo)的測試,這樣也有利于程序的優(yōu)化,使程序看起來一目了然,同時(shí)也利于在測試過程中根據(jù)需要選擇測試項(xiàng)。這里以測試藍(lán)牙發(fā)射機(jī)的輸出功率為例來說明測試子項(xiàng)的軟件實(shí)現(xiàn)。
藍(lán)牙規(guī)范中對藍(lán)牙發(fā)射機(jī)的輸出功率的測試條件和測試結(jié)果要求如下:
Hopping: on;Test Type: Loopback;Payload Pattern: PRBS9
Packet Type: DH5;測試頻點(diǎn):3個(gè)(本軟件選擇2402MHz,2441 MHz,2480 MHz)
測試標(biāo)準(zhǔn):
平均功率:在-6dBm至4dBm之間;功率: 不大于23dBm
首先通過ibwrt函數(shù)設(shè)置藍(lán)牙測試儀的各項(xiàng)配置,使之符合以上的測試條件,然后在3個(gè)測試頻點(diǎn)上進(jìn)行循環(huán)測試,用ibrd函數(shù)從藍(lán)牙測試儀上讀取相應(yīng)的測試結(jié)果,根據(jù)規(guī)范要求的測試標(biāo)準(zhǔn)進(jìn)行判斷,得出的結(jié)果。
結(jié)語
通過對藍(lán)牙規(guī)范的研究,已編寫了一套以GPIB協(xié)議控制藍(lán)牙測試儀,通過串口控制藍(lán)牙芯片的自動(dòng)測試程序,界面靈活,易于維護(hù)。該測試系統(tǒng)軟件也可作為子程序被嵌入GSM手機(jī)測試系統(tǒng)中,可以在生產(chǎn)測試中減少測試站的設(shè)置,降低成本?!?/P>
740)this.width=740" border=undefined>
740)this.width=740" border=undefined>
參考文獻(xiàn):
[1]. RS-232 datasheet http://www.hbjingang.com/datasheet/RS-232_584855.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實(shí)踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機(jī)選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計(jì)、天線匹配與鏈路預(yù)算計(jì)算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點(diǎn)與實(shí)現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
- PCB電源完整性(PI)設(shè)計(jì)核心實(shí)操規(guī)范
- 多層PCB疊層設(shè)計(jì)核心實(shí)操規(guī)范
- 提高M(jìn)OSFET效率的電路優(yōu)化方法
- 電源管理IC在智能家居中的應(yīng)用
- 差分信號(hào)連接器設(shè)計(jì)要點(diǎn)
- PCB焊盤與過孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析









