- 相關(guān)推薦
ADμC812的數(shù)據(jù)采集子系統(tǒng)及其ISP技術(shù)
摘要:主要介紹AD公司推出的在系統(tǒng)可編程微轉(zhuǎn)換器ADμC812的ADC采集子系統(tǒng)的組成、結(jié)構(gòu)和控制特性;對片內(nèi)Flash存儲器的在系統(tǒng)編程技術(shù)和程序調(diào)試方式;舉例說明如何采用中斷方式定時進(jìn)行AD數(shù)據(jù)采集和數(shù)字濾波的過程。關(guān)鍵詞:數(shù)據(jù)采集 Flash存儲器 ISP 數(shù)字濾波
在單片機(jī)應(yīng)用如火口荼的今天,一個真正的單片在系統(tǒng)可編程全智能數(shù)據(jù)采集系統(tǒng)終于出現(xiàn)了。它就是AD公司最新推出的嵌入式Flash MCU微轉(zhuǎn)換器ADμC812。
ADμC812在單個芯片內(nèi)集成了8路12位ADC采集系統(tǒng)、2路12位DAC、80C52MCU內(nèi)核、8KB的閃速/電可擦除程序存儲器、640字節(jié)的閃速/電可擦除數(shù)據(jù)存儲器、看門狗定時器、640字節(jié)的閃速/電可擦除數(shù)據(jù)存儲器、看門狗定時器、電源監(jiān)視器、I2C兼容的SPI和標(biāo)準(zhǔn)的UART串行I/O模塊及靈活的電源管理方案等等,真正實(shí)現(xiàn)了單片機(jī)應(yīng)用系統(tǒng)的單片機(jī)。限于篇幅,本文只介紹其ADC采集子系統(tǒng)及其在系統(tǒng)編程技術(shù)。
一、ADμC812的ADC采集子系統(tǒng)
1.硬件組成結(jié)構(gòu)
ADμC812的ADC采集子系統(tǒng)部分由模擬多路轉(zhuǎn)換器、溫度傳感器、采樣保持電路(T/H)、12位逐次逼近比較的ADC、+2.5V基準(zhǔn)源和ADC校正、控制邏輯組成,其組成如圖1所示。
(范文先生網(wǎng)www.gymyzhishaji.com收集整理)
ADμC812的模擬輸入端的電壓有效輸入范圍與基準(zhǔn)源有關(guān)。當(dāng)采用內(nèi)部基準(zhǔn)源時,其有效輸入范圍為0~+2.5V;當(dāng)采用外部基準(zhǔn)源時,外部基準(zhǔn)源應(yīng)從Vref端引入,其合適的范圍為+2.3~+5V,相應(yīng)的模擬輸入端的電壓范圍為0V~Vref。無論如何不應(yīng)使其輸入電平為負(fù)或超過絕對最大允許值A(chǔ)VDD+0.3V。當(dāng)信號輸入為雙極性時,必須加入電平位移網(wǎng)絡(luò),使其變?yōu)閱螛O性信號輸入,如圖2所示。
ADμC812可工作在-40~+85℃的工業(yè)級范圍,有3V和5V兩種供電工作方式,以便進(jìn)一步降低功耗。ADC模擬包含了5μs、8通道、12位、單電源A/D轉(zhuǎn)換器。其中,A/D轉(zhuǎn)換器由基于電容DAC的常規(guī)則逐次逼近轉(zhuǎn)換器組成,可保證的±1LSB的差分非線性和±1/2LSB和積分非線性。在上電時由工廠編程的校準(zhǔn)系數(shù)自動下載到ADC,以確保最佳的ADC性能。該校準(zhǔn)系數(shù)包括內(nèi)部失調(diào)和增益校準(zhǔn)兩個方面,用戶可根據(jù)需要重寫工廠編程的校準(zhǔn)系數(shù),以便使用戶目標(biāo)系統(tǒng)中端點(diǎn)誤差的影響最小。來自片內(nèi)溫度傳感器的電壓輸出正比于熱力學(xué)溫度,它可通過多路轉(zhuǎn)換器的第9個ADC通道輸入,這方便了溫度測量的實(shí)現(xiàn)。
2.軟件控制特性
可編程性是應(yīng)用系統(tǒng)發(fā)展的必然趨勢。為適應(yīng)不同信號源的實(shí)際需求,ADμC812片內(nèi)ADC模塊內(nèi)的所有部件都能方便地通過3個SFR寄存器來設(shè)置。
(1)ADCCON1——控制轉(zhuǎn)換和采集時間
(2)ADCCON2——控制ADC通道選擇和轉(zhuǎn)換模式
(3)ADCCON3——ADC狀態(tài)指示
二、ADμC812的系統(tǒng)調(diào)試、編程技術(shù)
目前,由于ADμC812只提供表貼封裝形式,因而在用仿真器進(jìn)行程序調(diào)試時將會帶來一些問題。為方便調(diào)試,ADμC812A片內(nèi)除集成了各具特色的硬件模塊外,還因化了方便實(shí)用的監(jiān)控調(diào)試軟件,使其只需少量的外圍器件即可實(shí)現(xiàn)聯(lián)機(jī)調(diào)試,從而大大方便了用戶的使用,縮短了產(chǎn)品的研制周期。啟用調(diào)試方式的電路連接如圖3所示。
在上電復(fù)位的瞬間,使EA引腳接高電平,PSEN引腳接一下拉電阻,即可使ADμC812進(jìn)入監(jiān)控調(diào)試支援方式。在此方式下,通過基于PC的Quick Start開發(fā)工具包,即可下載用戶程序。通過運(yùn)行于Microsoft Windows系統(tǒng)下的下的ADμC.exe調(diào)試軟件,可實(shí)時調(diào)試用戶程序。
該調(diào)試軟件支持單步、斷點(diǎn)和連續(xù)運(yùn)行等工作方式,可方便地觀察MCU的運(yùn)行結(jié)果,包括內(nèi)部RAM、SFR、程序Flash EEPROM和數(shù)據(jù)Flash EEPROM等單元的內(nèi)容。從而提高了工作效率,縮短了產(chǎn)品的開發(fā)周期。圖3中MAX232為RS232電平轉(zhuǎn)換器,用于將TTL電平轉(zhuǎn)換成RS232電平,以便直接連至PC的串行口,進(jìn)行聯(lián)機(jī)調(diào)試或下載程序。
Quick Start還提供了工作于DOS環(huán)境下的串行下載軟件DownLoad.exe。運(yùn)行該軟件可直接將用戶程序編程到ADμC812芯片中的程序Flash存儲器中,免除了需用編程器和封裝適配器的麻煩,真正實(shí)現(xiàn)了在系統(tǒng)可編程。Quick Start開發(fā)工具軟件包可從www.analog.com/microconverter/quick-start.html下載得到。
三、定時ADC編程舉例
該例程主要說明如何利用ADC的單次轉(zhuǎn)換功能實(shí)現(xiàn)定時采樣的目的。定時器T0用于1.25ms定時,8個通道完成一次數(shù)據(jù)采集需要10ms。為增加抗干擾的能力,軟件中還加入了數(shù)字濾波功能。每個通道連續(xù)采樣16次后再進(jìn)行平均處理,然后將高8位結(jié)果送出,其匯編語言源程序清單如下:
$NOMOD51
$INCLUDE() ;使用ADμC812預(yù)定義符
Timer_ms_const equ(65536-9216/8);當(dāng)晶振頻率為11.0592MHz時,10ms對應(yīng)9216個周期
ADC_tlag equ 20H.0;AD轉(zhuǎn)換標(biāo)志,=1時表示采樣的8路AD值有效
ADC_coun equ 30H;用于指示當(dāng)前正在處理的ADC通道
ADC_result equ 38H;38H~3FH存入0~7通道的ADC結(jié)果
ADC_acc equ 40H;40~4FH存入0~7通道的累加值
ORG 0000H
start:
jmp Begin
ORG start+0BH
Jmp Timer0_interrupt
ORG start+100h
Begin;
mov SP,#60H
mov R0,#20H;清工作單元
mov R7,#40H
clr A
iRAM_init;
mov @R0,A
inc R0
djnz R7,iRAM_init
call Timer0_init;初始化T0為1.25ms中斷一次
call ADC_init;初始化ADC為單次轉(zhuǎn)換
setb EA
Controlloop:
Jnb ADC_flag,Co
ntrolloop
…… ;將AD轉(zhuǎn)換的結(jié)果取走
clr ADC_flag;允許開始下一次轉(zhuǎn)換
jmp Controlloop
ADC_init:
mov ADCCON1,#01101100B;上電ADC
mov ADCCON2,ADC_count;選擇轉(zhuǎn)換通道
ret
Timer0_interrupt:
setb SCONV;開始單次ADC轉(zhuǎn)換
mov TL0,#LOW(Timer_ms_const);裝入定時常數(shù)
mov TH0,#HIGH(Timer_ms_const)
push PSW
mov PSW,#00001000B;使用page1
mov R2,A;暫存A累
Timer0_int_ADC:
jb ADC_flag,Timer0_int_ADC_end;數(shù)據(jù)未取走則退出
Mov A,ADCCON3;讀ADC狀態(tài)
jb ACC.7,Timer0_int_ADC
mov A,ADC_count
anl A,#07H
rl A
add A,#ADC_acc
mov R0,A
mov A,ADCDATAL;將ADC轉(zhuǎn)換結(jié)果加入累加單元
add A,@R0
mov @R0,A
inc R0
mov A,ADCDATAH
anl A,#0FH
addc A,@R0
mov #R0,A
inc ADC_count
mov A,ADC_count
anl A,#07H
mov ADCCON2,A;選擇下一通道
mov A,ADC_count
cjne A,#80H,Timer0_int_ADC_end
mov ADC_count,#0
mov R0,#ADC_acc;數(shù)字濾波后存入ADC結(jié)果
mov R1,#ADC_result
mov R7,#08
Timer0_int_save_ADC:
clr A
mov #R0,A
inc R0
xch A,#R0
mov @R1,A
inc R0
inc R1
djnz,R7,Timer0_int_save_ADC
setb ADC_flag
Timer0_int_ADC_end:
Mov A,R2
Pop PSW
Reti
Timer0_init;
mov TH0,#HIGH(Timer_ms_const);裝入定時常數(shù)
mov TL0,#LOW(Timer_ms_const)
anl TMOD,#11110000B
orl TMDD,#00000001B
Setb ET0;允許T0中斷
Setb TR0;T0開始運(yùn)行
Ret
END
【ADμC812的數(shù)據(jù)采集子系統(tǒng)及其ISP技術(shù)】相關(guān)文章:
ISP技術(shù)在高速數(shù)據(jù)采集模塊中的應(yīng)08-06
ADμC812的串行外設(shè)接口(SPI)及其應(yīng)用08-06
基于ADμC812的CAN總線智能節(jié)點(diǎn)的設(shè)計(jì)08-06
指紋采集技術(shù)及其產(chǎn)品發(fā)展趨勢08-06
高性能數(shù)據(jù)采集系統(tǒng)芯片LM12H458及其應(yīng)用08-06
Windows 95下智能數(shù)據(jù)采集系統(tǒng)08-06