DSP CCS12.00 芯片:TMS320F28335 ADC 的运用
1.AD?轉(zhuǎn)換的四個(gè)步驟
實(shí)現(xiàn)ad轉(zhuǎn)換需要經(jīng)過(guò)取樣、保持、量化、編碼四個(gè)步驟。
2.AD 的含義
?AD 轉(zhuǎn)換 就是把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。主要包括積分型、逐次逼近型、并行比較型/串并行型、Σ-Δ調(diào)制型、電容陣列逐次比較型及壓頻變換型。A/D轉(zhuǎn)換器是用來(lái)通過(guò)一定的電路將模擬量轉(zhuǎn)變?yōu)閿?shù)字量。模擬量可以是電壓、電流等電信號(hào),也可以是壓力、溫度、濕度、位移、聲音等非電信號(hào)。但在A/D轉(zhuǎn)換前,輸入到A/D轉(zhuǎn)換器的輸入信號(hào)必須經(jīng)各種傳感器把各種物理量轉(zhuǎn)換成電壓信號(hào)。
3.采樣通道? ?16 個(gè)采樣通道數(shù)
4.ADC 的特點(diǎn):
5. 采樣順序? ?兩種模式 (級(jí)聯(lián)模式, 雙序列模式)
? ? ? ? ? ? ? ? ? ? ?兩種采樣模式 (順序采樣, 同步采樣)
? ? ? ? ? ? ? ? ? ? ? ? 4種工作模式?
兩種模式 (級(jí)聯(lián)模式, 雙序列模式)
兩種采樣模式 (順序采樣, 同步采樣)
?
6. ADC 時(shí)鐘模塊配置
7.ADC模塊的相關(guān)寄存器
8.ADC的工作方式寄存器設(shè)置
9.ADC配置步驟
10.知識(shí)詳解??
通道的選擇: 四位二進(jìn)制? ?第一位? 1: B? ? ?0:A
? ?第二位,第三位,第四位:? 0--7? 通道
?
一:ADC轉(zhuǎn)換步驟:
? A/D轉(zhuǎn)換器(ADC)將模擬量轉(zhuǎn)換為數(shù)字量通常要經(jīng)過(guò)4個(gè)步驟:
? 1:采樣:將一個(gè)時(shí)間上連續(xù)變化的模擬量轉(zhuǎn)化為時(shí)間上離散變化的模擬量。
? 2:保持:將采樣結(jié)果存儲(chǔ)起來(lái),直到下次采樣,這個(gè)過(guò)程稱作保持。一般,采樣器和保持電路一起總稱為采樣保持電路。
? 3:量化:將采樣電平歸化為與之接近的離散數(shù)字電平,這個(gè)過(guò)程稱作量化。
? 4:編碼:將量化后的結(jié)果按照一定數(shù)制形式表示就是編碼。
二:將采樣電平(模擬值)轉(zhuǎn)換為數(shù)字值時(shí),有兩類方法:直接比較型與間接比較型。
? 直接比較型:就是將輸入模擬信號(hào)直接與標(biāo)準(zhǔn)的參考電壓比較,從而得到數(shù)字量。屬于這種類型常見(jiàn)的有并行ADC和逐次比較型ADC。
? 間接比較型:輸入模擬量不是直接與參考電壓比較,而是將二者變?yōu)橹虚g的某種物理量在進(jìn)行比較,然后將比較所得的結(jié)果進(jìn)行數(shù)字編碼。屬于這種類型常見(jiàn)的有雙積分型的ADC。
三:ADC關(guān)鍵技術(shù)指標(biāo)
1:分辨率:指數(shù)字量變化一個(gè)最小量時(shí)模擬信號(hào)的變化量,定義為滿刻度與2^n的比值。分辨率又稱為精度,通常以數(shù)字信號(hào)的位數(shù)來(lái)表示。通俗的解釋分辨率是決定采樣最小值,比如基準(zhǔn)電壓為1V,8位的采樣,最小值是1/256,1為采樣的最小值是1/1024,分辨率越高。
2:轉(zhuǎn)換速率:也可以叫做A/D采樣率,是A/D轉(zhuǎn)換一次所需時(shí)間的倒數(shù)。單位時(shí)間內(nèi),完成從模擬轉(zhuǎn)換到數(shù)字的次數(shù)。
3:采樣時(shí)間:兩次轉(zhuǎn)換的間隔。為了保證轉(zhuǎn)換正確完成,采樣速率必須小于或等于轉(zhuǎn)換速率。
4:量化誤差:由于A/D的有限分辨率而引起的誤差,即有限分辨率A/D的階梯狀轉(zhuǎn)移特性曲線與無(wú)限分辨率A/D(理想A/D)的轉(zhuǎn)移特性曲線(直線)之間的最大偏差。通常1個(gè)或半個(gè)最小數(shù)字量的模擬變化量,表示為1LSB、1/2LSB。
5:偏移誤差:輸入信號(hào)為零時(shí)輸出信號(hào)不為零的值,可外接點(diǎn)位器調(diào)制至最小。
6:滿刻度誤差:滿刻度輸出時(shí)對(duì)應(yīng)的輸入信號(hào)與理想輸入信號(hào)值之差。
7:線性度:實(shí)際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大便宜,不包含量化誤差,便宜誤差,滿刻度誤差。
8:絕對(duì)精度和相對(duì)精度:絕對(duì)精度(簡(jiǎn)稱精度)是指在整個(gè)刻度范圍內(nèi),任一輸入數(shù)碼所對(duì)應(yīng)的模擬量實(shí)際輸出值與理論值之間的最大誤差。絕對(duì)精度是由 DAC 的增益誤差(當(dāng)輸入 數(shù)碼為全1 時(shí),實(shí)際輸出值與理想輸出值之差)、零點(diǎn)誤差(數(shù)碼輸入為全0時(shí), DAC的非零輸出值)、非線性誤差和噪聲等引起的。絕對(duì)精度(即最大誤差)應(yīng)小于1個(gè)LSB。相對(duì)精度與絕對(duì)精度表示同一含義,用最大誤差相對(duì)于滿刻度的百分比表示。
四:TMS320F28335之ADC模塊
?
?1:28335的ADC模塊是12位,它的精度誤差為+-1/2^12,但實(shí)際達(dá)不到。
?2:28335的ADC時(shí)鐘頻率最高達(dá)到25MHZ,而采樣頻率最高位12.5Msps(理論)。
note:這里再將時(shí)鐘頻率,采樣頻率和轉(zhuǎn)換時(shí)間再說(shuō)一下:
時(shí)鐘頻率:就像人的心臟跳動(dòng)一樣,如果沒(méi)有時(shí)鐘頻率,那么ADC模塊將運(yùn)作不起來(lái)。
采樣頻率:每隔多長(zhǎng)時(shí)間啟動(dòng)一次采樣。
轉(zhuǎn)換時(shí)間:ADC模塊轉(zhuǎn)換一個(gè)通道或者一個(gè)序列所需要的時(shí)間。
藍(lán)色框框(ADC的輸入通道):ADC有16個(gè)輸入引腳,即16個(gè)模擬轉(zhuǎn)變輸入通道,分為2組,一組為A,一組為B,其中ADCINA0~ADCINA7都是屬于A的,ADCINB0~ADCINB7都是B的。
綠色框框(S/H-A,S/H-B采樣保持器):采樣/保持的采價(jià)時(shí)間窗口(可以理解為信號(hào)處理中對(duì)模擬信號(hào)每次進(jìn)行采樣時(shí),開(kāi)關(guān)閉合的時(shí)間)。
綠色框框:12位ADC轉(zhuǎn)換內(nèi)核。
黃色框框(結(jié)果寄存器):將結(jié)果存在在此。
紅色框框(序列發(fā)生器1和序列發(fā)生器2):也叫排序器,有兩種工作模式:第一種是1和2可以獨(dú)立工作。第二種是1和2集聯(lián)成一個(gè)16位的序列發(fā)生器。
? 五:序列發(fā)生器工作簡(jiǎn)介:
? ? 通過(guò)AD輸入通道后,在進(jìn)入12位ADC轉(zhuǎn)換內(nèi)核進(jìn)行轉(zhuǎn)換,將結(jié)果放在結(jié)果寄存器中,結(jié)果寄存器是16位,按照序列進(jìn)行轉(zhuǎn)換,但是如何按照序列呢?
? F28335的ADC轉(zhuǎn)換模塊有2個(gè)獨(dú)立的8狀態(tài)排序器(SEQ1與SEQ2),這兩個(gè)排序器還可以級(jí)聯(lián)為1個(gè)16狀態(tài)的排序器(SEQ)。這里的狀態(tài)是指排序器內(nèi)能夠完成的A/D自動(dòng)轉(zhuǎn)換通道的個(gè)數(shù)。8狀態(tài)排序器指的是能夠完成8個(gè)A/D轉(zhuǎn)換通道的排序管理。2個(gè)排序器可有兩種操作方式,分別為單排序器方式(級(jí)聯(lián)為1個(gè)16狀態(tài)排序器。即級(jí)聯(lián)方式)和雙排序器方式(2個(gè)獨(dú)立的8狀態(tài)排序器)。
? A/D轉(zhuǎn)換模塊每次收到觸發(fā)源的開(kāi)始轉(zhuǎn)換(SOC)請(qǐng)求時(shí),就你能夠通過(guò)排序自動(dòng)完成多路轉(zhuǎn)換,將模擬輸入信號(hào)引入采樣保持器與ADC內(nèi)核。轉(zhuǎn)換完成后,將轉(zhuǎn)換結(jié)果存入結(jié)果寄存器。
? 兩種操作模式最大的差別在于,單排序操作方式(即級(jí)聯(lián)方式)響應(yīng)觸發(fā)源是唯一的,可雙排序的方式可以分別響應(yīng)各自的觸發(fā)源。單排序操作方式簡(jiǎn)單,雙排序操作方式復(fù)雜。兩者工作方式都可以進(jìn)行順序采樣或者同步采樣。
note:順序采樣:A和B按照順序來(lái)完成采樣,A按照ADCINA0~ADCINA7的順序進(jìn)行采樣,B按照BDCINA0~BDCINA7的順序進(jìn)行采樣。而同步采樣是,A0---B0,A1----B1成對(duì)的采樣。
?4.代碼:? (程序功能 ?:? 滑動(dòng)變阻器變化? ?電壓數(shù)值有變化)
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_Examples.h" // DSP2833x Examples Include File#define ADC_MODCLK 0x5 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*4) = 15MHz // for 60 MHz devices: HSPCLK = 60/(2*4) = 7.5 MHz #define ADC_CKPS 0x1 // ADC module clock = HSPCLK/2*ADC_CKPS = 15MHz/(1*2) = 7.5MHz #define ADC_SHCLK 0xf // S/H width in ADC module periods = 16 ADC clocks #define AVG 100 // Average sample limit #define ZOFFSET 0x00 // Average Zero offset #define BUF_SIZE 2048 // Sample buffer size// Global variable for this example Uint16 SampleTable[BUF_SIZE];float Vin=0; float mm=1; float m1=1;void main(void) {int temp;Uint16 i;Uint32 Sum=0;/*初始化系統(tǒng)*/InitSysCtrl();// Specific clock setting for this example:EALLOW;SysCtrlRegs.PCLKCR0.bit.ADCENCLK=1;//ADCSysCtrlRegs.HISPCP.all = ADC_MODCLK; // HSPCLK = SYSCLKOUT/(2*ADC_MODCLK)=15MHZEDIS;/*初始化GPIO;*///InitSpiaGpio();/* 關(guān)中斷 */DINT;IER = 0x0000;IFR = 0x0000;/* 初始化PIE控制寄存器 */InitPieCtrl();/* 初始化PIE參數(shù)表 */InitPieVectTable();// 步驟 4.初始化片內(nèi)外設(shè):InitAdc(); // For this example, init the ADC///初始化SPIEINT; // Enable Global interrupt INTMERTM; // Enable Global realtime interrupt DBGM// Specific ADC setup for this example:AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK;//設(shè)置采樣窗口時(shí)間:(15+1)*ADCCLKAdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS;//ADC內(nèi)核時(shí)鐘分頻:HSPCLK/2=6.25MHZAdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // 1選擇級(jí)聯(lián)模式AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; //通道選擇ADCAIN0AdcRegs.ADCTRL1.bit.CONT_RUN = 1; // 設(shè)置為連續(xù)運(yùn)行AdcRegs.ADCMAXCONV.bit.MAX_CONV1=0x0;// 采樣表清0for (i=0; i<BUF_SIZE; i++){SampleTable[i] = 0;}// 軟件啟動(dòng)SEQ1AdcRegs.ADCTRL2.all = 0x2000;i=0;while(1){while (AdcRegs.ADCST.bit.INT_SEQ1== 0){} // 等待中斷AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;SampleTable[i++] =((AdcRegs.ADCRESULT0>>4) );if(i>(BUF_SIZE-1)){for(i=0;i<BUF_SIZE;i++){mm+=SampleTable[i];}mm=mm/2048/1000;i=0;}}}//=========================================================================== // No more. //===========================================================================?
總結(jié)
以上是生活随笔為你收集整理的DSP CCS12.00 芯片:TMS320F28335 ADC 的运用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 什么是单工,半双工,全双工
- 下一篇: 前端点击图片将跳出显示框显示图片