基于CC2541藍牙模塊與單片機的串口通信_第1頁
基于CC2541藍牙模塊與單片機的串口通信_第2頁
基于CC2541藍牙模塊與單片機的串口通信_第3頁
基于CC2541藍牙模塊與單片機的串口通信_第4頁
基于CC2541藍牙模塊與單片機的串口通信_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 基于CC2541藍牙模塊與單片機的串口通信摘要藍牙技術作為一種無線數據與語音通信的開放性全球規范,可提供低功耗、短距離的無線空中接口,在各種固定與移動設備之間實現無線通信。在移動通信、無線數據采集、無線遙控與遙測、計算機網絡及自動控制等多種領域,藍牙技術都有著廣泛的應用。藍牙協議規范具有多個層次,完整的藍牙協議棧的開發是一項很復雜的工程,而在大多數嵌入式應用中,只是需要實現基本的無線數據傳輸功能,并不需要實現全部的藍牙協議棧。針對此類應用,若是能提供一套實用的藍牙無線接口、實現一個通用的無線數據傳輸模塊,就可以比較有效地縮短開發周期,降低開發成本。藍牙通訊最初設計初衷是方便移動電話(手機)與

2、配件之間進行低成本、低功耗無線通信連接,現在已經成為IEEE802.15標準,得到全球上萬家廠商支持。本文通過對美國德州儀器半導體公司(TI)開發的CC2541藍牙模塊與51單片機搭建電路實現無線通信技術。 BLE(Bluetooth Low Energy),藍牙 4.0 標準里的一個子集,藍牙 4.0 分為兩部分,一個是能夠兼容傳統藍牙的高速部分,另外就是這里的 BLE, 的兩大顯著特點:BLE功耗低,速率低。所以你就別打算用 BLE 來做音頻傳輸或者文件傳輸了,目前 BLE最大的傳輸速率只能達到 45K 字節/每秒。BLE 協議棧,藍牙 4.0 里的 BLE,只是一個協議規范,而 BLE

3、協議棧則是該協議的代碼實現。藍牙組織 SIG,只負責制定協議,而協議如何實現,則需要各個芯片公司完成。可以這樣理解,BLE 協議棧是芯片公司預先編好的源碼或者庫。關鍵詞:藍牙 單片機 通信 BLE4.01 緒論1. 背景介紹藍牙技術的最初倡導者是五家世界著名的計算機和通信公司:愛立信Ericsson、國際商用機器IBM、英特爾Intel、諾基亞NoMa和東芝Toshiba。1998年5月,以愛立信為首,此五家IT巨人共同提出了一種近距離無線數字通信的技術標準,目標是實現最高傳輸速率可達1Mbs(有效傳輸速率為720Kbs),最大傳輸距離為10m的無線通信技術,即藍牙技術,并成立了國際化組織藍牙

4、SIG(SpecialInterest Group),致力于藍牙規范的制定和藍牙技術在全球范圍內的推廣。藍牙通信有很多優點,首先是低功耗,以BLE 4.0為例,一節鈕扣電池在靜態工作狀態可以支持一年;其次是低成本,TI公司的CC2540藍牙SOC方案芯片出售價僅1美元,可以讓人們低廉使用藍牙技術;再次是開放性,2.4GHz的頻段全球開放,沒有政府監管;最后是適合時代潮流,現在是手機的時代,藍牙技術本來就為它而生。藍牙4.0協議是2010年6月由SIG(Special Interest Group)發布的最新標準,它有2種模式:BLE(Bluetooth low energy)只能與4.0協議設

5、備通信,適應節能且僅收發少量數據的設備(如家用電子);BR/EDR(Basic Rate / Enhanced Data Rate),向下兼容(能與3.0/2.1/2.0通信),適應收發數據較多的設備(如耳機)。目前,蘋果公司的iPhone 4S、iPhone 5、miniPad和iPad 3;小米手機2;三星公司的Galaxy SIII和Note II;HTC ONE系列等移動設備都支持藍牙4.0CC2540/CC2541,美國德州儀器半導體公司(簡稱 TI)的 BLE 芯片,TI 實現的 BLE協議棧同樣是 ble 協議的代碼實現,這些 BLE 代碼正是運行在 CC2540/CC2541

6、芯片上,簡單的說 CC254x 就是一顆帶有藍牙功能的 51 單片機,其他單片機有的資源,例如定時器,UART,SPI,ADC,GPIO,USB(CC2540 專有),I2C(CC2541 專有)等等,CC254x 也都有,而 BLE 協議棧也就是一些復雜一點的 C 語言源碼2. 硬件設備CC254x 的應用非常廣,三種金典應用:1 串口透傳,2 穿戴式設備,3PC上的 BLE 適配器,這樣就對應了三種設備,帶有帶串口的 SmartRF 開發板(用來開發大部分的應用),帶有三軸加速度計的 Keyfob 防丟器開發板(用來開發穿戴式設備),最后是CC2540USBdongle,可以直接插在 US

7、B 口上(開發 BLE 適配器或者虛擬串口等應用)。而且TI 的 BLE 協議棧例程,也是建立在這三種設備上。2.1 SmartRF 開發板SmartRF 開發板兼容 TI 官方的 SmartRF05EB 開發板,TI 的 BLE 協議棧里提供的大部分例程,均基于該開發板創建,我們除了升級了 LCD 為 12864 外,其余完全兼容,TI 協議棧例程可以直接在我們的 SmartRF 上運行,這一點非常重要,因為 TI 經常有版本更新或者新的例程出來。2.2 Keyfob 開發板Keyfob 開發板帶有一個三軸加速度計和一個蜂鳴器,除了可以開發防丟器外,還有更多的想象空間:計步器、運動檢測等等。

8、和 SmartRF 開發板一樣,采用的也是底板分離的設計,核心板和 SmartRF 相同(Keyfob默認發 CC2541 核心板,CC2541 版本的 keyfob 資源更多)。Keyfob 的反面有一個型號為 CR2032 的紐扣電池座。我們采用的電池座和 TI 的 Sensortag開發板的質量一樣,厚實、耐用。2.3 CC-Debugger 仿真器CC254x 不支持串口下載,所以只能通過 CC-Debugger 燒寫,除了燒寫功能,也可以在 IAR 開發軟件里,通過CC-Debugger 連接芯片在線調試你開發的程序,單步運行、打斷點等,所以又叫仿真器。TI 官方開發板配套使用的全部

9、是 CC-Debugger 仿真器3. 軟件環境IAR for 8051 開發環境,Flash Programmer 固件燒寫軟件2 CC2541芯片的特性參數CC2541 是一款針對藍牙低能耗以及私有2.4GHz 應用的功率優化的真正片載系統(SoC) 解決方案。它使得使用低總體物料清單成本建立強健網絡節點成為可能。CC2541 將領先RF 收發器的出色性能和一個業界標準的增強型8051 MCU、系統內可編程閃存存儲器、8kBRAM 和很多其它功能強大的特性和外設組合在一起。CC2541 上CC2541 非常適合應用于需要超低能耗的系統。這由多種不同的運行模式指定。運行模式間較短的轉換時間進

10、一步使低能耗變為可能。如果 CC2540 上的 USB 未啟用并且 CC2541 上的I2C/ 額外I/O 未啟用,那么CC2541 與CC2540 在6mm x 6mm 方形扁平無引腳(QFN) 40 封裝內引腳兼容。與CC2540 相比,CC2541 提供更低RF 流耗。CC2541 沒有CC2540 所具有的USB 接口,并在TX模式中提供較低的最大輸出功率CC2541 還增加了1 個HW I2C 接口。CC2541 與CC2533 優化RF4CE IEEE 802.15.4 SoC引腳兼容。CC2541 有2 個不同的版本:分別具有128kB 和256kB 閃存的的CC2541F128

11、/F256。1特性(1)射頻 2.4GHz藍牙符合低能耗規范和私有的RF 片載系統 支持250kbps,500kbps,1Mbps,2Mbps 的制器內核數據速率 出色的鏈路預算,不使用外部前段而支持長距離應用 高達0dBm 的可編程輸出功率 出色的接收器靈敏度(1Mbps 時為- 94dBm),可選擇性,和阻擋性能 適合于針對符合世界范圍內的無線電頻率調節系統:ETSI EN 300 328 和 EN 300 440 2 類 (歐洲),FCC CFR47 15 部分(美國),和ARIB STD-T66(日本)(2)布局 極少的外部組件 提供參考設計 支持 6mm × 6mm 方形扁

12、平無引腳 (QFN)-40 封裝 與 CC2540 引腳兼容 (當不使用 USB 或者 I2C 時) (ADC)(3)低功率 工作模式 RX 低至:17.9mA 工作模式 TX (0 dBm):18.2mA 功率模式 1(4s 喚醒):270s 功率模式2(睡眠定時器打開):1s 功率模式3(外部中斷):0.5s(4)工作模式下TPS62730兼容低功率 RX 低至:14.7mA(3V 電源) TX (0 dBm):14.3 mA(3V 電源)(5)微控制器 具有代碼預取功能的高性能和低功率8051 微控制器內核 系統內可編程閃存,128 或者256 KB 在所有功率模式下具有保持功能的8KB

13、 RAM 支持硬件調試 擴展基帶自動化,包括自動確認和地址解碼 所有功率模式中對所有相關寄存器的保持(6)外設 功能強大的 5 通道直接內存訪問 (DMA) 通用定時器(1 個 16 位,2 個 8 位) 紅外(IR) 生成電路 具有捕捉功能的32kHz 睡眠定時器 精確數字接收到的數字信號強度指示器(RSSI)支持 電池監視器和溫度感應器 含 8 通道和可配置分辨率的 12 位模數轉換器(ADC) 高級加密標準 (AES) 安全協處理器 2 個功能強大的支持幾個串行協議的通用異步接收發器 (UART) 23 個通用 I/O 引腳(21 × 4mA,2 × 20mA) I2

14、C 接口 2 個具有LED 驅動功能的I/O 引腳 安全裝置定時器 集成的高性能比較器(7)開發工具 CC2541 評估模塊工具包 (CC2541EMK) CC2541 小型開發工具包 (CC2541DK-MINI) SmartRF 軟件 提供IAR 嵌入式Workbench2.軟件特性(1)符合針對單模式藍牙低能耗(BLE) 解決方案的符合藍牙4.0 協議的堆棧器 完全功率優化堆棧,包括控制器和主機 GAP - 中心設備,外設,或者廣播器(包括組合角色) 屬性協議(ATT) / 通用屬性配置文件(GATT) 客戶端和服務器 L2CAP 說明(2)示例應用和配置文件 針對GAP 中心和外圍作用

15、的一般應用 距離臨近,加速計,簡單關鍵字,和電池GATT 服務 BLE 軟件棧內支持更多應用(3)多重配置選項 單芯片配置,允許應用運行在CC2541 上 用于運行在一個外部微處理器接口 BTool - 用于評估、開發和測試的視窗(Windows) PC 應用 3.應用范圍 2.4GHz藍牙低能耗系統 私有的2.4 GHz 系統 人機接口器件(鍵盤,鼠標,遙控) 體育和休閑設備1 個HW I2C 接口。 移動電話附件 消費類電子產品4.含有TPS62730的CC2541 TPS62730是一款具有旁通模式的2MHz 降壓轉換器 延長電池壽命高達20% 在所有工作模式下減少的電流 30nA 旁通

16、模式電流以支持低功率模式 RF 性能并未改變 小型封裝允許小型解決方案尺寸 CC2541 可控3 基于單片機的藍牙硬件接口設計1.單片機C8051簡介微控制器(MCu)是藍牙應用系統的核心,它的選擇將直接影響到系統的性能。C8051F120是Cygnal公司的一種與8051兼容的高速SOC單片機,它具有高速CIP51內核、靈活的IO交叉開關、先進的時鐘系統、JTAG系統調試接口以及多源復位系統它性能卓越,內核采用流水線結構,速度可達100MIPS,比普通的51快40倍,而且在資源豐富、體積小、功耗低、集成度高且調試方便。下面列出了它的一些主要特性:(1)高速、流水線結構的8051兼容的CIP5

17、1內核;(2)真正8位500ksps的ADC,帶PGA和8通道模擬多路開關;(3)2周期的16×16的乘法和累加引擎;(4)8448(8K+256)字節的片內RAM;(5)可尋址64K字節地址空間的外部數據存儲器接口;(6)硬件實現的SPI、SMBus12C和兩個UART串行接El10l;(7)5個通用的16位定時器;(8)具有6個捕捉比較模塊的可編程計數器定時器陣列;(9)FLASH存儲器具有在系統中重新編程能力,可用于非易失性數據存儲,并允許現場更新固件;(10)片內JTAG調試電路允許非侵入式(不占用片內資源)、全速、在系統測試;(11)可在工業溫度范NI(45"C一

18、+85。c)N用27V36V的電壓工作。(12)C8051F120為100腳TQFP封裝。2.單片機與藍牙模塊的連接目前,最流行的HCI是通過通用異步收發器(UART)和通信串行總線(USB)連接的。其中UART通常更受青睞,因為其性能和數據吞吐率水平與USB接口相當,且傳輸協議較為簡單,減少了軟件開銷,是一種更為經濟高效的硬件解決方案。藍牙模塊電源線藍牙模塊的電壓管理器共有4個輸入,分別是Vcc(12)、MASTER(28)、SW(27)和SW1(23)。Vcc提供電源電壓,典型值是33V;MASTER(28)為UART提供一個獨立的電源回路,可以與單片機邏輯接口相同,可以連接到Vcc;SW

19、(27)信號控制內部電壓穩壓器導通或關斷。將Vcc(12)、MASTER(28)、SW(27)和SW1(23)連接在一起使用時,不需要考慮藍牙模塊的加電順序。 圖1:藍牙模塊的外圍電路數據線和信號線單片機C8051F120具有兩個UART,在此選用UART0。在編程時候可通過交叉開關設置,將UART0分配到兩個管腳上,例如P3.1(TXD)和P3.0(RXD),分別與藍牙模塊的RXD和TXD相連。另外,單片機端需另外分配兩個管腳,例如P12和P13,分別作為流量控制信號CTS和RTS,分別與藍牙模塊的RTS和CTS相連。若CTS為1則允許對方發送,若CTS為0則禁止對方發送。 圖2:單片機的外

20、圍電路藍牙模塊天線藍牙模塊ANT管腳連接到50歐的天線,天線的電壓駐波比小于2:1。在本課題的實驗板的設計中,單片機和藍牙模塊是焊接在一個PCB板上的。由于藍牙模塊采用平面封裝,而且引腳很密集,要想直接焊接到PCB板上很困難,而且天線也很難焊接上去。因而自行設計了一個輔助電路板,先將藍牙模塊焊接到此輔助電路板上,然后將要用到的藍牙模塊的部分引腳引出來,通過插座將藍牙模塊連接到PCB板上,這樣就使得藍牙模塊的裝卸變得很方便。輔助電路板引出的管腳有GND地線、VCC33V、數據收發線RXD和TXD、流控線RTS和CTS、使能信號線EN、復位信號線RESET,其中BT EN即圖3中的ON信號,實際應

21、用中將它與VCC接在一起,其他的與單片機相連。 圖3:CC2541與單片機的連接電路4 軟件設計單片機通過UART控制藍牙模塊時,最底層的數據傳輸是通過UART實現的。因而需要實現單片機UART接口函數來完成最基本的字節級的數據發送和接收。UART即通用異步通信接收發送器,它是一種同步異步傳輸的串行接口,工作在同步傳輸的為半雙工方式,而工作在異步傳輸的為全雙工方式。單片機的UART用一個SFR(且ISBUF)的地址可以訪問發送寄存器和接收寄存器,并允許在軟件尚未讀取前一個接收字節的情況下,開始接收第2個輸入數據字節。C8051F120的UART工作模式有模式O、模式1、模式2、模式3共4種,其

22、中模式0是同步半雙工方式,其余全為異步全雙工方式。相關程序如下:#include <ioCC2540.h>#include <reg52.h>#include <intrins.h>unsigned char tmp;unsigned int c=0;sbit led1=P20; /指示燈0sbit led2=P21; /指示燈1sbit led3=P23; /指示燈3void init(); /串口初始化void send(unsigned char a); /單字節發送函數void ctrl(); /接收處理函數void main() init(); w

23、hile(1) if(RI=1) /是否有數據到來 RI = 0; tmp = SBUF; /暫存接收到的數據 ctrl(); void init() /串口初始化 ES=0; /關中斷 SCON = 0x50; / REN=1允許串行接受狀態,串口工作模式1,10 /位UART(1位起始位,8位數據位,1位停止位, /無奇偶校驗),波特可變 TMOD = 0x20; /定時器1工作于方式2,8位自動重載模式,用 /于產生波特率 TH1=TL1=0xFD; /波特率9600 (本次測試采用晶振為11.0592) PCON &= 0x7f; /波特率不倍增 TR1 = 1; /定時器1開

24、始工作,產生波特率 /發送標志位置1 TI=0; /接收標志位置0 RI=0; EA=0; ES=1; led1=0; /初始化設置3個指示燈全亮 led2=0; led3=0;void send(unsigned char a) /單字節數據發送 /注意:若單片機TXD(P3.1)無上拉能力,必須在P3.1端接上拉電阻。本次測試需要接上拉電阻 TI=0; SBUF=a; while(TI=0); TI=0; if(c%2) /發送指示燈標志,每接收一次,此燈亮滅交替 led3=1; else led3=0; c+; void ctrl() /接收處理函數 switch(tmp) case '1': led1=1; /收到字符1,指示燈0滅 send(tmp); break; case '2': /收到字符2,指示燈1滅 led2=1; send(tmp); break; case '3': /收到字符3,指示燈0、1亮 led1=0; led2=0; send(tmp); break; case '4': /收到字符4,指示燈0、1滅 led1=1; led2=1; send(tmp); break; case '

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論