藍(lán)牙HCI-UART主控制接口的FPGA設(shè)計與實現(xiàn)
摘要:藍(lán)牙技術(shù)作為一種短距離的無線通信技術(shù),具有巨大的發(fā)展?jié)摿?本文意從HCI層進(jìn)行藍(lán)牙技術(shù)的應(yīng)用開發(fā)。本文首先介紹了HCI和UART的結(jié)構(gòu)與原理,在分析和比較HCI三種類型接口USB、RS-232和UART優(yōu)缺點的基礎(chǔ),提出了一種基于FPGA采用硬件設(shè)計HCI-UART的實現(xiàn)方式。本設(shè)計在Quartus II 9.0集成設(shè)計環(huán)境下,采用硬件描述語言Verilog分模塊設(shè)計完成,設(shè)計經(jīng)過Modelsim 6.4a仿真與驗證。
1 引言
藍(lán)牙(Bluetooth)是世界級著名的計算機(jī)和通信領(lǐng)域大公司(愛立信、IBM、INTEL、諾基亞和東芝等)倡導(dǎo)推出的一種無線通信技術(shù)的開放式工業(yè)標(biāo)準(zhǔn),其取自10 世紀(jì)丹麥國王哈拉爾德(HaraldBluetooth)的別名,意在形成一個全球統(tǒng)一的無線通信技術(shù)標(biāo)準(zhǔn)[1]。藍(lán)牙技術(shù)消除了設(shè)備之間的連線,用無線連接取代傳統(tǒng)的電線。藍(lán)牙主要有藍(lán)牙硬件和藍(lán)牙協(xié)議組成,藍(lán)牙硬件由模擬部分和數(shù)字部分組成。模擬部分指藍(lán)牙射頻發(fā)射臺,數(shù)字部分指主控制器。藍(lán)牙協(xié)議采用電路及信息包兩種交換方式,主要有射頻(RF)、基帶 (BB)、鏈路管理器(LM)、主接控制接口(HCI,Host CONTROL Interface)底層嵌入式驅(qū)動程序、HCI 高層軟件驅(qū)動程序、邏輯鏈路控制適配協(xié)議(L2CAP)、串口仿真協(xié)議(RFCOMM)、業(yè)務(wù)發(fā)現(xiàn)協(xié)議(SDP)、電話控制協(xié)議(TCS)構(gòu)成[2]。
目前,藍(lán)牙技術(shù)應(yīng)用開發(fā)有兩種方式:1)單微控制器方式,所有的藍(lán)牙傳輸協(xié)議及用戶應(yīng)用程序都集成到一個模塊中,由一個處理器完成。它不一定需要HCI 層,但其涉及到射頻、基帶等硬件協(xié)議層,開發(fā)方式復(fù)雜,開發(fā)周期加長,成本代價也高;2)雙微控制器方式,底層傳輸協(xié)議一般通過藍(lán)牙硬件模塊實現(xiàn),模塊內(nèi)部嵌入式的微處理器成為主機(jī)控制器,高層傳輸協(xié)議和用戶應(yīng)用程序分別由主機(jī)和主控制器來實現(xiàn),主機(jī)和主機(jī)控制器之間通過標(biāo)準(zhǔn)的物理總線接口來連接[3]。由于主機(jī)與主控制層在硬件上完全分 離,需通過HCI 層把藍(lán)牙模塊和藍(lán)牙主機(jī)連接起來。在實際應(yīng)用中,由于高層協(xié)議的復(fù)雜性和多樣性,采用這種方式,用戶不需要考慮底層就可以實現(xiàn)對通信流程的控制,符合用戶實際需求,且開發(fā)周期短,可 移植性好,本文的設(shè)計也是采用這種方式。
2 系統(tǒng)基本原理
2.1 UART 基本原理
UART(Universal Asynchronous Receive Transmitter)又稱通用型異步接收及發(fā)送接口[4],是一種異步通信傳輸方式。其通信協(xié)議幀格式包括五個部分:空閑狀態(tài)(idle,高電平)、起始位(start,低電平)、 5~8 位數(shù)據(jù)位、奇偶校驗位(parity,可選)和停止位(Stop,位數(shù)可為1,1.5 和2 位)。這種格式是由起始位和停止位來實現(xiàn)字符的同步,其中奇偶校驗位的有無和數(shù)據(jù)位的長度由通信雙方約定。一幀數(shù)據(jù)傳輸完畢后可以繼續(xù)傳輸下一幀數(shù)據(jù),也可以繼續(xù)保持為高電平,兩幀之間保持高電平,持續(xù)時間可以任意長。本設(shè)計規(guī)定的通信協(xié)議幀格式為:1 位起始位(start,低電平)、8 位數(shù)據(jù)位(d0~d7)、1 位奇偶校驗位(parity) 和1 位停止位(stop,高電平),如圖1 所示。
圖1 UART 通信協(xié)議幀格式
評論