STM8應用:ADC使用注意事項和對應方式

關鍵字 :STSTM8SADC
儘管目前市場趨勢,新產品採用32-bit MCU的比率逐年攀升,但在某些特殊場合應用下,8-bit MCU仍是客戶的首選,這邊就講述STM 8-bit MCU STM8系列,在ADC使用上需要注意的一些問題。
STM8具備有兩種ADC,分別為ADC1和ADC2,兩者差別為ADC1比ADC2多了Scan, Continous和Analog watchdog這三個功能,視STM8的型號不同而配備不同種類的ADC。這次的問題主要是使用ADC1時產生。

使用的MCU型號為STM8S003F3P6,TSSOP 20Pin,客戶使用Pin 2 (AIN5), Pin 3 (AIN6), Pin 19 (AIN3), Pin 20 (AIN4)作為ADC取樣通道,Pin 14作為GPIO輸出使用。


客戶設定為使用Scan mode,連續轉換到AIN6後停止。
量測發現在Pin14引腳輸出上發現雜訊,如下圖,會固定有一個類似PWM的訊號疊加Pin 14輸出上面。




調查後發現,因為STM8的GPIO設定,缺乏如STM32一樣的有MUX設置,故引腳上功能會有混用衝突情況。
且因為STM8 ADC1的Scan mode缺乏設定轉換通道編號的功能,故當開啟Scan mode時,ADC1動作方式是由AIN0開始連續轉換到指定的通道編號,例如本例,程式指定ADC通號編號為AIN6,ADC1開始動作後會依序從AIN0開始轉到AIN6後停止,實際上共轉換了7個通道,這個雜訊就是因為ADC1在轉換AIN2所引發的。

解決方式有下列幾種:
  1. 若是需要使用Scan mode,配合STM8 ADC1的特性,選用ADC引腳從AIN0開始選用,以上述情況來看,因為STM8S003F3P6不具備AIN0和AIN1引腳,故從AIN2開始選用,安排AIN2 ~ AIN5給ADC使用。
  2. 若是可以不需要使用Scan mode,可以關閉ADC1 Scan mode後,程式指定ADC1欲轉換的通道編號即可。
  3. 在Pin 14 (AIN2)上加上一個濾波電容。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論