標題: CH579M-R1開發(fā)板+A/D采集與傳感器使用(1) [打印本頁]

作者: jinglixixi    時間: 2020-9-20 09:08
標題: CH579M-R1開發(fā)板+A/D采集與傳感器使用(1)
本帖最后由 jinglixixi 于 2020-9-20 09:09 編輯

CH579M 具有14個通道的12ADC模數(shù)轉(zhuǎn)換器,并支持14通道觸摸按鍵。此外,還有一個內(nèi)部電池檢測通道和一個內(nèi)部溫度傳感器檢測通道。其中的電池檢測通道適用于低功耗產(chǎn)品的電源管理和報警,而溫度傳感器檢測通道也是一種維護低功耗產(chǎn)品可靠工作的主要手段。
由于所用的是12ADC模數(shù)轉(zhuǎn)換器,故其采樣的數(shù)值范圍是0~4095。
通過對例程的驗證,其運行結(jié)果如圖1所示。
1 運行結(jié)果


由運行結(jié)果可知,它能夠讀取到ChipID、指定單通道的采樣值、指定差分通道的采樣值、指定觸摸按鍵通道的采樣值及使用中斷方式進行采樣。
為更好地感知外部世界的變化,在實際應用中有多種傳感器被廣泛使用。而傳感器主要有3類,即模擬信號型、數(shù)字信號型及脈沖信號型。其中數(shù)字信號型的特點是直接獲得數(shù)字結(jié)果,無需進行數(shù)值標度變換;而模擬信號型,則獲得的是模擬信號需要進行數(shù)值變換及線性處理等。
在按圖2所示,外接電位器的情況下可觀察信號變換的結(jié)果。


2 電位器模擬信號源



圖3 電位器提供模擬信號


圖4 PA0通道9采樣



圖5 PA5通道1采樣

數(shù)據(jù)采集主程序:
  1. int main()
  2. {
  3.          UINT8 i;
  4.          signed short  RoughCalib_Value=0;
  5.          DebugInit();
  6.          PRINT( "\n2.Single channel sampling...\n");
  7.          GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_Floating);   //GPIO_Pin_0
  8.          ADC_ExtSingleChSampInit( SampleFreq_3_2, ADC_PGA_0 );
  9.          GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_Floating);
  10.          RoughCalib_Value = ADC_DataCalib_Rough();
  11.          PRINT("=%d \n", RoughCalib_Value);
  12.          while(1)
  13.          {
  14.                   ADC_ChannelCfg(1 );     // ADC_ChannelCfg( 9 )
  15.                   abcBuff[i] = ADC_ExcutSingleConver() + RoughCalib_Value;
  16.                   ADC_DataCalib_Fine( &abcBuff[i], ADC_PGA_0 );
  17.                   PRINT("%d ", abcBuff[i]);
  18.                   mDelaymS(500);
  19.          }
  20. }
復制代碼








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1