版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、物聯(lián)網(wǎng)實(shí)訓(xùn)開發(fā) 2012年12月CC2530 基礎(chǔ)實(shí)驗(yàn)6.1 CC2530簡介6.1. 1 CC2530概述圖1-1 的方塊圖列出了CC2530的內(nèi)部構(gòu)造模塊。 1.1 CPU和存儲(chǔ)器CC2530芯片中使用的是8051CPU核心是一個(gè)單周期的8051兼容核心。它有3個(gè)不同的存儲(chǔ)器訪問總線(特殊功能寄存器SFR、數(shù)據(jù)DATA和代碼/外部數(shù)據(jù)CORE/XDATA),單周期訪問SFR,DATA和主SRAM,它還包含一個(gè)調(diào)試接口和擴(kuò)展的18路輸入中斷單元。中斷控制器共有18個(gè)中斷源,分為6個(gè)中斷組,每個(gè)中斷組賦值為4個(gè)中斷優(yōu)先級(jí)之一。當(dāng)該設(shè)備處于空閑模式,任何的中斷可以把CC2530恢復(fù)到主動(dòng)模式。某
2、些中斷還可以將設(shè)備從睡眠模式(功耗模式1-3)喚醒。存儲(chǔ)器交叉開關(guān)/仲裁是位于系統(tǒng)核心,它通過SFR總線將CPU和DMA控制器與物理存儲(chǔ)器和所有的外接設(shè)備連接起來。存儲(chǔ)器仲裁有4個(gè)存儲(chǔ)器訪問點(diǎn),訪問可以被映射到3個(gè)物理存儲(chǔ)器中的一個(gè):1個(gè)8KB SRAM,F(xiàn)lash存儲(chǔ)器和XREG/SFR存儲(chǔ)器。存儲(chǔ)器仲裁負(fù)責(zé)訪問到一個(gè)物理存儲(chǔ)器的同步存儲(chǔ)器訪問進(jìn)行仲裁和排序。8KB SRAM映射到數(shù)據(jù)存儲(chǔ)空間和部分外部數(shù)據(jù)存儲(chǔ)空間。8KB SRAM是一個(gè)超低功耗的SRAM,甚至當(dāng)數(shù)字部分掉電后(功耗模式2和3)它也能保持它的數(shù)據(jù)。對(duì)于低功耗應(yīng)用,這是一個(gè)很重要的特性。 1.2 時(shí)鐘和電源管理數(shù)字內(nèi)核和外部設(shè)
3、備由一個(gè)1.8V低差穩(wěn)壓供電。它提供了電源管理功能,可以實(shí)現(xiàn)使用不同的功耗模式以達(dá)到低功耗運(yùn)行,來延長電池壽命。復(fù)位設(shè)備有5種不同的復(fù)位電源。 1.3 外部設(shè)備CC2530包括許多不同的外部設(shè)備,使得應(yīng)用程序開發(fā)者可以進(jìn)行高級(jí)應(yīng)用程序開發(fā)。調(diào)試接口實(shí)現(xiàn)了一個(gè)專用的兩線串行接口來進(jìn)行調(diào)試。通過調(diào)試接口可以對(duì)Flash存儲(chǔ)器進(jìn)行全片擦除,控制啟動(dòng)哪一個(gè)振蕩器,停止和開始執(zhí)行用戶程序,在8051內(nèi)核上執(zhí)行供電指示,設(shè)置代碼斷點(diǎn),在代碼中通過指令進(jìn)行單步調(diào)試。利用這些特性可以完美的實(shí)現(xiàn)在電路調(diào)試和外部Flash編程。CC2530包含用于存儲(chǔ)程序代碼的Flash存儲(chǔ)器。通過調(diào)試接口用軟件可以對(duì)Flash
4、存儲(chǔ)器進(jìn)行編程。Flash控制器處理對(duì)嵌入式Flash存儲(chǔ)器的寫和擦除。Flash 控制器允許頁擦除和4字節(jié)擦除。I/O控制器負(fù)責(zé)所有通用I/O引腳。CPU可以配置某些引腳是否外部設(shè)備模塊控制、由軟件控制每個(gè)引腳的輸入和輸出,每個(gè)引腳上單獨(dú)使能CPU中斷。每個(gè)連接到I/O引腳的外部設(shè)備可以在兩種不同的I/O引腳位置進(jìn)行選擇以確保在各種應(yīng)用中的靈活性。系統(tǒng)能有一個(gè)通用的5通道的DMA控制器,并且使用外部數(shù)據(jù)存儲(chǔ)器空間來訪問存儲(chǔ)器,因此可以訪問所有物理存儲(chǔ)器。每個(gè)通道可以在存儲(chǔ)器的任何位置用DMA描述來配置(觸發(fā)、優(yōu)先順序、傳輸模式、尋址方式、源指針和目的指針、傳輸計(jì)數(shù))。很多硬件外接設(shè)備(AES
5、核心、Flash控制器、USART、定時(shí)器、ADC接口)依靠DMA控制器在SFR或XREG地址和Flash/SRAM之間的數(shù)據(jù)傳輸來有效運(yùn)行。定時(shí)器1是一個(gè)16位的定時(shí)器,具有定時(shí)器/計(jì)數(shù)器/脈寬調(diào)制功能。它有一個(gè)可編程的分頻器,1個(gè)16為周期值和4個(gè)單獨(dú)可編程計(jì)數(shù)器/捕獲通道,每一個(gè)通道有一個(gè)16位比較值。圖1-1 CC2530方塊圖每個(gè)計(jì)數(shù)器/捕獲通道可以用來當(dāng)作PWM輸出或用來捕捉輸入信號(hào)的邊沿時(shí)間,它還可以在IR產(chǎn)生模式里進(jìn)行配置,用來計(jì)算定時(shí)器3的周期,輸出是同定時(shí)器3的輸出相與,以產(chǎn)生具有最小CPU相互影響的已調(diào)制的用戶IR信號(hào)。定時(shí)器2(MAC 定時(shí)器)是為支持一個(gè)IEEE 80
6、2.15.4 MAC或其他軟件中時(shí)間跟蹤協(xié)議而特別設(shè)計(jì)的。該定時(shí)器具有一個(gè)可配置時(shí)間周期和一個(gè)可以用來記錄已經(jīng)發(fā)生的周期數(shù)軌道的8位溢出計(jì)數(shù)器。它還有一個(gè)16位捕捉寄存器,用來記錄一個(gè)幀的開始定界符接收/發(fā)送的精確時(shí)間或者傳輸完成的精確時(shí)間,以及一個(gè)可以在特定時(shí)間對(duì)無線模塊產(chǎn)生的各種命令選通信號(hào)的16位輸出比較寄存器。定時(shí)器3和定時(shí)器4是8位定時(shí)器,具有定時(shí)器/計(jì)數(shù)器/PWM功能。它們有一個(gè)可編程的分頻器,一個(gè)8位周期值和一個(gè)具有8位比較值的可編程計(jì)數(shù)信道。每一個(gè)計(jì)數(shù)信道可以被用來當(dāng)作PWM輸出。睡眠定時(shí)器是一個(gè)超低功耗定時(shí)器,計(jì)數(shù)32KHz晶體振蕩器或32KHz RC振蕩器周期。睡眠定時(shí)器在
7、所有運(yùn)行模式下(除了功耗模式3)都可以連續(xù)運(yùn)行。睡眠定時(shí)器的典型應(yīng)用是被當(dāng)作一個(gè)實(shí)時(shí)計(jì)數(shù)器,或者被當(dāng)作一個(gè)喚醒定時(shí)器來離開功耗模式1或2,。ADC在理想的32KHz40KHz帶寬下支持712位的分辨率。直流和音頻轉(zhuǎn)換最多可達(dá)8個(gè)輸入通道。輸入可以被選擇為單端輸入或者差分輸入。參考電壓可以是內(nèi)部AVDD,或者一個(gè)單端或者差分外部信號(hào)。ADC也有溫度傳感器輸入通道。ADC可以自動(dòng)操作定時(shí)器采樣過程或者通道序列轉(zhuǎn)換過程。隨機(jī)數(shù)發(fā)生器使用一個(gè)16位線性反饋移位寄存器(LFSR)來產(chǎn)生隨機(jī)數(shù),它可以被CPU讀取或者被命令選通處理器直接使用。隨機(jī)數(shù)可以被用來安全機(jī)制所需要產(chǎn)生的隨機(jī)數(shù)密鑰。AES加密/解密
8、核心允許用戶128位密鑰的AES算法來加解密數(shù)據(jù)。該核心可以支持IEEE802.15.4 MAC安全、ZigBee網(wǎng)絡(luò)層和應(yīng)用層所需要的AES操作。內(nèi)置看門狗定時(shí)器允許CC2530在固件掛起時(shí)復(fù)位自己。當(dāng)通過軟件使能時(shí),看門狗定時(shí)器必須被周期性擦除,否則時(shí)間一到它就會(huì)復(fù)位設(shè)備。或者它可以被配置為作為一般32KHz定時(shí)器使用。USART0和USART1均可以配置為一個(gè)主/從SPI或一個(gè)UART。它們提供在接收和發(fā)送時(shí)的雙緩沖和硬件流控制,因而非常適合于大吞吐量的全雙工應(yīng)用。每一個(gè)都有它自己的高精度的波特率發(fā)生器,因此可以解放普通計(jì)數(shù)器出來其他用途。1.1.4 無線CC2530具有一個(gè)IEEE80
9、2.15.4標(biāo)準(zhǔn)的無線收發(fā)器。RF核心控制模擬無線模塊。另外,它為MCU和無線之間提供了一個(gè)接口,以使得可以發(fā)送命令、讀取狀態(tài)、自動(dòng)操作和對(duì)無線事件進(jìn)行排序。無線部分還包括一個(gè)數(shù)據(jù)包過濾和地址識(shí)別模塊。6.1.2 引腳和I/O端口配置 CC2530引腳對(duì)應(yīng)的功能如表1-1所示。表1-1 引腳功能表引腳名稱引腳號(hào)引腳類型描述AVDD128電源(模擬)2.0-3.6V模擬電源供電AVDD227電源(模擬)2.0-3.6V模擬電源供電AVDD324電源(模擬)2.0-3.6V模擬電源供電AVDD429電源(模擬)2.0-3.6V模擬電源供電AVDD521電源(模擬)2.0-3.6V模擬電源供電AVD
10、D631電源(模擬)2.0-3.6V模擬電源供電DCOUPL40電源(數(shù)字)1.8V數(shù)字電源供電退耦。提供外部電路未使用DVDD139電源(數(shù)字)2.0-3.6V數(shù)字電源供電DVDD210電源(數(shù)字)2.0-3.6V數(shù)字電源供電GND-地芯片底部焊盤必須連接到PCB的接地層GND1,2,3,4未使用連接到底P0_019數(shù)字I/O口端口P0_0P0_118數(shù)字I/O口端口P0_1P0_217數(shù)字I/O口端口P0_2P0_316數(shù)字I/O口端口P0_3P0_415數(shù)字I/O口端口P0_4P0_514數(shù)字I/O口端口P0_5P0_613數(shù)字I/O口端口P0_6P0_712數(shù)字I/O口端口P0_7P1
11、_011數(shù)字I/O口端口P1_0P1_19數(shù)字I/O口端口P1_1P1_28數(shù)字I/O口端口P1_2P1_37數(shù)字I/O口端口P1_3P1_46數(shù)字I/O口端口P1_4P1_55數(shù)字I/O口端口P1_5P1_638數(shù)字I/O口端口P1_6P1_737數(shù)字I/O口端口P1_7P2_036數(shù)字I/O口端口P2_0P2_135數(shù)字I/O口端口P2_1P2_234數(shù)字I/O口端口P2_2P2_3/XOSC32K_Q233數(shù)字模擬I/O口端口P2_3/32.768KHz XOSCP2_4/XOSC32K_Q132數(shù)字模擬I/O口端口P2_4/32.768KHz XOSCRESET_N20數(shù)字輸入復(fù)位,低
12、有效RF_N26射頻I/O口RF接收期間負(fù)RF輸入信號(hào)到LNA發(fā)送期間負(fù)RF從PA輸出信號(hào)RF_P25射頻I/O口RF接收期間負(fù)RF輸入信號(hào)到LNA發(fā)送期間負(fù)RF從PA輸出信號(hào)XOSC_Q122模擬I/O口32MHZ晶體振蕩器引腳1或外部時(shí)鐘輸入XOSC_Q234模擬I/O口32MHZ晶體振蕩器引腳26.1.3 特殊功能寄存器CC2530的特殊功能寄存器(SFR)用來控制8051CPU內(nèi)核以及外設(shè)I/O。其中一部分寄存器同標(biāo)準(zhǔn)的51單片機(jī),而另一部分不同于標(biāo)準(zhǔn)的51單片機(jī),用來控制外設(shè)單元及RF收發(fā)器。特殊功能寄存器如下表:表1-2 特殊功能寄存器1寄存器名稱SFR地址模塊描述ADCCON10
13、XB4ADC模數(shù)轉(zhuǎn)換控制1ADCCON20XB5ADC模數(shù)轉(zhuǎn)換控制2ADCCON30XB6ADC模數(shù)轉(zhuǎn)換控制3ADCL0XBAADCADC低位數(shù)據(jù)ADCH0XBBADCADC高位數(shù)據(jù)RNDL0XBCADC隨機(jī)數(shù)發(fā)生器低位數(shù)據(jù)RNDH0XBDADC隨機(jī)數(shù)發(fā)生器高位數(shù)據(jù)ENCDI0XB1AES加密/解密數(shù)據(jù)輸入ENCDO0XB2AES加密/解密數(shù)據(jù)輸出ENCCS0XB3AES加密/解密控制和狀態(tài)P00X80CPU端口0,能夠從XDATA(0X7080)讀取SP0X81CPU堆棧指針DPL00X82CPU數(shù)據(jù)指針0低位DPH00X83CPU數(shù)據(jù)指針0高位DPL10X84CPU數(shù)據(jù)指針1低位DPH10
14、X85CPU數(shù)據(jù)指針1高位PCON0X87CPU功耗模式控制TCON0X88CPU中斷標(biāo)志P10X90CPU端口1,能夠從XDATA(0X7090)讀取DPS0X92CPU數(shù)據(jù)指針選擇S0CON0X98CPU中斷標(biāo)志2IEN20X9ACPU中斷使能2S1CON0X9BCPU中斷標(biāo)志3P20XA0CPU端口1,能夠從XDATA(0X70A0)讀取IEN00XA8CPU中斷使能0IP00XA9CPU中斷優(yōu)先級(jí)0IEN10XB8CPU中斷使能1IP10XB9CPU中斷優(yōu)先級(jí)1IRCON0XC0CPU中斷標(biāo)志4PSW0XD0CPU程序狀態(tài)字ACC0XE0CPU累加器IRCON20XE8CPU中斷標(biāo)志5
15、B0XF0CPUB寄存器DMAIRQ0XD1DMADMA中斷標(biāo)志DMA1CFGL0XD2DMADMA通道14配置低位地址DMA1CFGH0XD3DMADMA通道14配置高位地址DMA0CFGL0XD4DMADMA通道0配置高位地址DMA0CFGH0XD5DMADMA通道0配置高位地址DMAARM0XD6DMADMA通道準(zhǔn)備工作DMAREQ0XD7DMADMA通道啟動(dòng)請(qǐng)求和狀態(tài)-0XAA-保留-0X8E-保留-0X99-保留-0XB0-保留-0XB7-保留-0XC8-保留P0IFG0X89輸入/輸出控制(IOC)端口0中斷狀態(tài)標(biāo)志P1IFG0X8A輸入/輸出控制(IOC)端口1中斷狀態(tài)標(biāo)志P2I
16、FG0X8B輸入/輸出控制(IOC)端口2中斷狀態(tài)標(biāo)志PICTL0X8C輸入/輸出控制(IOC)端口引腳中斷控制P0IEN0XAB輸入/輸出控制(IOC)端口0中斷使能P1IEN0X8D輸入/輸出控制(IOC)端口1中斷使能P2IEN0XAC輸入/輸出控制(IOC)端口2中斷使能P0INPOX8F輸入/輸出控制(IOC)端口0輸入模式PERCFGOXF1輸入/輸出控制(IOC)外部設(shè)備I/O配置APCFGOXF2輸入/輸出控制(IOC)模擬外部設(shè)備I/O配置P0SELOXF3輸入/輸出控制(IOC)端口0功能選擇P1SELOXF4輸入/輸出控制(IOC)端口1功能選擇P2SELOXF5輸入/輸
17、出控制(IOC)端口2功能選擇P1INPOXF6輸入/輸出控制(IOC)端口1輸入模式P2INPOXF7輸入/輸出控制(IOC)端口2輸入模式P0DIROXFD輸入/輸出控制(IOC)端口0方向P1DIROXFE輸入/輸出控制(IOC)端口1方向P2DIROXFF輸入/輸出控制(IOC)端口2方向PMUXOXAE輸入/輸出控制(IOC)掉電信號(hào)多路器MEMCTR0XC7存儲(chǔ)器存儲(chǔ)器系統(tǒng)控制FMAP0X9F存儲(chǔ)器Flash存儲(chǔ)器bank映射RFIRQF10X91RFRF中斷標(biāo)志MSBRFD0XD9RFRF數(shù)據(jù)RFST0XE1RFRF命令選通RFORQF00XE9RFRF中斷標(biāo)志LSBRFERRF
18、0XBFRFRF錯(cuò)誤中斷標(biāo)志ST00X95睡眠定時(shí)器(ST)睡眠定時(shí)器0ST10X96睡眠定時(shí)器(ST)睡眠定時(shí)器1ST20X97睡眠定時(shí)器(ST)睡眠定時(shí)器2STLOAD0XAD睡眠定時(shí)器(ST)睡眠定時(shí)器負(fù)載狀態(tài)STEEPCMD0XBEPMC睡眠模式控制命令SLEEPSTA0X9DPMC睡眠模式控制狀態(tài)CLKCONCMD0XC6PMC時(shí)鐘控制命令CLKCONSTA0X9EPMC時(shí)鐘控制狀態(tài)T1CC0L0XDA定時(shí)器1(Timer1)定時(shí)器1通道0捕獲/比較值低位T1CC0H0XDB定時(shí)器1(Timer1)定時(shí)器1通道0捕獲/比較值高位T1CC1L0XDC定時(shí)器1(Timer1)定時(shí)器1通道
19、1捕獲/比較值低位T1CC1H0XDD定時(shí)器1(Timer1)定時(shí)器1通道1捕獲/比較值高位T1CC2L0XDE定時(shí)器1(Timer1)定時(shí)器1通道2捕獲/比較值低位T1CC2H0XDF定時(shí)器1(Timer1)定時(shí)器1通道2捕獲/比較值高位T1CNTL0XE2定時(shí)器1(Timer1)定時(shí)器1計(jì)數(shù)器低位T1CNTH0XE3定時(shí)器1(Timer1)定時(shí)器1計(jì)數(shù)器高位T1CTL0XE4定時(shí)器1(Timer1)定時(shí)器1控制和狀態(tài)T1CCTL00XE5定時(shí)器1(Timer1)定時(shí)器1通道0捕獲/比較控制T1CCTL10XE6定時(shí)器1(Timer1)定時(shí)器1通道1捕獲/比較控制T1CCTL20XE7定時(shí)器
20、1(Timer1)定時(shí)器1通道2捕獲/比較控制T1STAT0XAF定時(shí)器2(Timer2)定時(shí)器2狀態(tài)T2CTRL0X94定時(shí)器2(Timer2)定時(shí)器2控制T2EVTCFG0X9C定時(shí)器2(Timer2)定時(shí)器2事件配置T2IRQF0XA1定時(shí)器2(Timer2)定時(shí)器2中斷標(biāo)志T2M00XA2定時(shí)器2(Timer2)定時(shí)器2復(fù)用寄存器0T2M10XA3定時(shí)器2(Timer2)定時(shí)器2復(fù)用寄存器1T2MOVF00XA4定時(shí)器2(Timer2)定時(shí)器2復(fù)用溢出寄存器0T2MOVF10XA5定時(shí)器2(Timer2)定時(shí)器2復(fù)用溢出寄存器1T2MOVF20XA6定時(shí)器2(Timer2)定時(shí)器2復(fù)用
21、溢出寄存器2T2IRQM0XA7定時(shí)器2(Timer2)定時(shí)器2中斷使能T2MSEL0XC3定時(shí)器2(Timer2)定時(shí)器2復(fù)用選擇T3CNT0XCA定時(shí)器3(Timer3)定時(shí)器3計(jì)數(shù)器T3CTL0XCB定時(shí)器3(Timer3)定時(shí)器3控制T3CCTL00XCC定時(shí)器3(Timer3)定時(shí)器3通道0比較控制T3CC00XCD定時(shí)器3(Timer3)定時(shí)器3通道0比較值T3CCTL10XCE定時(shí)器3(Timer3)定時(shí)器3通道1比較控制T3CC10XCF定時(shí)器3(Timer3)定時(shí)器3通道1比較值T4CNT0XEA定時(shí)器4(Timer4)定時(shí)器4計(jì)數(shù)器T4CTL0XEB定時(shí)器4(Timer4)
22、定時(shí)器4控制T4CCTL00XEC定時(shí)器4(Timer4)定時(shí)器4通道0比較控制T4CC00XED定時(shí)器4(Timer4)定時(shí)器4通道0比較值T4CCTL10XEE定時(shí)器4(Timer4)定時(shí)器4通道1比較控制T4CC10XEF定時(shí)器4(Timer4)定時(shí)器4通道1比較值TIMIF0XD8定時(shí)器中斷定時(shí)器1/3/4聯(lián)合中斷使能/標(biāo)志U0CSR0X86串行通信0(USART0)串行通信0控制和狀態(tài)U0DBUF0XC1串行通信0(USART0)串行通信0收/發(fā)數(shù)據(jù)緩存U0BAUD0XC2串行通信0(USART0)串行通信0波特率控制U0UCR0XC4串行通信0(USART0)串行通信0UART控制
23、U0GCR0XC5串行通信0(USART0)串行通信0通用控制U1CSR0XF8串行通信1(USART1)串行通信1控制和狀態(tài)U1DBUF0XF9串行通信1(USART1)串行通信1收/發(fā)數(shù)據(jù)緩存U1BAUD0XFA串行通信1(USART1)串行通信1波特率控制U1UCR0XFB串行通信1(USART1)串行通信1 UART控制U1GCR0XFC串行通信1(USART1)串行通信1通用控制WDCTL0XC9看門狗看門狗定時(shí)器控制XREG寄存器是XDATA寄存器空間里另外的寄存器。這些寄存器主要用于無線配置和控制。表1-3給出了每一個(gè)寄存器的地址空間概述。表1-3 XREG寄存器概覽XDATA寄
24、存器名稱描述0X6000-0X61FF-無線電寄存器0X6200-0X62BB-USB寄存器0X6249CHVER芯片版本0X624ACHIPID芯片ID0X6260DBFDATA調(diào)試接口寫數(shù)據(jù)0X6270FCTLFLASH控制0X6271FADDRLFLASH地址低0X6272FADDRHFLASH地址高0X6273FWDATAFLASH寫數(shù)據(jù)0X6276CHIPINFO0芯片信息字節(jié)00X6277CHIPINFO1芯片信息字節(jié)10X6290CLD時(shí)鐘丟失檢測0X62A0T1CCTL0定時(shí)器1通道0捕獲/比較控制(SFR映射寄存器)0X62A1T1CCTL1定時(shí)器1通道1捕獲/比較控制(SF
25、R映射寄存器)0X62A2T1CCTL2定時(shí)器1通道2捕獲/比較控制(SFR映射寄存器)0X62A3T1CCTL3定時(shí)器1通道3捕獲/比較控制0X62A4T1CCTL4定時(shí)器1通道4捕獲/比較控制0X62A6T1CC0L定時(shí)器1通道0捕獲/比較值低位(SFR映射寄存器)0X62A7T1CC0H定時(shí)器1通道0捕獲/比較值高位(SFR映射寄存器)0X62A8T1CC1L定時(shí)器1通道1捕獲/比較值低位(SFR映射寄存器)0X62A9T1CC1H定時(shí)器1通道0捕獲/比較值高位(SFR映射寄存器)0X62AAT1CC2L定時(shí)器1通道2捕獲/比較值低位(SFR映射寄存器)0X62ABT1CC2H定時(shí)器1通
26、道2捕獲/比較值高位(SFR映射寄存器)0X62ACT1CC3L定時(shí)器1通道3捕獲/比較值低位(SFR映射寄存器)0X62ADT1CC3H定時(shí)器1通道3捕獲/比較值高位(SFR映射寄存器)0X62AET1CC4L定時(shí)器1通道4捕獲/比較值低位(SFR映射寄存器)0X62AFT1CC4H定時(shí)器1通道4捕獲/比較值高位(SFR映射寄存器)0X62B0STCC睡眠定時(shí)器捕獲控制0X62B1STCS睡眠定時(shí)器捕獲狀態(tài)0X62B2STCV0睡眠定時(shí)器捕獲值字節(jié)00X62B3STCV1睡眠定時(shí)器捕獲值字節(jié)10X62B4STCV2睡眠定時(shí)器捕獲值字節(jié)26.2 實(shí)驗(yàn)一 建立一個(gè)簡單的實(shí)驗(yàn)工程 6.2.1 實(shí)驗(yàn)
27、目的通過本實(shí)驗(yàn)的學(xué)習(xí),使用戶熟悉如何使用CC2530的軟件開發(fā)環(huán)境IAR Embedded WorBench for MCS-51 V7.51來新建一個(gè)工程以完成自己的設(shè)計(jì)和調(diào)試。注意:本實(shí)驗(yàn)只是講解如何基于IAR來新建一個(gè)工程,其他關(guān)于IAR的使用,請(qǐng)參照IAR開發(fā)環(huán)境的使用手冊,IAR的詳細(xì)說明文檔請(qǐng)到IAR官方網(wǎng)站查找或者在IAR安裝文件夾下查找(x:Program FilesIAR SystemsEmbedded Workbench 5.38051doc)。 6.2.2 實(shí)驗(yàn)內(nèi)容閃爍FANTAI_ZigBee開發(fā)評(píng)估板上的LED燈 6.2.3 實(shí)驗(yàn)條件1. 在用戶PC上(Microso
28、ft Windows XP以上系統(tǒng)平臺(tái))正確安裝IAR Embedded WorBench for MCS-51 V7.51集成開發(fā)環(huán)境;2. FANTAI_ZigBee開發(fā)評(píng)估板一個(gè)(插有FANTAI_CC2530模塊);3. FANTAI-CC Debugger 多功能仿真器/調(diào)試器1個(gè);4. USB線兩條 6.2.4 實(shí)驗(yàn)原理由FANTAI_ZigBee開發(fā)評(píng)估板原理圖可知,出廠默認(rèn)設(shè)置:LED1(LED_G)用戶指示燈由CC2530得P1.0引腳控制。P1.0輸出高電平時(shí)LED_G點(diǎn)亮,輸出低電平時(shí)LED_G熄滅。 6.2.5 實(shí)驗(yàn)步驟2.5.1建立一個(gè)新的工程按圖2-1打開IAR集成
29、開發(fā)環(huán)境,打開后會(huì)顯示如圖2-2所示的窗口,選擇"Create new project in current workspace"后會(huì)顯示建立新工程的對(duì)話框,如圖2-3所示。在"Tool chain"欄下拉菜單選擇8051,在"Project templates"欄選擇"Empty project",然后單擊下方的OK按鈕。根據(jù)需要選擇工程保存的位置,更改工程名稱,例如"LEDtest",然后單擊保存按鈕,如圖2-4所示。這樣就建立了一個(gè)新的工程。圖2-1 IAR打開路徑圖2-2 當(dāng)前窗口創(chuàng)建新
30、的工程圖2-3 新建工程對(duì)話框圖2-4 文件保存對(duì)話框IAR產(chǎn)生兩個(gè)創(chuàng)建配置:調(diào)試(Debug)和發(fā)布(Release),如圖2-5所示。本實(shí)驗(yàn)只是使用Debug配置。單擊菜單欄上的保存按鈕,如圖2-6所示。保存工作區(qū)文件,指定工作區(qū)文件名和存放路徑,本實(shí)驗(yàn)把它放到新建的工程目錄下,然后單擊保存按鈕,如圖2-7所示。圖2-5 工作區(qū)界面圖2-6 保存工作區(qū)文件圖2-7 工作區(qū)文件保存對(duì)話框2.5.2 添加或新建程序文件一個(gè)新的工程已經(jīng)建立成功了,現(xiàn)在可以向工程里面添加程序文件。如果用戶有現(xiàn)成的程序文件,那么可以選擇菜單ProjectAdd Files來添加已有的程序文件,如圖2-8所示。也可以
31、在工作區(qū)窗口中單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇AddAdd Files來添加已有的文件,如圖2-9所示。圖2-8 添加已有程序文件圖2-9 添加已有程序文件如果沒有編輯好的程序文件,可以單擊工具欄上的新建按鈕或選擇菜單FilesNewFiles新建一個(gè)空的文件,如圖2-10所示,然后向這個(gè)文件里添加程序代碼。 圖2-10 新建程序文件程序清單:/* 包含頭文件 */#include "ioCC2530.h" / 引用頭文件/* * 函數(shù)名稱:delay * 功 能:軟件延時(shí) * 入口參數(shù):無 * 出口參數(shù):無 * 返 回 值:無 */void delay(void) u
32、nsigned int i; unsigned char j; for(i = 0; i < 1000; i+) for(j = 0; j < 200; j+) asm("NOP"); asm("NOP"); asm("NOP"); /* * 函數(shù)名稱:main * 功 能:main函數(shù)入口 * 入口參數(shù):無 * 出口參數(shù):無 * 返 回 值:無 */void main(void) P1SEL &= (0x01 << 0); / 設(shè)置P1.0為普通IO口 P1DIR |= 0x01 << 0
33、; / 設(shè)置為輸出 while(1) P1_0 = 1; delay(); 在新建的程序文件里添加問代碼后,窗口如圖2-11所示。選擇菜單FileSave打開保存對(duì)話框,保存程序文件。新建一個(gè)source文件夾,然后將程序文件保存到該目錄下,同時(shí)修改文件名。如圖2-12和2-13所示。圖2-11 添加完代碼后圖2-12 新建程序文件夾圖2-13 保存程序文件點(diǎn)擊WorkSpace中的LEDtest工程文件名,然后右擊鼠標(biāo)來添加工程文件,如圖2-14。 圖2-14 添加工程文件添加完工程文件后,整個(gè)工程界面如圖2-15所示 如圖2-15 添加工程文件后的界面2.5.3 配置工程設(shè)置配置工程編譯和
34、文件輸出等選項(xiàng)設(shè)置,選擇菜單ProjectOptions來對(duì)工程進(jìn)行配置。也可以在工作區(qū)窗口中右擊鼠標(biāo),在彈出的快捷菜單中選擇Options來實(shí)現(xiàn)配置。如圖2-16所示。圖2-16 編譯選項(xiàng)(1) 配置"General Options"選項(xiàng)中的相關(guān)項(xiàng)目在窗口左側(cè)的"Category"列表框中選擇" General Options "選項(xiàng),在窗口右側(cè)將會(huì)顯示該選項(xiàng)相應(yīng)的選項(xiàng)卡,如圖2-16所示。選擇"Target"選項(xiàng)卡,設(shè)置有關(guān)選項(xiàng):在"Target"子欄目錄中的"Device inf
35、ormation"中選擇"Device"為CC2530設(shè)備。點(diǎn)擊右端按鈕,在彈出的對(duì)話框中選擇正確的設(shè)備信息,選擇路徑為:x:Program FilesIAR SystemsEmbedded Workbench 5.38051configdevicesTexas InstrumentsCC2530.i51,其他選項(xiàng)保持不變,如圖2-17所示。.圖2-17 Target選項(xiàng)配置(2) 設(shè)置"Linker"選項(xiàng)中的相關(guān)設(shè)置選擇"Output"選項(xiàng)卡,設(shè)置相關(guān)選項(xiàng):在"Linker"選項(xiàng),"Outpu
36、t"子欄中,若使用FANTAI-CC Debugger在IAR集成環(huán)境下在線下載和調(diào)試程序,默認(rèn)設(shè)置即可,若圖2-18所示。若只生成*.hex文件,則需要勾選"Output file"下的"Override default"選項(xiàng),在"Format"一欄中,點(diǎn)選"Other"項(xiàng),"Output"為"intel-extended","Format variant"為"None","Module-local"設(shè)置
37、為"Include all",如圖2-19所示。圖2-18 Linker選項(xiàng)卡配置圖2-19 生成 *.hex文件的配置選擇"Config"選項(xiàng)卡配置相關(guān)選項(xiàng):在"Linker"選項(xiàng),"Config"選項(xiàng)卡中的"Linker command file"欄目中勾選"Override default"選項(xiàng),使下拉菜單有效,選擇為:$TOOLKIT_DIR$configlnk51ew_cc2530b.xcl。其路徑為:x:Program FilesIAR SystemsEmbedd
38、ed Workbench 5.38051configlnk51ew_cc2530b.xcl。其配置結(jié)果如圖2-20 所示。圖2-20 Linker-Config選項(xiàng)配置若使用IAR集成開發(fā)環(huán)境僅生成*.hex文件,以上的配置即可,若要使用FANTAI-CC Debugger仿真器在線調(diào)試代碼,則需要進(jìn)行以下配置。(3) 設(shè)置"Debugger"選項(xiàng)中的相關(guān)項(xiàng)目在"Debugger"選項(xiàng)的"Setup"選項(xiàng)卡中"Driver"一欄中,選擇"Texas Instrument",并且勾選"O
39、verride default",然后再指定設(shè)備描述文件,標(biāo)準(zhǔn)路徑及文件為x:Program FilesIAR SystemsEmbedded Workbench 5.38051configdevicesTexas InstrumentsCC2530.ddf。其他保持不變,如圖2-21所示。圖2-21 Setup是指選項(xiàng)配置若用戶第一次使用CC2530芯片,則需要在"Texas Instruments"選項(xiàng)中的"Download"選項(xiàng)卡中,勾選"Erase Flash"。如圖2-22所示。圖2-22 擦出flash選項(xiàng)配置注
40、意:以上各個(gè)配置完成后,最后一步均要點(diǎn)擊OK按鈕來保存當(dāng)前設(shè)置。2.5.4 下載程序到CC2530通過以上正確設(shè)置后,用戶可以通過以下兩種方法將程序下載到CC2530芯片中,以便觀察程序是否正確,以及實(shí)驗(yàn)現(xiàn)象是否正確。注意:在下載程序到CC2530之前,首先需要確保硬件連接正確。既將FANTAI-CC Debugger使用USB電纜和10PiN扁平電纜,分別連接用戶PC機(jī)和FANTAI_ZigBee開發(fā)評(píng)估板。確保FANTAI-CC Debugger多功能仿真器驅(qū)動(dòng)安裝正確。編譯程序代碼,點(diǎn)擊菜單欄"ProjectRebuild All"或者直接點(diǎn)擊快捷按鈕,對(duì)程序文件進(jìn)行
41、編譯。 圖2-23 編譯程序文件方法一、在線調(diào)試工程代碼若用戶需要在線調(diào)試代碼,則可以點(diǎn)擊菜單欄"ProjectDebug"或者直接點(diǎn)擊快捷按鈕,或者使用快捷鍵"Ctrl+D",如圖2-24所示,進(jìn)入在線調(diào)試主界面,如圖2-25所示。圖2-24 啟動(dòng)調(diào)試功能圖2-25 調(diào)試主界面如何使用調(diào)試工具進(jìn)行代碼調(diào)試,在圖2-25的調(diào)試界面中分別有如下的按鈕,如下面列出所示??梢允褂谜{(diào)試工具欄,對(duì)程序進(jìn)行在線調(diào)試。:復(fù)位:停止調(diào)試:每一步執(zhí)行一個(gè)函數(shù)調(diào)用:進(jìn)入內(nèi)部函數(shù)或子程序:從內(nèi)部函數(shù)或子程序跳出:每次執(zhí)行一個(gè)語句:運(yùn)行到光標(biāo)處:全速運(yùn)行:退出在線調(diào)試變量的查看
42、和表達(dá)式的方法:Ø 使用自動(dòng)窗口選擇"ViewAuto"菜單打開自動(dòng)窗口,如圖2-26所示。用戶可以連續(xù)點(diǎn)擊按鈕,然后在自動(dòng)窗口中觀察相應(yīng)變量或者表達(dá)式的值的變化情況。Ø 設(shè)置監(jiān)控點(diǎn)選擇"ViewWatch"菜單打開監(jiān)控窗口,如圖2-27所示。圖2-26 仿真界面圖2-26 監(jiān)控窗口界面單擊監(jiān)控窗口中的虛線框,出現(xiàn)輸入光標(biāo)時(shí)輸入 要觀察的變量,在這里輸入變量j并且回車。用戶可以連續(xù)點(diǎn)擊按鈕,觀察監(jiān)控窗口中監(jiān)控變量j的值變化情況。如圖2-27所示。圖2-27 監(jiān)控窗口監(jiān)控變量變化如果要在監(jiān)控窗口中刪除一個(gè)變量,先選中該變量然后按鍵盤上的
43、"Delete"鍵或者右擊鼠標(biāo)在彈出的菜單中選擇"Remove"。默認(rèn)情況下,變量的值以十六進(jìn)制的方式顯示,我們可以選擇其他顯示方式顯示。選中該變量,右擊鼠標(biāo),在彈出的菜單中選擇所希望的顯示方式,如圖2-28。圖2-28 修改變量顯示方式插入/刪除斷點(diǎn)的方法介紹:假如使程序運(yùn)行到delay函數(shù)的for循環(huán)的第二個(gè)asm("NOP")語句終止,可以通過設(shè)置斷點(diǎn)的方法實(shí)現(xiàn)。首先將光標(biāo)移動(dòng)到該語句上雙擊左鍵,如圖2-29所示?;蛘哌x中該語句后,點(diǎn)擊設(shè)置/取消斷點(diǎn)按鈕。圖2-29 設(shè)置斷點(diǎn)點(diǎn)擊全速運(yùn)行按鈕,使程序運(yùn)行,程序會(huì)自動(dòng)運(yùn)行到剛才設(shè)置
44、斷點(diǎn)處,觀察到變量j的值變化情況,如圖2-30所示。圖2-30 程序運(yùn)行到設(shè)置斷點(diǎn)處可以繼續(xù)點(diǎn)擊全速運(yùn)行按鈕,可以觀察到j(luò)值依次遞增,每次增加1。方法二、通過第三方軟件下載代碼可以利用TI公司提供的SmartRF Flash Programmer來下載編譯后的*.hex文件。具體操作過程如下:首先打開SmartRF Flash Programmer軟件,選擇"System-on-Chip"選項(xiàng)卡,如圖2-31。圖2-31 SmartRF Flash Programmer軟件界面在圖2-31中可以看出,在"System-on-Chip"選項(xiàng)卡中,檢測到EB
45、ID:8238(注意:每個(gè)FANTAI-CC Debugger仿真器都有一個(gè)自己的ID)、Chip Type(CC2530)、EB Type(CC Debugger)、EB firmware rev(0009)等信息,表示FANTAI-CC Debugger仿真器已經(jīng)找到片上系統(tǒng)設(shè)備CC2530,連接成功。如果沒有出現(xiàn)以上信息,請(qǐng)檢查PC機(jī)、FANTAI-CC Debugger仿真器與FANTAI_ZigBee開發(fā)評(píng)估板連接是否正確。點(diǎn)擊"Flash"右端""按鈕選擇當(dāng)前工程中已編譯好程序的hex文件。在"Actions"選項(xiàng)中勾選&
46、quot;Erase,program and verify",最后點(diǎn)擊"Perform actions"按鈕,執(zhí)行下載命令,成功下載完成后,顯示如圖2-32界面。圖2-32 程序下載成功界面注意:點(diǎn)擊"Perform actions"后,要耐心等待擦擦、燒寫及校驗(yàn)完成,所需時(shí)間根據(jù)*.hex文件大小不同。最后提示"CC2530 - ID8238: Erase, program and verify OK",說明燒寫并校驗(yàn)成功。注意:不論采取何種方式對(duì)CC2530進(jìn)行變成燒寫,在執(zhí)行完畢后,為避免影響實(shí)驗(yàn)最后結(jié)果,請(qǐng)把FANT
47、AI_ZigBee開發(fā)評(píng)估板或者FANTAI_ZigBee開發(fā)節(jié)點(diǎn)上的JTAG座上的10PIN扁平電纜取下后,進(jìn)行試驗(yàn)演示和觀察。2.6 實(shí)驗(yàn)結(jié)果通過本實(shí)驗(yàn),可以觀察到:LED_1指示燈交替閃爍。6.3實(shí)驗(yàn)二 通用數(shù)字I/O實(shí)驗(yàn)6.3.1 實(shí)驗(yàn)?zāi)康耐ㄟ^本實(shí)驗(yàn)的學(xué)習(xí),使用戶熟悉CC2530芯片通用數(shù)字I/O口的配置和使用。6.3.2 實(shí)驗(yàn)內(nèi)容閃爍FANTAI_ZigBee開發(fā)評(píng)估板上的4個(gè)用戶LED指示燈LED1-LED4(LED_GLED_RLED_YLED_B)6.3.3 實(shí)驗(yàn)條件1. 在用戶PC上(Microsoft Windows XP以上系統(tǒng)平臺(tái))正確安裝IAR Embedded Wo
48、rBench for MCS-51 V7.51集成開發(fā)環(huán)境;2. FANTAI_ZigBee開發(fā)評(píng)估板一個(gè)(插有FANTAI_CC2530模塊);3. FANTAI-CC Debugger多功能仿真器/調(diào)試器1個(gè);4. USB線兩條6.3.4 實(shí)驗(yàn)原理由FANTAI_ZigBee開發(fā)評(píng)估板原理圖可知,出廠默認(rèn)設(shè)置:LED1(LED_G)用戶指示燈由CC2530得P1.0引腳控制。P1.0輸出高電平時(shí)LED_G點(diǎn)亮,輸出低電平時(shí)LED_G熄滅。LED2(LED_R)用戶指示燈由CC2530得P1.1引腳控制。P1.1輸出高電平時(shí)LED_R點(diǎn)亮,輸出低電平時(shí)LED_R熄滅。LED3(LED_Y)用
49、戶指示燈由CC2530得P1.4引腳控制。P1.4輸出高電平時(shí)LED_Y點(diǎn)亮,輸出低電平時(shí)LED_Y熄滅。LED4(LED_B)用戶指示燈由CC2530得P0.1引腳控制。P0.1輸出高電平時(shí)LED_B點(diǎn)亮,輸出低電平時(shí)LED_B熄滅。本實(shí)驗(yàn)涉及CC2530的通用輸入輸出接口(GPIO)的配置及操作。由于CC2530的21個(gè)數(shù)字I/O口引腳具有可編程功能,可通過設(shè)置相關(guān)寄存器配置為通用數(shù)字I/O和用于連接ADC、定時(shí)/計(jì)數(shù)器或者USART等片內(nèi)外設(shè)的特殊功能I/O。這些特殊功能I/O口的用途,通過以下幾個(gè)表中列出了本實(shí)驗(yàn)用到的幾組寄存器。表3-1 I/O端口名稱Port0、Port1 、Por
50、t2位名稱復(fù)位讀/寫描述P0(0X80-P0口)7:0P07:00XFFR/WPort0.GPIO口或者外設(shè)IO,可位尋址P1(0X90-P1口)7:0P17:00XFFR/WPort1.GPIO口或者外設(shè)IO,可位尋址P2(0XA0-P2口)7:5-000R04:0P27:00x1FR/WPort2.GPIO口或者外設(shè)IO,可位尋址表 3-2 I/O接口功能選擇I/O接口功能選擇位名稱復(fù)位讀/寫描述P0SEL(0XF3-P0口功能選擇)7:0SELP07:00X00R/WP0_7P0_0功能選擇0 GPIO1 外設(shè)P1SEL(0XF4-P1口功能選擇)7:0SELP17:00X00R/WP1
51、_7P1_0功能選擇0 GPIO1 外設(shè)P2SEL(0XF5-P2口功能選擇)7-0R0不使用6PRI3P10R/WP1口外設(shè)優(yōu)先級(jí)控制。當(dāng)PERCFG同時(shí)分配USART0和USART1到同一引腳時(shí),該位決定其優(yōu)先級(jí)順序。0 USART0優(yōu)先;1 USART1優(yōu)先5PRI2P10R/WP1口外設(shè)優(yōu)先級(jí)控制。當(dāng)PERCFG同時(shí)分配USART1和Timer3到同一引腳時(shí),該位決定其優(yōu)先級(jí)順序。0 USART1優(yōu)先;1 Timer3優(yōu)先4PRI1P10R/WP1口外設(shè)優(yōu)先級(jí)控制。當(dāng)PERCFG同時(shí)分配Timer1和Timer4到同一引腳時(shí),該位決定其優(yōu)先級(jí)順序。0 Timer1優(yōu)先;1 Timer4優(yōu)先3PRI0P10R/WP1口外設(shè)優(yōu)先級(jí)控制。當(dāng)PERCFG同時(shí)分配USART0和Timer1到同一引腳時(shí),該位決定其優(yōu)先級(jí)順序。0 USART0優(yōu)先;1 Timer1優(yōu)先2SELP2_40R/WP2_4功能選擇0 GPIO1 外設(shè)1SELP2_30R/WP2_3功能選擇0 GPIO1 外設(shè)0SELP2_00R/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024試用期接觸勞動(dòng)合同范本
- 供應(yīng)合同-省級(jí)國家機(jī)關(guān)、事業(yè)單位和社會(huì)團(tuán)體計(jì)算機(jī)(或打印機(jī))協(xié)議供貨合同
- 廣東省七年級(jí)上學(xué)期語文期中考試試卷5套【附答案】
- 2024年車輛物流運(yùn)輸合同協(xié)議書
- 機(jī)械租賃合同模板集
- 展覽活動(dòng)中的房產(chǎn)贈(zèng)與合同
- 貨物倉儲(chǔ)出租協(xié)議
- 2024年詳細(xì)版租房協(xié)議書
- 手機(jī)銷售合同常見問題解答
- 2024版酒店經(jīng)營合作協(xié)議模板
- 護(hù)理核心制度督查表20179
- 紅色古色綠色文化教育活動(dòng)策劃方案
- 《Monsters 怪獸》中英對(duì)照歌詞
- 《正交分解法》導(dǎo)學(xué)案
- 建筑材料知識(shí)點(diǎn)匯總
- 平面構(gòu)成作品欣賞
- 英語管道專業(yè)術(shù)語
- 淺談?wù)Z文課程內(nèi)容的橫向聯(lián)系
- 社會(huì)工作畢業(yè)論文(優(yōu)秀范文8篇)
- 五篇500字左右的短劇劇本
- 新形勢下如何加強(qiáng)醫(yī)院新聞宣傳工作
評(píng)論
0/150
提交評(píng)論