基于ARM Cortex-M3的過(guò)采樣技術(shù)
3 LM3S8962實(shí)現(xiàn)ADC過(guò)采樣
3.1 Cortex-M3內(nèi)核特點(diǎn)介紹
在ADC過(guò)采樣設(shè)計(jì)中,選用TI公司ARM Cortex-M3芯片,主要原因是其功能強(qiáng)大、高性價(jià)比的Cortex-M3內(nèi)核,使過(guò)采樣的效率與精度得到進(jìn)一步提升。該內(nèi)核具有如下特性:
(1)采用ARMv7M架構(gòu),在ARMv4T架構(gòu)基礎(chǔ)上擴(kuò)展了36條指令。
(2)基于哈佛結(jié)構(gòu),數(shù)據(jù)與指令可同時(shí)從存儲(chǔ)器讀取,并行執(zhí)行多個(gè)操作,加快程序執(zhí)行速度。與ARM7TDMI-S相比,比ARM指令每兆赫效率提高了35%,比Thumh指令效率提高了70%。
(3)帶有多種睡眠和喚醒模式,實(shí)現(xiàn)產(chǎn)品的低功耗。
(4)單周期乘法、乘-加、硬件除法指令,實(shí)現(xiàn)快速運(yùn)算。
(5)低延遲中斷處理:支持8層硬件中斷嵌套,末尾連鎖功能,高優(yōu)先級(jí)中斷遲來(lái)處理。
3.2 過(guò)采樣的軟件實(shí)現(xiàn)
(1)外設(shè)初始化。
在軟件實(shí)現(xiàn)過(guò)采樣之前,必然要對(duì)各個(gè)模塊進(jìn)行初始化和配置。初始化定時(shí)器、ADC、UART等模塊,定時(shí)器模塊用來(lái)提供系統(tǒng)時(shí)鐘周期,配置ADC的觸發(fā)模式和采樣速率,利用UART將測(cè)量值傳遞給PC,方便查驗(yàn)是否正確。
(2)產(chǎn)生PWM信號(hào),作為噪聲。
為了保證過(guò)采樣原理應(yīng)用的可靠性,引入噪聲激勵(lì)信號(hào)。而為了避免激勵(lì)噪聲出現(xiàn)的誤差,使用內(nèi)部的PWM信號(hào)發(fā)生器產(chǎn)生周期性和對(duì)稱性很好的PWM波,作為激勵(lì)噪聲。產(chǎn)生噪聲步驟如圖1所示。本文引用地址:http://2s4d.com/article/151003.htm
(3)數(shù)據(jù)的采集、濾波及抽取。
在過(guò)采樣中所做的數(shù)字平均濾波僅提高了平滑度,精度卻并沒有增加,抽取過(guò)程才是真正意義上的提高精度。額外的K次采樣,按照常規(guī)平均那樣進(jìn)行累加,但并不是直接將結(jié)果除以M,而是右移N位(N是期待所增加的額外精度),得到更精確的采樣結(jié)果。
過(guò)采樣算法如圖2所示。對(duì)TI的LM3S8962芯片,將10位AD值的精度提高到12位的方法,直接調(diào)用寄存器讀取函數(shù)HWREG訪問(wèn)FIFO緩存區(qū),經(jīng)過(guò)兩次循環(huán),將從FIFO中收集到的16個(gè)10位轉(zhuǎn)換值相加,產(chǎn)生一個(gè)14位結(jié)果,右移2位后就得到所希望的12位AD值。
評(píng)論