第一篇:無(wú)線數(shù)據(jù)采集模塊實(shí)驗(yàn)報(bào)告
無(wú)線數(shù)據(jù)采集模塊
實(shí)驗(yàn)報(bào)告
姓名:張兆偉
班級(jí):13 班
學(xué)號(hào):2015042130 日期:2016年8月25日
無(wú)線數(shù)據(jù)采集模塊實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)背景
數(shù)據(jù)是指用來(lái)描述客觀事物的數(shù)字、字母和符號(hào)等等。數(shù)據(jù)傳輸在人類(lèi)活動(dòng)中的重要性是不言而喻的。它是計(jì)算機(jī)與外部物理世界連接的橋梁。數(shù)據(jù)采集,或稱數(shù)據(jù)獲取,既利用一種裝置,從系統(tǒng)外部采集數(shù)據(jù)輸入到系統(tǒng)內(nèi)部。
隨著計(jì)算機(jī)、通信和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,無(wú)線傳感器網(wǎng)絡(luò)應(yīng)運(yùn)而生。傳感測(cè)試技術(shù)正朝著多功能化、微型化、智能化、網(wǎng)絡(luò)化、無(wú)線化的方向發(fā)展。工業(yè)無(wú)線網(wǎng)絡(luò)是從新興的無(wú)線傳感器網(wǎng)絡(luò)發(fā)展而來(lái)的,具有低成本、低能耗、高度靈活性、擴(kuò)展性強(qiáng)等特點(diǎn),已經(jīng)成為繼現(xiàn)場(chǎng)總線技術(shù)后的又一個(gè)研究熱點(diǎn)。無(wú)線數(shù)據(jù)采集既要在復(fù)雜,惡劣的現(xiàn)場(chǎng)環(huán)境下將物理量完整的進(jìn)行采集,更要將采集到的數(shù)據(jù)傳給遠(yuǎn)端的主控室。其主要應(yīng)用領(lǐng)域包括:工業(yè)遙控、遙測(cè);石油鉆井張力無(wú)線監(jiān)測(cè);短距離無(wú)線數(shù)據(jù)傳輸;安防設(shè)備無(wú)線監(jiān)控;無(wú)線RS485、無(wú)線PLC;城市管網(wǎng)壓力、溫度監(jiān)測(cè);電力線無(wú)線報(bào)警等。
二、實(shí)驗(yàn)過(guò)程
無(wú)線數(shù)據(jù)采集既要在復(fù)雜,惡劣的現(xiàn)場(chǎng)環(huán)境下將物理量完整的進(jìn)行采集,更要講采集到的數(shù)據(jù)傳給遠(yuǎn)端的主控室。DTD110系列無(wú)線數(shù)傳模組廣泛應(yīng)用于無(wú)線數(shù)傳領(lǐng)域,典型應(yīng)用包括遙控、遙感、遙測(cè)系統(tǒng)中的數(shù)據(jù)采集、檢測(cè)、報(bào)警、過(guò)程控制等環(huán)節(jié)。
DTD110系列無(wú)線PLC有4路開(kāi)關(guān)量的傳輸,4路模擬量的傳輸,距離100米~3000米均可。即可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信,也可以實(shí)現(xiàn)點(diǎn)對(duì)多點(diǎn)通信,不需要編寫(xiě)程序,不需要布線,一般電工就可以調(diào)試使用。對(duì)于工業(yè)現(xiàn)場(chǎng)的遙測(cè)遙控實(shí)施簡(jiǎn)單、方便、便宜。
1、適用范圍
無(wú)線數(shù)據(jù)采集模塊具有數(shù)據(jù)采集、控制、GPRS無(wú)線遠(yuǎn)程通信等功能。采用低功耗設(shè)計(jì)。該產(chǎn)品可接入各種串口儀表、各種模擬信號(hào)輸出的變送器、各種脈沖信號(hào)輸出的雨量計(jì)、水表等。廣泛用于水務(wù)、環(huán)保、氣象、市政、環(huán)境、地質(zhì)、農(nóng)業(yè)、公安等行業(yè)遠(yuǎn)程監(jiān)控系統(tǒng)。特別適用于太陽(yáng)能供電方式的現(xiàn)場(chǎng)應(yīng)用,可大大降低太陽(yáng)能供電成本。
2、無(wú)線數(shù)據(jù)采集的特征:
多種配置應(yīng)用方案,可以滿足用戶不同的需要;4個(gè)開(kāi)關(guān)輸入通道,4個(gè)開(kāi)關(guān)OC門(mén)輸出通道;4個(gè)模擬量輸入通道,4個(gè)模擬量輸出通道;可以直接代替有線的PLC設(shè)備;一體化設(shè)計(jì),結(jié)構(gòu)緊湊;多種產(chǎn)品規(guī)格適應(yīng)于不同的傳輸距離;射頻輸出功率10mW、500mW、1000mW;GFSK調(diào)制,高效前向糾錯(cuò)信道編碼技術(shù);軟件無(wú)線電技術(shù)保證高抗干擾能力和低誤碼率;ISM 頻段433MHz,無(wú)需申請(qǐng)頻點(diǎn);工業(yè)標(biāo)準(zhǔn)設(shè)計(jì),能工作于各種惡劣環(huán)境;直流9~24V供電,電流小于800mA。
3、主要功能
1)遠(yuǎn)程通信:GPRS網(wǎng)絡(luò)和短消息雙通道傳輸數(shù)據(jù),支持專線、VPN專網(wǎng)多種組網(wǎng)方式。
2)通訊協(xié)議:支持UDP、TCP 協(xié)議,支持多中心數(shù)據(jù)通信。
3)模擬量輸入:可采集4-20mA、0-5V等多種電流、電壓信號(hào)輸出模擬量。
4)開(kāi)關(guān)量輸入:可采集干接點(diǎn)、有源接點(diǎn)開(kāi)關(guān)量輸出信號(hào),可定時(shí)采集以降低能耗。
5)脈沖量輸入:可采集干接點(diǎn)脈沖信號(hào),用于采集脈沖發(fā)訊水表。6)智能儀表接入:提供2路RS232/485串口,可以采集各種智能儀表,如流量計(jì)、照相機(jī)等。
7)開(kāi)關(guān)量輸出:提供三極管集電極信號(hào)輸出。
8)電源輸出:可定時(shí)為變送器供電,輸出電壓:同輸入電源電壓。9)遠(yuǎn)程控制:接受遠(yuǎn)程指令,實(shí)現(xiàn)控制。
10)數(shù)據(jù)顯示:可支持2×8中文漢字液晶顯示,配有4個(gè)數(shù)字鍵盤(pán)。
11)數(shù)據(jù)查詢:可本機(jī)按鍵查詢,同時(shí)支持就地串口查詢,遠(yuǎn)程查詢。
12)遠(yuǎn)程通信:支持RS232/485總線、GPRS、SMS等多種通信。
13)配套軟件:配套提供參數(shù)設(shè)置軟件。
4、主要特點(diǎn)
1)工作電流低:GPRS實(shí)時(shí)在線,平均工作電流<10mA。
2)數(shù)據(jù)存儲(chǔ)容量大:本機(jī)循環(huán)存儲(chǔ)監(jiān)測(cè)數(shù)據(jù),掉電不丟失,存儲(chǔ)容量:4M。
3)維護(hù)方便:支持遠(yuǎn)程參數(shù)設(shè)置,遠(yuǎn)程軟件升級(jí)。
4)體積小:外型尺寸145×100×65mm
5、技術(shù)指標(biāo)
1)硬件配置:GPRS/GSM無(wú)線通信接口、4路AI、4路DI、6路PI、3路DO、2路串口、中文液晶顯示和無(wú)顯示可選、1個(gè)4按鍵鍵盤(pán)可選。
2)采集精度:模擬量采集精度:0.5%,脈沖計(jì)數(shù)誤差:0.01%
3)通信協(xié)議:支持標(biāo)準(zhǔn)MODBUS協(xié)議,可嵌入其它通信協(xié)議。
4)通信接口:GPRS/GSM無(wú)線通信接口,1路串口用于維護(hù),2路串口采集儀表,232/485可選。
5)通信速率:300~19200 bit/s
6)工作環(huán)境:溫度:-25~+70℃、濕度:≤95%、無(wú)腐蝕氣體、無(wú)導(dǎo)電塵埃、無(wú)爆炸環(huán)境。
7)安裝方式:一般采用導(dǎo)軌式安裝,特殊場(chǎng)合,可將控制器固定在安裝底板上。
8)供電電源:10~28VDC
6、系統(tǒng)功能
系統(tǒng)主要分三層,第一層為服務(wù)器,第二層為過(guò)渡層,由 Zigbee 協(xié)調(diào)器和 Zigbee節(jié)點(diǎn)構(gòu)成,第三層為任務(wù)層,由 54 個(gè)監(jiān)測(cè)單元和 1 個(gè)顯示單元構(gòu)成。系統(tǒng)的主要功能為:服務(wù)器有選擇地查詢 54 個(gè)監(jiān)測(cè)單元的數(shù)據(jù),然后根據(jù)需要將某個(gè)監(jiān)測(cè)單元的數(shù)據(jù)發(fā)送到顯示單元上,讓其顯示,中間的傳輸全部由 Zigbee 組網(wǎng)無(wú)線通訊。
其服務(wù)器主要功能:
1)開(kāi)辟多個(gè)線程,每個(gè)線程主動(dòng)輪詢各個(gè)節(jié)點(diǎn);與每個(gè)節(jié)點(diǎn)的通訊必須“有問(wèn) 必答”,具有超時(shí)控制機(jī)制; 2)具有廣播,組播配置參數(shù)功能;
3)對(duì)每個(gè)節(jié)點(diǎn)可以實(shí)時(shí)監(jiān)測(cè)重量,溫度,濕度參數(shù)。并且以曲線形式顯示; 4)實(shí)時(shí)采集每個(gè)節(jié)點(diǎn)的參數(shù)并顯示;
5)服務(wù)器采用 Windows 7 操作系統(tǒng),開(kāi)發(fā)工具為 C#和 SQL 數(shù)據(jù)庫(kù),最終生成安裝文件。
三、實(shí)驗(yàn)結(jié)果
直觀看到顯示單元上面顯示的值,什么都不選時(shí),數(shù)碼管上顯示 0000,當(dāng)輸入節(jié)點(diǎn)編號(hào),并雙擊鼠標(biāo)選中溫度、濕度或者重量時(shí),點(diǎn)擊確定后,數(shù)碼管
會(huì)立即顯示具體數(shù)值,并且給顯示單元發(fā)送顯示命令。
四、認(rèn)識(shí)與體會(huì)
數(shù)據(jù)采集是整個(gè)工廠自動(dòng)化的最前端,測(cè)試精度、速度與實(shí)現(xiàn)該功能的成本是幾個(gè)重要因素,數(shù)據(jù)采集也正朝著這幾個(gè)方向發(fā)展。高速、實(shí)時(shí)數(shù)據(jù)采集在運(yùn)動(dòng)控制、醫(yī)療設(shè)備、快速生產(chǎn)過(guò)程和變電站自動(dòng)化等領(lǐng)域都有非常重要的應(yīng)用。這些行業(yè)中,對(duì)高速數(shù)據(jù)采集的需求遠(yuǎn)遠(yuǎn)超過(guò)目前實(shí)際可以實(shí)現(xiàn)的程度。用戶的需求促進(jìn)了技術(shù)的發(fā)展和新產(chǎn)品的出現(xiàn),隨著工業(yè)發(fā)達(dá)國(guó)家和新興崛起國(guó)家為提高其產(chǎn)品在全球市場(chǎng)的競(jìng)爭(zhēng)力,他們更進(jìn)一步希望降低包括能源消耗、原材料消耗和勞務(wù)成本。對(duì)于發(fā)達(dá)國(guó)家來(lái)講,其勞務(wù)成本遠(yuǎn)遠(yuǎn)高于新興崛起國(guó)家,因此特別重視促進(jìn)創(chuàng)新和技術(shù)進(jìn)步,采用新的技術(shù)手段。正是在這樣競(jìng)爭(zhēng)日益激烈的大背景下,無(wú)線數(shù)據(jù)采集技術(shù)在工業(yè)中的推廣應(yīng)用則受到了特殊的重視。
第二篇:地震數(shù)據(jù)采集實(shí)驗(yàn)報(bào)告參考材料
實(shí)驗(yàn)一 地震數(shù)據(jù)采集實(shí)驗(yàn)
紅色字體部分根據(jù)具體實(shí)驗(yàn)參數(shù)自行修改
一 實(shí)驗(yàn)?zāi)康暮鸵?/p>
通過(guò)實(shí)驗(yàn)了解地震數(shù)據(jù)的采集方法和觀測(cè)系統(tǒng)的設(shè)計(jì)方法。二 實(shí)驗(yàn)內(nèi)容
1、了解地震數(shù)據(jù)的采集方法。
2、地震觀測(cè)系統(tǒng)的設(shè)計(jì)。
3、實(shí)驗(yàn)觀測(cè)結(jié)果的分析。三 實(shí)驗(yàn)儀器設(shè)備
Summit或Geopen數(shù)字地震儀、100hz地震檢波器12串、錘擊震源1個(gè)、地震采集站2個(gè)(Summit為6個(gè))。四 實(shí)驗(yàn)原理
參考課本和上課老師講的內(nèi)容,自己總結(jié)。五 實(shí)驗(yàn)步驟
1、畫(huà)出合適的觀測(cè)系統(tǒng)(單邊激發(fā),每炮12道接收,每炮向前滾動(dòng)1道,共12炮,道間距為1m),合理設(shè)置儀器參數(shù)。
2、將檢波器、采集站、擊發(fā)錘、炮線和儀器連接,檢查儀器的相關(guān)參數(shù)。
3、用擊發(fā)錘多次敲擊地面,產(chǎn)生地震波,由檢波器接收并轉(zhuǎn)化為電信號(hào),通過(guò)電纜傳輸?shù)絻x器中,進(jìn)行重復(fù)疊加后記錄到磁盤(pán)上,獲得一張地震記錄。
4、根據(jù)直達(dá)波時(shí)距曲線為直線、反射波時(shí)距曲線近似為雙曲線的特點(diǎn),在地震記錄中識(shí)別出直達(dá)波、反射波和面波。
5、向前移動(dòng)檢波器排列,并重復(fù)2、3、4和5步驟。五 實(shí)驗(yàn)結(jié)果
根據(jù)不同類(lèi)型地震波的特點(diǎn)在下圖所示的地震記錄中識(shí)別直達(dá)波、反射波、折射波和面波,并指出直達(dá)波、反射波和折射波時(shí)距曲線的關(guān)系。
六 實(shí)驗(yàn)小結(jié)體會(huì)
第三篇:數(shù)據(jù)采集計(jì)算機(jī)控制實(shí)驗(yàn)報(bào)告(共)
課程名稱:
電氣裝備計(jì)算機(jī)控制技術(shù)
指導(dǎo)老師:
成績(jī):
實(shí)驗(yàn)名稱:
數(shù)據(jù)采集計(jì)算機(jī)控制
實(shí)驗(yàn)類(lèi)型:
同組學(xué)生姓名:
一、實(shí)驗(yàn)?zāi)康暮鸵螅ū靥睿?/span>
二、實(shí)驗(yàn)內(nèi)容和原理(必填)
三、主要儀器設(shè)備(必填)
四、操作方法和實(shí)驗(yàn)步驟 五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理
六、實(shí)驗(yàn)結(jié)果與分析(必填)
七、討論、心得
一、實(shí)驗(yàn)?zāi)康暮鸵?1.初步了解數(shù)據(jù)采集卡在電氣裝備中的應(yīng)用 2.了解計(jì)算機(jī)在數(shù)據(jù)采集和處理方面的應(yīng)用 3.采用 C++ Builder 對(duì)數(shù)據(jù)采集卡 PCI1202 進(jìn)行編程,控制實(shí)驗(yàn)數(shù)據(jù)的采集數(shù)據(jù)預(yù)處理以及系統(tǒng)的測(cè)量模式 4.理解數(shù)據(jù)采集系統(tǒng)的硬件原理 5.掌握簡(jiǎn)單的數(shù)據(jù)采集軟件編寫(xiě)方法 二、實(shí)驗(yàn)內(nèi)容和原理 1.實(shí)驗(yàn)內(nèi)容(1)
通過(guò)上位機(jī)控制三相異步電機(jī)的運(yùn)行及停車(chē)(2)
使用數(shù)據(jù)采集系統(tǒng)進(jìn)行各路數(shù)據(jù)采集對(duì)數(shù)據(jù)采集的結(jié)果進(jìn)行記錄好分析 2.實(shí)驗(yàn)原理 實(shí)驗(yàn)原理圖如圖所示:
電流傳感器2電流傳感器1電流傳感器3電壓傳感器3電壓傳感器2電壓傳感器1三相調(diào)壓器AVM3~
數(shù)據(jù)采集主電路實(shí)驗(yàn)接線圖DB-16P數(shù)字輸入DI+DI-DB-16R數(shù)字輸出JNCCOM+-24VDCC220VAC
C— 主電路接觸器的接點(diǎn)
J— 中間繼電器的接點(diǎn)
NC— 為數(shù)字輸出的常開(kāi)接點(diǎn)
COM— 為數(shù)字輸出的常開(kāi)常閉公共點(diǎn)JCCC5~24VDC數(shù)字輸入開(kāi)關(guān)量信號(hào)CJ— 主電路接觸器的線圈— 中間繼電器的線圈注 注: 220V 三相交流電源經(jīng)過(guò)各種接觸器連接到三相異步電動(dòng)機(jī)上,為控制電機(jī)的運(yùn)行,必須控制三相交流電源的接入和斷開(kāi),接觸器即可實(shí)現(xiàn)此項(xiàng)功能。因?yàn)橹鹘佑|器通入強(qiáng)電,不能直接進(jìn)行操作,所以我們通過(guò)控制上位機(jī)產(chǎn)生的信號(hào),繼而控制中間繼電器,然后由中間繼電器控制主接觸器。
電路中并聯(lián)了三個(gè)電壓傳感器,串聯(lián)了三個(gè)電流傳感器,但是在實(shí)際過(guò)程中,由于電機(jī)的運(yùn)轉(zhuǎn)為空轉(zhuǎn),所以電機(jī)的線電流非常小,由電流傳感器測(cè)出來(lái)的數(shù)據(jù)并不具有代表性,所以實(shí)際實(shí)驗(yàn)中我們連接了電壓傳
感器。
傳感器測(cè)出來(lái)的信號(hào)經(jīng)過(guò)數(shù)據(jù)采集實(shí)驗(yàn)箱中的調(diào)理電路處理后送入 PCI1202 中,經(jīng)過(guò) A/D 以及 D/A 轉(zhuǎn)換后在上位機(jī)運(yùn)行界面顯示,實(shí)現(xiàn)基本的數(shù)據(jù)采集。采集信號(hào)的顯示模式等均可通過(guò)程序進(jìn)行改變。
三、主要儀器設(shè)備 一臺(tái) PC 機(jī)、交流電源、電動(dòng)機(jī)、傳感器板、PCI1202 控制板、繼電器板、導(dǎo)線若干 四、操作方法與實(shí)驗(yàn)步驟 1.根據(jù)實(shí)驗(yàn)內(nèi)容要求以及實(shí)驗(yàn)連接電路圖所示,利用實(shí)驗(yàn)平臺(tái)各裝置設(shè)計(jì)硬件連接電路 2.運(yùn)行 C++ Builder 軟件,熟悉該軟件的使用方法 3.通過(guò)軟件平臺(tái)進(jìn)行編程、調(diào)試(可參照示例程序),實(shí)現(xiàn)對(duì)硬件電路的控制 4.軟件調(diào)試成功后通過(guò)上位機(jī)運(yùn)行系統(tǒng),并對(duì)實(shí)驗(yàn)要求的數(shù)據(jù)進(jìn)行采集和記錄 五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理 1.實(shí)驗(yàn)例程 //---------------------------------------------------------------------------#include
hdrstop
#include
“Unit2.h” #include
“P1202.h” #include
“P1202u.cpp” //---------------------------------------------------------------------------#pragma
package(smart_init)#pragma
resource “*.dfm” TForm1 *Form1;
Word
TotalBoards;//上面這段程序包含了相關(guān)頭文件的引用(#include **.h)以及編譯預(yù)處理(#pragma **)指令,同時(shí)定義了Word型變量TotalBoards,用于存儲(chǔ)板卡總數(shù)
//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){ } //---------------------------------------------------------------------------//form的構(gòu)造函數(shù),在初始化窗體的時(shí)候執(zhí)行,是最先執(zhí)行的一個(gè)函數(shù)
void __fastcall TForm1::FormCreate(TObject *Sender){
Word
RetValue;//定義了一個(gè)Word類(lèi)型的變量RetValue
RetValue = P1202_DriverInit(&TotalBoards);//板卡驅(qū)動(dòng)初始化函數(shù) //向系統(tǒng)要求分配資源,測(cè)試是否已經(jīng)安準(zhǔn)成功,并且回傳給安裝板卡的數(shù)量
if(RetValue!= 0)//板卡程序運(yùn)行成功后返回0,否則報(bào)錯(cuò)
{
ShowMessage(“ErrorCode:” + IntToStr(RetValue)
+ “nDriver Initial Error!”);
Button1->Enabled = False;
}
//顯示錯(cuò)誤代碼
eSelect->Text = “0”;//eSelect初始化選擇為第一個(gè)板卡,第一個(gè)板卡定義為0
eTotal->Text
= IntToStr(TotalBoards);//eTotal初始化為板卡數(shù)量,此時(shí)從整形變量轉(zhuǎn)化為字符型變量
UpDown1->Max
=(Word)(TotalBoards-1);//規(guī)定可選擇板卡數(shù)量最多為板卡總數(shù)量減一
UpDown1->Min
= 0;//規(guī)定可選擇板卡數(shù)量最低為0(第一個(gè)板卡)
if(TotalBoards < 2)//如果總板卡書(shū)小于2,則不能進(jìn)行選擇
{
UpDown1->Enabled = False;
eSelect->Enabled = False;
} } //---------------------------------------------------------------------------//該程序?yàn)榇翱诔跏蓟瘮?shù)以及P1202的初始化。P1202_DriverInit()這個(gè)函數(shù)是板卡驅(qū)動(dòng)初始化函數(shù),從來(lái)檢測(cè)辦卡的數(shù)量,并將值賦給Word變量RetValue,如果RetValue不等于0的時(shí)候,就會(huì)用ShowMessage函數(shù)顯示錯(cuò)誤信息。其中IntToStr函數(shù)的功能是將整形變量轉(zhuǎn)換為字符串顯示,同時(shí)button1不使能。eSelect用于板卡選擇,從0開(kāi)始一直到最大值減一,0表示第一個(gè)板卡。eTotal用于記錄一共有多少板卡,值為板卡總數(shù)。UpDown1->Max用于記錄板卡數(shù)量的最大數(shù)。UpDown1->Min用于記錄板卡數(shù)最小值。如果板卡總數(shù)小于2,則將eSelect和UpDown1均不使能,不允許選用板卡。
void __fastcall TForm1::Button2Click(TObject *Sender)//描述按鈕2(Exit)的關(guān)閉功能 {
Close();//關(guān)閉窗體 } //---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){
Word
Didata;//變量定義
Word
RetValue, DF, DW, AC, Dodata, k;
float DA;
wAdNumber
=(Word)StrToInt(eC0AdNums->Text);
DF
=(Word)StrToInt(eC0DaFreq->Text);
DW
=(Word)StrToInt(eC0DaWave->Text);
AC
=(Word)StrToInt(eC0AdClock->Text);//頻率
DA
= StrToFloat(eC0DaAmp->Text);//振幅
XMax->Caption = IntToStr(wAdNumber);//最大量程
RetValue
= P1202_ActiveBoard((Word)StrToInt(eSelect->Text));//調(diào)用函數(shù)激活板卡,同時(shí)將
值返回給RetValue
if(RetValue!= 0)//檢驗(yàn)返回值是否錯(cuò)誤
{
ShowMessage((AnsiString)“Active Borad Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
Dodata
=(Word)StrToInt(“0x” + eC0DO->Text);//把變量轉(zhuǎn)換為16進(jìn)制word類(lèi)型,并且賦給Dodata
RetValue
= P1202_Do(Dodata);//傳送一個(gè)16位的值到Digital Output
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Digital Output Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
RetValue = P1202_Di(&Didata);//從Digital Output里面讀取16位數(shù)
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Digital Input Error!” + “nErrorCode:” + IntToStr(RetValue));
return;
}
eC0DI->Text = IntToHex(Didata,4);
RetValue = P1202_M_FUN_1(DF, DW, DA, AC, wAdNumber, 0, fAdBuf,-10, 10);//連續(xù)平滑的A/D、D/A轉(zhuǎn)換
if(RetValue!= 0)
{
ShowMessage((AnsiString)“M_Fun_1 Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
DrawWaveF(-5, 5, fAdBuf, 0, wAdNumber, C0Image);//連續(xù)的監(jiān)視數(shù)據(jù)
lbC0Log->Items->Clear();
for(k=0;k<=wAdNumber-1;k++)//根據(jù)采集的數(shù)據(jù)畫(huà)波形
lbC0Log->Items->Add(FloatToStr(fAdBuf[k]));} //說(shuō)明:這個(gè)程序用于說(shuō)明點(diǎn)擊按鈕Button1的時(shí)候動(dòng)作——監(jiān)視、采集數(shù)據(jù),并且根據(jù)采集到的數(shù)據(jù)畫(huà)波形。
//---------------------------------------------------------------------------void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action){
P1202_DriverClose;//關(guān)閉板卡
} //說(shuō)明:這個(gè)程序用于關(guān)閉板卡 //---------------------------------------------------------------------------
三相電壓采集例程 //---------------------------------------------------------------------------#include
#include “Unit2.h” #include “P1202.h” #include “P1202u.cpp” //---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource “*.dfm” TForm1 *Form1;
Word
TotalBoards;//該程序段包含相關(guān)頭文件的說(shuō)明與編譯預(yù)處理指令,同時(shí)定義Word變量TotalBoards,用于技術(shù)把卡總數(shù) //---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){ } //---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender){
Word RetValue;
RetValue = P1202_DriverInit(&TotalBoards);
if(RetValue!= 0)
{
ShowMessage(“ErrorCode:” + IntToStr(RetValue)
+ “nDriver Initial Error!”);
Button1->Enabled = False;
}
eSelect->Text = “0”;
eTotal->Text
= IntToStr(TotalBoards);
UpDown1->Max
=(Word)(TotalBoards-1);
UpDown1->Min
= 0;
if(TotalBoards < 2)
{
UpDown1->Enabled = False;
eSelect->Enabled = False;
} } //改程序?yàn)榇翱诔跏己瘮?shù)以及P1202的驅(qū)動(dòng)初始化,具體注釋參考上一個(gè)程序 //---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender){
Close();} //該程序用于說(shuō)明Button2功能,即關(guān)閉窗體 //---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){
Word
RetValue, DF, DW, AC, k;
float
DA;
wAdNumber
=(Word)StrToInt(eC0AdNums->Text);
DF
=(Word)StrToInt(eC0DaFreq->Text);
DW
=(Word)StrToInt(eC0DaWave->Text);
AC
=(Word)StrToInt(eC0AdClock->Text);
DA
= StrToFloat(eC0DaAmp->Text);
for(k=0;k<=31;k++)
{
wChannel[k]
= 0;
wConfigCode[k] = 0;
}
wChannel[0]
= 1;
wChannel[1]
= 1;wChannel[2]
= 1;//設(shè)定輸出到analog output Channel1、Channel2、Channel3
XMax->Caption
= IntToStr(wAdNumber);
XMax2->Caption = XMax->Caption;
XMax3->Caption = XMax->Caption;
RetValue
= P1202_ActiveBoard((Word)StrToInt(eSelect->Text));//激活板卡,并把返回值送給RetValue
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Active Borad Error!” + “nErrorCode:” + IntToStr(RetValue));
return;
}
RetValue = P1202_M_FUN_3(DF, DW, DA, AC, wAdNumber, wChannel, wConfigCode, fAdBuf,-10, 10);//連續(xù)平滑的A/D、D/A轉(zhuǎn)換
if(RetValue!=0)
{
ShowMessage((AnsiString)“M_Fun_1 Error!” + “ErrorCode:” + IntToStr(RetValue));
//return;
}
DrawWaveF(-5, 5, fAdBuf, 0, wAdNumber, C0Image0);
DrawWaveF(-5, 5, fAdBuf, wAdNumber, wAdNumber, C0Image1);
DrawWaveF(-5, 5, fAdBuf, wAdNumber * 2, wAdNumber, C0Image2);//連續(xù)的監(jiān)視數(shù)據(jù)
lbC0Log->Items->Clear();
for(k=0;k<=wAdNumber-1;k++)//根據(jù)采集的數(shù)據(jù)畫(huà)波形
lbC0Log->Items->Add((AnsiString)“Ch0: ” + FloatToStr(fAdBuf[k]).SubString(1,5)
+ “
Ch1: ” + FloatToStr(fAdBuf[wAdNumber + k]).SubString(1,5)
+ “
Ch2: ” + FloatToStr(fAdBuf[wAdNumber * 2 + k]).SubString(1,5));} //說(shuō)明:該程序功能用于說(shuō)明Button1的功能以及實(shí)現(xiàn),動(dòng)態(tài)監(jiān)視并采集數(shù)據(jù),根據(jù)采集到的數(shù)據(jù)繪制波形。
//---------------------------------------------------------------------------void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action){
P1202_DriverClose;} //說(shuō)明:該程序用于P1202的驅(qū)動(dòng)關(guān)閉動(dòng)作
六、注意事項(xiàng) 1.連線檢查無(wú)誤后方可上電,接線盡量用短線; 2.因?yàn)楫惒诫姍C(jī)高壓直接啟動(dòng)容易過(guò)流報(bào)警,所以可將交流輸入電壓調(diào)至160V左右; 3.主接觸器線圈工作時(shí)需要220V交流電源(三相輸出電壓U、V、W為可調(diào)電壓,其下方三個(gè)輸出電壓U’、V’、W’為不可調(diào)電壓,其任意兩相之間線電壓均為380V,每一相對(duì)地相電壓為220V,因此可選擇其中一相作為主接觸器電源,切不可用兩相之間的線電壓?。?/p>
4.數(shù)字隔離端子板配有多個(gè)繼電器,這些繼電器的通斷由數(shù)碼管顯示,上位機(jī)輸入的數(shù)字量可以由數(shù)碼管以對(duì)應(yīng)的二進(jìn)制格式表示,因此應(yīng)該弄清實(shí)驗(yàn)中使用的端子板繼電器對(duì)應(yīng)哪些數(shù)字為通,哪些數(shù)字為斷。
5.實(shí)驗(yàn)中未出現(xiàn)過(guò)流過(guò)壓報(bào)警時(shí),電機(jī)的通斷電通過(guò)上位機(jī)軟件實(shí)現(xiàn)。
七、實(shí)驗(yàn)結(jié)果與分析
單相傳感器
三相傳感器 八、思考與分析 1.三相異步電動(dòng)機(jī)的啟動(dòng)與調(diào)速方式有哪幾種? 答:?jiǎn)?dòng)方式有直接啟動(dòng)(電機(jī)直接接額定電壓?jiǎn)?dòng))與降壓?jiǎn)?dòng)(分為定子串電抗降壓?jiǎn)?dòng)、星形三角形啟動(dòng)、軟啟動(dòng)器啟動(dòng)以及自耦變壓器啟動(dòng)等);調(diào)速方式有變極調(diào)速、變頻調(diào)速與改變電動(dòng)機(jī)轉(zhuǎn)差率調(diào)速。
2.A/D 和 D/A 轉(zhuǎn)換的性能指標(biāo)主要有哪些? 答:主要性能直白哦有位數(shù)、量化誤差、分辨率、精度、建立時(shí)間、轉(zhuǎn)換時(shí)間、轉(zhuǎn)換速率、環(huán)境指標(biāo)等 3.電流傳感器和電壓傳感器分別有哪幾種接線方式? 電流傳感器是串聯(lián),電壓傳感器是并聯(lián) 4.簡(jiǎn)述霍爾傳感器的基本原理?
答:當(dāng)主回路有一個(gè)電流通過(guò)時(shí),在導(dǎo)線上產(chǎn)生的磁場(chǎng)被聚磁環(huán)狙擊兵感應(yīng)到霍爾奇奸商,所產(chǎn)生的信號(hào)輸出用于驅(qū)動(dòng)相應(yīng)的功率管,并使其導(dǎo)通從而后的一個(gè)補(bǔ)倉(cāng)電流 Is,這一個(gè)電流再通過(guò)多匝繞組,產(chǎn)生磁場(chǎng),該磁場(chǎng)與被測(cè)電流產(chǎn)生的磁場(chǎng)正好相反,因而補(bǔ)償了原來(lái)的磁場(chǎng),使霍爾器件的輸出逐漸減小。當(dāng)與Ip 與匝數(shù)相乘所產(chǎn)生的磁場(chǎng)磁場(chǎng)相等時(shí),Is 不再增加,這是霍爾器件起到指示零磁通的作用,此時(shí)而已通過(guò) Is 來(lái)平衡。被測(cè)電流的任何變化都會(huì)破壞這一平衡。一旦磁場(chǎng)失去平衡,霍爾器件有信號(hào)輸出。經(jīng)過(guò)功率放大后,立即就有相應(yīng)的電流通過(guò)磁激繞組進(jìn)行補(bǔ)償,副邊電流 Is 精確反映原邊電流。
5.電氣裝備計(jì)算機(jī)控制系統(tǒng)主要分為哪幾類(lèi)? 數(shù)據(jù)采集系統(tǒng)、監(jiān)督控制系統(tǒng)、直接數(shù)字控制系統(tǒng)、分散型控制系統(tǒng) 九、討論、心得 1.本次實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容是通過(guò)計(jì)算機(jī)控制來(lái)實(shí)現(xiàn)對(duì)電機(jī)運(yùn)行與停止的控制。本次實(shí)驗(yàn)用到的相關(guān)器件包括 PC 機(jī)、PCI1202 板、電壓傳感器、中間繼電器等器件。
2.本次實(shí)驗(yàn)用到的傳感器有電壓傳感器和電流傳感器,由于電機(jī)運(yùn)行為空載運(yùn)行,電流較小,用電流傳感器的意義不大,所以這次實(shí)驗(yàn)就只用了電壓傳感器 3.實(shí)驗(yàn)器材上有兩個(gè)交流電壓源的插口,上面一排為可調(diào)電源,本次實(shí)驗(yàn)只需調(diào)至 150-170V 左右就可以讓電機(jī)運(yùn)行起來(lái),而在控制中間繼電器里面的交流電源為 220V 交流電源,需要連接下面的插口才能實(shí)現(xiàn)。并且注意實(shí)驗(yàn)時(shí)不要觸碰交流電源插口,非常危險(xiǎn)。
4.實(shí)驗(yàn)連接線路時(shí)盡量用短線。因?yàn)槭菑?qiáng)電實(shí)驗(yàn),連接線路過(guò)程中一定要斷電連接,用的線路不能是裸露導(dǎo)體的導(dǎo)線,必須是將導(dǎo)體放在絕緣體之內(nèi)的導(dǎo)線。
5.實(shí)驗(yàn)硬件電路中,對(duì)于控制電動(dòng)機(jī)的啟動(dòng)并不是一步完成的,因?yàn)殡妱?dòng)機(jī)工作在 380V 線電壓的高壓電路中,而控制計(jì)算機(jī)實(shí)際工作的電壓遠(yuǎn)小于這個(gè)值,兩者不能直接連接,應(yīng)該逐級(jí)降壓,DB-16P 與數(shù)字量開(kāi)關(guān)信號(hào)相連,連接在 5-24VDC 的低壓電路中,DB-16R 把輸出的信號(hào)與繼電器相連,工作在 24VDC電壓下,最終繼電器吸合后使電動(dòng)機(jī)線路上的繼電器工作,電機(jī)才得以轉(zhuǎn)動(dòng)。
6.異步電機(jī)的連接方法為三角-星型啟動(dòng),可以有效降低啟動(dòng)電壓。雖然如此,實(shí)驗(yàn)開(kāi)始時(shí)仍然要逐級(jí)升壓?jiǎn)?dòng),才可以使電機(jī)運(yùn)行平緩。
7.三相傳感器的結(jié)果中可以看到三相頻率基本一致,相位差大約差 120°,符合預(yù)期結(jié)果。
8.通過(guò)本次實(shí)驗(yàn),初步了解數(shù)據(jù)采集卡在電氣裝備中的應(yīng)用;了解計(jì)算機(jī)在數(shù)據(jù)采集和處理方面的應(yīng)用;理解硬件的原理,為之后的實(shí)驗(yàn)打下了基礎(chǔ),對(duì) C++ Builder 軟件有了一定了解,為編程打下基礎(chǔ)。
第四篇:無(wú)線傳感網(wǎng)實(shí)驗(yàn)報(bào)告
Central South University
無(wú)線傳感器網(wǎng)絡(luò) 實(shí)驗(yàn)報(bào)告
學(xué)院:
班級(jí): 學(xué)號(hào): 姓名:
時(shí)間: 指導(dǎo)老師:
第一章 基礎(chǔ)實(shí)驗(yàn)
了解環(huán)境
1.1 實(shí)驗(yàn)?zāi)康?/p>
安裝 IAR 開(kāi)發(fā)環(huán)境。CC2530 工程文件創(chuàng)建及配置。源代碼創(chuàng)建,編譯及下載。1.2 實(shí)驗(yàn)設(shè)備及工具
硬件:ZX2530A 型底板及 CC2530 節(jié)點(diǎn)板一塊,USB 接口仿真器,PC 機(jī)
軟件:PC 機(jī)操作系統(tǒng) WinXP,IAR 集成開(kāi)發(fā)環(huán)境,TI 公司的燒寫(xiě)軟件。
1.3 實(shí)驗(yàn)內(nèi)容
1、安裝 IAR 集成開(kāi)發(fā)環(huán)境
IAR 集成開(kāi)發(fā)環(huán)境安裝文件所在光盤(pán)目錄:物聯(lián)網(wǎng)光盤(pán)工具CD-EW8051-7601
2、ZIBGEE 硬件連接
安裝完 IAR 和 Smartrf Flash Programmer 之后,按照?qǐng)D所示方式連接各種硬件,將仿真器的 20 芯 JTAG 口連接到 ZX2530A 型 CC2530 節(jié)點(diǎn)板上,USB 連接到 PC 機(jī)上,RS-232 串口線一端連接 ZX2530A 型 CC2530 節(jié)點(diǎn)板,另一端連接 PC 機(jī)串口。
3、創(chuàng)建并配置 CC2530 的工程文件 IAR 是一個(gè)強(qiáng)大的嵌入式開(kāi)發(fā)平臺(tái),支持非常多種類(lèi)的芯片。IAR 中的每一個(gè) Project,都可以擁有自己的配置,具體包括 Device 類(lèi)型、堆/棧、Linker、Debugger 等。(1)新建 Workspace 和 Project 首先新建文件夾 ledtest。打開(kāi) IAR,選擇主菜單 File-> New-> Workspace 建立新的工作區(qū)域。
選擇 Project-> Create New Project-> Empty Project,點(diǎn)擊 OK,把此工程文件保存到文件夾 ledtest 中,命名為:ledtest.ewp(如下圖)。
(2)配置 Ledtest 工程
選擇菜單 Project->Options...打開(kāi)如下工程配置對(duì)話框
選擇項(xiàng) General Options,配置 Target 如下 Device:CC2530;
(3)Stack/Heap 設(shè)置:XDATA stack size:0x1FF
(4)Debugger 設(shè)置:
Driver:Texas Instruments(本實(shí)驗(yàn)為真機(jī)調(diào)試,所以選擇 TI;若其他程序要使用 IAR仿真器,可選 Simulator)
至此,針對(duì)本實(shí)驗(yàn)的 IAR 配置基本結(jié)束.4、編寫(xiě)程序代碼并添加至工程
選擇菜單 File->New->File 創(chuàng)建一個(gè)文件,選擇 File->Save 保存為 main.c 將 main.c 加入到 ledtest 工程,將實(shí)驗(yàn)代碼輸入
然后選擇 Project->Rebuild All 編譯工程
編譯好后,選擇 Project->Download and debug 下載并調(diào)試程序 下載完后,如果不想調(diào)試程序,可點(diǎn)工具欄上的按鈕終止調(diào)試。
到此,程序已經(jīng)下載到了 cc2530 芯片的 flash 內(nèi),按下 ZX2530A 上的復(fù)位按鈕可看到程序的運(yùn)行效果。
LED 實(shí)驗(yàn) 2.1 實(shí)驗(yàn)?zāi)康?/p>
通過(guò) I/O 控制小燈閃爍的過(guò)程。
在 ZX2530A 型 CC2530 節(jié)點(diǎn)板上運(yùn)行自己的程序。2.2 實(shí)驗(yàn)設(shè)備及工具
硬件:ZX2530A 型底板及 CC2530 節(jié)點(diǎn)板一塊,USB 接口仿真器,PC 機(jī)
軟件:PC 機(jī)操作系統(tǒng) WinXP,IAR 集成開(kāi)發(fā)環(huán)境。2.3 實(shí)驗(yàn)結(jié)果
1.正確連接下載線和 ZX2530A 型 CC2530 節(jié)點(diǎn)板,打開(kāi) ZX2530A 型 CC2530 節(jié)點(diǎn)板電源。
2.在文件夾“基礎(chǔ)實(shí)驗(yàn)2 LED”下打開(kāi)工程 led,編譯工程,并下載到 CC2530 節(jié)點(diǎn)板。3.觀察 LED 的閃爍情況。
4.修改延時(shí)函數(shù),可以改變 LED 小燈的閃爍間隔時(shí)間。
5.重新編譯,并下載程序到 CC2530 節(jié)點(diǎn)板,觀察 LED 的閃爍情況。
答:增加延時(shí)就會(huì)發(fā)現(xiàn)小燈閃爍的頻率降低了。
串口實(shí)驗(yàn) 3.1 實(shí)驗(yàn)?zāi)康?/p>
本次實(shí)驗(yàn)將會(huì)學(xué)習(xí)如果使用串口實(shí)現(xiàn)與 PC 機(jī)的通訊。(實(shí)驗(yàn)中需要 PC 機(jī)與開(kāi)發(fā)板之間使用RS232 交叉串口連接線)。
能正確配置 CC2530 的串口。3.2 實(shí)驗(yàn)設(shè)備及工具
硬件:ZX2530A 型底板及 CC2530 節(jié)點(diǎn)板一塊,USB 接口仿真器,PC 機(jī),交叉串口線一根。
軟件:PC 機(jī)操作系統(tǒng) WinXP,IAR 集成開(kāi)發(fā)環(huán)境、串口調(diào)試助手。3.3 實(shí)驗(yàn)結(jié)果
CC2530 能與上位機(jī)通過(guò)串口正常通信
1.正確連接下載線和 ZX2530A 型 CC2530 節(jié)點(diǎn)板,用串口線正確連接上位機(jī)和 ZX2530A 型板,使能通過(guò)串口交換數(shù)據(jù)。
2.在文件夾“基礎(chǔ)實(shí)驗(yàn)5 uart”下打開(kāi)工程 uart,編譯工程,并下載到 CC2530 節(jié)點(diǎn)板。
3.通過(guò)上位機(jī)上的串口調(diào)試助手,發(fā)送數(shù)據(jù)到 cc2530,然后檢查 cc2530 回送給上位機(jī)的數(shù)據(jù)。
3.4 實(shí)驗(yàn)總結(jié)
通過(guò)這次實(shí)驗(yàn),讓我對(duì)無(wú)線傳感器網(wǎng)絡(luò)有了進(jìn)一步的了解。在無(wú)線的世界,感覺(jué)一切都是那么神奇,二一切又是那么理所當(dāng)然,記得小時(shí)候常常想,那些無(wú)線好神秘,畫(huà)面,聲音等怎么可以從一方到達(dá)另一方而可以完全不接觸。雖然今天做的實(shí)驗(yàn)都是很小很簡(jiǎn)單的,比起顯示中那些絢麗的感覺(jué)沒(méi)什么值得贊揚(yáng)的,但對(duì)于我來(lái)說(shuō),這個(gè)更有魅力,那些絢麗的我是以仰望的視角來(lái)對(duì)待,而這次我能深入它的原理去真正接觸它,以平視來(lái)看待它。
第二章 射頻實(shí)驗(yàn)
點(diǎn)對(duì)點(diǎn)射頻通信實(shí)驗(yàn) 1 實(shí)驗(yàn)?zāi)康?/p>
在 ZX2530A 型 CC2530 節(jié)點(diǎn)板上運(yùn)行相應(yīng)實(shí)驗(yàn)程序。熟悉通過(guò)射頻通信的基本方法。練習(xí)使用狀態(tài)機(jī)實(shí)現(xiàn)收發(fā)功能。2 實(shí)驗(yàn)內(nèi)容
接收節(jié)點(diǎn)上電后進(jìn)行初始化,然后通過(guò)指令 ISRXON 開(kāi)啟射頻接收器,等待接收數(shù)據(jù),直到正確接收到數(shù)據(jù)為止,通過(guò)串口打印輸出。發(fā)送節(jié)點(diǎn)上電后和接收節(jié)點(diǎn)進(jìn)行相同的初始化,然后將要發(fā)送的數(shù)據(jù)輸出到 TXFIFO 中,再調(diào)用指令 ISTXONCCA 通過(guò)射頻前端發(fā)送數(shù)據(jù)。3 實(shí)驗(yàn)設(shè)備及工具
硬件:ZX2530A 型 CC2530 節(jié)點(diǎn)板 2 塊、USB 接口的仿真器,PC 機(jī) Pentium100 以上。
軟件:PC 機(jī)操作系統(tǒng) WinXP、IAR 集成開(kāi)發(fā)環(huán)境、串口監(jiān)控程序。4 實(shí)驗(yàn)原理
發(fā)送節(jié)點(diǎn)通過(guò)串口接收用戶的輸入數(shù)據(jù)然后通過(guò)射頻模塊發(fā)送到指定的接收節(jié)點(diǎn),接收節(jié)點(diǎn)通過(guò)射頻模塊收到數(shù)據(jù)后,通過(guò)串口發(fā)送到 pc 在串口調(diào)試助手中顯示出來(lái)。如果發(fā)送節(jié)點(diǎn)發(fā)送的數(shù)據(jù)目的地址與接收節(jié)點(diǎn)的地址不匹配,接收節(jié)點(diǎn)將接收不到數(shù)據(jù)。以下為發(fā)送節(jié)點(diǎn)程序流程圖:
以下為接收節(jié)點(diǎn)流程圖: 實(shí)驗(yàn)步驟
1.打開(kāi)光盤(pán)“無(wú)線射頻實(shí)驗(yàn)2.點(diǎn)對(duì)點(diǎn)通信”雙擊 p2p.eww 打開(kāi)本實(shí)驗(yàn)工程文件。2.打開(kāi) main.c 文件下面對(duì)一些定義進(jìn)行介紹 RF_CHANNEL 此宏定義了無(wú)線射頻通信時(shí)使用的信道,在多個(gè)小組同時(shí)進(jìn)行實(shí)驗(yàn)是建議每組選擇不同時(shí)信道。但同一組實(shí)驗(yàn)中兩個(gè)節(jié)點(diǎn)需要保證在同一信道,才能正確通信。
PAN_ID 個(gè)域網(wǎng) ID 標(biāo)示,用來(lái)表示不同在網(wǎng)絡(luò),在同一實(shí)驗(yàn)中,接收和發(fā)送節(jié)點(diǎn)需要配置為相同的值,否則兩個(gè)節(jié)點(diǎn)將不能正常通信。SEND_ADDR 發(fā)送節(jié)點(diǎn)的地址 RECV_ADDR 接收節(jié)點(diǎn)的地址
NODE_TYPE 節(jié)點(diǎn)類(lèi)型:0 接收節(jié)點(diǎn),1:發(fā)送節(jié)點(diǎn),在進(jìn)行實(shí)驗(yàn)時(shí)一個(gè)節(jié)點(diǎn)定義為發(fā)送節(jié)點(diǎn)用來(lái)發(fā)送數(shù)據(jù),一個(gè)定義為接收節(jié)點(diǎn)用來(lái)接收數(shù)據(jù)。
3.修改 NODE_TYPE 的值為 0,并編譯下載到節(jié)點(diǎn)板。此節(jié)以下稱為接收節(jié)點(diǎn)。
4.修改 NODE_TYPE 的值為 1,并編譯下載到另外一個(gè)節(jié)點(diǎn)板。此節(jié)點(diǎn)板以下稱為發(fā)送節(jié)點(diǎn)。
5.將接收節(jié)點(diǎn)的串口與 pc 的串口相連,并在 pc 端打開(kāi)串口調(diào)試助手,配置波特率為 115200。
6.先將接收節(jié)點(diǎn)上電,然后將發(fā)送節(jié)點(diǎn)上電。7.從串口調(diào)試助手觀察接收節(jié)點(diǎn)收到的數(shù)據(jù)。
8.修改發(fā)送數(shù)據(jù)的內(nèi)容,然后編譯并下載程序到發(fā)送節(jié)點(diǎn),然后從串口調(diào)試助手觀察收到的數(shù)據(jù)。9.修改接收節(jié)點(diǎn)的地址,然后重新編譯并下載程序到接收節(jié)點(diǎn),然后從發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)觀察接收節(jié)點(diǎn)能否正確接收數(shù)據(jù)。6 實(shí)驗(yàn)數(shù)據(jù)分析及結(jié)論
發(fā)送節(jié)點(diǎn)將數(shù)據(jù)發(fā)送出去后,接收節(jié)點(diǎn)接收到數(shù)據(jù),并通過(guò)串口調(diào)試助手打印輸出。發(fā)送數(shù)據(jù)的最大長(zhǎng)度為 125(加上發(fā)送的據(jù)長(zhǎng)度和校驗(yàn),實(shí)際發(fā)送的數(shù)據(jù)長(zhǎng)度為 128 字節(jié))。7 實(shí)驗(yàn)心得
這次實(shí)驗(yàn)在原來(lái)的短距離無(wú)線通信中有所涉獵,所以應(yīng)該這個(gè)對(duì)于我們來(lái)說(shuō)還是很簡(jiǎn)單的,所以很快就做完實(shí)驗(yàn)了,就和幾個(gè)同學(xué)好好研究了一下它的原理和一些它的展望,感覺(jué)這個(gè)學(xué)科以后有很大的發(fā)展前途,作為一個(gè)物聯(lián)網(wǎng)的學(xué)生,對(duì)無(wú)線射頻技術(shù)應(yīng)該得很了解,指望它吃飯呢。這次實(shí)驗(yàn)也很簡(jiǎn)單,但是還是可以解除它的最底層的東西可以更加激發(fā)我們的興趣。第三章 ZStack組網(wǎng)實(shí)驗(yàn)
多點(diǎn)自組織組網(wǎng)實(shí)驗(yàn) 1 實(shí)驗(yàn)?zāi)康?/p>
理解 zigbee 協(xié)議及相關(guān)知識(shí)。
在 ZX2530A 型 CC2530 節(jié)點(diǎn)板上實(shí)現(xiàn)自組織的組網(wǎng)。在 ZStack 協(xié)議棧中實(shí)現(xiàn)單播通信。2 實(shí)驗(yàn)內(nèi)容
先啟動(dòng)協(xié)調(diào)器節(jié)點(diǎn),協(xié)調(diào)器節(jié)點(diǎn)上電后進(jìn)行組網(wǎng)操作,再啟動(dòng)路由節(jié)點(diǎn)和終端節(jié)點(diǎn),路由節(jié)點(diǎn)和終端節(jié)點(diǎn)上電后進(jìn)行入網(wǎng)操作,成功入網(wǎng)后周期的將自己的短地址,父節(jié)點(diǎn)的短地址,自己的節(jié)點(diǎn) ID 封裝成數(shù)據(jù)包發(fā)送給協(xié)調(diào)器節(jié)點(diǎn),協(xié)調(diào)器節(jié)點(diǎn)接收到數(shù)據(jù)包后通過(guò)串口傳給 PC,從 PC 上的串口監(jiān)控程序查看組網(wǎng)情況。發(fā)送數(shù)據(jù)格式為(16 進(jìn)制): FF 源節(jié)點(diǎn)(16bit)父節(jié)點(diǎn)(16bit)節(jié)點(diǎn)編號(hào) ID(8bit)例如 FF 4B 00 00 00 01,表示 01 號(hào)節(jié)點(diǎn)的網(wǎng)絡(luò)地址為 004B,發(fā)送數(shù)據(jù)到父節(jié)點(diǎn),其網(wǎng)絡(luò)地址為 00 00(協(xié)調(diào)器)。3 實(shí)驗(yàn)設(shè)備及工具
硬件:DZ2530 型 CC2530 節(jié)點(diǎn)板、USB 接口的仿真器,PC 機(jī) Pentium100 以上。
軟件:PC 機(jī)操作系統(tǒng) WinXP、IAR 集成開(kāi)發(fā)環(huán)境、ZTOOL 程序。4 實(shí)驗(yàn)原理
程序執(zhí)行的流程圖如圖 5-4 所示,在進(jìn)行一系列的初始化操作后程序就進(jìn)入事件輪詢狀態(tài)。
對(duì)于終端節(jié)點(diǎn),若沒(méi)有事件發(fā)生且定義了編譯選項(xiàng) POWER_SAVING,則節(jié)點(diǎn)進(jìn)入休眠狀態(tài)。
協(xié)調(diào)器是 Zigbee 三種設(shè)備中最重要的一種。它負(fù)責(zé)網(wǎng)絡(luò)的建立,包括信道選擇,確定唯一的PAN 地址并把信息向網(wǎng)絡(luò)中廣播,為加入網(wǎng)絡(luò)的路由器和終端設(shè)備分配地址,維護(hù)路由表等。Z-Stack 中打開(kāi)編譯選項(xiàng) ZDO_COORDINATOR,也就是在 IAR 開(kāi)發(fā)環(huán)境中選擇協(xié)調(diào)器,然后編譯出的文件就能啟動(dòng)協(xié)調(diào)器。具體工作流程是:操作系統(tǒng)初始化函數(shù) osal_start_system 調(diào)用ZDAppInit 初 始 化 函 數(shù),ZDAppInit 調(diào) 用 ZDOInitDevice 函 數(shù),ZDOInitDevice 調(diào) 用
ZDApp_NetworkInit 函數(shù),在此函數(shù)中設(shè)置 ZDO_NETWORK_INIT 事件,在 ZDApp_event_loop 任務(wù)中對(duì)其進(jìn)行處理。由 第 一 步 先 調(diào) 用 ZDO_StartDevice 啟動(dòng)網(wǎng)絡(luò)中的設(shè)備,再調(diào)用NLME_NetworkFormationRequest 函數(shù)進(jìn)行組網(wǎng),這一部分涉及網(wǎng)絡(luò)層細(xì)節(jié),無(wú)法看到源代 碼,在庫(kù)中處理。ZDO_NetworkFormationConfirmCB 和 nwk_Status 函數(shù)有申請(qǐng)結(jié)果的處理。如果成功則 ZDO_NetworkFormationConfirmCB 先執(zhí)行,不成功則 nwk_Status 先執(zhí)行。接著,在ZDO_NetworkFormationConfirmCB 函數(shù)中會(huì)設(shè)置 ZDO_NETWORK_START 事件。由于第三步,ZDApp_event_loop 任務(wù)中會(huì)處理 ZDO_NETWORK_START 事件,調(diào)用 ZDApp_NetworkStartEvt 函數(shù),此函數(shù)會(huì)返回申請(qǐng)的結(jié)果。如果不成功能量閾值會(huì)按ENERGY_SCAN_INCREMENT 增加,并將App_event_loop 任務(wù)中的事件 ID 置為 ZDO_NETWORK_INIT 然后跳回第二步執(zhí)行;如果成功則設(shè)置 ZDO_STATE_CHANGE_EVT 事件讓 ZDApp_event_loop 任務(wù)處理。對(duì) 于 終 端 或 路 由 節(jié) 點(diǎn),調(diào) 用 ZDO_StartDevice 后 將 調(diào) 用 函 數(shù) NLME_NetworkDiscoveryRequest 進(jìn)行信道掃描啟動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)的過(guò)程,這一部分涉及網(wǎng)絡(luò)層 細(xì)節(jié),無(wú)法看到源代碼,在庫(kù)中處理,NLME_NetworkDiscoveryRequest函數(shù)執(zhí)行的結(jié)果將會(huì)返回到函數(shù)ZDO_NetworkDiscoveryConfirmCB 中,該 函 數(shù) 將 會(huì) 返 回 選 擇 的 網(wǎng) 絡(luò),并 設(shè) 置 事 件ZDO_NWK_DISC_CNF,在 ZDApp_ProcessOSALMsg 中對(duì)該事件進(jìn)行處理,調(diào)用 NLME_JoinRequest加入指定的網(wǎng)絡(luò),若加入失敗,則重新初始化網(wǎng)絡(luò),若加入成功則調(diào)用 ZDApp_ProcessNetworkJoin函數(shù)設(shè)置 ZDO_STATE_CHANGE_EVT,在對(duì)該事件的處理過(guò)程 中將調(diào)用ZDO_UpdateNwkStatus函數(shù),此函數(shù)會(huì)向用戶自定義任務(wù)發(fā)送事件 ZDO_STATE_CHANGE。本實(shí)驗(yàn)在 Zstack 的事例代碼 simpleApp 修改而來(lái)。首先介紹任務(wù)初始化的概念,由于自定義任務(wù)需要確定對(duì)應(yīng)的端點(diǎn)和簇等信息,并且將這些信息在 AF 層中注冊(cè),所以每個(gè)任務(wù)都要初始化然后才會(huì)進(jìn)入 OSAL 系統(tǒng)循環(huán)。在 Z-Stack 流程圖中,上層的初始 化集中在 OSAL 初始化(osal_init_system)函數(shù)中。包括了存儲(chǔ)空間、定時(shí)器、電源管理和 各任務(wù)初始化。其中用戶任務(wù)初始化的流程如下:
用戶任務(wù)初始化流程圖
任務(wù) ID(taskID)的分配是 OSAL 要求的,為后續(xù)調(diào)用事件函數(shù)、定時(shí)器函數(shù)提供了參數(shù)。網(wǎng)絡(luò)狀態(tài)在啟動(dòng)的時(shí)候需要指定,之后才能觸發(fā) ZDO_STATE_CHANGE 事件,確定設(shè)備的類(lèi)型。目的地址分配包括尋址方式,端點(diǎn)號(hào)和地址的指定,本實(shí)驗(yàn)中數(shù)據(jù)的發(fā)送使用單播方式。之后設(shè)置應(yīng) 用 對(duì) 象 的 屬 性,這 是 非 常 關(guān) 鍵 的。由 于 涉 及 很 多 參 數(shù),Z-Stack 專 門(mén) 設(shè) 計(jì) SimpleDescriptionFormat_t 這一結(jié)構(gòu)來(lái)方便設(shè)置,其中的成員如下: EndPoint,該節(jié)點(diǎn)應(yīng)用的端點(diǎn),值在 1-240 之間,用來(lái)接收數(shù)據(jù)。AppProfId,該域是確定這個(gè)端點(diǎn)支持的應(yīng)用 profile 標(biāo)識(shí)符,從 Zigbee 聯(lián)盟獲取具體的 標(biāo)識(shí)符。AppNumInClusters,指示這個(gè)端點(diǎn)所支持的輸入簇的數(shù)目。pAppInClusterList,指向輸入簇標(biāo)識(shí)符列表的指針。AppNumOutClusters,指示這個(gè)端點(diǎn)所支持的輸出簇的數(shù)目。pAppOutClusterList,指向輸出簇標(biāo)識(shí)符列表的指針。
本實(shí)驗(yàn) profile 標(biāo)識(shí)符采用默認(rèn)設(shè)置,輸入輸出簇設(shè)置為相同 MY_PROFILE_ID,設(shè) 置完成后,調(diào)用 afRegister 函數(shù)將應(yīng)用信息在 AF 層中注冊(cè),使設(shè)備知曉該應(yīng)用的存在,初 始化完畢。一旦初始化完成,在進(jìn)入 OSAL 輪詢后 zb_HandleOsalEvent 一有事件被觸發(fā),就會(huì)得到及時(shí)的處理。事件號(hào)是一個(gè)以宏定義描述的數(shù)字。系統(tǒng)事件(SYS_EVENT_MSG)是強(qiáng)制的,其中包括了幾個(gè)子事件的處理。ZDO_CB_MSG 事件是處理 ZDO 的響應(yīng),KEY_CHANGE 事件 處理按鍵(針對(duì) TI 官方的開(kāi)發(fā)板),AF_DATA_CONFIRM_CMD 則是作為發(fā)送一個(gè)數(shù)據(jù)包 后的確認(rèn),AF_INCOMING_MSG_CMD是接收到一個(gè)數(shù)據(jù)包會(huì)產(chǎn)生的事件,協(xié)調(diào)器在收到 該事件后調(diào)用函數(shù) p2p_test_MessageMSGCB,將接收到的數(shù)據(jù)通過(guò) HalUARTWrite 向串口 打印輸出。ZDO_STATE_CHANGE 和網(wǎng)絡(luò)狀態(tài)的改變相關(guān)在此事件中若為終端或路由節(jié)點(diǎn) 則發(fā)送用戶自定義的數(shù)據(jù)幀:FF 源節(jié)點(diǎn)短地址(16bit,調(diào)用 NLME_GetShortAddr()獲得)、父節(jié)點(diǎn)短地址(16bit,調(diào)用 NLME_GetCoordShortAddr())、節(jié)點(diǎn)編號(hào) ID(8bit,為長(zhǎng)地址的最低字節(jié),調(diào)用 NLME_GetExtAddr()獲得,在啟動(dòng)節(jié)點(diǎn)前應(yīng)先用 RFProgrammer 將非 0XFFFFFFFFFFFFFFFF 的長(zhǎng)地址寫(xiě)到 CC2530 芯片存放長(zhǎng)地址的寄存器中),協(xié)調(diào)器不做任何處理,只是等待數(shù)據(jù)的到來(lái)。終端和路由節(jié)點(diǎn)在用戶自定義的事件 MY_REPORT_EVT中 發(fā) 送 數(shù) 據(jù) 并 啟 動(dòng) 定 時(shí) 器 來(lái) 觸 發(fā) 下 一 次 的 MY_REPORT_EVT 事件,實(shí)現(xiàn)周期性的發(fā)送數(shù)據(jù)(發(fā)送數(shù)據(jù)的周期由宏定義 REPORT_DELAY 確定)。5 實(shí)驗(yàn)步驟
1.打開(kāi)工程文件夾協(xié)議棧實(shí)驗(yàn)2.多點(diǎn)自組網(wǎng)ProjectszstackSamplesSimpleAppCC2530DB下的工程文件 SimpleApp.eww。2.選擇工程
編譯,生成協(xié)調(diào)器代碼,并下載到 ZX2530A 開(kāi)發(fā)板。此節(jié)點(diǎn)為協(xié)調(diào)器節(jié)點(diǎn)。3.選擇工程
編譯,生成終端節(jié)點(diǎn)代碼,并下載到 ZX2530 開(kāi)發(fā)板。此節(jié)點(diǎn)為終端節(jié)點(diǎn)。4.選擇工程
編譯,生成路由器節(jié)點(diǎn)代碼,并下載到 ZX2530 開(kāi)發(fā)板,此節(jié)點(diǎn)為路由器節(jié)點(diǎn)。5.用串口線將協(xié)調(diào)器節(jié)點(diǎn)與 pc 連接起來(lái),在 pc 端打開(kāi) ZTOOL 程序。(ZTOOL 程序在 zstack 安裝后自動(dòng)安裝)6.開(kāi)啟 ZX2530A 型 CC2530 節(jié)點(diǎn)板電源。7.在 ZTOOL 程序中觀察組網(wǎng)結(jié)果。6 實(shí)驗(yàn)數(shù)據(jù)分析及結(jié)論
由接收數(shù)據(jù)的 DebugString 可以看出圖中有兩個(gè)節(jié)點(diǎn)加入了網(wǎng)了,其中一個(gè)節(jié)點(diǎn)的 DEVID 是21,網(wǎng)絡(luò)地址:4f07,父節(jié)點(diǎn)地址是 0 即協(xié)調(diào)器。另外一個(gè)節(jié)點(diǎn)的 DEVID 是 11,網(wǎng)絡(luò)地址:A6F7,父節(jié)點(diǎn)地址是 4f07 即上一節(jié)點(diǎn)。實(shí)驗(yàn)中可以試著改變不同節(jié)點(diǎn)的位置,然后通過(guò) ZTOOL 看看組網(wǎng)結(jié)果有什么不同。7 實(shí)驗(yàn)心得
這次實(shí)驗(yàn)感覺(jué)比原來(lái)的更有趣,可以在手機(jī)上看到無(wú)線連接的組網(wǎng),所以和同學(xué)們很有興趣,雖然只有幾個(gè)分支,但是幾個(gè)的通信還是可以清晰可見(jiàn)的。同時(shí)也讓我們看到了大型android手機(jī)的模樣,以前都是看成品,這次看的是半成品,感覺(jué)很有意思。在組網(wǎng)的過(guò)程中,遇到了一些問(wèn)題,剛開(kāi)始不知道如何解決,就問(wèn)同學(xué)和老師,有的是線的問(wèn)題,由于實(shí)驗(yàn)器材本身的問(wèn)題,導(dǎo)致一些松動(dòng)之類(lèi)的,但最后實(shí)驗(yàn)總算是順利的完成了。在這感謝幫助我的同學(xué)和老師。第四章 傳感器網(wǎng)絡(luò)綜合實(shí)驗(yàn)
Zigbee 節(jié)點(diǎn)控制程序設(shè)計(jì) 1.1 協(xié)調(diào)器節(jié)點(diǎn)工程
SimpleCoordinator 即協(xié)調(diào)器工程,如下圖
協(xié)調(diào)器的應(yīng)用功能代碼實(shí)現(xiàn)文件是 SimpleCoordinator.c 在工程文件夾 App 目錄下具體實(shí)現(xiàn)可參考源碼。按下鍵盤(pán)上的 F7 即個(gè)編譯協(xié)調(diào)器工程,編譯好之后可將代碼下載到協(xié)調(diào)器節(jié)點(diǎn)板。1.2 人體紅外傳感器節(jié)點(diǎn)工程
SimpleInfrared 即人體紅外傳感器工程,如下圖
人體紅外傳感器節(jié)點(diǎn)應(yīng)用控制代碼可參考工程目錄 App 下 SimpleInfrared.c 1.3 超聲波距離傳感器節(jié)點(diǎn)工程 SimpleDistanceSensor 即超聲波距離傳感器工程,如下圖
超聲波距離傳感器節(jié)點(diǎn)實(shí)現(xiàn)代碼可參考工程目錄 App 下
SimpleDistanceSensor.c。超聲波測(cè)距驅(qū)動(dòng)代碼請(qǐng)參考 ys-srf05.c 文件。
1.4 濕度傳感器節(jié)點(diǎn)工程
SimpleHumiditySensor 即濕度傳感器節(jié)點(diǎn)工程,如下圖
濕度傳感器應(yīng)用控制代碼可參考工程目錄 App 下SimpleHumiditySensor.c 文件,其濕度的測(cè)量驅(qū)動(dòng)可參考溫濕度傳感器驅(qū)動(dòng) dht11.c 文件
平臺(tái)控制操作 2.1 啟動(dòng)程序
1)安裝好程序后,打開(kāi) android 應(yīng)用程序面板,找到圖標(biāo) 點(diǎn)擊進(jìn)入程序。
2)直接點(diǎn)擊登錄按鈕,進(jìn)入到系統(tǒng)主界面。第一次進(jìn)入是系統(tǒng)會(huì)自動(dòng)連接到 zigbee 網(wǎng)關(guān)然后去搜索 zigbee 網(wǎng)絡(luò),默認(rèn)的 zigbee 網(wǎng)關(guān)地址為本機(jī) IP 地址,即 127.0.0.1。
3)如果你的 zigbee 網(wǎng)關(guān)地址不是本機(jī),則需要修改默認(rèn)網(wǎng)關(guān)地址。通過(guò)按下系統(tǒng)‘菜單’按鍵,會(huì)出現(xiàn)如下菜單,選擇‘設(shè)置’菜單,可以設(shè)置默認(rèn)的 zigbee 網(wǎng)關(guān)。如下圖:
4)設(shè)置好網(wǎng)關(guān)后,下次啟動(dòng)程序就不用再次設(shè)置了。2.2 搜索網(wǎng)絡(luò)
如果 zigbee 網(wǎng)關(guān)設(shè)置好,通過(guò)菜單選擇‘搜索網(wǎng)絡(luò)’就可以搜索 zigbee 網(wǎng)絡(luò)了,正常情況下至少會(huì)有一個(gè)協(xié)調(diào)器節(jié)點(diǎn),如果程序提示搜索不到網(wǎng)絡(luò),請(qǐng)檢查你的網(wǎng)絡(luò)連接和協(xié)調(diào)器是否正確連接。如果 zigbee 網(wǎng)絡(luò)上還有其它節(jié)點(diǎn),可以在網(wǎng)絡(luò) TOP 圖上一起顯示出來(lái)。如下,是一個(gè)zigbee 網(wǎng)絡(luò) TOP 圖:
圖中共有 7 個(gè)節(jié)點(diǎn),其中最上面那個(gè)是協(xié)調(diào)器節(jié)點(diǎn),其它為傳感器節(jié)點(diǎn),其中地址為 58229的燈光設(shè)備帶有路由功能,屬路由器節(jié)點(diǎn),它下面有兩個(gè)子節(jié)點(diǎn),分別為人體傳感器和溫度傳感器。2.3 傳感器節(jié)點(diǎn)操作
通過(guò)搜索到的 zigbee 網(wǎng)絡(luò) TOP 圖,可以了解整個(gè) zigbee 網(wǎng)絡(luò)的節(jié)點(diǎn)分布情況。通過(guò)點(diǎn)擊屏幕上相應(yīng)節(jié)點(diǎn)的圖標(biāo)可以進(jìn)入相關(guān)節(jié)點(diǎn)的控制和監(jiān)控操作。
下圖為溫度傳感器的監(jiān)控界面:
其它界面讀者可以自行實(shí)驗(yàn),并且去了解。
實(shí)驗(yàn)心得
四次實(shí)驗(yàn)完成了,雖然不能說(shuō)自己學(xué)到了很多吧,至少對(duì)這里面的一些操作有了一定的了解,本科生本來(lái)就是為了讓我們擴(kuò)充視角,知道更多的東西。無(wú)線傳感網(wǎng)絡(luò)真的感覺(jué)很神奇,也很有發(fā)展前景,這些高尖端的技術(shù),現(xiàn)在存在一些瓶頸,如果能夠突破,對(duì)物聯(lián)天下這個(gè)目標(biāo)將前進(jìn)了一大步,如果能夠把傳感器節(jié)點(diǎn)造的更節(jié)能,更低廉,更小巧,將會(huì)實(shí)現(xiàn)全球各個(gè)地方的實(shí)時(shí)數(shù)據(jù)采集,就可以得到更多的信息,為以后生產(chǎn)生活帶來(lái)巨大的改變。在收集的數(shù)據(jù)肯定是海量的,將需要其他學(xué)科的支撐,一起結(jié)合起來(lái),實(shí)現(xiàn)真的物物相聯(lián)。
第五篇:無(wú)線課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
擴(kuò)頻實(shí)驗(yàn)報(bào)告
學(xué) 院: 電子信息工程學(xué)院
專 業(yè): 通信工程 組員: 12211008 呂興孝 12211010 牟文婷 12211096 鄭羲 12211004 馮順 任課教師: 姚冬萍 1實(shí)驗(yàn)四 擴(kuò)頻實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)繕?biāo)
在本實(shí)驗(yàn)中你要基于labview+usrp平臺(tái)實(shí)現(xiàn)一個(gè)擴(kuò)頻通信系統(tǒng),你需要在對(duì)擴(kuò)頻技術(shù)有一定了解的基礎(chǔ)上編寫(xiě)程序,完成所有要求的實(shí)驗(yàn)任務(wù)。在這一過(guò)程中會(huì)讓你對(duì)擴(kuò)頻技術(shù)有更直接和感性的認(rèn)識(shí),并進(jìn)一步掌握在labview+usrp平臺(tái)上實(shí)現(xiàn)通信系統(tǒng)的技巧。
二、實(shí)驗(yàn)環(huán)境與準(zhǔn)備
軟件環(huán)境:labview 2012(或以上版本);
硬件環(huán)境:一套u(yù)srp和一臺(tái)計(jì)算機(jī);
實(shí)驗(yàn)基礎(chǔ):了解labview編程環(huán)境和usrp的基本操作;
知識(shí)基礎(chǔ):了解擴(kuò)頻通信的基本原理。
三、實(shí)驗(yàn)介紹
1、擴(kuò)頻通信技術(shù)簡(jiǎn)介
擴(kuò)頻通信技術(shù)是一種十分重要的抗干擾通信技術(shù),可以大大提高通信系統(tǒng)的抗干擾性能,在電磁環(huán)境越來(lái)越惡劣的情況下,擴(kuò)頻技術(shù)在諸多通信領(lǐng)域都有了十分廣泛的應(yīng)用。
擴(kuò)頻技術(shù)簡(jiǎn)單來(lái)講就是將信息擴(kuò)展到非常寬的帶寬上——確切地說(shuō),是比數(shù)據(jù)速率大得多的帶寬。在擴(kuò)頻系統(tǒng)中,發(fā)端用一種特定的調(diào)制方法將原始信號(hào)的帶寬加以擴(kuò)展,得到擴(kuò)頻信號(hào);然后在收端對(duì)接收到的擴(kuò)頻信號(hào)進(jìn)行解擴(kuò)處理,把它恢復(fù)為原始的窄帶信號(hào)。
擴(kuò)頻系統(tǒng)之所有具有較強(qiáng)的抗干擾能力,是因?yàn)榻邮斩嗽诮邮盏綌U(kuò)頻信號(hào)后,需要通過(guò)相關(guān)處理對(duì)接收信號(hào)進(jìn)行帶寬的壓縮,將其恢復(fù)成窄帶信號(hào)。對(duì)于干擾信號(hào)而言,由于與擴(kuò)頻信號(hào)不相關(guān),所以會(huì)被擴(kuò)展到很寬的頻帶上,使之進(jìn)入信號(hào)帶寬內(nèi)的干擾功率大幅下降,即增加了相關(guān)器輸出端的信號(hào)/干擾比。因此擴(kuò)頻系統(tǒng)對(duì)大多數(shù)人為干擾都具有很強(qiáng)的抵抗能力。
22、發(fā)射端程序簡(jiǎn)介
本實(shí)驗(yàn)包括發(fā)射端和接收端兩個(gè)主程序,其中發(fā)射端主程序top_tx的前面板如圖1所示。
圖1 發(fā)射端程序前面板
前面板上部的選項(xiàng)卡控件中可以配置各項(xiàng)參數(shù)。在硬件參數(shù)部分中可以配置usrp的ip地址、載波頻率等參數(shù);在信號(hào)參數(shù)部分中可以配置調(diào)制方式、設(shè)配采樣速率、成型濾波器等參數(shù);在信道模型參數(shù)部分中你可以選擇不同的信道模型并設(shè)置噪聲功率;在右側(cè)你可以設(shè)置擴(kuò)頻碼的長(zhǎng)度。在前面板下方為顯示界面,包括發(fā)送信號(hào)的時(shí)域/頻域波形以及星座圖和眼圖。
發(fā)射端的程序框圖主要由兩部分組成。
主程序框圖左側(cè)的transmitter子程序完成發(fā)射信號(hào)的生成、擴(kuò)頻、調(diào)制等功能,程序框圖如圖2所示。
3圖2 transmitter的程序框圖
3、接收端程序簡(jiǎn)介
接收端主程序top_rx的前面板如圖3所示。
圖3 接收端程序前面板
與發(fā)射端程序類(lèi)似,接收端主程序前面板上部為各項(xiàng)參數(shù)的輸入,例如硬件參數(shù)、擴(kuò)頻參數(shù)、同步參數(shù)等。前面板下部顯示生成的圖形,包括星座圖、眼圖、信噪比/誤碼率曲線等。接收端端的程序框圖也主要由兩部分組成。
主程序框圖右側(cè)的receiver.vi子程序主要完成發(fā)射信號(hào)的接受、同步、解擴(kuò)和解調(diào)等功能,程序框圖如圖3所示。4 圖3 receiver.vi 的程序框圖
matched filter子程序完成匹配濾波;其中rx init子程序是接收機(jī)的初始化;
synch子程序使同步模塊,完成收發(fā)同步;channel estimated子程序完成信道估計(jì);equalize子程序的作用是信道均衡;strip control子程序用來(lái)刪除控制信息,即訓(xùn)練序列;decode子程序?qū)崿F(xiàn)信號(hào)的解調(diào);de-dsss子程序用來(lái)實(shí)現(xiàn)解擴(kuò);error detect子程序的作用是計(jì)算誤碼率。
接收端主程序框圖的其他部分主要用來(lái)完成usrp的配置、計(jì)算信噪比/誤碼率曲線以及生成所需的圖形。
四、實(shí)驗(yàn)任務(wù)
1、ds-ss.vi子程序
ds-ss子程序的作用是對(duì)信源進(jìn)行直接擴(kuò)頻(direct sequence spread spectrum)。其原理是利用10個(gè)以上的chips來(lái)代表原來(lái)的0或1,使得原來(lái)較高功率、較窄的頻譜變成具有較寬頻的低功率頻譜,這種特性類(lèi)似于噪聲功率譜,因此接收端只有知道正確的擴(kuò)頻碼才能進(jìn)行正確的接收,進(jìn)而增加了傳輸?shù)目煽啃?。它是一種數(shù)字調(diào)制方法,具體說(shuō),就是將信源與一定的pn碼(偽隨機(jī)碼、chip)進(jìn)行同或運(yùn)算。例如,在發(fā)射端用11000100110代替1,用00110010110代替0,這個(gè)過(guò)程就實(shí)現(xiàn)了擴(kuò)頻。上述過(guò)程如圖4所示。
圖4 擴(kuò)頻的實(shí)現(xiàn)過(guò)程
前面板:
圖6 ds-ss前面板 ds-ss程序框圖:
圖7 ds-ss程序框圖
實(shí)驗(yàn)步驟:
1、首先產(chǎn)生所需長(zhǎng)度的偽隨機(jī)序列(pn序列): pn序列(pseudo-noise sequence)即偽噪聲序列,這類(lèi)序列具有類(lèi)似隨機(jī)噪聲的一些統(tǒng)計(jì)特性,但和真正的隨機(jī)信號(hào)不同,它可以重復(fù)產(chǎn)生和處理,故稱作
pn碼最見(jiàn)的用途是在擴(kuò)頻系統(tǒng)中用來(lái)擴(kuò)展信號(hào)頻譜;偽隨機(jī)噪聲序列。此外pn 碼也可以用來(lái)作為信源信息。
圖8 mt generate bits輸入輸出
其中total bits為生成的偽隨機(jī)序列的總長(zhǎng)度、pn sequence order用來(lái)設(shè)定pn序列的循環(huán)周期(如果pn sequence order設(shè)為n,則周期為)、seed in指定pn序列生成器移位寄存器的初始狀態(tài)(默認(rèn)為0xd6bf7df2);output bit stream為偽隨機(jī)序列的輸出。
此外mt generate bits函數(shù)還有user defined模式,在此模式下函數(shù)可以 根據(jù)用戶自定義的輸入序列生成所需長(zhǎng)度的循環(huán)序列。其輸入輸出如圖9所示:
圖9 user defined模式的輸入輸出 其中user base bit pattern為用戶指定的序列,控件會(huì)不斷循環(huán)用戶指定的序列output bit stream為生成序列的直到輸出序列的長(zhǎng)度達(dá)到total bits所設(shè)定的值。輸出。
本例中用到了三個(gè)mt generate bits函數(shù),分別用來(lái)生成保護(hù)序列、同步序列和信息序列。
2、利用產(chǎn)生的序列對(duì)信源序列進(jìn)行擴(kuò)展:
圖10 擴(kuò)頻模塊
輸入信源bit碼、pn擴(kuò)頻碼、誤差;輸出擴(kuò)頻碼、誤差。
72、de-dsss.vi子程序
de-dsss子程序的作用是在接收端實(shí)現(xiàn)對(duì)信號(hào)的解擴(kuò)。解擴(kuò)操作即擴(kuò)頻操作的逆過(guò)程。繼續(xù)使用上面的例子,當(dāng)你在發(fā)射端用11000100110代替1,而用00110010110代替0后,在接收機(jī)處只要把收到的序列是11000100110恢復(fù)成1,而00110010110恢復(fù)成0,這就是解擴(kuò)。上述過(guò)程如圖0所示。
圖11 解擴(kuò)的實(shí)現(xiàn)過(guò)程
前面板:
圖12 de-dsss前面板 de-dsss程序框圖:
圖13 de-dsss程序框圖
五、實(shí)驗(yàn)步驟:
1、產(chǎn)生所需長(zhǎng)度的并與發(fā)射端相同偽隨機(jī)序列(pn序列),同ds-ss;
2、然后利用產(chǎn)生的序列對(duì)接收信號(hào)進(jìn)行解擴(kuò):
輸入:將信源與pn序列通過(guò)“數(shù)組大小”模塊返回其長(zhǎng)度,相除得到的商作為搜索深度;輸入經(jīng)信道傳輸后的擴(kuò)頻碼、與發(fā)送端同步的擴(kuò)頻序列以及誤差。輸出得解擴(kuò)后碼序列以及誤差。
3、實(shí)驗(yàn)驗(yàn)證
在ds-ss子程序中,你可以手動(dòng)輸入一串0/1作為信源序列,并設(shè)置好pn序列的長(zhǎng)度(設(shè)為n)。單獨(dú)運(yùn)行ds-ss子程序,觀察輸出的序列長(zhǎng)度是否擴(kuò)展了n倍,并注意輸出序列中pn碼是否與相應(yīng)的0或者1對(duì)應(yīng)。驗(yàn)證成功的話便表明你的ds-ss子程序編寫(xiě)正確。并利用類(lèi)似的方法驗(yàn)證de-dsss子程序的正確性。
然后驗(yàn)證發(fā)射端主程序是否能正確的發(fā)射我們想要的擴(kuò)頻信號(hào)。首先正確的連接usrp并合理的配置發(fā)射端的各項(xiàng)參數(shù),運(yùn)行程序。
然后你可能會(huì)看到如圖
9至圖所示的發(fā)射信號(hào)時(shí)域波形和頻域波形。
圖14不擴(kuò)頻的時(shí)域信號(hào)
圖16擴(kuò)頻后的時(shí)域信號(hào)
圖17擴(kuò)頻后的頻域信號(hào) 圖15不擴(kuò)頻的頻域信號(hào)
10可以看出經(jīng)過(guò)擴(kuò)頻的發(fā)射信號(hào)與不經(jīng)過(guò)擴(kuò)頻的發(fā)射信號(hào)相比,在頻域上進(jìn)行
了展寬,在時(shí)域上變得更加密集。這與擴(kuò)頻的基本原理相符,說(shuō)明發(fā)射端的設(shè)計(jì)基本正確。
在接收端,我們需要使得參數(shù)能夠與發(fā)射端匹配,這樣才能正常的接收。特
別需要注意capture time、packet length和rx sample rate這幾個(gè)參數(shù),你首先需要理解它們的意義,這樣才能夠正確的配置它們。如果你在發(fā)射端沒(méi)有修改默認(rèn)參數(shù)的話,接收端的默認(rèn)參數(shù)恰好能夠與發(fā)射端匹配。你需要同時(shí)運(yùn)行發(fā)射端和接收端程序,在發(fā)射端正確運(yùn)行時(shí)觀察接收端能否正確接收。程序會(huì)計(jì)算當(dāng)前信噪比下的誤碼率,并逐漸增大信噪比、最終得出一條信噪比/誤碼率曲線,如圖3-4-11所示。你可能需要稍等一段時(shí)間才能夠看到程序運(yùn)行完成的結(jié)果。在接收端程序運(yùn)行的同時(shí),你可以進(jìn)入receiver子程序中的ber detected子程序,在里面觀察當(dāng)前信噪比接收到的數(shù)據(jù)數(shù)和誤碼數(shù),如圖3-4-12所示。
圖18誤碼率曲線 圖19運(yùn)行時(shí)的數(shù)據(jù)顯示
然后你可以嘗試改變收發(fā)端的各項(xiàng)參數(shù),觀察不同參數(shù)對(duì)運(yùn)行結(jié)果的影響。最后你需要按照要求完成實(shí)驗(yàn)報(bào)告。
六、實(shí)驗(yàn)結(jié)果 qpsk: 將usrp連接電腦,更改ip地址等參數(shù)。頻率使用915mhz避免干擾。如下圖20: 11 發(fā)送端前面板調(diào)制參數(shù)以及發(fā)送星座圖發(fā)送時(shí)域波形如下圖21:
發(fā)送端眼圖和發(fā)送端頻域波形如下,眼圖的尖銳程度和發(fā)送頻率有關(guān),如圖22:
接收端的硬件參數(shù)和誤碼率如下圖,如圖23:
接收端眼圖如圖24所示: bpsk: 調(diào)制參數(shù)如下: 14bpsk:發(fā)送端硬件參數(shù)
發(fā)送端星座圖:
接收端眼圖:
接收端星座圖及誤碼率曲線(信噪比較低):
五、實(shí)驗(yàn)擴(kuò)展
1、解釋接收端同步模塊的具體實(shí)現(xiàn)方式及其利用的基本原理。
(1)初始同步,或稱粗同步、捕獲。它主要解決載波頻率和碼相位的不確定性,保
證解擴(kuò)后的信號(hào)能通過(guò)相關(guān)器后面的中頻濾波器,這是所有問(wèn)題中最難解決的問(wèn)題。
(2)跟蹤,或稱精同步。
接收機(jī)對(duì)接收到的信號(hào),首先進(jìn)行搜索,對(duì)收到的信號(hào)與本地碼相位差的大小進(jìn)行判斷,若不滿足捕獲要求,即收發(fā)相位差大于一個(gè)碼元,則調(diào)整時(shí)鐘再進(jìn)行搜索。直到使收發(fā)相位差小于一個(gè)碼元時(shí),停止搜索,轉(zhuǎn)入跟蹤狀態(tài)。圖3-4-5同步流程圖
圖3-4-6跟蹤流程圖
2、擴(kuò)頻通信技術(shù)除了有較強(qiáng)的抗干擾能力外,還具有哪些優(yōu)點(diǎn)?逐一例舉出來(lái)并簡(jiǎn)述擴(kuò)頻技術(shù)具有這些優(yōu)點(diǎn)的原因。
(1)易于重復(fù)使用頻率,提高了無(wú)線頻譜利用率
無(wú)線頻譜十分寶貴,雖然從長(zhǎng)波到微波都得到了開(kāi)發(fā)利用,仍然滿足不了社會(huì)
17的需求。在窄帶通信中,主要依靠波道劃分來(lái)防止信道之間發(fā)生干擾。為此,世界各國(guó)都設(shè)立了頻率管理機(jī)構(gòu),用戶只能使用申請(qǐng)獲準(zhǔn)的頻率。擴(kuò)頻通信發(fā)送功率極低,采用了相關(guān)接收技術(shù),且可工作在信道噪聲和熱噪聲背景中,易于在同一地區(qū)重復(fù)使用同一頻率,也可與各種窄道通信共享同一頻率資源。所以,在美國(guó)及世界絕大多數(shù)國(guó)家,擴(kuò)頻通信無(wú)須申請(qǐng)頻率,任何個(gè)人與單位都可以無(wú)執(zhí)照使用。
(2)抗干擾性強(qiáng),誤碼率低
擴(kuò)頻通信在空間傳輸時(shí)所占用的帶寬相對(duì)較寬,而接收端又采用相關(guān)檢測(cè)的辦法來(lái)解擴(kuò),使有用寬帶信息信號(hào)恢復(fù)成窄帶信號(hào),而把非所需信號(hào)擴(kuò)展成寬帶信號(hào),然后通過(guò)窄帶濾波技術(shù)提取有用的信號(hào)。這樣,對(duì)于各種干擾信號(hào),因其在接收端的非相關(guān)性,解擴(kuò)后窄帶信號(hào)中只有很微弱的成分,信噪比很高,因此抗干擾性強(qiáng)。在商用的通信系統(tǒng)中,擴(kuò)頻通信是唯一能夠工作在負(fù)信噪比條件下的通信方式。
(3)隱蔽性好,對(duì)各種窄帶通信系統(tǒng)的干擾很小
由于擴(kuò)頻信號(hào)在相對(duì)較寬的頻帶上被擴(kuò)展了,單位頻帶內(nèi)的功率很小,信號(hào)湮沒(méi)在噪聲里,一般不容易被發(fā)現(xiàn),而想進(jìn)一步檢測(cè)信號(hào)的參數(shù)如偽隨機(jī)編碼序列就更加困難,因此說(shuō)其隱蔽性好。再者,由于擴(kuò)頻信號(hào)具有很低的功率譜密度,它對(duì)使用的各種窄帶通信系統(tǒng)的干擾很小。
(4)可以實(shí)現(xiàn)碼分多址
擴(kuò)頻通信提高了抗干擾性能,但付出了占用頻帶寬的代價(jià)。如果讓許多用戶共用這一寬頻帶,則可大大提高頻帶的利用率。由于在擴(kuò)頻通信中存在擴(kuò)頻碼序列的擴(kuò)頻調(diào)制,充分利用各種不同碼型的擴(kuò)頻碼序列之間優(yōu)良的自相關(guān)特性和互相關(guān)特性,在接收端利用相關(guān)檢測(cè)技術(shù)進(jìn)行解擴(kuò),則在分配給不同用戶碼型的情況下可以區(qū)分不同用戶的信號(hào),提取出有用信號(hào)。這樣一來(lái),在一寬頻帶上許多對(duì)用戶可以同時(shí)通話而互不干擾。
(5)抗多徑干擾
這兩種技術(shù)在擴(kuò)頻通信中都易于實(shí)現(xiàn)。利用擴(kuò)頻碼的自相關(guān)特性,在接收端從多徑信號(hào)中提取和分離出最強(qiáng)的有用信號(hào),或把多個(gè)路徑來(lái)的同一碼序列的波形相加合成,這相當(dāng)于梳狀濾波器的作用。另外,在采用頻率跳變擴(kuò)頻調(diào)制方式的擴(kuò)頻系統(tǒng)中,由于用多個(gè)頻率的信號(hào)傳送同一個(gè)信息,實(shí)際上起到了頻率分集的作用。
(6)能精確地定時(shí)和測(cè)距
電磁波在空間的傳播速度是固定不變的光速,人們自然會(huì)想到如果能夠精確測(cè)
18量電磁波在兩個(gè)物體之間的傳播時(shí)間,也就等于測(cè)量?jī)蓚€(gè)物體之間的距離。在擴(kuò)頻通信中如果擴(kuò)展頻譜很寬,則意味著所采用的擴(kuò)頻碼速率很高,每個(gè)碼片占用的時(shí)間就很短。當(dāng)發(fā)射出去的擴(kuò)頻信號(hào)在被測(cè)量物體反射回來(lái)后,在接收端解調(diào)出擴(kuò)頻碼序列,然后比較收發(fā)兩個(gè)碼序列相位之差,就可以精確測(cè)出擴(kuò)頻信號(hào)往返的時(shí)間差,從而算出兩者之間的距離。測(cè)量的精度決定于碼片的寬度,也就是擴(kuò)展頻譜的寬度。碼片越窄,擴(kuò)展的頻譜越寬,精度越高。
(7)適合數(shù)字話音和數(shù)據(jù)傳輸,以及開(kāi)展多種通信業(yè)務(wù)
擴(kuò)頻通信一般都采用數(shù)字通信、碼分多址技術(shù),適用于計(jì)算機(jī)網(wǎng)絡(luò),適合于數(shù)據(jù)和圖像傳輸。
(8)安裝簡(jiǎn)便,易于維護(hù)
擴(kuò)頻通信設(shè)備是高度集成,采用了現(xiàn)代電子科技的尖端技術(shù),因此,十分可靠、小巧,大量運(yùn)用后成本低,安裝便捷,易于推廣應(yīng)用。
3、偽隨機(jī)序列有許多種,例如m序列、gold序列、m序列等。嘗試使用不同的方法來(lái)產(chǎn)生偽隨機(jī)序列,并用其實(shí)現(xiàn)對(duì)信號(hào)的擴(kuò)頻。
(1)m序列是目前廣泛應(yīng)用的一種偽隨機(jī)序列,m序列每一周期中 1 的個(gè)數(shù)比 0 的個(gè)數(shù)多 1 個(gè)。狀態(tài)“0”或“1”連續(xù)出現(xiàn)的段稱為游程。游程中“0”或“1” m序列的一個(gè)周期(p=2^n-1)中,的個(gè)數(shù)稱為游程長(zhǎng)度。游程總數(shù)為 2^n-1,“0”、“1”
各占一半。2個(gè)彼此移位等價(jià)的相異m序列,按模2相加所得的序列仍為m序列,并與原m序列等價(jià)。
(2)gold序列g(shù)old碼序列是一種基于m序列的碼序列,具有較優(yōu)良的自相關(guān)和互相關(guān)特性,產(chǎn)生的序列數(shù)多。gold碼的自相關(guān)性不如m序列,具有三值自相關(guān)特性;互相關(guān)性比m序列要好,但還沒(méi)有達(dá)到最佳。是由兩個(gè)碼長(zhǎng)相等、碼時(shí)鐘速率相同的m序列優(yōu)選對(duì)通過(guò)模2相加而構(gòu)成的。
4、適當(dāng)?shù)脑谙到y(tǒng)中添加干擾,以驗(yàn)證擴(kuò)頻的良好的抗干擾能力。
強(qiáng)擴(kuò)頻通信系統(tǒng)擴(kuò)展的頻譜越寬,處理增益越高,抗干擾能力就越強(qiáng)。簡(jiǎn)單
地說(shuō),如果信號(hào)頻譜展寬10倍,那么干擾方面需要在更寬的頻帶上去進(jìn)行干擾,分散了干擾功率,從而在總功率不變的條件下,其干擾強(qiáng)度只有原來(lái)的1/10。另外,由于接收端采用擴(kuò)頻碼序列進(jìn)行相關(guān)檢測(cè),空中即使有同類(lèi)信號(hào)進(jìn)行干擾,如果不能檢測(cè)出有用信號(hào)的碼序列,干擾也起不了太大作用,因此抗干擾性能強(qiáng)是擴(kuò)頻通信的最突出的優(yōu)點(diǎn)。19 20