




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、*實踐教學*蘭州理工大學計算機與通信學院2013年春季學期嵌入式系統開發技術課程設計題 目: CC2530無線通信丟包率測試 專業班級: 通信工程4班 姓 名: 學 號: 指導教師: 成 績: 摘 要 隨著后PC機時代的到來,計算機的發展已經從以PC機為中心轉向了以嵌入式系統為中心的方向:嵌入式系統的迅猛發展和IA(信息電器)的不斷成熟使得其應用越來越廣泛。其中,嵌入式系統與網絡的結合也是當今發展的一大趨勢,而嵌入式網絡技術的產生正好迎合了這個趨勢。由于嵌入式系統的專用性強、體積小且價格低廉,因此嵌入式設備已經開始應用于智能家居系統、工業智能化從站系統、LED網絡控制顯示屏系統、網絡安全加密系
2、統等各個網絡相關領域。本設計是使用兩個CC2530模塊利用其板載無線天線,測試在不同環境或不同通信距離內,CC2530無線通信數據包丟失率。關鍵詞:嵌入式 無線通信 丟包率 目 錄前 言3一、基本原理11.1 無線通信概述11.2 CC2530 配置11.3 丟包率的測試與分析2二、系統分析42.1 程序流程圖42.2 具體步驟5三、詳細設計63.1 CC2530介紹6四、設計總結9五、附錄10六、參考文獻16七、致 謝17前 言 我國的無線通信產業通過短短幾十年的發展,已經發展到第三代和第四代移動通信技術,多種無線通信技術都得到了廣泛的應用是利用電磁波可以在自由空間中傳播的特性進行信息交換的
3、一種通信方式,由于無線通信技術具有成本廉價、建設工程周期短、適應性好、擴展性好、設備維護上更容易實現等諸多優點,所以近些年來是信息通信領域中,發展最快、應用最廣的。本課設設計一個簡單無線通信的應用,該設計可以用來測試不同環境或不同通信距離的誤碼率以及信號的強弱。完成本實驗需要兩個模塊,一個設置為發送模塊,一個設置為接收模塊;其中發送模塊主要是通過板上按鍵設置不同的發送參數,然后發送數據包。接收模塊接收發送模塊的數據包,然后計算誤碼率和信號的強度。一、基本原理1.1 無線通信概述 通信按傳輸媒體分為無線通信和有線通信兩大類。移動通信、衛星、微波、無線接入等都是無線通信,無線通信信號以電磁波的形式
4、通過空間傳送,具有信道不可預見性大,使用靈活、方便等特點。無線通信是通過無線信道來實現的,所以無線信道質量的好壞直接影響通信的質量。新一代的個人通信對通信時的傳輸速率和誤碼率有很高的要求,因此對于無線信道的研究有助于提高傳輸速率并降低誤碼率。無線信道是一個充滿復雜干擾的信道。由環境中的各種障礙物所引起的信號多徑傳播是其主要特點之一。同一發射機發射的電磁波向各個方向輻射,不同的波遇到不同的障礙物發生反射折射以及散射衍射等作用會使得波束到達接收機時的時間、幅度和相位均發生延遲與畸變,比如若發射一個窄脈沖經過無線信道后將在接收端收到一連串幅度和相位均不同的脈沖串,如果在這個期間內連續發射多個脈沖,將
5、在接收端產生混疊發生誤碼的幾率大大提高。另一個特點是多普勒效應。無線通信中的終端基本處于移動的狀態,這就導致了電磁波的多普勒效應。由于到達接收機的雜散波的方向相位均不同所引起的多普勒效應也不盡相同,更加惡化了接收信號。1.2 CC2530 配置本設計主要是在學會了配置CC2530 RF功能基礎上,一個簡單無線通信的應用,該設計可以用來測試不同環境或不同通信距離的誤碼率以及信號的強弱。完成本設計需要兩個模塊,一個設置為發送模塊,一個設置為接收模塊;其中發送模塊主要是通過板上按鍵設置不同的發送參數,然后發送數據包。接收模塊接收發送模塊的數據包,然后計算誤碼率和信號的強度。 其中按鍵功能分配如下:
6、SW1 - 開始測試(進入功能選擇菜單) SW2 - 設置功能加 SW3 - 設置功能減 SW4 - 確定按鈕 在每完成一個參數設置或選擇,都是通過SW4來確定,然后進入下一個參數設置,其中發送模式下的發送開始和停止也是通過SW4控制的。在測試中,接收模塊可以通過SW4來復位測試結果。 發送模塊需設置的參數有:1、信道選擇,802.15.4中2.4G頻段信道有16個。為信道11-26,對應的頻率為2405MHz到2480MHz。通過SW2和SW3可以對16個信道進行選擇。(注意,測試時要與接收模塊選擇相同的信道)。 2、發射功率設置,CC2530提供的發送功率有-3dBm、0dBm和4dBm三
7、種,通過SW2和SW3可以選擇發送模塊的不同發射功率。3、發送數據包數量設置,程序中提供的數據包數量有:1000、10000、100000和1000000四種,推薦測試時,選擇1000或10000即可。其中也是通過SW2和SW3來選擇的。 4、發送速度設置,發送速度即1s中發送數據包的個數。程序中提供5/S、10/S、20/S和50/S四種速度。通過SW2和SW3來選擇。 接收模塊只需要設置和發送模塊相同的信道即可。 接收模塊測量時顯示的信息有: 1.數據包丟失率(顯示為x/1000)。 2.信號強度(RSSI)。 3.收到的數據包個數。 其中LED1為工作指示燈,當工作不正常時,LED2將為
8、亮狀態。1.3 丟包率的測試與分析 在我們網絡上形成的數據包通過途徑傳輸到另一個數據庫上面,一般通過網絡傳輸的過程中會因為一些原因比如距離過大而產生小部分數據包被丟失,而大部分數據包被成功傳輸到終端數據庫上。這樣就形成了一個網絡丟包的過程。而其中丟包的大小和傳輸數據包的大小就是網絡丟包率。比如工廠在A地買了一車貨,然后運送到B地,其中因為搬運工搬運和其他原因造成這批貨和在A地的所測量的數值要少一些,這個過程就是被丟失的貨物,也就是網絡中網絡丟包,而丟失的貨物和貨物的總量的比值就是網絡丟包率。通常這些只是磨損消耗,屬于很正常的。網絡丟包率怎樣解決呢?主要有以下幾個方面。1、物理線路故障 如果是物
9、理線路故障所造成網絡丟包現象,則說明故障是由線路供應商提供的線路引起的,需要與線路供應商聯系盡快解決問題。聯系你的服務商來解決網絡丟包很嚴重的情況。2、設備故障 設備方面主要包括軟件設置不當、網絡設備接口及光纖收發器故障造成的。這種情況會導致交換機端口處于死機狀態。那么可以將你的光纖模塊更換掉,換一條新的模塊替換掉。3、網絡被堵塞、擁堵當網絡不給力的時候,在通過網絡傳輸數據,就會將網絡丟包更多,一般是路由器被占用大量資源造成的。解決方法就是這時應該show process cpu和show process mem,一般情況下發現IP input process占用過多的資源。接下來可以檢查fa
10、st switching在大流量外出端口是否被禁用,如果是,則需要重新使用。用show interfaces和show interfaces switching命令識別大量包進出的端口。一旦確認進入端口后,打開IP accounting on the outgoing interface看其特征,如果是攻擊,源地址會不斷變化但是目的地址不變,可以用命令“access list”暫時解決此類問題。4、路由錯誤網絡中的路由器的路徑錯誤也是會導致數據包不能正常傳輸到主機數據庫上這種情況屬于正常狀況,它所丟失的數據也是很小的。所以用戶可以忽略這些數據丟包,而且這也是避免不了的。二、系統分析2.1 程序
11、流程圖開始系統時鐘和外圍設備初始化RF初始化SW1是否按下?信道設置是否按下SW2或SW3?發射功率設置開啟接收功發送數據包數量設置是否接收到數發送速度設置關閉接收功能數據計算是否按下計算結果清零是否使能32K定時器?定時發送數據結果顯示 2.2 具體步驟 1. 給智能主板供電(USB外接電源或2節干電池)。2. 將兩個無線節點模塊分別插入到兩個帶LCD的智能主板的相應位置。3、將2.4G的天線安裝在無線節點模塊上。 4、將CC2530仿真器的一端通過USB線(A型轉B型)連接到 PC 機,另一端通過10Pin下載線連接到智能主板的CC2530 JTAG口(J203)。 5、將智能主板上電源開
12、關撥至開位置。按下仿真器上的按鈕,仿真器上的指示燈為綠色時,表示連接成功。 6、使用IAR7.51打開“OURS_CC2530LIBlib12(PER Test) IAR_files”下的PER Test.eww文件,下載程序。 7、關掉智能主板上電源,拔下仿真器,按4、5步驟對另一個模塊下載程序。 8、打開兩個模塊的電源,當LED1處于亮時,按下SW1進入下級菜單,按SW2和SW3對通信信道進行選擇(兩個模塊必須設置相同的信道)。選定后,按SW4進入下一個設置。 9、一個模塊按下SW3設置為接收模式,按下SW4確定。接收模塊設置完成(此時接收模塊已經處于接收待命狀態)。 10、另一個模塊按下
13、SW2設置為發送模式,按下SW4確定進入下一個設置。 11、使用SW2和SW3對發送模塊發射功率選擇,選定后,按SW4進入下一個設置。 12、使用SW2和SW3對發送模塊發射數據包數量選擇,選定后,按SW4進入下一個設置。 13、使用SW2和SW3對發送模塊發射速度選擇,選定后,按SW4進入發送準備狀態。 14、將發送和接收模塊安放在不同的地方,按下發送模塊的SW4開始發送數據(再次按下將停止發送)。觀察接收模塊的測試結果(此時按下接收模塊的SW4,將會清除測試結果)。 15、改變兩個模塊的位置,再次測量,觀察測量結果。 注:如果需要重新設置模塊的收發功能,按復位按鍵。 三、詳細設計3.1 C
14、C2530介紹 3.1.1 CC2530概述CC2530 是用于2.4-GHz、ZigBee 和RF4CE 應用的一個真正的(SoC)解決方案。它能夠以非常低的總的材料成本建立強大的。CC2530 結合了領先的RF 收發器的優良性能,業界標準的增強型8051 CPU,系統內可編程閃存,8-KB RAM 和許多其他強大的功能。CC2530 有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB 的閃存。CC2530 具有不同的運行模式,使得它尤其適應超低功耗要求的系統。運行模式之間的轉換時間短進一步確保了低能源消耗。CC2530F256 結合了德州
15、儀器的業界領先的黃金單元ZigBee(Z-Stack),提供了一個強大和完整的ZigBee 解決方案。CC2530F64 結合了德州儀器的黃金單元RemoTI,更好地提供了一個強大和完整的ZigBee RF4CE解決方案。3.1.2引腳描述引腳名稱 引腳 引腳類型 描述AVDD1 28 電源(模擬) 2-V3.6-V 模擬電源連接AVDD2 27 電源(模擬) 2-V3.6-V 模擬電源連接AVDD3 24 電源(模擬) 2-V3.6-V 模擬電源連接AVDD4 29 電源(模擬) 2-V3.6-V 模擬電源連接AVDD5 21 電源(模擬) 2-V3.6-V 模擬電源連接AVDD6 31 電
16、源(模擬) 2-V3.6-V 模擬電源連接DCOUPL 40 電源(數字) 1.8V 數字電源去耦。不使用外部電路供應。DVDD1 39 電源(數字) 2-V3.6-V 數字電源連接DVDD2 10 電源(數字) 2-V3.6-V 數字電源連接GND - 接地 接地襯墊必須連接到一個堅固的接地面。GND 1,2,3,4 未使用的連接到GNDP0_0 19 數字I/O 端口0.0P0_1 18 數字I/O 端口0.1P0_2 17 數字I/O 端口0.2P0_3 16 數字I/O 端口0.3P0_4 15 數字I/O 端口0.4P0_5 14 數字I/O 端口0.5P0_6 13 數字I/O 端
17、口0.6P0_7 12 數字I/O 端口0.7P1_0 11 數字I/O 端口1.0-20-mA 驅動能力P1_1 9 數字I/O 端口1.1-20-mA 驅動能力P1_2 8 數字I/O 端口1.2P1_3 7 數字I/O 端口1.3P1_4 6 數字I/O 端口1.4P1_5 5 數字I/O 端口1.5P1_6 38 數字I/O 端口1.6P1_7 37 數字I/O 端口1.7P2_0 36 數字I/O 端口2.0P2_1 35 數字I/O 端口2.1P2_2 34 數字I/O 端口2.2P2_3 33 數字I/O 模擬端口2.3/32.768 kHz XOSCP2_4 32 數字I/O
18、模擬端口2.4/32.768 kHz XOSCRBIAS 30 模擬I/O 參考電流的外部精密偏置電阻RESET_N 20 數字輸入 復位,活動到低電平RF_N 26 RF I/O RX 期間負RF 輸入信號到LNARF_P 25 RF I/O RX 期間正RF 輸入信號到LNAXOSC_Q1 22 模擬I/O 32-MHz 晶振引腳1或外部時鐘輸入XOSC_Q2 23 模擬I/O 32-MHz 晶振引腳23.1.3功能介紹RF/布局適應2.4-GHz IEEE 802.15.4 的RF 收發器極高的接收靈敏度和抗干擾性能可編程的輸出功率高達4.5 dBm只需極少的外接元件只需一個晶振,即可滿
19、足網狀網絡系統需要6-mm 6-mm 的QFN40適合符合世界范圍的無線電頻率法規:ETSI EN 300 328 和EN 300440(),FCC CFR47 第15 部分()和ARIB STD-T-66()低功耗主動模式RX(CPU 空閑):24 mA主動模式TX 在1dBm(CPU 空閑):29mA供電模式1(4 s 喚醒):0.2 mA供電模式2(睡眠運行):1 A供電模式3():0.4 A寬電源電壓范圍(2 V3.6 V)微控制器優良的性能和具有代碼預取功能的低功耗8051 微控制器內核32-、64-或128-KB 的系統內可編程閃存8-KB RAM,具備在各種供電方式下的數據保持能
20、力支持硬件調試外設強大的5 通道DMAIEEE 802.5.4 MAC,通用定時器(一個16 位定時器,一個8 位定時器)IR 發生電路具有捕獲功能的32-kHz 睡眠硬件支持支持精確的RSSI/LQI電池和溫度傳感器具有8 路輸入和可配置分辨率的12 位ADCAES 安全協處理器2 個支持多種的強大USART21 個通用I/O(194 mA,220 mA)四、設計總結 本學期為期三周的嵌入式課程設計在不知不覺中結束了,雖說這次課程設計時間不是很長,但是感覺自己收獲頗豐,不僅學習到了一些新知識,回顧了以前的一些快要遺忘的知識點,而且使自己的學習目標更加明確,學習方法更加完善,也體會到軟件開發的
21、趣味,更加清楚地認識到了自己在軟件開發及學習上的一些不足之處。下面就來詳細寫一下我關于此次課程設計的總結: 此次課程設計給老師選擇項目是在Linux下用C語言開發一個程序。項目的實施方式是團隊分組合作,共同完成,雖說一些些技術我們在課堂上也曾學習過,但是大多停留在理論學習上,實際開發很少,而這次課程設計給了我們一個很好的邊學習邊實踐的機會,對我們深入學習這些技術有很大幫助,深刻體會到了這些技術的實用性。每當自己成功調試一段代碼或者通過自己的努力克服一個技術困難,都頗有收獲感。這次實訓讓我們體驗了軟件開發的全過程,發現自己的不足,了解了當前流行技術的軟件開發,增加了一定的項目開發經驗,增強了一定
22、的就業競爭力。 五、附錄#include hal_board.h #include hal_int.h #include hal_mcu.h #include hal_rf.h #include basic_rf.h #include LCD.h #define RF_CHANNEL 25 / 2.4 GHz RF 使用信道25 #define PAN_ID 0x2011 /通信PANID #define SWITCH_ADDR 0x2530 /開關模塊地址 #define LIGHT_ADDR 0xBEEF /燈模塊地址 #define APP_PAYLOAD_LENGTH 1 /命令長度
23、#define LIGHT_TOGGLE_CMD 0 /命令數據 / 應用狀態 #define IDLE 0 #define SEND_CMD 1 /應用角色 #define NONE 0 #define SWITCH 1 #define LIGHT 2 #define APP_MODES 2 /按鍵 #define HAL_BUTTON_1 1 #define HAL_BUTTON_2 2 #define HAL_BUTTON_3 3 #define HAL_BUTTON_4 4 #define HAL_BUTTON_5 5 #define HAL_BUTTON_6 6 static uin
24、t8 pTxDataAPP_PAYLOAD_LENGTH; /發送數據數組 164 static uint8 pRxDataAPP_PAYLOAD_LENGTH; /接收數據數組 static basicRfCfg_t basicRfConfig; /RF初始化結構體 extern void halboardinit(void); /硬件初始化函數 extern void ctrPCA9554FLASHLED(uint8 led); /IIC燈控制函數 extern void ctrPCA9554LED(uint8 led,uint8 operation); extern uint8 halk
25、eycmd(void); /獲取按鍵值函數 #ifdef SECURITY_CCM /安全密鑰 static uint8 key= 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, ; #endif static void appLight(); /燈應用處理函數 static void appSwitch(); /開關應用處理函數 static uint8 appSelectMode(void); /應用功能選擇函數 /* * 函數名稱:appLigh
26、t * 功能描述:接收模式應用函數,初始化RF一些參數,接收另一個模塊發送的控制命令,然后控制相應的LED燈 * 參 數:無 * 返 回 值:無 */ static void appLight() basicRfConfig.myAddr = LIGHT_ADDR; /設置接收模塊的地址 if(basicRfInit(&basicRfConfig)=FAILED) /RF初始化 ctrPCA9554FLASHLED(5); /RF初始化不成功,則所有的LED5閃爍 basicRfReceiveOn(); /打開接收功能 / Main loop while (TRUE) while(!basic
27、RfPacketIsReady(); /準備接收數據 if(basicRfReceive(pRxData, APP_PAYLOAD_LENGTH, NULL)0) /接收數據 if(pRxData0 = LIGHT_TOGGLE_CMD) /判斷命令是否正確 ctrPCA9554FLASHLED(1); /關閉或打開LED1 /* * 函數名稱:appSwitch * 功能描述:發送模式應用函數,初始化發送模式RF,通過按下SW4向另一個模塊發送控制命令。 * 參 數:無 * 返 回 值:無 */ static void appSwitch() pTxData0 = LIGHT_TOGGLE_
28、CMD; /向發送數據中寫入命令 basicRfConfig.myAddr = SWITCH_ADDR; /設置發送模塊的地址 if(basicRfInit(&basicRfConfig)=FAILED) /RF初始化 ctrPCA9554FLASHLED(5); /RF初始化不成功,則所有的LED5閃爍 basicRfReceiveOff(); /關閉接收功能 / Main loop while (TRUE) if(halkeycmd() = HAL_BUTTON_4) /判斷是否按下SW4 basicRfSendPacket(LIGHT_ADDR, pTxData, APP_PAYLOAD
29、_LENGTH);/發送數據 halIntOff(); /關閉全局中斷 halIntOn(); /打開中斷 /* * 函數名稱:appSelectMode * 功能描述:通過SW2或SW3選擇模塊的應用模式。 * 參 數:無 * 返 回 值:LIGHT - 接收模式 * SWITCH - 發送模式 * NONE - 不正確模式 */ static uint8 appSelectMode(void) uint8 key; GUI_ClearScreen(); /LCD清屏 GUI_PutString5_7(25,6,OURS-CC2530); /在LCD上顯示相應的文字 GUI_PutStrin
30、g5_7(10,22,Device Mode: ); GUI_PutString5_7(10,35,SW2 - Light); GUI_PutString5_7(10,48,SW3 - Switch); LCM_Refresh(); do key = halkeycmd(); while(key = HAL_BUTTON_1); /等待模式選擇 if(key = HAL_BUTTON_2) /接收模式 GUI_ClearScreen(); GUI_PutString5_7(25,6,OURS-CC2530); /在LCD上顯示相應的文字 GUI_PutString5_7(10,22,Devic
31、e Mode: ); GUI_PutString5_7(10,35,Light); LCM_Refresh(); return LIGHT; if(key = HAL_BUTTON_3) /發送模式 GUI_ClearScreen(); GUI_PutString5_7(25,6,OURS-CC2530); /在LCD上顯示相應的文字 GUI_PutString5_7(10,22,Device Mode: ); GUI_PutString5_7(10,35,Switch); GUI_PutString5_7(10,48,SW4 Send Command); LCM_Refresh(); return SWITCH; return NONE; /* * 函數名稱:main * 功能描述:通過不同的按鍵,設置模塊的應用角色(接收模式或發送模式)。通過SW4發送控制命令 * 參 數:無 * 返 回 值:無 */ void main(void) uint8 appMode = NONE; /應用職責(角色)初始化 basicRfConfig.panId = PAN_ID; /配置PANID 2011 basicRfConfig.channel = RF_CHANNEL;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產服裝購銷合同協議
- 電力護線用工合同協議
- 電子保理付款服務合同協議
- 瑕疵客戶購車合同協議
- 電腦購置電腦合同協議
- 電動汽車消費合同協議
- 現金合作協議合同協議
- 生產委托運營合同協議
- 生態豬銷售合同協議
- 甜品店租賃合同協議
- 創傷急救知識課件
- 專題13 統計與概率-【好題匯編】五年(2020-2024)高考數學真題分類匯編(含答案解析)
- 國家開放大學本科(非英語專業)學士學位英語統一考試樣題
- GB/T 44273-2024水力發電工程運行管理規范
- DB65-T 4765-2024 農牧區標準化羊場建設規范
- 城軌行車課程設計
- 2024年南京市中考歷史試題及答案
- 2024羽毛球教案36課時
- A類供應商績效評價表
- 攝影攝像知識競賽考試題庫500題(含答案)
- 2024至2030年中國丹參行業市場發展監測及投資潛力預測報告
評論
0/150
提交評論