![無(wú)線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目11 ADC采集芯片內(nèi)溫度_第1頁(yè)](http://file4.renrendoc.com/view12/M02/2F/3E/wKhkGWdkBwKAFxZoAACs35a4CKU753.jpg)
![無(wú)線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目11 ADC采集芯片內(nèi)溫度_第2頁(yè)](http://file4.renrendoc.com/view12/M02/2F/3E/wKhkGWdkBwKAFxZoAACs35a4CKU7532.jpg)
![無(wú)線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目11 ADC采集芯片內(nèi)溫度_第3頁(yè)](http://file4.renrendoc.com/view12/M02/2F/3E/wKhkGWdkBwKAFxZoAACs35a4CKU7533.jpg)
![無(wú)線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目11 ADC采集芯片內(nèi)溫度_第4頁(yè)](http://file4.renrendoc.com/view12/M02/2F/3E/wKhkGWdkBwKAFxZoAACs35a4CKU7534.jpg)
![無(wú)線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目11 ADC采集芯片內(nèi)溫度_第5頁(yè)](http://file4.renrendoc.com/view12/M02/2F/3E/wKhkGWdkBwKAFxZoAACs35a4CKU7535.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目十一
ADC采集芯片內(nèi)溫度目錄項(xiàng)目導(dǎo)入項(xiàng)目目標(biāo)項(xiàng)目分析知識(shí)儲(chǔ)備01030204項(xiàng)目實(shí)施拓展訓(xùn)練0506項(xiàng)目導(dǎo)入01項(xiàng)目導(dǎo)入項(xiàng)目導(dǎo)入在某次食品安全檢查中,檢查人員中使用一個(gè)溫度計(jì)檢測(cè)餐廳每一樣菜肴樣品的溫度,以確保其在安全溫度范圍內(nèi),目的是防止食品中毒和細(xì)菌感染的風(fēng)險(xiǎn)。項(xiàng)目導(dǎo)入
如果發(fā)現(xiàn)食品的溫度不在安全范圍內(nèi),則可以采取必要的措施來(lái)恢復(fù)溫度或丟棄不安全的食品。在這種情況下,溫度自檢可以幫助確保食品的質(zhì)量和安全性。工業(yè)設(shè)計(jì)里面也有同樣的溫度檢查操作,并且往往是設(shè)備以定期自檢的形式,檢查設(shè)備、板卡或芯片的內(nèi)部溫度是否超出了范圍。一旦檢測(cè)到器件或設(shè)備的溫度出現(xiàn)異常,則產(chǎn)生報(bào)警信息并執(zhí)行處理措施。CC2530在實(shí)際應(yīng)用中,芯片的溫度值可以用來(lái)監(jiān)控芯片的工作狀態(tài)和環(huán)境溫度,以及進(jìn)行溫度補(bǔ)償?shù)炔僮鳌K且豢顜в袃?nèi)置溫度傳感器的芯片,可通過(guò)ADC采集芯片內(nèi)部的溫度值。CC2530的溫度測(cè)量范圍為-40°C到125°C,精度為±3.5°C。用戶可以通過(guò)讀取ADC寄存器的值來(lái)獲取芯片溫度的數(shù)據(jù),并進(jìn)行相應(yīng)的處理和控制。本項(xiàng)目通過(guò)CC2530的ADC模塊采集芯片的內(nèi)部溫度,模擬工業(yè)器件的自檢場(chǎng)景。項(xiàng)目導(dǎo)入項(xiàng)目分析02將時(shí)間和幅值連續(xù)的模擬量轉(zhuǎn)化為時(shí)間和幅值離散的數(shù)字量,這一過(guò)程叫A/D轉(zhuǎn)換,A/D轉(zhuǎn)換一般要經(jīng)過(guò)采樣、保持、量化、編碼4個(gè)過(guò)程。實(shí)現(xiàn)A/D轉(zhuǎn)換功能的是單片機(jī)或其它器件里面的數(shù)模轉(zhuǎn)換器,簡(jiǎn)稱為ADC。CC2530的ADC支持14位的模擬數(shù)字轉(zhuǎn)換,其中12位為有效數(shù)字位;它包括一個(gè)模擬多路轉(zhuǎn)換器,8個(gè)各自可配置的ADC通道以及一個(gè)參考電壓發(fā)生器。將片上溫度傳感器的輸出選擇作為ADC的輸入,即可用于CC2530的片內(nèi)溫度測(cè)量。項(xiàng)目分析項(xiàng)目要求:
AD采集CC2530的片內(nèi)溫度并通過(guò)串口發(fā)送到PC的串口助手顯示出來(lái)。1.利用ADC來(lái)采集溫度傳感器(片內(nèi)),并將溫度值發(fā)給電腦顯示2.了解CC2530的片內(nèi)ADC的功能3.學(xué)會(huì)使用CC2530片內(nèi)溫度傳感器項(xiàng)目分析項(xiàng)目目標(biāo)
03掌握CC2530的ADC控制寄存器的配置學(xué)會(huì)使用CC2530的ADC進(jìn)行片內(nèi)溫度采樣知識(shí)儲(chǔ)備04本來(lái)項(xiàng)目的設(shè)計(jì)有兩個(gè)關(guān)鍵點(diǎn),一是獲得CC2530片內(nèi)溫度的AD值,二是把AD值轉(zhuǎn)成溫度值。項(xiàng)目中,AD值獲取設(shè)置為12位。值得注意的是,ADCL和ADCH寄存器是用MSB取值,即有效的12位數(shù)值在ADCL和ADCH寄存器中均靠左放置。要將這兩個(gè)8位寄存器的數(shù)值聯(lián)結(jié)得到一個(gè)16位的AD數(shù)據(jù),需要在程序中將ADCL的數(shù)值右移4位后,再跟ADCH的8位數(shù)值強(qiáng)制轉(zhuǎn)換為16位后左移4位的值做并運(yùn)算。但CC2530的原廠例程中是:ADCL>>2,ADCH<<6,這點(diǎn)已證實(shí)錯(cuò)誤。ADC的值如何轉(zhuǎn)為溫度值?CC2530的芯片手冊(cè)給出了25°C時(shí),對(duì)應(yīng)的12位ADC值為1480。手冊(cè)給出了溫度系數(shù),數(shù)值為4.5/10°C。手冊(cè)中溫度系數(shù)中10°C該處也證實(shí)手冊(cè)有誤,正確應(yīng)為1°C,并且根據(jù)傳感器中溫度系數(shù)的定義,手冊(cè)中完整的溫度系數(shù)應(yīng)更正為:4.5ppm/1°C,即25°C時(shí),ADC值為1480,溫度每上升1°C,AD值增加4.5%。這也是ADC值轉(zhuǎn)化為溫度值的依據(jù)。知識(shí)儲(chǔ)備
知識(shí)儲(chǔ)備一、CC2530內(nèi)置ADC的特點(diǎn)二、ADC輸入端與采樣率設(shè)置三、ADC運(yùn)行模式四、ADC轉(zhuǎn)換結(jié)果知識(shí)儲(chǔ)備CC2530內(nèi)置的模數(shù)轉(zhuǎn)換器(ADC)主要有以下特點(diǎn):1.可選的采樣率(7到12位)。2.8個(gè)獨(dú)立的輸入通道,單端或差分。3.參考電壓可選為內(nèi)部、外部單端、外部差分或AVDD5(CC2530的模擬量電壓輸入引腳)。4.可產(chǎn)生中斷請(qǐng)求。5.可測(cè)量電池電壓。6.可測(cè)量芯片內(nèi)部溫度。一、CC2530內(nèi)置ADC的特點(diǎn)二、ADC輸入端與采樣率設(shè)置
P0端口引腳上的信號(hào)可以用作ADC輸入。在后面的描述中這些端口引腳將被稱為AIN0—AIN7引腳。輸入引腳AIN0—AIN7連接到ADC。
可以把輸入配置為單端或差分輸入。差分輸入是指4對(duì)輸入引腳(AIN0—AIN1、AIN2—AIN3、AIN4—AIN5、AIN6—AIN7)間的電勢(shì)差。請(qǐng)注意,這些引腳不能使用負(fù)電源,或者大于VDD的電源。
除了輸入引腳AIN0—AIN7,片上溫度傳感器的輸出也可以選擇作為用于溫度測(cè)量的ADC輸入。
還可以選擇一個(gè)對(duì)應(yīng)AVDD5/3的電壓作為ADC輸入。這個(gè)輸入允許實(shí)現(xiàn)例如要求電池監(jiān)測(cè)功能的應(yīng)用。注意,這種情況下的參考電壓不能由電池電壓決定,例如,AVDD5電壓不能作為參考電壓。ADCCON2(0xB5)–ADC控制2和ADCCON3(0xB6)–ADC控制3的控制寄存器如表11-1所示。表11-1ADCCON2(0xB5)–ADC控制2和ADCCON3(0xB6)–ADC控制3位名稱復(fù)位R/W描述7:6SREF[1:0]00R/W參考電壓選擇00:內(nèi)部參考電壓01:AIN7引腳上的外部參考電壓10:AVDD5引腳11:AIN6-AIN7差分輸入外部參考電壓5:4SDIV[1:0]01R/W采樣率設(shè)置00:64采樣率(7位)01:128采樣率(9位)10:256采樣率(10位)11:512采樣率(12位)3:0SCH[3:0]0000R/W通道選擇。0000:AIN00001:AIN10010:AIN20011:AIN30100:AIN40101:AIN50110:AIN60111:AIN71000:AIN0-AIN11001:AIN2-AIN31010:AIN4-AIN51011:AIN6-AIN71100:GND1101:正電壓參考1110:溫度傳感器1111:VDD/3
ADCCON2.SDIV設(shè)置采樣率,ADCCON2.SCH設(shè)置模擬量的輸入通道,AIN0-AIN7對(duì)應(yīng)P0_0-P0_7。ADCCON3寄存器參數(shù)與ADCCON2完全相同,不同之處在于ADCCON2用于不斷重復(fù)采集,ADCCON3用于單次采集,如表11-2~11-3所示。表11-2TR0(0x624B)–測(cè)試寄存器0位名稱復(fù)位R/W描述7:1-0000000R0保留。寫作0。0ACTM0R/W設(shè)置為1來(lái)連接溫度傳感器到SOC_ADC。表11-3ATEST(0x61BD)–模擬測(cè)試控制位號(hào)碼名稱復(fù)位R/W描述7:6-00R0保留。讀作05:0ATEST_CTRL[5:0]000000R/W控制模擬測(cè)試模式:000001:使能溫度傳感器三、ADC運(yùn)行模式ADC具有三個(gè)控制寄存器:ADCCON1、ADCCON2和ADCCON3,如表11-4所示。位名稱復(fù)位R/W描述7EOC0R/H0轉(zhuǎn)換結(jié)束標(biāo)志位0:轉(zhuǎn)換沒(méi)有完成1:轉(zhuǎn)換完成6ST0
開始轉(zhuǎn)換。0:沒(méi)有轉(zhuǎn)換正在進(jìn)行1:如果ADCCON1.STSEL=11并且沒(méi)有序列正在運(yùn)行就啟動(dòng)一個(gè)轉(zhuǎn)換序列。5:4STSEL[1:0]11R/W1啟動(dòng)方式選擇。00:P2.0引腳的外部觸發(fā)。01:立即開始轉(zhuǎn)換。10:定時(shí)器1通道0比較事件11:ADCCON1.ST=13:2RCTRL[1:0]00R/W16位隨機(jī)數(shù)發(fā)生器控制00:正常運(yùn)行。(13X型展開)01:LFSR的時(shí)鐘一次(沒(méi)有展開)10:保留11:關(guān)閉隨機(jī)數(shù)發(fā)生器ADCCON1.EOC位是一個(gè)狀態(tài)位,當(dāng)一個(gè)轉(zhuǎn)換結(jié)束時(shí)該位置1,當(dāng)讀取ADCH時(shí),清除該位。ADCCON1.ST位用于啟動(dòng)一個(gè)轉(zhuǎn)換序列。當(dāng)該位置1,ADCCON1.STSEL位為11,且當(dāng)前沒(méi)有正在進(jìn)行的轉(zhuǎn)換時(shí),將啟動(dòng)一個(gè)序列。當(dāng)這個(gè)序列轉(zhuǎn)換完成,該位就自動(dòng)清除。ADCCON1.STSEL位選擇哪個(gè)事件將啟動(dòng)一個(gè)新的轉(zhuǎn)換序列??梢员贿x擇的事件選項(xiàng)有:外部引腳P2.0上的上升沿,前一個(gè)序列的結(jié)束,定時(shí)器1通道0比較事件或ADCCON1.ST置1。表11-4ADCCON1(0xB4)–ADC控制四、ADC轉(zhuǎn)換結(jié)果數(shù)字轉(zhuǎn)換結(jié)果放置在ADCH、ADCL寄存器中,以2的補(bǔ)碼形式表示。對(duì)于單端配置,結(jié)果總是為正。當(dāng)ADCCON1.EOC置1時(shí),表示轉(zhuǎn)換完成,此時(shí)可以讀出ADCH和ADCL里的數(shù)據(jù),如表11-5~11-6所示。位名稱復(fù)位R/W描述7:2ADC[5:0]000000RADC轉(zhuǎn)換結(jié)果的低位部分1:0-00R0沒(méi)有使用表11-6ADCH(0xBB)–ADC數(shù)據(jù)高位位名稱復(fù)位R/W描述7:0ADC[13:6]0x00RADC轉(zhuǎn)換結(jié)果的高位部分ADCH的最高位是符號(hào)位,對(duì)于單個(gè)測(cè)量,結(jié)果總是正,
所以符號(hào)位總是0。
所以用到bit6--bit0,
計(jì)7位。ADCL的低2位(bit0,bit1)系統(tǒng)保留,bit2不用,所以用到bit7--bit3,計(jì)5位。所以共12位。當(dāng)然其他抓取率時(shí),有效分辨率如下:00:64decimationrate(7bitsENOB)--ADCH低7位01:128decimationrate(9bitsENOB)--ADCH低7位+ADCH高2位10:256decimationrate(10bitsENOB)--ADCH低7位+ADCH高3位11:512decimationrate(12bitsENOB)--ADCH低7位+ADCL高5位表11-5ADCL(0xBA)–ADC數(shù)據(jù)低位項(xiàng)目實(shí)施05項(xiàng)目實(shí)施一、準(zhǔn)備設(shè)備和資源項(xiàng)目實(shí)施前必須先準(zhǔn)備好相應(yīng)的設(shè)備和資源,見(jiàn)表11-7。序號(hào)設(shè)備/資源名稱數(shù)量單位是否準(zhǔn)備到位(√)1CC2530模塊1個(gè)
2CCDebugger仿真器(帶下載線)1個(gè)
3MiniUSB供電線或5號(hào)電池1根/個(gè)
表11-7設(shè)備和資源清單
本實(shí)驗(yàn)使用CC2530的片內(nèi)ADC外設(shè)采集芯片的內(nèi)部溫度,片內(nèi)ADC的內(nèi)部硬件信號(hào)連接如圖11-1所示。
圖11-1CC2530片內(nèi)ADC硬件連接圖二、查閱實(shí)驗(yàn)?zāi)K原理圖1.連接設(shè)備
將CCDebugger仿真器的接口與CC2530實(shí)驗(yàn)?zāi)K(實(shí)驗(yàn)?zāi)K使用“求助按鈕V1.0”)相連,仿真器另一端用USB數(shù)據(jù)線連接到PC上,如圖11-2所示。
圖11-2實(shí)驗(yàn)接線圖
三、實(shí)施過(guò)程2.程序設(shè)計(jì)1)創(chuàng)建工程。打開IAR新建一個(gè)CProject工程(具體步驟請(qǐng)參照項(xiàng)目二)2)本實(shí)驗(yàn)的軟件流程圖。下面圖11-3是本實(shí)驗(yàn)的流程圖,大家可以結(jié)合這個(gè)圖來(lái)學(xué)習(xí)編寫程序。
圖11-3程序流程圖3)編寫代碼。完整的程序源代碼,見(jiàn)課程資源。主要功能代碼如下:(1)引用相應(yīng)頭文件#include<ioCC2530.h>#include<stdio.h>#include<string.h>(2)對(duì)IO口進(jìn)行初始化:/*****************************************************函數(shù)名稱:IO_Init功能:完成IO口初始化voidIO_Init(void){P1DIR|=0x04;//P1_2端口定義為輸出,對(duì)應(yīng)蜂鳴器Beeper=0;//關(guān)閉蜂鳴器}(3)對(duì)串口進(jìn)行初始化:/*****************************************************函數(shù)名稱:InitUART功能:完成串口初始化voidInitUART(void){
PERCFG=0x00;//位置1P0口
P0SEL=0x0C;//P0用作串口
P2DIR&=~0xC0;//P0優(yōu)先作為UART0
U0CSR|=0x80;//串口設(shè)置為UART方式U0GCR|=11;
U0BAUD|=216;//波特率設(shè)為115200
UTX0IF=1;//UART0TX中斷標(biāo)志初始置位1
U0CSR|=0x40;//允許接收
IEN0|=0x84;//開總中斷,接收中斷}(4)串口發(fā)送函數(shù):/*****************************************************函數(shù)名稱:UartSendString功能:將特定長(zhǎng)度的字符串發(fā)送出去voidUartSendString(char*Data,intlen){uinti;for(i=0;i<len;i++){U0DBUF=*Data++;while(UTX0IF==0);UTX0IF=0;}
U0DBUF=0x0A;//輸出換行while(UTX0IF==0);UTX0IF=0;}(5)對(duì)溫度傳感器進(jìn)行初始化:/*****************************************************函數(shù)名稱:InitTempSensor功能:完成芯片內(nèi)部自帶溫度傳感器的初始化voidInitTempSensor(void){IEN0=IEN1=IEN2=0X00;//關(guān)閉所有中斷TR0=0x01;//設(shè)置為1來(lái)連接溫度傳感器到SOC_ADCATEST=0x01;//使能溫度傳感}(6)獲取溫度傳感器的溫度值:/*****************************************************函數(shù)名稱:GetTemperature功能:完成對(duì)溫度傳感器的AD采樣,并轉(zhuǎn)換為實(shí)際溫度值floatGetTemperature(void){uintvalue=0;ADCCON3=(0x3E);//選12位采樣率;對(duì)片內(nèi)溫度傳感器采樣ADCCON1|=0x30;//選擇ADC的啟動(dòng)模式為手動(dòng)ADCCON1|=0x40;//啟動(dòng)AD轉(zhuǎn)化while(!(ADCCON1&0x80));//等待AD轉(zhuǎn)換完成value=ADCL>>4;//ADCL寄存器低2位無(wú)效,由于只有12位有效,ADCL寄存器低4位無(wú)效。value|=(((uint)ADCH)<<4);;return(value*0.015)+2.778;//根據(jù)芯片手冊(cè)的溫度系數(shù)得到AD值轉(zhuǎn)溫度值的轉(zhuǎn)換公式}(7)主函數(shù)循環(huán)采樣溫度數(shù)據(jù),串口發(fā)送到PC:/*****************************************************函數(shù)名稱:main功能:調(diào)用AD采樣函數(shù)獲得溫度值,將溫度數(shù)據(jù)作加權(quán)平均后通過(guò)串口發(fā)送voidmain(void){CLKCONCMD&=~0x40;//設(shè)置系統(tǒng)時(shí)鐘源為32MHZ晶振while(CLKCONSTA&0x40);//等待晶振穩(wěn)定CLKCONCMD&=~0x47;//設(shè)置系統(tǒng)主時(shí)鐘頻率為32MHZchari;floatAvgTemp;charstrTemp[6];IO_Init();InitUART();//初始化串口InitTempSensor();//初始化ADCwhile(1){AvgTemp=GetTemperature();for(i=0;i<63;i++){AvgTemp+=GetTemperature();AvgTemp=AvgTemp/2;//加權(quán)計(jì)算溫度可以減少誤
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力工程承包協(xié)議書
- 2024-2025學(xué)年高中化學(xué)專題4硫氮和可持續(xù)發(fā)展第二單元生產(chǎn)生活中的含氮化合物第2課時(shí)氮肥的生產(chǎn)和使用學(xué)案含解析蘇教版必修1
- 2024-2025學(xué)年高中物理第二章1第1節(jié)電源和電流練習(xí)含解析新人教版選修3-1
- 項(xiàng)目經(jīng)理年度總結(jié)
- 的委托書代收案款
- 行政總監(jiān)年度工作總結(jié)
- 2025年年度政治思想工作總結(jié)
- 小學(xué)四年級(jí)暑假學(xué)習(xí)計(jì)劃
- 房地產(chǎn)項(xiàng)目聯(lián)合開發(fā)協(xié)議書范本
- 焦作新材料職業(yè)學(xué)院《證券投資進(jìn)階實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- QC成果清水混凝土樓梯卡槽式木模板體系創(chuàng)新
- DB31-T 1375-2022 辦公樓物業(yè)企業(yè)安全生產(chǎn)管理實(shí)施指南
- 蒸汽換算計(jì)算表
- 人教版高中數(shù)學(xué)必修1全冊(cè)導(dǎo)學(xué)案
- 四年級(jí)計(jì)算題大全(列豎式計(jì)算,可打印)
- GB/T 5782-2016六角頭螺栓
- 婦產(chǎn)科正常分娩課件
- 產(chǎn)業(yè)鏈鏈長(zhǎng)分工表
- 國(guó)際金融課件(完整版)
- 導(dǎo)向標(biāo)識(shí)系統(tǒng)設(shè)計(jì)(一)課件
- 220t鍋爐課程設(shè)計(jì) 李學(xué)玉
評(píng)論
0/150
提交評(píng)論