無線傳感器網(wǎng)絡(luò)技術(shù)應(yīng)用課件匯總?cè)珪娮咏贪竿暾嬲n件(最新)_第1頁
無線傳感器網(wǎng)絡(luò)技術(shù)應(yīng)用課件匯總?cè)珪娮咏贪竿暾嬲n件(最新)_第2頁
無線傳感器網(wǎng)絡(luò)技術(shù)應(yīng)用課件匯總?cè)珪娮咏贪竿暾嬲n件(最新)_第3頁
無線傳感器網(wǎng)絡(luò)技術(shù)應(yīng)用課件匯總?cè)珪娮咏贪竿暾嬲n件(最新)_第4頁
無線傳感器網(wǎng)絡(luò)技術(shù)應(yīng)用課件匯總?cè)珪娮咏贪竿暾嬲n件(最新)_第5頁
已閱讀5頁,還剩197頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、無線傳感器網(wǎng)絡(luò)技術(shù)應(yīng)用第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介第1章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5CC2531處理器簡介1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范項目規(guī)范更多地是指文檔性的內(nèi)容與一些要求。在一個嵌入式系統(tǒng)開發(fā)過程中,項目規(guī)范大體類似于系統(tǒng)開發(fā)、軟件開發(fā)的項目規(guī)范,但是增加了嵌入式系統(tǒng)的一些特點。一般而言,系統(tǒng)開發(fā)均需要經(jīng)過:需求分析、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)、系統(tǒng)測試與試運(yùn)行、系統(tǒng)評估等幾個典型階段。1

2、.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.嵌入式系統(tǒng)項目規(guī)范簡介嵌入式系統(tǒng)項目規(guī)范以一個系統(tǒng)開發(fā)的全過程為主要線索,在此過程中形成的需求文檔、設(shè)計圖紙、軟件算法文檔、源代碼、可運(yùn)行文件、連線說明、使用說明、講解文件等等一系列文件。在實際嵌入式系統(tǒng)開發(fā)過程當(dāng)中,關(guān)于項目規(guī)范問題依照各個公司的規(guī)定有所區(qū)別,但是不能沒有規(guī)范。圖1.1 小型項目規(guī)范文檔包圖1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范2.教材簡述的嵌入式系統(tǒng)項目規(guī)范說明1、問題描述文檔(需求分析文檔或任務(wù)發(fā)布文檔)2、系統(tǒng)分析文檔3、硬件原理圖文檔4、硬件PCB文檔5、軟件算法設(shè)計文檔6、軟件源代碼7、系統(tǒng)硬件連接圖文檔8、系統(tǒng)測試文檔9、使用說明書10、講解用

3、PPT無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介1.2嵌入式軟件開發(fā)過程本節(jié)重點介紹嵌入式軟件開發(fā)過程,這個過程指導(dǎo)了課程基礎(chǔ)篇部分知識的討論。對于小規(guī)模的嵌入式軟件系統(tǒng)開發(fā)通常遵循如下幾個比較標(biāo)準(zhǔn)的過程:第一步:深入學(xué)習(xí)原理圖,了解PCB圖。第二步:深入學(xué)習(xí)器件手冊第三步:根據(jù)器件手冊編寫軟件算法第四步:創(chuàng)建工程編寫軟件代碼第

4、五步:調(diào)試與試運(yùn)行代碼1.2嵌入式軟件開發(fā)過程1.深入學(xué)習(xí)原理圖,了解PCB原理圖是整個嵌入式硬件的重要指導(dǎo)文檔,該文檔明確了處理器連接的外部器件有哪些,是以何種方式進(jìn)行連接的。這里,通過連接何種器件以及何種連接方式,我們可以簡要分析這種連接到處理器的時候,處理器獲取的是何種數(shù)據(jù):串行數(shù)據(jù)還是并行數(shù)據(jù)。1.2嵌入式軟件開發(fā)過程2.深入學(xué)習(xí)器件手冊器件手冊決定了如果操作這個器件,比如:處理器、集成塊芯片等。器件手冊讀者完全可以理解為使用說明書,并且器件手冊就是器件的使用說明書。只是區(qū)別是一般的說明書是直接使用,而器件手冊這種“說明書”需要你通過編程來使用這個器件而已。1.2嵌入式軟件開發(fā)過程3.

5、根據(jù)器件手冊編寫軟件算法既然涉及到編程,那么應(yīng)當(dāng)如何去編程?這里需要根據(jù)深入學(xué)習(xí)器件手冊,來找到編程中要使用到的編程思路與過程。這個編程思路就是軟件編寫的前提條件,這個思路實際上就是編程的算法。注意到這個算法不是無中生有的,它是來自于對器件手冊的深入學(xué)習(xí),與對器件手冊的高度熟悉;讀者在慢慢積累嵌入式軟件開發(fā)中的經(jīng)驗過程中,不斷深入了解器件手冊,逐步掌握在器件手冊中找到編程過程的方法,并能將這些過程編寫成一些比較合適的算法,以便于后續(xù)進(jìn)行代碼的編寫。1.2嵌入式軟件開發(fā)過程4.創(chuàng)建工程編寫軟件代碼該過程是嵌入式開發(fā)的必要過程,創(chuàng)建基本的嵌入式軟件開發(fā)工程、配置工程、依據(jù)前面編寫的算法、編寫應(yīng)用軟

6、件的算法,最后將算法“翻譯”成軟件代碼。1.2嵌入式軟件開發(fā)過程5.調(diào)試與試運(yùn)行代碼建立工程并編寫完軟件之后,就需要對軟件進(jìn)行調(diào)試,并在嵌入式系統(tǒng)板電路上運(yùn)行該代碼,以確定應(yīng)用功能的實現(xiàn)。無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介1.3算法基本概念算法通常被定義為“解題方案的準(zhǔn)確而完整的描述,是一系列解決問題的清晰指令,算法代表

7、著用系統(tǒng)的方法描述解決問題的策略機(jī)制”。我們可以簡單理解算法為:算法就是為了能夠使用計算機(jī)語言編程來解決問題的步驟。1.3算法基本概念這里,算法在實際應(yīng)用上有如下幾個關(guān)鍵特征:(1)必須保證能夠解決問題(2)必須是一系列步驟(3)必須能夠通過某種方式轉(zhuǎn)變?yōu)橛嬎銠C(jī)程序一般學(xué)術(shù)界定義算法的關(guān)鍵特征是五個:有窮、確定、可行、有輸入、有輸出。我們認(rèn)為在確保能解決問題的前提下,算法的核心目標(biāo)有兩個:一個就是確定解決問題的方法,這個方法最終轉(zhuǎn)變?yōu)榫哂邢群蟠涡虻牧鞒?;第二個就是要能夠轉(zhuǎn)化為程序,這是因為算法所確定的流程最終需要計算機(jī)程序語言來實現(xiàn),并且由計算機(jī)執(zhí)行由算法確定的思路來解決問題。1.3算法基本概

8、念是否能夠正確編寫一個算法,決定了后面編寫的程序是否正確。但是掌握算法的設(shè)計相對比較難,這是由于算法設(shè)計需要兩方面的知識:一個方面是能夠找到一個解決問題的方法,第二個是該方法能夠使用計算機(jī)語言描述。【要點】對于設(shè)計算法需要掌握的兩方面知識而言:(1)找到解決問題的方法:基本上只要清楚了解問題是什么,多數(shù)人都能找方法,只是方法好不好的問題(算法的優(yōu)劣)。(2)能夠使用計算機(jī)語言描述:這個相對“找到解決問題的方法”而言難得多,因為必須對計算機(jī)運(yùn)行過程、內(nèi)存邏輯架構(gòu)等有所了解。從滿足程序設(shè)計角度而言,尤其需要掌握內(nèi)存的邏輯結(jié)構(gòu)。下面我們通過一個簡單的例子來說明算法的設(shè)計方法。我們的例子定義為一個“問

9、題”。1.3算法基本概念問題:求圓面積初步分析:實際上,要求計算機(jī)幫助我們解決問題的時候,首先需要考慮到計算機(jī)的特性:事情是一步一步來完成的(即程序是一條一條執(zhí)行的)。求圓的面積首先需要知道圓的半徑,因此第一步就是給出圓的半徑;然后就用已知的半徑計算 值;最后這一步尤其重要:顯示到屏幕上(這一步很關(guān)鍵,如果你不告訴計算機(jī)顯示到屏幕上,計算機(jī)將什么都不做,那么計算的結(jié)果就不知道是什么)。1.3算法基本概念整理:經(jīng)過分析,我們整理初步的算法如下:第一步:給出園的半徑r第二步:計算 值第三步:顯示計算的結(jié)果深入分析:問題1:計算機(jī)如果運(yùn)行程序,用戶是不是知道他到底要做什么?也就是說,用戶用你的軟件的

10、時候,你應(yīng)該有個提示之類的信息,用于引導(dǎo)用戶去使用你的軟件。那么這里用戶要做的只是給出r值即可。問題2:初步算法的三個步驟是很清楚的,不能先計算 值,這是由于不知道r是多少;因此,第一步與第二步之間是有明確的先后順序的。當(dāng)然也不能先顯示結(jié)果,因為還沒算出來。1.3算法基本概念通常的錯誤算法如同下面的兩種寫法:常見錯誤算法示例問題3:怎么輸入r值?這個問題就需要知道一點計算機(jī)知識。顯然是使用鍵盤輸入!因此第一步更精確的算法是:使用鍵盤輸入r值。第一步:計算 第二步:輸入r值第三步:輸出結(jié)果第一步:輸入r值第二步:輸出結(jié)果第三步:計算 1.3算法基本概念問題4:計算 值。這里很容易出錯,原因是計算

11、的結(jié)果通常需要保存。而如果僅僅是計算,則結(jié)果算完之后直接被丟棄了。也就是說:計算機(jī)計算的結(jié)果是臨時的,要么使用臨時結(jié)果,要么保存計算結(jié)果。因此第二步更精確的算法是:保存 的計算結(jié)果。最終算法如下:第一步:提示用戶輸入半徑r第二步:從鍵盤輸入半徑r第三步:計算 并保存結(jié)果第四步:顯示該結(jié)果問題:很簡單的東西搞得這么復(fù)雜,為什么要這樣做?無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4

12、開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介1.4開發(fā)環(huán)境與過程介紹開發(fā)環(huán)境是IAR Embedded Workbench 4.51.4開發(fā)環(huán)境與過程介紹下面我們用一個簡單的例子來讓讀者初步體驗整個開發(fā)的過程。這個例子的目標(biāo)是:讓開發(fā)板上的四個LED燈閃爍?!綢AR環(huán)境下CC2531單片機(jī)開發(fā)的基本步驟】第一步:連接開發(fā)板第二步:啟動IAR開發(fā)環(huán)境第三步:新建文件夾第四步:在IAR中創(chuàng)建工程第五步:配置工程第六步:輸入C代碼第七步:編譯與調(diào)試第八步:試運(yùn)行觀察運(yùn)行效果1.4開發(fā)環(huán)境與過程介紹第一步:連接開發(fā)板連接開發(fā)板的時候,將USB線連接到SmartRF04EB仿真器,USB線另外一頭連

13、接到計算機(jī);SmartRF04EB仿真器輸出線輸出的是一個標(biāo)準(zhǔn)JTAG/ISP、10PIN(10針)的接口,1.4開發(fā)環(huán)境與過程介紹第二步:啟動IAR開發(fā)環(huán)境。1.4開發(fā)環(huán)境與過程介紹第三步:新建文件夾在計算機(jī)任意找一個盤,例如:D盤,在根目錄下面建立一個文件夾,用于存儲創(chuàng)建工程文件中生成的全部文件。我們創(chuàng)建的文件夾名稱為:myWorkSpace1.4開發(fā)環(huán)境與過程介紹第四步:在IAR中創(chuàng)建工程創(chuàng)建完文件夾之后,需要創(chuàng)建IAR工程,以便于后續(xù)進(jìn)行程序設(shè)計工作。注意到創(chuàng)建工程的目標(biāo)是:為了寫代碼調(diào)試硬件而用。點擊projectCreate New Project點擊該命令之后,在彈出的對話框中點

14、擊OK。然后彈出保存該工程的對話框,輸入工程名(自己給工程命名,一般用英文名),我們輸入的工程名稱為:myProject點擊保存按鈕來保存工程,完成之后在左邊Workspace中會出現(xiàn)我們剛才命名的工程1.4開發(fā)環(huán)境與過程介紹下面需要創(chuàng)建一個空的C文檔,以便于后續(xù)在該C文檔中編寫代碼控制CC2531節(jié)點硬件。點擊FileNewNew File命令創(chuàng)建一個空的編輯文檔在打開的空文檔中按下Ctrl+s按鈕保存當(dāng)前打開的文檔,注意后綴名為.c。我們命名為testLed.c保存后在左邊Workspace下面Files中的myProject行上點擊右鍵,添加testLed.C文檔到工程點擊FileSav

15、e All命令,保存工作空間。本文工作空間的命名為:myWorkspace1.4開發(fā)環(huán)境與過程介紹第五步:配置工程在創(chuàng)建工程完成之后,需要對工程進(jìn)行配置。配置工程的主要目的是,讓IAR集成開發(fā)環(huán)境“知道”用戶到底需要對哪種處理器進(jìn)行開發(fā)工作。由于我們是對CC2531處理器進(jìn)行開發(fā)工作,因此配置工程的目標(biāo)是使得當(dāng)前工程能夠配合開發(fā)CC2531節(jié)點。工程配置的主要內(nèi)容為三個項目:General Options(一般選項)、Linker(連接器)、Debugger(調(diào)試器)。myProject高亮行上點擊右鍵點擊Options按鈕1.4開發(fā)環(huán)境與過程介紹在彈出的工程配置窗口中,需要配置的項目有三類:

16、General Options(一般選項),Linker(連接器),Debugger(調(diào)試器)General Options(一般選項)配置:首先點擊General Options(一般選項),在General Options(一般選項)中需要配置三個標(biāo)簽:Target(目標(biāo),指針對哪種處理器)、Data Pointer(數(shù)據(jù)指針)、Stack/Heap(堆/棧),三個標(biāo)簽的詳細(xì)配置如下1.4開發(fā)環(huán)境與過程介紹DataPointer設(shè)置( General Options(一般選項)配置)然后點擊Data Pointer標(biāo)簽進(jìn)行配置,Number of DPTRs中選擇1。即:只使用一個數(shù)據(jù)指針

17、1.4開發(fā)環(huán)境與過程介紹Stack/Heap配置( General Options(一般選項)配置)1.4開發(fā)環(huán)境與過程介紹Linker連接器的配置:Linker(連接器)部分的配置也有三個標(biāo)簽需要配置,分別是:Output、Extra Output、Config三個部分Output(輸出)標(biāo)簽:點擊在Output標(biāo)簽,在Allow C-Spy-specific extra output file前面的框中打勾(點擊一下該框即可打勾)。意思是,允許C語言指定監(jiān)控附加輸出文件1.4開發(fā)環(huán)境與過程介紹Extra Output(附加輸出)標(biāo)簽(Linker配置)點擊Extra Output標(biāo)簽,在G

18、enerate extra output file前面的框中打勾。意思是:產(chǎn)生附加的輸出文件。選中該項目后,在編譯成功之后會自動產(chǎn)生可以被CC2531處理器識別的HEX可執(zhí)行文件。并且在下方的Output file內(nèi)的Override default前面打勾,并將文件名的后綴.sim名改成.hex1.4開發(fā)環(huán)境與過程介紹Config(配置)標(biāo)簽:點擊Config標(biāo)簽,在Linker command file(連接器命令文件)項目下面的Override default(改寫缺省值)前面的框中打勾,并點擊下面的 . 按鈕,重新定位Linker command file到如下目錄:D:Program

19、 Files (x86)IAR SystemsEmbedded Workbench 5.48051configlnk51ew_cc2531.xcl注意:作者的計算機(jī)將IAR繼承開發(fā)環(huán)境安裝到了D盤Program Files (x86)目錄下。讀者在操作的時候,點擊了 . 按鈕之后,只需要再點擊兩次“向上”按鈕就可以定位到該目錄下。請注意:必須是config目錄下面的lnk51ew_cc2531.xcl文件。1.4開發(fā)環(huán)境與過程介紹Debugger(調(diào)試)標(biāo)簽的配置:在Debugger標(biāo)簽中僅有Driver(驅(qū)動)一項需要配置,點擊Driver下拉框,選中:Texas Instruments(德

20、州儀器公司)1.4開發(fā)環(huán)境與過程介紹第六步:輸入C代碼。代碼實現(xiàn)了一個LED閃爍的功能第七步:編譯與調(diào)試第八步:試運(yùn)行觀察運(yùn)行效果操作演示無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介第一章 基礎(chǔ)知識介紹1.1嵌入式系統(tǒng)開發(fā)基本規(guī)范1.2嵌入式軟件開發(fā)過程1.3算法基本概念1.4開發(fā)環(huán)境與過程介紹1.5 CC2531處理器簡介1.5 CC2531處理器簡介1、器件手冊(DataSheet)SWRU191無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第二章 通用I/O2.1通用I/O部分基本原理2

21、.2通用I/O部分基本操作過程2.3通用I/O操作示范第二章 通用I/O2.1通用I/O部分基本原理2.2通用I/O部分基本操作過程2.3通用I/O操作示范2.1通用I/O部分基本原理CC2531有21個數(shù)字輸入/輸出引腳,可以配置為通用數(shù)字I/O或外設(shè)I/O信號,配置為連接到ADC、定時器或USART外設(shè)。這些I/O口的用途可以通過一系列寄存器配置,由用戶軟件加以實現(xiàn)。I/O端口具備如下重要特性:21個數(shù)字I/O引腳可以配置為通用I/O或外部設(shè)備I/O輸入口具備上拉或下拉能力具有外部中斷能力21個I/O引腳都可以用作于外部中斷源輸入口。因此如果需要,外部設(shè)備可以產(chǎn)生中斷,外部中斷功能也可以從

22、睡眠模式喚醒設(shè)備2.1通用I/O部分基本原理2.1通用I/O部分基本原理五個步驟是進(jìn)行開發(fā)的基本要點:第一步:深入學(xué)習(xí)原理圖,了解PCB圖。第二步:深入學(xué)習(xí)器件手冊第三步:根據(jù)器件手冊編寫軟件算法第四步:創(chuàng)建工程編寫軟件代碼第五步:調(diào)試與試運(yùn)行代碼2.1通用I/O部分基本原理無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第二章 通用I/O2.1通用I/O部分基本原理2.2通用I/O部分基本操作過程2.3通用I/O操作示范第二章 通用I/O2.1通用I/O部分基本原理2.2通用I/O部分基本操作過程2.3通用I/O操作示范2.2通用I/O部分基本操作過程2.2通用I/O部分基本操作過程通過原理圖的分析,我們可以知道對

23、P1口中P1_0、P1_1、P1_3、P1_4四個引腳的編程操作是控制LED1、LED2、LED3、LED4四個LED的關(guān)鍵。那么首先,P1_0、P1_1、P1_3、P1_4四個引腳是什么?注意到本章是討論通用I/O,讀者也應(yīng)當(dāng)能夠聯(lián)想到這四個引腳是I/O引腳。CC2531有多少個I/O引腳?總共有21個可用的I/O引腳。為什么?這是因為器件手冊上是這么說的。CC2531的P1_0、P1_1、P1_3、P1_4四個引腳如何操作?需要查看器件手冊。那么是否能解決控制LED亮滅的問題,就變成了對P1_0、P1_1、P1_3、P1_4四個引腳是否能夠進(jìn)行操作的問題,最終變成了深入研究器件手冊的問題2

24、.2通用I/O部分基本操作過程如果讀者從TI公司的官方網(wǎng)站上下載了CC253x的系列器件手冊,則該文檔的名稱為:swru191f.pdf文檔,在該文檔的78頁起第七章(chapter 7)中詳細(xì)介紹了I/O的操作。該文檔對應(yīng)的中文文檔名為:2.4GHz IEEE 802.15.4和ZigBee 應(yīng)用的CC253X片上系統(tǒng)解決方案用戶指南。I/O端口部分在第70頁。2.2通用I/O部分基本操作過程通過查閱器件手冊我們大致可以得到如下的操作過程:第一步:設(shè)置P1SEL寄存器選中對應(yīng)的P1_x端口第二步:設(shè)置P1DIR寄存器設(shè)置對應(yīng)的P1_x端口的方向第三步:編寫應(yīng)用代碼國外器件手冊的命名都是很有意

25、義的,例如:P1SEL中SEL是Select或是Selection的簡寫,意思是選擇。P1DIR中DIR表示Direct或是Direction,意思是方向。那么上面的步驟可以理解為,先選擇P1口的某個I/O端口線,然后再設(shè)置P1口的某個I/O端口線的方向。無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第二章 通用I/O2.1通用I/O部分基本原理2.2通用I/O部分基本操作過程2.3通用I/O操作示范第二章 通用I/O2.1通用I/O部分基本原理2.2通用I/O部分基本操作過程2.3通用I/O操作示范2.3通用I/O操作示范應(yīng)用目標(biāo):完成四個LED燈的交替閃爍功能。說明:當(dāng)LED1與LED3亮起的時候,LED2與L

26、ED4熄滅當(dāng)LED2與LED4亮起的時候,LED1與LED3熄滅2.3通用I/O操作示范算法2.1 四個LED交替閃爍算法第一步:系統(tǒng)初始化1.1選中LED1LED4連接到P1口對應(yīng)的4個I/O端口線1.2設(shè)置這四根I/O端口線為輸出第二步:在無限循環(huán)中完成如下工作2.1點亮LED12.2點亮LED32.3熄滅LED22.4熄滅LED42.5延時一段時間2.6點亮LED22.7點亮LED42.8熄滅LED12.9熄滅LED32.10延時一段時間操作演示無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第三章 外部中斷3.1 中斷基本原理3.2 外部中斷部分基本操作過程3.3 外部中斷操作示范第三章 外部中斷3.1 中斷

27、基本原理3.2 外部中斷部分基本操作過程3.3 外部中斷操作示范3.1 中斷基本原理外部中斷:外部中斷是單片機(jī)實時地處理外部事件的一種內(nèi)部機(jī)制。當(dāng)某種外部事件發(fā)生時,單片機(jī)的中斷系統(tǒng)將迫使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而去進(jìn)行中斷事件的處理;中斷處理完畢后又返回被中斷的程序處,繼續(xù)執(zhí)行下去。CC2531處理器中有18個中斷源,每個中斷源都有它自己的位于一系列SFR(特殊功能寄存器)寄存器中的中斷請求標(biāo)志,相應(yīng)標(biāo)志位請求的每個中斷可以分別使能或禁用。中斷分別組合為不同的和可以選擇的優(yōu)先級別.3.1 中斷基本原理中斷概覽表3.1 中斷基本原理中斷的概念:中斷是指計算機(jī)運(yùn)行過程中,出現(xiàn)某些意外情況需主

28、機(jī)干預(yù)時,機(jī)器能自動停止正在運(yùn)行的程序并轉(zhuǎn)入處理新情況的程序,處理完畢后又返回原被暫停的程序繼續(xù)運(yùn)行3.1 中斷基本原理中斷處理指的是:處理器處理該突發(fā)事件的情況。中斷屏蔽:處理器也可以選擇對突發(fā)事件不予理睬,這種行為就是中斷屏蔽。中斷優(yōu)先級:對每一種突發(fā)事件分配一個“中斷優(yōu)先級”,當(dāng)同時有兩個或兩個以上的中斷事件發(fā)生,先處理優(yōu)先級高的中斷,后處理優(yōu)先級低的中斷。中斷嵌套:中斷處理程序尚未執(zhí)行完時又產(chǎn)生行的中斷。如果后來的中斷優(yōu)先級高于正在執(zhí)行的中斷服務(wù)程序,則處理器暫停正在執(zhí)行的中斷服務(wù)程序,轉(zhuǎn)而去執(zhí)行優(yōu)先級更高的服務(wù)程序,執(zhí)行完之后,執(zhí)行本中斷服務(wù)程序,最后返回執(zhí)行主程序。無線傳感器網(wǎng)絡(luò)技

29、術(shù)與應(yīng)用第三章 外部中斷3.1 中斷基本原理3.2 外部中斷部分基本操作過程3.3 外部中斷操作示范第三章 外部中斷3.1 中斷基本原理3.2 外部中斷部分基本操作過程3.3 外部中斷操作示范3.2 外部中斷部分基本操作過程3.2 外部中斷部分基本操作過程當(dāng)沒有按下按鈕的時候:VCC通過電阻R5直連到標(biāo)號KEY,也就是直接連接到P1_2引腳。此時P1_2引腳接收到高電平,也就是“1”信號。簡化圖如圖3-6所示:3.2 外部中斷部分基本操作過程當(dāng)按下按鈕的時候:如圖3-7所示,點A直接通過按鈕連接到地線,實際上就是引腳P1_2引腳直接連接到地線,也就是“0”信號。如果讀取P1_2按鈕,得到“1”

30、表示按鈕沒有被按下;如果讀取P1_2按鈕,得到“0”表示按鈕被按下3.2 外部中斷部分基本操作過程一般對于圖3-5的設(shè)計,我們這里直接給出使用外部中斷的具體程序設(shè)計流程如下(詳細(xì)內(nèi)容請讀者查閱器件手冊與百度):(1) 主程序中使用中斷的步驟如下:第一步:設(shè)置P1_2引腳為輸入引腳第二步:配置P1口為能夠接收中斷(中斷邊沿為上升沿(0-1跳變)產(chǎn)生中斷)第三步:打開P1_2引腳的中斷第四步:打開整個P1口的中斷第五步:打開全局中斷(2) 中斷服務(wù)程序中的代碼大致思路:第一步:關(guān)閉全局中斷(表示只使用本中斷)第二步:判斷是否為P1_2產(chǎn)生的中斷如果是,對按鍵去抖動操作(考慮到手按下按鈕是不會按得很

31、穩(wěn)定的)按鈕功能處理第三步:打開全局中斷(再次允許接收全局中斷)無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第三章 外部中斷3.1 中斷基本原理3.2 外部中斷部分基本操作過程3.3 外部中斷操作示范第三章 外部中斷3.1 中斷基本原理3.2 外部中斷部分基本操作過程3.3 外部中斷操作示范3.3 外部中斷操作示范應(yīng)用目標(biāo):使用P0口的外部中斷功能。開始四盞燈全滅,當(dāng)?shù)谝淮吸c按SW1鍵,LED1燈亮;而后每點按SW1鍵一次,LED燈亮的個數(shù)加1;當(dāng)四盞燈全亮?xí)r,再次點按SW1鍵,則四盞燈全滅,重新回到初始狀態(tài).3.3 外部中斷操作示范3.3 外部中斷操作示范主程序部分算法:初始化系統(tǒng)部分的算法第一步:初始化系統(tǒng)第

32、二步:在無限循環(huán)中做根據(jù)按鈕按下的次數(shù)情況次數(shù)1:亮LED1次數(shù)2:亮LED2次數(shù)3:亮LED3次數(shù)4:亮LED4其他 :LED全滅第一步:設(shè)置P1_2引腳為輸入引腳第二步:配置P1口中斷邊沿為上升沿觸發(fā)中斷第三步:打開P1_2引腳的中斷第四步:打開整個P1口的中斷第五步:打開全局中斷中斷部分算法第一步:關(guān)閉全局中斷第二步:如果是按鈕產(chǎn)生的中斷按鍵去抖動計算按鈕按下的次數(shù)清除中斷標(biāo)志第三步:打開全局中斷操作演示無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第四章 系統(tǒng)時鐘源與定時器4.1 系統(tǒng)時鐘源與定時器基本原理4.2 系統(tǒng)時鐘源與定時器部分基本操作過程4.3 系統(tǒng)時鐘源與定時器操作示范第四章 系統(tǒng)時鐘源與定時器

33、4.1 系統(tǒng)時鐘源與定時器基本原理4.2 系統(tǒng)時鐘源與定時器部分基本操作過程4.3 系統(tǒng)時鐘源與定時器操作示范4.1 系統(tǒng)時鐘源與定時器基本原理高速32MHZ時鐘系統(tǒng)概要圖低速32.768KHZ時鐘概要圖時鐘源4.1 系統(tǒng)時鐘源與定時器基本原理定時器屬于CC2531處理器中的一個部件,該部件在手冊中名稱叫:Timer,在CC2531處理器中共有4個定時器定時器4.1 系統(tǒng)時鐘源與定時器基本原理常用定時器1定時器1的功能描述如下:五個捕獲/比較通道上升沿、下降沿或任何邊沿的輸入捕獲設(shè)置、清除或切換輸出比較自由運(yùn)行、?;蛘嫈?shù)/倒計數(shù)操作可被 1,8,32 或 128 整除的時鐘分頻器在每個捕獲/

34、比較和最終計數(shù)上生成中斷請求DMA 觸發(fā)功能定時器1中有一個16位計數(shù)器,在每個時鐘邊沿(時鐘源工作一次)遞增或遞減。時鐘邊沿周期由寄存器中的CLKCON.TICKSPD二進(jìn)制位確定,它提供了從0.25MHz到32MHz的不同的時鐘頻率(可以使用32MHz外部晶振作為時鐘源)。在定時器1中由寄存器中的T1CTL.DIV二進(jìn)制位設(shè)置的分頻器值進(jìn)一步分頻,這個分頻器值可以是1、8、32 或128。因此當(dāng)32MHz晶振用作系統(tǒng)時鐘源時,定時器1可以使用的最低時鐘頻率是1953.125Hz,最高是32MHz。當(dāng)16MHz RC振蕩器用作系統(tǒng)時鐘源時,定時器1可以使用的最高時鐘頻率是16MHz。無線傳感

35、器網(wǎng)絡(luò)技術(shù)與應(yīng)用第四章 系統(tǒng)時鐘源與定時器4.1 系統(tǒng)時鐘源與定時器基本原理4.2 系統(tǒng)時鐘源與定時器部分基本操作過程4.3 系統(tǒng)時鐘源與定時器操作示范第四章 系統(tǒng)時鐘源與定時器4.1 系統(tǒng)時鐘源與定時器基本原理4.2 系統(tǒng)時鐘源與定時器部分基本操作過程4.3 系統(tǒng)時鐘源與定時器操作示范4.2 系統(tǒng)時鐘源與定時器部分基本操作過程我們建議在對CC253X處理器在進(jìn)行任何控制操作之前都應(yīng)當(dāng)最先設(shè)置好系統(tǒng)的時鐘源,因此時鐘源的操作與設(shè)置問題是關(guān)鍵問題。在器件手冊第四章的時鐘操作中提到:使用CLKCONCMD寄存器中的OSC二進(jìn)制位設(shè)置系統(tǒng)時鐘。并且,注意到手冊中還特別提到了“注意改變CLKCONCM

36、D.OSC位不會立即改變系統(tǒng)時鐘。時鐘源的改變首先在CLKCONSTA寄存器中的OSC二進(jìn)制位與CLKCONCMD寄存器的OSC二級制位相等的時候生效。這是因為在實際改變時鐘源之前需要有穩(wěn)定的時鐘,還要注意CLKCONCMD.CLKSPD位反映系統(tǒng)時鐘的頻率,因此是CLKCONCMD.OSC位的映像。”4.2 系統(tǒng)時鐘源與定時器部分基本操作過程系統(tǒng)時鐘源初始化部分在操作系統(tǒng)時鐘源的時候應(yīng)當(dāng)遵循如下順序:第一步:設(shè)置系統(tǒng)時鐘源寄存器CLKCONCMD以確定系統(tǒng)主時鐘的頻率;第二步:讀取CLKCONSTA寄存器的值;第三步:比較CLKCONSTA寄存器的值與CLKCONCMD寄存器的值是否相等,如

37、果相等表示系統(tǒng)主時鐘已經(jīng)準(zhǔn)備好了。上述三個步驟是使用主時鐘的基本過程,尤其注意第三步應(yīng)當(dāng)必須等待主時鐘準(zhǔn)備好,這樣整個系統(tǒng)才能在系統(tǒng)時鐘的控制下正常工作,這是一般的軟件設(shè)計當(dāng)中最早需要編寫的代碼部分。4.2 系統(tǒng)時鐘源與定時器部分基本操作過程定時器的基本操作過程在本章介紹過,任何內(nèi)部部件的操作都需要在系統(tǒng)主時鐘操作結(jié)束以后進(jìn)行,定時器模塊也不例外。對于定時器模塊的操作參考器件手冊,其中主要操作方法的介紹為“一般來說控制寄存器 T1CTL 用于控制定時器操作,狀態(tài)寄存器 T1STAT 保存中斷標(biāo)志?!倍〞r器有三種工作模式:自由運(yùn)行模式、模模式、正計數(shù)/倒計數(shù)模式4.2 系統(tǒng)時鐘源與定時器部分基本

38、操作過程自由運(yùn)行模式在自由運(yùn)行操作模式下,計數(shù)器從0 x0000開始,每個活動時鐘邊沿增加1。當(dāng)計數(shù)器達(dá)到0 xFFFF(溢出),計數(shù)器載入0 x0000,繼續(xù)遞增它的值,如圖4-6所示當(dāng)達(dá)到最終計數(shù)值0 xFFFF時,設(shè)置標(biāo)志IRCON.T1IF和T1STAT.OVFIF。如果設(shè)置了相應(yīng)的中斷屏蔽位TIMIF.OVFIM以及IEN1.T1EN,將產(chǎn)生一個中斷請求。自由運(yùn)行模式可以用于產(chǎn)生獨立的時間間隔,輸出信號頻率4.2 系統(tǒng)時鐘源與定時器部分基本操作過程模模式當(dāng)定時器運(yùn)行在模模式,16位計數(shù)器從0 x0000開始,每個活動時鐘邊沿增加1。當(dāng)計數(shù)器達(dá)到T1CC0(溢出),寄存器T1CC0H:

39、T1CC0L保存的最終計數(shù)值,計數(shù)器將復(fù)位到0 x0000并繼續(xù)遞增。如果定時器開始于T1CC0以上的一個值,當(dāng)達(dá)到最終計數(shù)值(0 xFFFF)時,設(shè)置標(biāo)志IRCON.T1IF和T1CTL.OVFIF。如果設(shè)置了相應(yīng)的中斷屏蔽位TIMIF.OVFIM以及IEN1.T1EN,將產(chǎn)生一個中斷請求,模模式可以用于周期不是0 xFFFF的應(yīng)用程序。4.2 系統(tǒng)時鐘源與定時器部分基本操作過程正計數(shù)/倒計數(shù)模式計數(shù)器反復(fù)從0 x0000開始,正計數(shù)直到達(dá)到T1CC0H:T1CC0L 保存的值,然后計數(shù)器將倒計數(shù)直到0 x0000,如圖4-8所示。這個定時器用于周期必須是對稱輸出脈沖而不是0 xFFFF的應(yīng)

40、用程序,因此允許中心對齊的PWM輸出應(yīng)用的實現(xiàn)。在正計數(shù)/倒計數(shù)模式,當(dāng)達(dá)到最終計數(shù)值時,設(shè)置標(biāo)志IRCON.T1IF和T1CTL.OVFIF。如果設(shè)置了相應(yīng)的中斷屏蔽位TIMIF.OVFIM以及IEN1.T1EN,將產(chǎn)生一個中斷請求4.2 系統(tǒng)時鐘源與定時器部分基本操作過程從上述三種工作方式大致能夠了解到如下要點:控制寄存器 T1CTL 用于控制定時器操作;狀態(tài)寄存器 T1STAT 保存中斷標(biāo)志,用于判斷;需要將定時器設(shè)置為自由運(yùn)行模式、模模式、正計數(shù)/倒計數(shù)模式三種工作模式中的某一種。因此,編程要點如下:第一步:設(shè)置好主時鐘;第二步:設(shè)置T1CTL寄存器,設(shè)置內(nèi)容為定時器的:通道、分頻方式

41、、工作方式;第三步:使用定時器。這里的使用可以直接采用主程序查詢,也可以使用中斷,如果使用中斷則需要編寫中斷子程序無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第四章 系統(tǒng)時鐘源與定時器4.1 系統(tǒng)時鐘源與定時器基本原理4.2 系統(tǒng)時鐘源與定時器部分基本操作過程4.3 系統(tǒng)時鐘源與定時器操作示范第四章 系統(tǒng)時鐘源與定時器4.1 系統(tǒng)時鐘源與定時器基本原理4.2 系統(tǒng)時鐘源與定時器部分基本操作過程4.3 系統(tǒng)時鐘源與定時器操作示范4.3 系統(tǒng)時鐘源與定時器操作示范應(yīng)用目標(biāo)(系統(tǒng)時鐘源部分):設(shè)置系統(tǒng)的時鐘源為32MHZ然后觀察LED1與LED2的交替閃爍速度然后設(shè)置系統(tǒng)的時鐘源為16MHZ然后觀察LED1與LED2的

42、交替閃爍速度重復(fù)上述操作4.3 系統(tǒng)時鐘源與定時器操作示范時鐘源操作的要點選擇對應(yīng)的時鐘源:設(shè)置CLKCONCMD寄存的OSC二進(jìn)制位讀CLKCONSTA的狀態(tài)當(dāng)CLKCONSTA的OSC二進(jìn)制位與CLKCONCMD的OSC二進(jìn)制相等的時候,表示時鐘源已經(jīng)穩(wěn)定4.3 系統(tǒng)時鐘源與定時器操作示范應(yīng)用目標(biāo)(定時器部分):用定時器1來改變LED1和LED2的狀態(tài),T1每溢出30次,LED1、LED2亮滅狀態(tài)同時改變一次。4.3 系統(tǒng)時鐘源與定時器操作示范算法設(shè)計第一步:系統(tǒng)初始化,統(tǒng)計溢出次數(shù)清零第二步:在無限循環(huán)中做 如果 是定時器1發(fā)出的中斷清除中斷標(biāo)志溢出次數(shù)加一如果 溢出次數(shù)為30次 溢出次

43、數(shù)清零 LED1和LED2的狀態(tài)取反第一步:選中LED1和LED2對應(yīng)的I/O口第二步:設(shè)置這些I/O口的方向第三步:設(shè)置LED1和LED2的初始狀態(tài)(亮LED1,滅LED2)第四步:設(shè)置系統(tǒng)工作的主時鐘為32MHZ第五步:設(shè)置定時器1為:通道0、8分頻、自動重載模式無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第五章 串行通訊5.1 串行通訊基本原理5.2 串行通訊部分基本操作過程5.3 串行通訊操作示范第五章 串行通訊5.1 串行通訊基本原理5.2 串行通訊部分基本操作過程5.3 串行通訊操作示范5.1 串行通訊基本原理上位機(jī)與單片機(jī)系統(tǒng)通過RS232串行通訊線進(jìn)行連接,連接的時候僅僅使用其必須的三根線,2-R

44、X、3-TX、5-GND。5.1 串行通訊基本原理在實際當(dāng)中有兩種串行通訊硬件設(shè)計方案,一種是基本RS232串口通訊模塊,第二種是USB轉(zhuǎn)RS232串口通訊模塊。5.1 串行通訊基本原理第一種:使用DB9接頭的RS232標(biāo)準(zhǔn)的硬件設(shè)計方案5.1 串行通訊基本原理硬件設(shè)計原理5.1 串行通訊基本原理USB到串口設(shè)計原理無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第五章 串行通訊5.1 串行通訊基本原理5.2 串行通訊部分基本操作過程5.3 串行通訊操作示范第五章 串行通訊5.1 串行通訊基本原理5.2 串行通訊部分基本操作過程5.3 串行通訊操作示范5.2 串行通訊部分基本操作過程5.2 串行通訊部分基本操作過程整

45、個上位機(jī)(計算機(jī))到下位機(jī)(嵌入式系統(tǒng))簡易通訊過程:第一步:在嵌入式系統(tǒng)板上找到串口,然后將串口線連接到嵌入式系統(tǒng)板上。第二步:將串口線的另外一端連接到計算機(jī),如果計算機(jī)沒有串口則連接一根USB轉(zhuǎn)串口線到計算機(jī)。第三步:在電腦上打開串行通訊軟件,例如STC-ISP軟件。第四步:使用STC-ISP軟件的接收窗口(文本模式)來查看接收到的嵌入式系統(tǒng)板上發(fā)來的數(shù)據(jù)。第五步:如果嵌入式系統(tǒng)板上的軟件部分支持,則可以接收STC-ISP軟件上發(fā)送窗口(一般為十六進(jìn)制模式)發(fā)送的命令符號串,并觀察嵌入式系統(tǒng)板上的運(yùn)行效果。無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第五章 串行通訊5.1 串行通訊基本原理5.2 串行通訊部分

46、基本操作過程5.3 串行通訊操作示范第五章 串行通訊5.1 串行通訊基本原理5.2 串行通訊部分基本操作過程5.3 串行通訊操作示范5.3 串行通訊操作示范應(yīng)用目標(biāo):實現(xiàn)從帶有CC253x處理器的嵌入式設(shè)備上通過串口每隔一段時間,發(fā)送字串UART0發(fā)送數(shù)據(jù),在PC端實驗串口助手來接收數(shù)據(jù)。實驗使用CC253x的串口,波特率為57600bps (bits/per second)5.3 串行通訊操作示范在串行通訊的時候需要完成的工作有:配置PERCFG寄存器,將串口引導(dǎo)到外部I/O上選擇與串口有關(guān)的I/O引腳功能設(shè)置波特率選擇串口模式清除殘余數(shù)據(jù)開串口中斷使用串口5.3 串行通訊操作示范串口初始化

47、部分算法設(shè)計 第一步:設(shè)置PERCFG寄存器,建立起與P0口的聯(lián)系即:UART0相關(guān)引腳初始,P0.2RX,P0.3TX第二步:選中P0為串口, P0.2、P0.3作為片內(nèi)外設(shè)I/O第三步:P0口外設(shè)優(yōu)先級采用上電復(fù)位默認(rèn)值,即P2DIR寄存器采用默認(rèn)值第四步:設(shè)置UART0波特率為:57600 查表知: UxBAUD.BAUD_M = 216 UxGCR.BAUD_E = 10第五步:選中UART模式,配置UART0;第六步:USART清除第七步:清除UART0中斷標(biāo)志第八步:打開全局中斷5.3 串行通訊操作示范定時器初始化部分算法第一步:配置定時器1的16位計數(shù)器的計數(shù)頻率,定時0.2S,

48、計數(shù)10次,2S發(fā)一次數(shù)據(jù)第二步:系統(tǒng)時鐘源速度設(shè)置為32MHz 第三步:配置128分頻,模比較計數(shù)工作模式,并開始啟動 第四步:設(shè)定timer1通道0比較模式第五步:寫入計數(shù)初值50000第六步:清除timer1中斷標(biāo)志第七步:清除通道0中斷標(biāo)志第八步:不產(chǎn)生定時器1的溢出中斷第九步:使能定時器1的中斷 第十步:使能全局中斷 5.3 串行通訊操作示范定時器中斷第一步:禁止全局中斷第二步:計數(shù)次數(shù)加一第三步:如果計數(shù)次數(shù)大于或等于10次計數(shù)清零LED1狀態(tài)取反 送一串字符到上位機(jī):UART0發(fā)送數(shù)據(jù)第四步:清T1的中斷請求第五步:清除通道0中斷標(biāo)志第六步:使能全局中斷 5.3 串行通訊操作示范

49、操作演示無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第六章 AD轉(zhuǎn)換6.1 AD轉(zhuǎn)換部分介紹6.2 AD轉(zhuǎn)換部分基本操作過程6.3 AD轉(zhuǎn)換操作示范第六章 AD轉(zhuǎn)換6.1 AD轉(zhuǎn)換部分介紹6.2 AD轉(zhuǎn)換部分基本操作過程6.3 AD轉(zhuǎn)換操作示范6.1 AD轉(zhuǎn)換部分介紹C2531處理器內(nèi)部的ADC模塊是一個12位的- ADC轉(zhuǎn)換器。- ADC轉(zhuǎn)換器的硬件體系結(jié)構(gòu)包含積分器、比較器和1位數(shù)模轉(zhuǎn)換器(DAC),排列在一個負(fù)反饋循環(huán)中。- ADC轉(zhuǎn)換器技術(shù)將過采樣、抽取濾波以及量化噪聲整形三項技術(shù)結(jié)合在一起使用。6.1 AD轉(zhuǎn)換部分介紹在CC2531器件手冊中,能夠查閱到如下關(guān)于ADC 的主要特性: 可選的抽取率,這也設(shè)

50、置了分辨率(7 到 12 位) 8 個獨立的輸入通道,可接受單端或差分信號 參考電壓可選為內(nèi)部單端、外部單端、外部差分或 AVDD5 產(chǎn)生中斷請求 轉(zhuǎn)換結(jié)束時的 DMA 觸發(fā) 溫度傳感器輸入 電池測量功能6.1 AD轉(zhuǎn)換部分介紹在該圖中可見ADC模塊內(nèi)部有五個關(guān)鍵部分,參考電壓矩陣、輸入矩陣、- 調(diào)節(jié)器、濾波器、時鐘發(fā)生器與控制邏輯。在前面的介紹中已經(jīng)初步介紹了NI公司高精度ADC模塊的主要部分-調(diào)節(jié)器,濾波器配合調(diào)節(jié)器起到了提高精度、穩(wěn)定性等作用。時鐘發(fā)生模塊與控制邏輯的任務(wù)主要是產(chǎn)生合適的采樣時鐘,這在實際使用當(dāng)中反應(yīng)為采樣頻率;并且由于時鐘發(fā)生模塊控制了采樣的速度,控制邏輯可以依照采樣頻

51、率來進(jìn)行合理化控制,這種設(shè)計是很非常合理的一種硬件邏輯設(shè)計方式。輸入矩陣和參考電壓矩陣,在整個模塊中是接觸外部信息的前端模塊,輸入矩陣當(dāng)中有8個模擬通道輸入AIN0AIN7、一個VDD/3的內(nèi)部電壓檢測輸入、一個內(nèi)部溫度傳感器輸入等三大部分。圖6-2的模塊名稱與結(jié)構(gòu)可見- 調(diào)節(jié)器的輸入只能接收一路輸入,但是輸入矩陣中有10路不同的輸入,因此這里模數(shù)采樣的做法可以推斷為分時處理,這意味著內(nèi)部的- ADC部分的采樣速度遠(yuǎn)遠(yuǎn)高于外部輸入邏輯的切換速度。另外,參考電壓模塊總共有三部分:內(nèi)部參考電壓、AIN7獨立參考電壓、AVDD參考電壓和AIN0AIN7每一路均可以設(shè)置一個參考電壓,參考電壓可以在這1

52、1路參考電壓中選擇。并且由于輸入矩陣與輸出矩陣中均有AIN0AIN7,因此可以推斷該ADC模塊允許使用差分輸入方式。當(dāng)電源系統(tǒng)比較穩(wěn)定的前提下是可以直接使用內(nèi)部參考電壓的,在后續(xù)的例子程序設(shè)計當(dāng)中我們可以嘗試內(nèi)部參考電壓與溫度傳感器。6.1 AD轉(zhuǎn)換部分介紹模擬量轉(zhuǎn)換為數(shù)字量的標(biāo)準(zhǔn)三步驟:采樣量化編碼采樣:(sampling)也稱取樣,指把時間域或空間域的連續(xù)量轉(zhuǎn)化成離散量的過程。是指用每隔一定時間的信號樣值序列來代替原來在時間上連續(xù)的信號,也就是在時間上將模擬信號離散化量化:是用有限個幅度值近似原來連續(xù)變化的幅度值,把模擬信號的連續(xù)幅度變?yōu)橛邢迶?shù)量的有一定間隔的離散值編碼:則是按照一定的規(guī)律

53、,把量化后的值用二進(jìn)制數(shù)字表示.無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第六章 AD轉(zhuǎn)換6.1 AD轉(zhuǎn)換部分介紹6.2 AD轉(zhuǎn)換部分基本操作過程6.3 AD轉(zhuǎn)換操作示范第六章 AD轉(zhuǎn)換6.1 AD轉(zhuǎn)換部分介紹6.2 AD轉(zhuǎn)換部分基本操作過程6.3 AD轉(zhuǎn)換操作示范6.2 AD轉(zhuǎn)換部分基本操作過程1. ADC 輸入端口0引腳的信號可以用作ADC輸入。這些端口引腳指的是AIN0-AIN7 引腳。輸入引腳AIN0-AIN7是連接到ADC的,可以把輸入配置為單端或差分輸入。6.2 AD轉(zhuǎn)換部分基本操作過程2. ADC轉(zhuǎn)換序列ADC將執(zhí)行一系列的轉(zhuǎn)換,并把結(jié)果移動到存儲器(通過DMA),不需要任何CPU干預(yù)。3. 單個

54、ADC轉(zhuǎn)換ADC可以編程為從任何通道執(zhí)行一個轉(zhuǎn)換,這樣一個轉(zhuǎn)換通過寫ADCCON3寄存器觸發(fā)。除非一個轉(zhuǎn)換序列已經(jīng)正在進(jìn)行,轉(zhuǎn)換立即開始,在這種情況下序列一完成單個轉(zhuǎn)換就被執(zhí)行。6.2 AD轉(zhuǎn)換部分基本操作過程4. ADC 運(yùn)行模式ADC有三種控制寄存器:ADCCON1, ADCCON2和ADCCON3,這些寄存器用于配置ADC并報告結(jié)果。ADCCON1.EOC位是一個狀態(tài)位,當(dāng)一個轉(zhuǎn)換結(jié)束時,設(shè)置為高電平;當(dāng)讀取ADCH時,它就被清除。ADCCON1.ST位用于啟動一個轉(zhuǎn)換序列。當(dāng)這個位設(shè)置為高電平,ADCCON1.STSEL是11,且當(dāng)前沒有轉(zhuǎn)換正在運(yùn)行時,就啟動一個序列。當(dāng)這個序列轉(zhuǎn)換完

55、成,這個位就被自動清除,ADCCON1.STSEL位選擇哪個事件將啟動一個新的轉(zhuǎn)換序列。該選項可以選擇為外部引腳P2.0上升沿或外部引腳事件之前序列的結(jié)束事件,定時器1的通道0比較事件或ADCCON1.ST是1。ADCCON2寄存器控制轉(zhuǎn)換序列是如何執(zhí)行的,ADCCON2.SREF用于選擇參考電壓,參考電壓只能在沒有轉(zhuǎn)換運(yùn)行的時候修改。ADCCON2.SDIV位選擇抽取率(并因此也設(shè)置了分辨率和完成一個轉(zhuǎn)換所需的時間,或樣本率),抽取率只能在沒有轉(zhuǎn)換運(yùn)行的時候修改。轉(zhuǎn)換序列的最后一個通道由ADCCON2.SCH位選擇,如上所述。ADCCON3寄存器控制單個轉(zhuǎn)換的通道號碼、參考電壓和抽取率。單個

56、轉(zhuǎn)換在寄存器ADCCON3寫入后將立即發(fā)生,或如果一個轉(zhuǎn)換序列正在進(jìn)行,該序列結(jié)束之后立即發(fā)生。該寄存器位的編碼和ADCCON2是完全一樣的。6.2 AD轉(zhuǎn)換部分基本操作過程5. ADC 轉(zhuǎn)換結(jié)果數(shù)字轉(zhuǎn)換結(jié)果以2的補(bǔ)碼形式表示。對于單端配置,結(jié)果總是為正。6. ADC參考電壓模擬數(shù)字轉(zhuǎn)換的正參考電壓可選擇為一個內(nèi)部生成的電壓,AVDD5引腳適用于AIN7輸入引腳的外部電壓,或適用于AIN6-AIN7輸入引腳的差分電壓。6.2 AD轉(zhuǎn)換部分基本操作過程7. ADC 轉(zhuǎn)換時間ADC只能運(yùn)行在32 MHz XOSC上,用戶不能整除系統(tǒng)時鐘。實際ADC采樣的4 MHz的頻率由固定的內(nèi)部劃分器產(chǎn)生。執(zhí)行

57、一個轉(zhuǎn)換所需的時間取決于所選的抽取率??偟膩碚f,轉(zhuǎn)換時間由以下公式給定:Tconv = (抽取率 + 16) x*0.25s8. ADC中斷當(dāng)通過寫ADCCON3觸發(fā)的一個單個轉(zhuǎn)換完成時,ADC 將產(chǎn)生一個中斷。當(dāng)完成一個序列轉(zhuǎn)換時,不產(chǎn)生一個中斷。6.2 AD轉(zhuǎn)換部分基本操作過程9. ADC DMA 觸發(fā)每完成一個序列轉(zhuǎn)換,ADC將產(chǎn)生一個DMA觸發(fā)。當(dāng)完成一個單個轉(zhuǎn)換,不產(chǎn)生DMA觸發(fā)。對于ADCCON2.SCH中頭8位可能的設(shè)置所定義的八個通道,每一個都有一個DMA觸發(fā)。當(dāng)通道中一個新的樣本準(zhǔn)備轉(zhuǎn)換,DMA觸發(fā)是活動的。DMA觸發(fā)ADC_CHsd,其中s是單端通道,d是差分通道。另外,還

58、有一個DMA觸發(fā)ADC_CHALL,當(dāng)ADC轉(zhuǎn)換序列的任何通道中有新的數(shù)據(jù)準(zhǔn)備好時,它是活動的。10. ADC 寄存器ADC所使用到的主要寄存器如下:ADCL (0 xBA) ADC 數(shù)據(jù)低位ADCH (0 xBB) ADC 數(shù)據(jù)高位ADCCON1 (0 xB4)ADC 控制 1ADCCON2 (0 xB5)ADC 控制 2TR0 (0 x624B) 測試寄存器 0無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第六章 AD轉(zhuǎn)換6.1 AD轉(zhuǎn)換部分介紹6.2 AD轉(zhuǎn)換部分基本操作過程6.3 AD轉(zhuǎn)換操作示范第六章 AD轉(zhuǎn)換6.1 AD轉(zhuǎn)換部分介紹6.2 AD轉(zhuǎn)換部分基本操作過程6.3 AD轉(zhuǎn)換操作示范6.3 AD轉(zhuǎn)換

59、操作示范ADC的操作步驟主要有如下幾個部分:設(shè)置參考電壓設(shè)置分辨率選擇ADC啟動方式啟動ADC轉(zhuǎn)換過程等待ADC轉(zhuǎn)換結(jié)束保存轉(zhuǎn)換結(jié)果6.3 AD轉(zhuǎn)換操作示范應(yīng)用目標(biāo):使用CC253x系列片上系統(tǒng)的片內(nèi)溫度傳感器作為AD源,采用單端轉(zhuǎn)換模式,將相應(yīng)的ADC轉(zhuǎn)換后的片內(nèi)溫度值顯示在PC的串口助手上。6.3 AD轉(zhuǎn)換操作示范串口初始化算法第一步:設(shè)置PERCFG寄存器,建立起與P0口的聯(lián)系即:UART0相關(guān)引腳初始,P0.2RX,P0.3TX第二步:選中P0為串口, P0.2、P0.3作為片內(nèi)外設(shè)I/O第三步:P0口外設(shè)優(yōu)先級采用上電復(fù)位默認(rèn)值,即P2DIR寄存器采用默認(rèn)值第四步:設(shè)置UART0波特

60、率為:57600 查表知: UxBAUD.BAUD_M = 216 UxGCR.BAUD_E = 10第五步:選中UART模式,配置UART0;第六步:USART清除第七步:清除UART0中斷標(biāo)志第八步:打開全局中斷6.3 AD轉(zhuǎn)換操作示范ADC部分的初始化算法第一步:設(shè)置內(nèi)部參考電壓第二步:設(shè)置12位分辨率第三步:設(shè)置片內(nèi)溫度傳感器采樣第四步:設(shè)置ADC的啟動模式為手動第五步:啟動AD轉(zhuǎn)化第六步:等待ADC轉(zhuǎn)化結(jié)束第七步:保存取得的最終轉(zhuǎn)化結(jié)果第八步:根據(jù)公式計算出溫度值6.3 AD轉(zhuǎn)換操作示范操作演示無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用第七章 星形網(wǎng)絡(luò)7.1 點對點通訊7.2 無線串口7.3 星形網(wǎng)絡(luò)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論