日韩精品一区二区亚洲AV观看,国产黄A三级三级三级看三级,午夜亚洲WWW湿好爽,国产精品久久久久精品一级APP,中文字幕手机在线看片不卡

常見問題

進芯電子AVP32F335的ADC使用時,采樣值偏差

2021-11-14 來源:原創(chuàng) 瀏覽量:6114

你好,我在用AVP32F335,在對外部標準的1.5v采樣的時候,會出現(xiàn)采樣值偏離較大,有些芯片甚至不到1.4v的采樣值,實測AD口的信號是1.5v。下面是初始化的代碼:

1.AdcRegs.ADCTRL1.bit.RESET = 1; 惹的禍

以上這個問題,首先要考慮的是ADCOFFTRIM寄存器。需要考慮系統(tǒng)出廠默認ADCOFFTRIM寄存器是否曾改變過?芯片在出廠測試時,會對每顆芯片的ADC測試,并把零點的偏差值寫入ROM中,而在芯片脫離仿真啟動的過程中,BOOT ROM的程序會自動調(diào)用ADC_cal()函數(shù),其作用就是將ADCREFSEL和ADCOFFTRIM寄存器寫事先芯片出廠存在ROM中的數(shù)據(jù)。但芯片仿真過程中,會自動跳過BOOT ROM,因此在例程中,InitAdc()函數(shù)起始,對ADC時鐘使能后,就調(diào)用了ADC_cal()以寫入ADCOFFTRIM值。注意,ADC時鐘不使能,ADC寄存器是無法寫入的。ADC在每次轉(zhuǎn)換后,結(jié)果寄存器的值都會減去ADCOFFTRIM寄存器的值,此時的采樣結(jié)果才是準確的。所以,采樣值如果偏差過大,首先,可以設(shè)置斷點看下ADCOFFTRIM的值是否是出廠值。ADCOFFTRIM出廠值在地址0x380085;ADCREFSEL出廠值在地址0x380083。如果ADCOFFTRIM不等于0x380085地址的值,且不為0,您的軟件可能有重新對ADC校準的過程。如果ADCOFFTRIM等于0,還需要考慮文檔中以下描述內(nèi)容。

上圖資料顯示,ADCOFFTRIM寄存器的值是通過執(zhí)行ADC_cal()函數(shù)來賦值的,而給ADC控制寄存器1的14位(RESET)置1,會清零ADCOFFTRIM以及其他ADC寄存器。因此,在RESET=1之后,一定要重復(fù)執(zhí)行一次ADC_cal();相對于要重新配置ADC,以下測試過程可以完整體現(xiàn)此問題。如以下測試程序:


上圖是在執(zhí)行AdcRegs.ADCTRL1.bit.RESET = 1; 之前,寄存器AdcRegs.ADCOFFTRIM.bit.OFFSET_TRIM 的值是11;

執(zhí)行完AdcRegs.ADCTRL1.bit.RESET = 1;后,寄存器AdcRegs.ADCOFFTRIM.bit.OFFSET_TRIM 的值是0,

只有當從新調(diào)用ADC_cal()后,寄存器AdcRegs.ADCOFFTRIM.bit.OFFSET_TRIM才回到11。RESET位功能說明如下:

注意:因為RESET=1后是重置整個ADC,所以在RESET=1以后,不但ADC_cal()要重新調(diào)用,ADC所有寄存器都恢復(fù)默認狀態(tài),同樣影響到進芯電子ADC內(nèi)部1.5v模擬電源使能位需使能的注意事項AdcRegs.ADCTRL1.bit.rsvd1 = 8;

以上問題,在TMS320F28335芯片上同樣存在,而在TI的程序示例代碼中,因為沒有AdcRegs.ADCTRL1.bit.RESET = 1; 且F28335的ADCOFFTRIM值比較集中,所以一般不會注意此問題。


電話咨詢

0731-88731027

微信公眾號

微信公眾號

微信公眾號

移動二維碼

移動二維碼

移動二維碼

返回頂部

日韩精品一区二区亚洲AV观看,国产黄A三级三级三级看三级,午夜亚洲WWW湿好爽,国产精品久久久久精品一级APP,中文字幕手机在线看片不卡