新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 對ADC12模塊的心得——msp430f5529

        對ADC12模塊的心得——msp430f5529

        作者: 時間:2016-11-24 來源:網絡 收藏
        最近被AD折騰得夠嗆,最終在今天有了突破,這部分程序終于被我搞定了
        AD部分主要配置ADC12模塊的時鐘、參考源、采樣通道、采樣模式、存儲和采樣保持。
        我就一個部分一個部分來
        第一個是ADC12模塊的時鐘,這個是模塊運行時的時鐘,跟采樣定時器是兩個概念,曾經我有一段時間被迷惑住了。這個由ADC12CTL1里面的ADC12SSEL和ADC12DIV配置,可以選擇ADC12OSC/ACLK/SMCLK/MCLK,TI例程里面好像都是選擇的ADC12OSC,這個是5MHZ,不過頻率容易受外界影響而改變。這個部分配置好了就得到了ADC12CLK。
        第二個參考源,這個部分我沒有細致研究,因為我的設計里面不用這個,略過不提。
        第三個采樣通道,跟這個有關的寄存器有ADC12MCTL和ADC12CTL1的ADC12CSTARTADD。第一種單通道采樣,ADC12MCTL選擇采樣的輸入通道,ADC12CSTARTADD的值選擇這個通道采樣的值存入哪個存儲寄存器內。比如:
        ADC12CTL1 |= ADC12CSTARTADD3+ADC12CSTARTADD2+ADC12CSTARTADD1;
        ADC12MCTL14 = ADC12INCH_14;
        上面這兩句就是采樣通道14,通道14采樣的值存入到ADC12MEM14里面。如果你不設置ADC12CSTARTADD的值的話,采樣的值默認存入ADC12MEM0里面。
        第二種序列通道采樣,ADC12MCTL選擇采樣的輸入通道,ADC12CSTARTADD的值選擇這個序列采樣的值首個存入的存儲寄存器。比如:
        ADC12MCTL0 = ADC12INCH_0;
        ADC12MCTL1 = ADC12INCH_1;
        ADC12MCTL2 = ADC12INCH_2;
        ADC12MCTL3 = ADC12INCH_3;
        ADC12MCTL4 = ADC12INCH_4;
        ADC12MCTL5 = ADC12INCH_5;
        ADC12MCTL6 = ADC12INCH_6;
        ADC12MCTL7 = ADC12INCH_7+ADC12EOS;
        我并沒有配置ADC12CSTARTADD的值,所以開始采樣后,通道0的值存入ADC12MEM0,通道1的值存入ADC12MEM1里面,依次類推。
        第四個采樣模式,這個按照用戶指導里面的模式示意圖來寫程序就可以,配置用ADC12CTL1里面的ADC12CONSEQ來配置。
        第五個存儲沒什么要寫的,在第三個采樣通道里面提到的就可以了,我主要講下最后一個采樣保持,這個部分是我領悟的新的知識點。
        采樣保持是由采樣定時器觸發信號SHI信號引起的,這個部分曾經迷惑了我好長一段時間。SHI信號由ADC12CTL1的ADC12SHS配置,有4個選擇:ADC12OSC/TIMERA.OUT1/TIMERB.OUT0/TIMERB.OUT1。采樣保持分兩種模式,由ADC12CTL1的ADC12SHP位控制,ADC12SHP=0時是擴展模式,ADC12SHP=1時是脈沖模式。第一種擴展模式,SHI信號上升沿開始采樣,上升沿后的高電平時間即為采樣時間,SHI信號下降沿進行采樣結果轉換,轉換需要13個ADC12CLK。第二種脈沖模式,SHI信號觸發采樣定時器,采樣定時器就是控制你什么時候開始采樣,什么時候開始轉換,采樣定時器由ADC12CTL0的ADC12SHT0和ADC12SHT1配置,在采樣定時器時間內進行采樣,采樣后就立即進行采樣結果轉換。如果這時你的ADC12MSC=1的話,如果的單通道采樣就會不停進行單通道采樣轉換,如果是序列通道,就會一直采樣轉換直到ADC12EOS=1.如果ADC12MSC=0,則采樣結束,下一次采樣的時間是下一個SHI信號的上升沿來臨時。
        好了,就這么多,以后如果有增加了再寫了


        關鍵詞: ADC12模塊msp430f552

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 湛江市| 城口县| 宝山区| 阳泉市| 岳阳市| 固镇县| 平乐县| 遂川县| 察雅县| 正阳县| 习水县| 阿城市| 辽阳县| 霍邱县| 和龙市| 泸西县| 红桥区| 裕民县| 陕西省| 普定县| 洪雅县| 鹰潭市| 黑山县| 平遥县| 阿勒泰市| 米泉市| 宜丰县| 密山市| 克拉玛依市| 涞源县| 合川市| 井陉县| 平远县| 隆林| 德州市| 蓝田县| 翼城县| 孝感市| 孟州市| 平南县| 修文县|