新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 詳究2812 的內置ADC

        詳究2812 的內置ADC

        作者: 時間:2016-11-23 來源:網絡 收藏
        AD的簡單知識


        AD,就是將模擬量轉變為數字量的過程,一般分為取樣、保持、量化、編碼這4步。

        由于模擬信號在時間上連續的,而數字信號在時間上離散的,所以轉換時首先必須按 數字信號的節拍,對被轉換的模擬信號采取樣品。取樣(Sample)的原理如圖示。

        本文引用地址:http://www.104case.com/article/201611/320403.htm

        開關受取樣脈沖信號S(t)控制,S(t)=0時,開關斷開,取樣輸出V1(t)=0;S(t)=1時,開關導通,V1(t)=V(t)。這樣就把連續的模擬信號V(t)變成了一個個脈沖信號。

        采樣定理:取樣信號S(t)的頻率fs大于或等于模擬信號f(t)的最高頻率Fmax(其頻帶的上限頻率)的2倍,
        則輸入信號V(t)的主要特征都能夠被保留下來,將來可以通過濾波處理,從V1(t)中恢復原來的信號V(t)。

        AD的采樣頻率和轉換時間。

        AD的采樣頻率取決于啟動AD的速度,啟動AD轉換的方法有很多,例如軟件直接啟動,或者利用EV的一些事件來啟動,
        啟動的頻率才是AD采樣的頻率,例如每隔1ms啟動1次,則AD采用頻率為1K。而AD時鐘和AD的轉換時間有關,和AD采樣頻率是無關的。

        2812內部ADC的特點

        2812的ADC模塊是一個12位分辨率的、具有流水線結構的模數轉換器,具有16個通道。

        對于每個序列發生器,一旦轉換結束,已選擇采樣的通道值就會被保存到各個通道的結果寄存器中去。
        總共有16個結果寄存器Result Reg0—Result Reg15,用于分別保存16個通道的轉換結果。

        2812 ADC的功能

        1.12位的ADC內核,內置2個采樣保持器(S/H-A,S/H-B)。

        2.采樣模式可以為順序采樣(Sequential Sampling)或者是同步采樣(Simultaneous Sampling)

        3.模擬輸入范圍為0—3V(需要注意,輸入不可超過3V,否則燒壞2812)一般輸入最大值在3V的70%左右,為防止萬一,一般先將要采樣的信號經過運放處理(基準電壓源偏置),

        使輸入電壓范圍在AD正常工作采樣范圍之內,在信號進DSP的AD口時,最好加一嵌位二極管。


        4.快速轉換時間運行在25MHZ,ADC時鐘或者12.5MSPS(每秒完成12.5個百萬次的采樣。)

        5.總共為16路輸入通道,可編程多路選擇輸入。16路采樣輸入通道被分成了兩組,每組8個,分別是ADCINA0……ADCINA7和ADCINB0……ADCINB7。

        A組對應于采樣保持器S/H-A,B組對應于采樣保持器S/H-B。

        6.自動序列化,在單一事件段最大能夠提供16個自動A/D轉換。

        7.序列發生器可以按兩個獨立的8狀態序列發生器(SEQ1和SEQ2)來運行,也可以按一個16狀態的序列發生器(SEQ)來運行。

        8.共有16個轉換結果寄存器來保存轉換數值

        式中:ADCLO為AD轉換的參考電平,在實際使用的過程中,通常將其與GND連接,因此此時ADCLO的值為0。
        4095=2^12-1,對應于滿量程輸入為3V時的轉換結果

        9.有多種觸發方式來啟動AD轉換(SOC=start of conversion),包括:軟件直接啟動S/W,EVA的事件源,EVB的事件源和外部引腳啟動。


        10.序列發生器可以運行在啟動/停止模式。

        11.采樣-保持的采集時間窗口可以預先設定。(ADCTRL1的位ACQ_PS3—ACQ_PS0決定了采集窗口的大小,這一位控制了SOC脈沖的寬度,也就是一開始開關S(t)的導通時間。
        SOC脈沖的寬度是(ACQ_PS+1)*ADCLK。)

        ADC時鐘

        Example.Clock Chain to the ADC

        ADC工作模式

        順序采樣、同步采樣(AdcRegs.ADCTRL1.bit.SEQ_CASC位控制)---采樣方式
        雙序列發生器模式、級聯模式(AdcRegs.ADCTRL3.bit.SMODE_SEL位控制)---序列放生器的模式

        也就是說在雙序列發生器模式下可以采用順序采樣和同步采樣,在級聯模式下我們依然可以采用順序采樣和同步采樣兩種方式

        序列發生器的連續自動序列化模式和啟動/停止模式

        一個序列的轉換數是由MAXCONVn進行控制的,在啟動一個轉換序列進行轉換時,AD模塊將MAXCONVn的值裝載進自動序列狀態寄存器ADCASEQSR的序列計數器狀態位SEQCNTR。
        當序列發生器從狀態CONV00開始并順序進行(CONV01,CONV02。。。。)時,SEQCNTR位從裝入值開始遞減,直到為0,結束一個序列的轉換,完成轉換數為(MAXCONVn+1)。
        當ADCTRL1的CONT RUN位設為0時,AD的序列發生器運行在啟動/停止模式,也就是說這種模式下,序列發生器在完成1個序列的轉換之后將停止工作,在下一次轉換啟動開始之前,
        必須復位序列發生器,將轉換器置為CONV00。

        復位的方法如下:

        AdcRegs.ADCTRL2.bit.RST_SEQ1=1;//立即復位序列發生器為CONV00
        AdcRegs.ADCTRL2.bit.RST_SEQ2=1;//立即復位序列發生器為CONV08

        當AD的控制寄存器1的CONT RUN位設為1時,AD的序列發生器運行在連續自動序列化模式,當序列轉換結束時,轉換序列自動重復開始,SOC觸發時自動將MAXCONVn裝入SEQCNTR,
        SEQ的狀態變為CONV00。在這種情況下,為了避免重寫數據,必須確保在下一個轉換序列開始前,讀取結果寄存器。



        關鍵詞: 2812內置AD

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 台湾省| 大渡口区| 乾安县| 麻栗坡县| 西昌市| 丰镇市| 佛山市| 郧西县| 织金县| 建阳市| 嘉黎县| 营山县| 尼木县| 汾西县| 金平| 沧州市| 临洮县| 阿克陶县| 大理市| 邵东县| 密山市| 呼图壁县| 出国| 延边| 绥德县| 武宁县| 林芝县| 南靖县| 富源县| 肇源县| 攀枝花市| 凌源市| 扶绥县| 吴堡县| 杭锦后旗| 绥阳县| 武胜县| 观塘区| 娄烦县| 福安市| 泉州市|