公司擁有優(yōu)秀的銷售團(tuán)隊(duì)和專業(yè)的研發(fā)部門,不但在品牌、價(jià)格、供貨、服務(wù)等方面領(lǐng)先業(yè)界,而且可為客戶提供及時(shí)、可行的技術(shù)支持和整體設(shè)計(jì)服務(wù),滿足不同客戶多層次需求。
ZigBee與XBee模塊概述
ZigBee是給予無(wú)線通信標(biāo)準(zhǔn)的一個(gè)名稱,基本上為工業(yè)應(yīng)用而開(kāi)發(fā)的。從歷史角度來(lái)看,ZigBee改良早前稱為“Home RF”的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)起初前景一片光明,可是因著競(jìng)爭(zhēng)對(duì)手Wireless Fidelity(Wi-Fi)標(biāo)準(zhǔn)的成功,它就被廢棄了。Home RF壽命如此短促,至少發(fā)人深醒,也教人憂慮,是否歷史不斷在重復(fù)之中。然而,可保證這個(gè)想法是莫須有的,因?yàn)閆igBee由主要的參與者如Freescale(此乃Motorola的子公司)、Honeywell、Philips、Microchip及Mitsubishi等所支援,并且聯(lián)同大約一百家其他制造商組成名為“ZigBee Alliance”的財(cái)團(tuán)。這財(cái)團(tuán)也獲得Microsoft創(chuàng)辦人之一的Paul Allen的支持 ─ 最近在該財(cái)團(tuán)投資數(shù)百萬(wàn)美元。
圖5. XBee模塊的內(nèi)部方框圖
圖6. XBee一切功能就安放於這大小不足7立方厘米的封裝內(nèi)
ZigBee原是依據(jù)於IEEE 802.15.4標(biāo)準(zhǔn),并且采用與Wi-Fi同一頻帶(2.4GHz),它有16個(gè)分開(kāi)的頻道,換言之在單一位置上可提供多達(dá)16個(gè)網(wǎng)絡(luò)而不會(huì)互相干擾。最大數(shù)據(jù)傳輸速率為250Kb/s ─ 在100米范圍內(nèi),相比於Wi-Fi的54Mb/s或BlueTooth的1MB/s,此數(shù)據(jù)速率實(shí)在很低了,可視之為ZigBee的弱點(diǎn)??墒牵缦惹疤岬?,這協(xié)議原意用作工業(yè)用途,在速度上不是主要考慮的。ZigBee是為滿足低電流損耗和尤其是低成本需求而開(kāi)發(fā)的。表1比較上述提到三種無(wú)線通信技術(shù)。
XBee模塊
MaxStream是一家非常有名的無(wú)線通信元件制造商,在其最近的產(chǎn)品上加了一個(gè)很貼切的名稱 ─ XBee,XBee是小型但不過(guò)是完備的ZigBee收發(fā)器(即接收器/發(fā)射器),它是雙向操作,在意義上來(lái)講它可交替地發(fā)射或接收數(shù)據(jù)(半雙工式)。
MaxStream提供有兩種版本;XBee和XBee PRO兩版本都是有相同的功能和引腳兼容(查明名稱“interchangeable”(可互換) ─ 圖1),唯一的差異是發(fā)射功率,XBee為最大1mW,而XBee PRO則最大63mW。發(fā)射功率當(dāng)然是一個(gè)重要因素,因?yàn)樽罱K產(chǎn)品的距離就決定於它的身上,但這絕不是唯一你要考慮的事情。
另一項(xiàng)至少認(rèn)為重要的考慮,發(fā)射功率高意味著電流損耗也大。1mW的發(fā)射功率經(jīng)已花費(fèi)大約45mA,而從天線輻射63mW出外就要從電源中轉(zhuǎn)移可觀的270mA,換言之勿妄想以電池來(lái)供電給電路 ─ 你想要的只是一個(gè)無(wú)線模塊罷了!
進(jìn)一步考慮的是要符合法定的需求,最大輻射功率是由使用者當(dāng)?shù)氐姆芍贫?,在歐洲的應(yīng)用限制為10mW。為要令它可以符合這個(gè)要求,MaxStream已在XBee內(nèi)實(shí)行一個(gè)配置參數(shù),可用來(lái)設(shè)定發(fā)射功率。
各位如小心察驗(yàn)本文附隨的照片時(shí),應(yīng)見(jiàn)到XBee帶有三種不同類型的天線(圖2)。
1. 整合於芯片內(nèi)里,在這情況下輻射能量實(shí)際是非定向。
2. 備有天線插座,供連接外部天線。
3. 整合有垂直(鞭型)天線,給予比選擇1有更佳的方向特性。
軟件
低成本的XBee模塊很容易經(jīng)標(biāo)準(zhǔn)串行接口連接,譬如常見(jiàn)於微控制器的UART或PC上的COM接口(RS232),在115,200 baud的最高速率上傳輸,可是,XBee是由3.3V電源操作,而并非像大多數(shù)數(shù)字電路的5V電源,正如在圖3的方框圖上所見(jiàn),換言之萬(wàn)不能只將“正常”數(shù)字信號(hào)施加至XBee輸入去,所以兩類邏輯之間作直接相連是不可行的,在後面再有深入講述這一方面。
除此以外,你不需有使用該模塊的任何特殊知識(shí),所以無(wú)須查考ZigBee協(xié)議才去開(kāi)始,模塊為你做好每一樣事情,它是一個(gè)“智能”系統(tǒng),即是說(shuō)模塊含有可接受來(lái)自使用者命令的控制邏輯。這些命令乃由制造商規(guī)定。
倘若你開(kāi)始恐懼事情發(fā)展下去看越來(lái)越復(fù)雜,任何人只要對(duì)微控制器編程略有經(jīng)驗(yàn)都不會(huì)為此而皺眉頭,查實(shí)該等命令只是ASCII碼(字符串),就好像你見(jiàn)到的調(diào)制解調(diào)器命令一樣,發(fā)送命令給XBee就如數(shù)據(jù)一樣。而這是有小小的軟件告知兩者誰(shuí)是誰(shuí),工作情況如下。
在你可以發(fā)出一個(gè)命令之前,須將XBee置於“等待命令”狀態(tài)。要使它進(jìn)入此狀態(tài),便要給它一串三個(gè)+字符(hex 2B),即文字上是“+++”,之後,XBee期待收到一個(gè)以Hayes格式的命令,這命令總是以ASCII碼的“AT”(此代表“attention”),緊跟著的才是實(shí)際命令及任何命令參數(shù)(如有),命令串由一個(gè)Carriage Return(CR)回車字符作終結(jié)。圖4舉出一個(gè)例子,XBee模塊執(zhí)行該命令,然後報(bào)告命令是否成功處理,如一切已按意旨去做,XBee便回應(yīng)“OK”;否則,會(huì)從模塊收到一個(gè)錯(cuò)誤信息。
MaxStream也提供一個(gè)名為X-CTU的簡(jiǎn)短程序,令到一切事情甚至更加方便,這程序在MaxStream網(wǎng)均供免費(fèi)下載,可用它來(lái)配置XBee模塊的所有參數(shù),不過(guò)先要將XBee模塊連接至你PC的COM接口(因信號(hào)電平不同須經(jīng)適配器),另外亦可用X-CTU來(lái)測(cè)試模塊和將之升級(jí)。
軟件緩衡器
無(wú)線鏈路上總是半雙工式通信,用一條天線作發(fā)射或接收,但非兩者在同一時(shí)間。不過(guò),你的應(yīng)用是可經(jīng)由串行鏈路往你界面上的UART便能達(dá)至同時(shí)發(fā)射和接收(全雙工模式)。圖5揭示該原理。
XBee模塊內(nèi)有發(fā)射(RF TX)緩沖器和接收(RF RX)緩沖器,每一緩沖器提供100bytes暫時(shí)??康牡胤?,數(shù)據(jù)可以從兩個(gè)方面同時(shí)抵達(dá) ─ 發(fā)射數(shù)據(jù)來(lái)自UART及接收數(shù)據(jù)來(lái)自RF鏈路經(jīng)天線而來(lái)。當(dāng)天線正在接收數(shù)據(jù)之時(shí),它不能同一時(shí)間發(fā)射數(shù)據(jù),因?yàn)檫@理由,將要發(fā)射的數(shù)據(jù)唯有暫時(shí)??吭诎l(fā)射緩沖器里,而收到數(shù)據(jù)就堆放在接收緩沖器內(nèi)。只要RF端數(shù)據(jù)流停止,XBee模塊將天線從接收切換至發(fā)射,并且騰出發(fā)射緩沖器,把其內(nèi)含數(shù)據(jù)發(fā)送到大氣去,與此同時(shí),UART倒空接收緩沖器,把內(nèi)里的數(shù)據(jù)送交你的應(yīng)用設(shè)備。
這雖是一個(gè)單純系統(tǒng),但不是完全完美。應(yīng)用上如有大量數(shù)據(jù)要發(fā)送時(shí)就很容易令發(fā)射緩沖器過(guò)載,關(guān)於這個(gè)問(wèn)題MaxStream提供一個(gè)“滿載”警告。只要應(yīng)用設(shè)備填入數(shù)據(jù)至已屆發(fā)射緩沖器最後的17bytes(換言之有83 bytes正等待發(fā)送),第12腳即轉(zhuǎn)高位,告知系統(tǒng)須暫時(shí)停止注入數(shù)據(jù)。發(fā)射緩沖器內(nèi)容已減少至66bytes之後,第12腳再轉(zhuǎn)低。這可視為一類的軟件遲滯。
在實(shí)踐中的XBee
現(xiàn)在是時(shí)候要講講電路了,謹(jǐn)慎的設(shè)計(jì)師一般以其電路進(jìn)行初步研究開(kāi)始,而大多數(shù)設(shè)計(jì)師寧愿從一些經(jīng)已湊效的電路來(lái)取得靈感。
在制造商網(wǎng)址四周搜尋會(huì)發(fā)現(xiàn)有大量、有系統(tǒng)的資料,可找到你心目中的概念,又或者找到你心中問(wèn)題的答案。網(wǎng)址∶www.maxstream.net/support/knowledgebase/full-list.php
圖5也示出XBee模塊的內(nèi)部方框圖,此是組成特定應(yīng)用的核芯,模塊有20只引腳(圖6),也許你立時(shí)想到是數(shù)字IC所采用的DIL封裝,這就錯(cuò)了,由於模塊非常細(xì)小的關(guān)系,引腳分隔只有2毫米,所以它們不適合於安放在IC插座上。幸而,任何人想使模塊可以更換,亦有適合的PCB連接器供使用。
為求安全起見(jiàn),再次提醒,最高電源電壓是3.3V,超過(guò)這電壓結(jié)果只會(huì)令你珍貴的XBee永久死亡。電源電壓須經(jīng)由100nF電容器退耦合,并盡可能靠近第1和10兩腳之間。
第2及3兩腳提供通信,方向由矢號(hào)指示。有些引腳記有星號(hào)(*),此是廠方保留作某些用途,但仍未有公布。當(dāng)公布時(shí),可從MaxStream網(wǎng)址下載,通過(guò)刷新固件把XBee升級(jí)。至於目前只有將這些引腳不作連接,與記有NC(not connected)的引腳同一處理。
第5腳更重要∶邏輯1(3.3V)啟動(dòng)XBee模塊,而邏輯0禁止它。從第5腳接10kΩ上拉電阻至第1腳可保證模塊在接通電源之時(shí)即被啟動(dòng)。至於第9腳有多種功用選擇,由內(nèi)部參數(shù)決定當(dāng)中那一個(gè)被使用,最重要的功能是休眠狀態(tài),只要內(nèi)部SM寄存器不是在邏輯0模塊便在沉睡之中。
第7腳提供脈寬調(diào)制(PWM)信號(hào),此是與最近收到的RF信號(hào)成比例的,它有8.32ms時(shí)期,相當(dāng)於120Hz,LED光柱及其他光效應(yīng)可將之轉(zhuǎn)換成模擬信號(hào),并利用它作為一個(gè)信號(hào)強(qiáng)度指示燈(只需一個(gè)RC網(wǎng)路和一個(gè)LM 3914)。這亦可以由軟件去做,因?yàn)樽罱盏降男盘?hào)強(qiáng)度存放於內(nèi)部DB參數(shù)上,正如其名稱所指,這是給予dBm RF單位的數(shù)量(相對(duì)於1mW的分貝數(shù)),可用以下的方程式作dBm RF與mW(P)之間的對(duì)換;
dBm = 10 log P [dB]
或朝相反方向
P = 10(dBm/10) [mW]
試舉例∶0dBm = 1mW,10dbm = 10mW,20dBm = 100mW,30dBm = 1W。所有例子皆針對(duì)RF計(jì)算。