新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430學習 - ADC12

        MSP430學習 - ADC12

        作者: 時間:2016-11-25 來源:網絡 收藏
        MSP430F2417的ADC12模塊功能比較強大,因此也比較復雜。

        ADC12共有8個模擬輸入通道A0~A7,與通用IO口P6.0~P6.7共用相同的管腳。因此,如果想使用某一個模擬通道,必須先定義的管腳功能,這通過設置IO口的功能選擇寄存器(Function Select Registers)PxSEL和PxSEL2來完成。比如,如果想選擇A3通道,可以通過下面兩條語句:

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

        P6SEL |= (0x01 << 3);

        P6SEL2 &= ~(0x01 << 3);

        ADC12模塊的工作時鐘,可以用自己的時鐘ADC12OSC(大概是5MHz的頻率,精度不高),也可以使用系統時鐘ACLK、MCLK或者SMCLK,這通過寄存器ADC12CTL1的ADC12SSELx標志位來設置,工作時鐘可以分頻,通過ADC12CTL1的ADC12DIVx位來設置。

        所有的模數轉換,都分為采樣保持和轉換兩個步驟。外部的模擬信號總是在變化的,而模數轉換需要穩定的電壓,因此,在轉換之前,需要先鎖定(保持)信號。F2417通過一個電阻R1和一個對地的電容C1來進行采樣保持(實際上就是對C1進行充電)。R1的最大值為2K,C1的最大值為40pF,這兩個值決定了在保持一定的采樣精度的前提下的最短的采樣保持時間。但是,外部模擬信號總是有輸出電阻的,因此,采樣時間還與外部信號的輸出電阻有關系。困難在于,我們有時候很難知道外部信號的輸出電阻,因此就很難估計合適的采樣保持時間。所以,根據阻容網絡的充放電原理,采樣保持時間越長,信號的誤差就會越小,我們要盡量延長采樣保持的時間。但這樣又帶來另外一個問題,根據奈奎斯特采樣定理,只有采樣頻率大于信號中最高頻率的2倍,采樣之后的數字信號才能重現原始信號,一般實際應用中采樣頻率要是信號最高頻率的5~10倍。所以,采樣保持時間也不能太長。

        ADC12有一個SHI信號,SHI信號的上升沿開啟采樣保持和模數轉換過程。SHI信號可以有四種來源:ADC12CTL0寄存器的ADC12SC位,Timer_A1,Timer_B0,Timer_B1,這通過ADC12CTL1寄存器的SHSx位來選擇。

        ADC12有兩種AD模式,逐次觸發模式和連續模式,這通過ADC12CTL0的MSC位來確定。MSC=0,則每次AD過程都需要SHI信號來觸發,MSC=1,則只有第一次需要SHI信號來觸發,然后就連續不停的轉換。

        這兩種AD模式適用于不同的情況:如果需要盡快完成AD轉換,而不關心信號的頻率,那么可選擇連續模式。如果關心信號的頻率,比如需要進行FFT變換,那么就要采用逐次觸發模式,并且選擇合適的SHI信號源,只有這種方式,才能保證準確的采用頻率,也才能正確地重建新號。

        在選擇逐次觸發AD模式時,又會有兩種采樣保持模式可選:擴展模式(Extended Sample Mode)和脈沖模式(Pulse Sample Mode)。這通過ADC12CTL1寄存器的SHP位來選擇。

        在擴展模式(SHP=0)中,SHI信號為1時,始終進行采樣保持,在SHI信號的下降沿,采樣保持停止,開始進行轉換,再經過13個AD工作時鐘周期,轉換完成。

        在脈沖模式(SHP=1)中,采樣保持時間受ADC12CTL0寄存器的SHT1x位和SHT0x位來控制,可選擇從4個AD工作時鐘周期到1024個AD工作時鐘周期。采樣保持停止后,再經過13個AD工作時鐘周期,轉換完成。




        關鍵詞: MSP430ADC1

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 微山县| 喜德县| 新绛县| 宁明县| 莱州市| 句容市| 宁化县| 巩留县| 临沂市| 博湖县| 图们市| 同德县| 奇台县| 丰原市| 志丹县| 龙陵县| 红河县| 兴城市| 阳原县| 绥德县| 苍梧县| 苗栗县| 江安县| 洛阳市| 博爱县| 米泉市| 洪雅县| 伊川县| 门源| 南川市| 绍兴市| 景泰县| 将乐县| 凯里市| 呼伦贝尔市| 西城区| 庆元县| 蒙自县| 和平区| 祁连县| 荃湾区|