邵 帥,熊慶國(guó),熊 斌,周 弦
(武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢 430081)
目前有很多遠(yuǎn)程傳輸方式,大致可分為有線和無(wú)線2種。由于有線方式布線過(guò)于繁瑣且不適合在偏遠(yuǎn)、環(huán)境惡劣的地區(qū)應(yīng)用,故無(wú)線數(shù)據(jù)傳輸被廣泛地應(yīng)用于工業(yè)、地質(zhì)等自動(dòng)監(jiān)測(cè)方面。無(wú)線遠(yuǎn)程通信通常有以下方案:1)是利用GSM、CDMA等一些公網(wǎng)資源進(jìn)行無(wú)線傳輸;2)是利用單片射頻收發(fā)芯片加上微控制器和少量外圍器件構(gòu)成無(wú)線通信模塊進(jìn)行無(wú)線遠(yuǎn)程傳輸。因此,這里提出一種基于第2種方案的聲發(fā)射監(jiān)測(cè)儀無(wú)線遠(yuǎn)程通信系統(tǒng)。
大多數(shù)材料形變和斷裂時(shí)會(huì)有應(yīng)力波即聲發(fā)射的產(chǎn)生,聲發(fā)射信號(hào)人耳是不能直接聽(tīng)見(jiàn)的,需借助靈敏的儀器,即聲發(fā)射監(jiān)測(cè)儀[1]。
該系統(tǒng)為8通道聲發(fā)射監(jiān)測(cè)儀,擬在滑坡面的不同空間位置放置8個(gè)傳感器探頭,用于信號(hào)采集。無(wú)線通信模塊需要將8路數(shù)據(jù)信息發(fā)送到PC機(jī),同時(shí)接受PC機(jī)的控制。該聲發(fā)射監(jiān)測(cè)儀主要由探頭、信號(hào)采集器、收發(fā)器、主機(jī)及電源組成。系統(tǒng)框圖如圖1所示。該監(jiān)測(cè)儀是滑坡破裂面追蹤定位系統(tǒng),主要功能是對(duì)聲發(fā)射信號(hào)進(jìn)行源定位。
信號(hào)采集器能夠提供不同的高通、低通截止頻率和運(yùn)算放大器的增益,可通過(guò)上位機(jī)控制對(duì)其進(jìn)行選擇??刂破鞑捎玫凸膯纹瑱C(jī)MSP430F149,該單片機(jī)內(nèi)部集成了12位的A/D轉(zhuǎn)換器,自帶60 KB的Flash存儲(chǔ)器,可滿足信號(hào)采集單元要求的高精度A/D轉(zhuǎn)換電路和數(shù)據(jù)信息的暫存。在采集聲發(fā)射信號(hào)波形信息的同時(shí),還要求準(zhǔn)確記錄信號(hào)到達(dá)時(shí)間,故在微控制器外圍需增加時(shí)鐘芯片,以便準(zhǔn)確記錄時(shí)間達(dá)到毫秒級(jí)以上。收發(fā)模塊采用射頻芯片nRF905實(shí)現(xiàn)無(wú)線數(shù)據(jù)收發(fā)。
圖18通道聲發(fā)射監(jiān)測(cè)儀系統(tǒng)框圖Fig.1 System diagram of 8-channel acoustic emission monitor
無(wú)線通信模塊由基站中心和現(xiàn)場(chǎng)節(jié)點(diǎn)等單元組成?;局行膯卧幱诤蠓奖O(jiān)測(cè)房?jī)?nèi),負(fù)責(zé)與中心控制器的連接,接收現(xiàn)場(chǎng)節(jié)點(diǎn)單元發(fā)送過(guò)來(lái)的數(shù)據(jù)信息,同時(shí)可以發(fā)送控制信息經(jīng)校驗(yàn)處理后發(fā)到節(jié)點(diǎn)單元,完成對(duì)現(xiàn)場(chǎng)采集模塊的一些控制工作。中心控制器即監(jiān)測(cè)房上位機(jī)顯示并存儲(chǔ)現(xiàn)場(chǎng)采集數(shù)據(jù)信息,并可控制不同通道的一些工作。
現(xiàn)場(chǎng)節(jié)點(diǎn)單元在滑坡面的不同空間位置,即安放傳感器探頭處。負(fù)責(zé)將傳感器探頭傳出的信息經(jīng)過(guò)放大濾波以及微控制器處理后經(jīng)由節(jié)點(diǎn)單元發(fā)送到基站單元,并可以接收基站單元的信息。
該無(wú)線通信模塊主要采用挪威Nordic公司推出的單片射頻芯片nRF905。工作在433/868/915 MHz的ISM頻段,多通道工作且通道切換時(shí)間小于650 μs。由完全集成的頻率調(diào)制器,帶解調(diào)器的接收器,功率放大器,晶體振蕩器和調(diào)節(jié)器組成,無(wú)需外部SAW濾波器。ShockBurst工作模式的特點(diǎn)是自動(dòng)產(chǎn)生CRC和前導(dǎo)碼??捎善瑑?nèi)硬件自動(dòng)完成曼徹斯特編解碼,使用SPI接口與微控制器通信,外圍配置簡(jiǎn)單。并且其功耗很小,以-10 dBm的輸出功率發(fā)射時(shí)電流只有11 mA,在接收模式時(shí)電流為12.5 mA。進(jìn)入Powerdown模式很容易實(shí)現(xiàn)節(jié)電。在無(wú)線數(shù)據(jù)通信、報(bào)警及安全系統(tǒng)、遙控勘測(cè)等方面廣泛應(yīng)用[2]。
2.2.1nRF905與單片機(jī)MSP430接口電路
nRF905利用SPI口實(shí)現(xiàn)與MSP430的雙向通信,有4個(gè)SPI接口引腳[3]:MISO(主 SPI輸入、從 SPI輸出)、MOSI(主SPI輸出、從 SPI輸入)、CSN(SPI使能)、SCK(SPI串行時(shí)鐘)與MSP430的SPI接口連接。nRF905的輸入輸出信號(hào)與MSP430的其他幾個(gè)I/O相連接。nRF905與單片機(jī)MSP430連接如圖2所示。
圖2nRF905與MSP430接口電路Fig.2 Interface circuit of nRF905 and MSP430
天線在無(wú)線傳輸中具有重要作用,是收發(fā)信號(hào)的關(guān)鍵部件。nRF905具有高靈敏度,即使用無(wú)增益的PCB天線傳輸距離都能達(dá)到300 m,本設(shè)計(jì)采用阻抗天線設(shè)計(jì),以差分方式連接到nRF905,比內(nèi)置的PCB天線傳輸距離更遠(yuǎn)。
2.2.2nRF905與PC機(jī)連接
nRF905與PC機(jī)的通信是通過(guò)單片機(jī)經(jīng)MAX3232進(jìn)行TTL電平和標(biāo)準(zhǔn)的RS232C電平轉(zhuǎn)換實(shí)現(xiàn)與PC機(jī)的RS232串口通信的。將現(xiàn)場(chǎng)采集到的數(shù)據(jù)通過(guò)無(wú)線模塊傳送到上位機(jī)通過(guò)界面顯示出波形,且通過(guò)上位機(jī)控制各個(gè)通道的工作。nRF905與PC機(jī)通信連接如圖3所示。
圖3nRF905與PC機(jī)通信連接圖Fig.3 Communication connecting diagram of nRF905 and PC
MSP430可以通過(guò)I/O口控制nRF905的3個(gè)引腳,控制低功耗的PWR_UP、正常工作的TX_EN和選擇發(fā)送還是接收方式的TRX_CE。nRF905有2種活動(dòng)(RX/TX)模式和2種節(jié)電模式,其模式轉(zhuǎn)變是由TRX_CE,TX_EN,PWR_UP1來(lái)設(shè)置的。如表1所示。
表1nRF905工作模式Tab.1 nRF905 working mode
在掉電模式中,nRF905被禁止,處于不活動(dòng)狀態(tài),電流消耗最小,在此模式中配置字的內(nèi)容是保持不變的;在待機(jī)模式中,nRF905在保持電流消耗最小的同時(shí)保證ShockBurst TX和ShockBurst RX的啟動(dòng)時(shí)間最短;在ShockBurst RX模式中,AM(地址匹配)和DR(數(shù)據(jù)準(zhǔn)備就緒)信號(hào)通知MCU一個(gè)有效的地址和數(shù)據(jù)包已經(jīng)各自接收完成;在ShockBurst TX模式中,nRF905自動(dòng)產(chǎn)生前導(dǎo)碼和CRC校驗(yàn)碼,DR通知MCU數(shù)據(jù)傳輸已經(jīng)完成。ShockBurst技術(shù)使nRF905能提供高速的數(shù)據(jù)傳輸速率。nRF905在降低MCU的存儲(chǔ)器需求同時(shí)可以縮短軟件開(kāi)發(fā)時(shí)間。
2.3.1SPI接口
SPI接口由狀態(tài)寄存器(Status-Register)、RF配置寄存器(RF-Configuration Register)、發(fā)送地址(TX-Address)、發(fā)送有效數(shù)據(jù)(TX-Payload)、接收有效數(shù)據(jù)(RX-Payload)5 個(gè)寄存器組成。由執(zhí)行寄存器的回讀模式來(lái)確定寄存器的內(nèi)容。
SPI接口可以進(jìn)行多種形式的操作[4],主要包括讀寫(xiě)射頻配置、讀寫(xiě)收、發(fā)地址和數(shù)據(jù)等,為了區(qū)分SPI端口對(duì)nRF905進(jìn)行不同的操作形式,nRF905設(shè)置了7種不同指令。當(dāng)CSN為低時(shí),SPI接口開(kāi)始等待一條指令,任何一條新指令都是由CSN從高到低的轉(zhuǎn)換開(kāi)始。
2.3.2nRF905配置與收發(fā)流程
nRF905的所有配置都通過(guò)SPI接口進(jìn)行,只有在掉電模式和待機(jī)模式是激活的。
基站中心單元與各現(xiàn)場(chǎng)節(jié)點(diǎn)單元的通信采用輪詢方式[5]。當(dāng)上位機(jī)需對(duì)某一通道截止頻率和放大增益進(jìn)行調(diào)整時(shí),通過(guò)各現(xiàn)場(chǎng)節(jié)點(diǎn)模塊不同的地址信息進(jìn)行區(qū)分。
無(wú)線傳輸模塊的基本發(fā)送流程如下:
1)MCU將PWR_UP置高,使nRF905進(jìn)入待機(jī)模式;
2)當(dāng)MCU有數(shù)據(jù)要發(fā)送時(shí),將TRX_CE和TX_EN置高來(lái)激活ShockBurst TX模式;
3)通過(guò)SPI口,將發(fā)送地址和要發(fā)送的數(shù)據(jù)分別寫(xiě)入發(fā)送地址寄存器TX_Address和發(fā)送有效數(shù)據(jù)寄存器TX-Payload;
4)nRF905根據(jù)寄存器設(shè)置自動(dòng)在數(shù)據(jù)包中加入前導(dǎo)碼和CRC循環(huán)冗余校驗(yàn)碼,采用曼徹斯特編碼,以GFSK方式發(fā)送出去。發(fā)送完成后,數(shù)據(jù)準(zhǔn)備就緒(DR)信號(hào)置高通知MCU數(shù)據(jù)傳輸完成;
5)AUTO_RETRAN被設(shè)置為高,nRF905將連續(xù)發(fā)送數(shù)據(jù)包,直到TRX_CE被置低;
6)當(dāng)TRX_CE被置低時(shí),nRF905結(jié)束數(shù)據(jù)傳輸并自動(dòng)進(jìn)入待機(jī)模式。
其發(fā)送流程如圖4所示。
圖4nRF905發(fā)送數(shù)據(jù)流程圖Fig.4 Flow chart of nRF905 sending data
接收流程如下:
1)通過(guò)設(shè)置 TRX_CE為高,TX_EN為低,使 nRF905進(jìn)入ShockBrust RX模式;
2)650 μs后,nRF905 進(jìn)行監(jiān)測(cè)頻道使用情況;
3)當(dāng)監(jiān)測(cè)到有和接收頻率相同的載波時(shí),載波檢測(cè)(CD)被置高。此特性對(duì)避免工作在相同頻率的數(shù)據(jù)碰撞有效,可在準(zhǔn)備發(fā)射數(shù)據(jù)時(shí)先進(jìn)入接收模式判斷CD信號(hào),從而有效避免數(shù)據(jù)沖突;
4)當(dāng)接收到與自己地址相匹配的有效地址時(shí),地址匹配(AM)被置高。即該數(shù)據(jù)是發(fā)給自己的;
5)當(dāng)接收到的有效數(shù)據(jù)包,對(duì)CRC進(jìn)行校驗(yàn),正確時(shí)去掉前導(dǎo)碼、地址和CRC段,將數(shù)據(jù)保存在接收有效數(shù)據(jù)寄存器RX-Payload中。DR被置高,MCU可以以合適速率通過(guò)SPI口讀取數(shù)據(jù);
6)MCU將TRX_CE置低,nRF905進(jìn)入待機(jī)模式。當(dāng)所有有效數(shù)據(jù)被讀出后,nRF905將AM和DR置低,為下次接收做準(zhǔn)備。
其接收流程圖如圖5所示。
圖5nRF905接收數(shù)據(jù)流程圖Fig.5 Flow chart of nRF905 receiving data
本系統(tǒng)無(wú)線通信部分主要由監(jiān)測(cè)房中主機(jī)所連接的基站中心節(jié)點(diǎn)與現(xiàn)場(chǎng)8個(gè)傳感器探頭所連接的節(jié)點(diǎn)收發(fā)模塊相互間收發(fā)數(shù)據(jù),并通過(guò)異步串口完成。故這里采用一個(gè)簡(jiǎn)化的點(diǎn)對(duì)多點(diǎn)的通信協(xié)議[6]。當(dāng)無(wú)線數(shù)傳模塊收到PC機(jī)的串行口數(shù)據(jù)后,首先判斷收到的是控制命令,接收數(shù)據(jù)還是發(fā)送數(shù)據(jù)。若是控制命令則執(zhí)行相應(yīng)操作;若是發(fā)送數(shù)據(jù)則先將要發(fā)送的數(shù)據(jù)送到緩沖區(qū)中,同時(shí)將模塊的狀態(tài)轉(zhuǎn)換成發(fā)射狀態(tài);若是接收數(shù)據(jù),則將無(wú)線傳輸模塊的狀態(tài)轉(zhuǎn)換成接收狀態(tài)。數(shù)據(jù)包遵循事先定義好的傳輸協(xié)議,從而能夠識(shí)別噪聲和有效數(shù)據(jù),避免其他信號(hào)干擾。通用數(shù)據(jù)傳輸協(xié)議格式如圖6所示。
圖6數(shù)據(jù)包傳輸協(xié)議格式Fig.6 Protocol format of data packet transmission
圖6中的數(shù)據(jù)包包括數(shù)據(jù)傳送的目的地址、數(shù)據(jù)源地址、數(shù)據(jù)長(zhǎng)度和要發(fā)送的數(shù)據(jù)。nRF905自動(dòng)為數(shù)據(jù)包加上字頭和CRC校驗(yàn)。接收時(shí)進(jìn)行CRC校驗(yàn)比較,若正確則發(fā)送接收確認(rèn)。若不同即傳送中出現(xiàn)錯(cuò)誤,要求重新發(fā)送數(shù)據(jù)。
本文設(shè)計(jì)了一種基于nRF905的無(wú)線收發(fā)模塊,已投入聲發(fā)射監(jiān)測(cè)系統(tǒng),能夠?qū)崿F(xiàn)PC機(jī)與單片機(jī)以及單片機(jī)與單片機(jī)間的遠(yuǎn)距離無(wú)線通信,完成系統(tǒng)對(duì)數(shù)據(jù)收發(fā)的要求,避免了在較偏遠(yuǎn)地區(qū)布線及奔波的麻煩。通過(guò)無(wú)線數(shù)據(jù)傳輸實(shí)現(xiàn)在遠(yuǎn)離現(xiàn)場(chǎng)的監(jiān)控室內(nèi)實(shí)時(shí)掌握滑坡面有無(wú)破裂及危險(xiǎn)的信息,并具有誤報(bào)率低及抗干擾性強(qiáng)等特點(diǎn),運(yùn)行穩(wěn)定,通信可靠。同時(shí)系統(tǒng)更換不同傳感器類(lèi)型可嫁接到其他多種環(huán)境中進(jìn)行遠(yuǎn)程通信,具有廣泛的應(yīng)用前景。
[1]王永兵.聲發(fā)射技術(shù)的研究進(jìn)展[J].石油和化工設(shè)備,2009(7):48-50.WANG Yong-bing.Progress in acoustic emission technology[J].Petroleum and Chemical Equipment, 2009(7):48-50.
[2]Nordic VLSIASA.Single Chip 433/868/915MHz transceiver nRF905[Z].2004.
[3]Nordic Semiconductor ASA.nRF905 RF and Antenna Layout[Z].2004.
[4]李鵬,呂亮,謝仁宏.基于nRF905的無(wú)線數(shù)據(jù)傳輸設(shè)備設(shè)計(jì)[J].電子工程師,2007(3):28-31.LI Peng, LV Liang, XIE Ren-hong.A design of wireless data transmission equipment based on nRF905 [J].Electronics Engineer, 2007(3):28-31.
[5]鄭軍剛,吳成東,陳彪.基于nRF905的智能無(wú)線火災(zāi)監(jiān)控系統(tǒng)設(shè)計(jì)[J].低壓電器,2009(6):38-41.ZHENG Jun-gang, WU Cheng-dong, CHEN Biao.Design of intelligent wireless fire monitoring system based on nRF905[J].Low-voltage Electrical Appliances, 2009(6):38-41.
[6]郝妍娜,洪志良.基于MCU和nRF905的低功耗遠(yuǎn)距離無(wú)線傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,2007(8):44-47.HAO Yan-na,HONG Zhi-liang.A low-power long-range wireless data transmission platform based on MCU and nRF905 chip [J].Application of Integrated Circuits,2007(8):44-47.