基于STC12C5410AD設計10位高精度ADC
2 軟件設計
2.1 寄存器的相關設置
STC12C5410AD單片機要實現(xiàn)上述設計,必須對相關寄存器進行設置:
通過設置P1M0,P1M1兩個寄存器對P1口選擇作為A/D轉換的輸入口進行設置,比如若是選擇P1.7,則設置:
P1M0=0x80;
P1M1=0x80;
選擇I/O口模式為開漏(Open Drain),可以作為A/D使用,還可以選擇高阻輸入,設置為:
P1M0=0x80;
P1M1=0x00;
ADC_CONTR特殊功能寄存器,從高到底依次表示:
ADC_POWER SPEED1 SPEED0 ADC_FLAG CHS2CHS1 CHS0;
選擇P1.7作為A/D輸入管腳需將CHS2/CHS1/CHS0設置為:
CHS2=1;
CHS1=1;
CHS0=1;
SPEED1/SPEED0是數(shù)/模轉換速率控制位,為了達到最快的轉換速率,本設計采用210個時鐘周期轉換一次,設置為:
SPEED1=1;
SPEED0=1;
ADC_FLAG位,為模/數(shù)轉換結束標志位,轉換結束后自動跳變?yōu)椤?”,需軟件清零;
ADC_START,為ADC開始控制位,設置為:
ADC_START=1; //模/數(shù)轉換開始
ADC_DATA,ADC_LOW2分別是10位模/數(shù)轉換結果的高8位和低2位的寄存器。轉換計算公式為:
(ADC_DATA[7:0],ADC_LOW2[1:0])=1 024*Vin/Vcc;
式中:Vin為模擬輸入通道的輸入電壓;Vcc為單片機的供電電壓,由單片機的供電電路9805或者LM317穩(wěn)壓電路輸出端決定。
2.2 軟件調試
A/D初始化子程序和啟動A/D轉換的子程序:
3 結語
機內測試系統(tǒng)在裝備系統(tǒng)中所占比例不得超過裝備的10%,否則會影響裝備的正常運行。在信號采集中,硬件設計的簡化尤其重要。本設計不但達到設計電路的精簡元器件且多個測試點共用的要求。10位精度的ADC分辨率理論上可達到1/1 024,為了能夠穩(wěn)定的輸出頻率,試驗中加入了中轉寄存器保持轉換結果,同時運用滑動濾波器消除不穩(wěn)定信號的噪聲影響。最后試驗結果可保持長時間穩(wěn)定輸出,達到試驗預期要求。同時最低位能夠連續(xù)跳變,保證輸出的連續(xù)性和準確性。本設計對模數(shù)轉換器的高精度要求,在調試過程中需對STC12C5410AD單片機的供電電壓進行微調。設計中運用LM317穩(wěn)壓器供電電路,調節(jié)輸入電壓,保證電壓精確穩(wěn)定在5 V,所達到效果和效率遠遠高于雷達裝備的BIT的模數(shù)轉換要求。同時該設計簡單有效,且故障率低,能夠持續(xù)保持穩(wěn)定工作。該設計在保證設計要求條件下優(yōu)化了硬件電路設計,精簡元器件,降低成本和實際電路運行的故障率。本設計的不足之處有兩點:集成化程度還是太低,解決方法是采用貼片小板設計;沒用同時處理信號的能力。后續(xù)研究將主要針對這兩點對其進行改進。
評論