基于MPC5634的控制器多路AD采樣的設(shè)計(jì)
出處:電子技術(shù)設(shè)計(jì) 發(fā)布于:2014-08-08 10:10:42
隨著汽車對控制系統(tǒng)的要求和依賴性提高,AD采樣的設(shè)計(jì)模塊成為汽車控制器中重要的組成部分。AD采樣的結(jié)果是汽車控制器控制執(zhí)行器的依據(jù),它的速率和在汽車控制中起著重要的作用。
本文主要介紹一種基于MPC5634的多路模擬信號采集方法,通過增強(qiáng)型直接內(nèi)存訪問(DMA)方式,自動(dòng)在RAM和增強(qiáng)型隊(duì)列式模數(shù)轉(zhuǎn)換器eQADC模塊之間轉(zhuǎn)移數(shù)據(jù),能高效和準(zhǔn)確地完成對模擬信號的采集。
1 增強(qiáng)型隊(duì)列式模數(shù)轉(zhuǎn)換器eQADC模塊
1.1 eQADC模塊的結(jié)構(gòu)
MPC5634的eQADC模塊有兩個(gè)可獨(dú)立工作的ADC轉(zhuǎn)換單元(ADC0和ADC1),40路模擬通道(可擴(kuò)展),0~5V的轉(zhuǎn)換范圍,轉(zhuǎn)換有8位、10位、12位三種可選,具有軟件和硬件兩種觸發(fā)方式,采樣方式有單次方式和連續(xù)方式等,ADC的工作時(shí)鐘可達(dá)15MHz.速率和可以滿足汽車控制器的要求。圖1為eQADC模塊的結(jié)構(gòu)框圖,顯示了eQADC模塊的主要組成部分。

圖1 eQADC模塊的結(jié)構(gòu)框圖
1.2 命令緩存CFIFO的工作機(jī)制
eQADC模塊有6個(gè)命令緩存CFIFO,每個(gè)CFIFO有4個(gè)深度,CFIFO有單次掃描和連續(xù)掃描的操作模式,配置為不同的掃描模式時(shí),CFIFO就有不同的觸發(fā)機(jī)制。當(dāng)配置為單次掃描模式時(shí),每次會使存儲于隊(duì)列中的eQADC轉(zhuǎn)換命令序列執(zhí)行。當(dāng)設(shè)置為連續(xù)掃描模式時(shí),只要隊(duì)列啟動(dòng)后,就可以持續(xù)的運(yùn)行。數(shù)據(jù)的流程如圖2所示。

圖2 數(shù)據(jù)流程
1.3 eQADC的命令格式
eQADC有配置命令和轉(zhuǎn)換命令兩種命令格式。配置命令用于對eQADC模塊進(jìn)行初始化設(shè)置,像使能ADC模塊單元,設(shè)置時(shí)鐘分頻因子,轉(zhuǎn)換速率因子,使能DMA請求等;轉(zhuǎn)換命令主要用于設(shè)置采集哪個(gè)通道,用哪個(gè)ADC模塊單元轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果放在6個(gè)結(jié)果緩存的哪一個(gè)里面,是否對采集的結(jié)果進(jìn)行校正等。
2 增強(qiáng)型存儲器直接訪問(DMA)模塊
DMA控制器是總線上的一個(gè)主機(jī),能夠在片內(nèi)資源(Flash 、RAM和I/O外設(shè)等)以及片外資源之間傳輸數(shù)據(jù)。DMA有32個(gè)通道,在某個(gè)時(shí)刻只能有一個(gè)通道成為總線上的主機(jī)并進(jìn)行數(shù)據(jù)傳輸。為了解決他們之間的沖突,DMA有兩種可編程的優(yōu)先級機(jī)制:固定優(yōu)先級機(jī)制和輪詢優(yōu)先級機(jī)制。一旦一個(gè)通道成為主機(jī),該通道將通過先讀再寫的操作方式,把數(shù)據(jù)從一個(gè)存儲器地址傳輸?shù)搅硪粋€(gè)存儲器地址。每個(gè)DMA通道都有一個(gè)獨(dú)立的傳輸控制描述符(TDCn)。
3 多路eQADC采樣程序設(shè)計(jì)
在這次的設(shè)計(jì)中,數(shù)據(jù)的傳輸是通過DMA進(jìn)行的。多路eQADC采樣程序設(shè)計(jì)主要包括命令隊(duì)列、結(jié)果隊(duì)列的定義,eQADC的初始化,DMA初始化,觸發(fā)CFIFO等。程序的設(shè)計(jì)流程如圖3。

圖3 程序流程
3.1 定義數(shù)組
本文中cQUEUE0[40]被定義為轉(zhuǎn)換命令的存儲數(shù)組,rQUEUE0[40]被定義為轉(zhuǎn)換結(jié)果的存儲數(shù)組。把所有通道的轉(zhuǎn)換命令分別放在數(shù)組cQUEUE0[40]中,采集的結(jié)果分別放在數(shù)組rQUEUE0[40]中,這個(gè)可以隨時(shí)讀取rQUEUE0[40]中的數(shù)據(jù)被汽車控制器所用。
3.2 初始化DMA
TCD0對應(yīng)于CFIFO0,TCD1對應(yīng)于RFIFO0.由于本設(shè)計(jì)只要一個(gè)命令緩存CFIFO0和一個(gè)結(jié)果緩存RFIFO0就可以滿足設(shè)計(jì)要求,故只用到一個(gè)CFIFO0,一個(gè)RFIFO0,以及與他們對應(yīng)的TCD0和TCD1.設(shè)置TCD0:源地址為&cQUEUE0,目的地址為0xFFF80010,源地址偏移為4,傳輸?shù)拇笮?2位,次要字節(jié)傳輸數(shù)NBYTES為2;主迭代數(shù)為40;設(shè)置TCD1:源地址為&rQUEUE0,目的地址為0xFFF80032,源地址偏移為4,傳輸?shù)拇笮?6位,次要字節(jié)傳輸數(shù)NBYTES為2;主迭代數(shù)為40.
3.3 初始化eQADC
初始化轉(zhuǎn)換命令的存儲數(shù)組cQUEUE0[40],本設(shè)計(jì)是采用ADC0模塊單元,12位,采用校正,采集40個(gè)通道的模擬量。配置eQADC的寄存器,時(shí)鐘分頻因子為2,使能DMA0,DMA1請求等。
3.4 校正寄存器的設(shè)置
本項(xiàng)目的芯片功能很強(qiáng)大,以前的校正都需要外面加硬件來校正采樣結(jié)果,MPC5634自帶的有校正功能,本項(xiàng)目采用的校正是這樣的:ADC的初步轉(zhuǎn)換結(jié)果將通過MAC單元來完成校正。MAC單元執(zhí)行下列算法來進(jìn)行校正:
Idealresult=GCCXADCresult+OCC+2 (1)
GCC為增益校正的常數(shù),它是在寄存器ADCn_GCCR中定義的;OCC為偏移量校正常數(shù),它在寄存器ADCn_OCCR中定義的。
GCCR與OCCR的值是需要計(jì)算來確定的。通過以下公式進(jìn)行求解:
Idealresult1=GCCXADCresult1+OCC+2 (2)
Idealresult1=GCCXADCresult1+OCC+2 (3)
為了求出GCCR與OCCR的值,我們只需要兩個(gè)通道的理想結(jié)果和實(shí)際的結(jié)果就行了,通道44和通道43的電壓值分別對應(yīng)0.25Vdd和0.5Vdd.而他們的實(shí)際結(jié)果可以采集到。因此,可以求出GCCR和OCCR的值。
3.5 使能DMA請求
設(shè)置使能DMA0和DMA1請求。
3.6 觸發(fā)CFIFO0
設(shè)置CFIFO0為連續(xù)轉(zhuǎn)換模式,這樣就可以連續(xù)、持續(xù)地采集信號,并及時(shí)把采集的結(jié)果放到結(jié)果存儲數(shù)組中,如此就可以保證汽車控制器在結(jié)果存儲數(shù)組中所讀取的數(shù)據(jù)為的采集結(jié)果,可以使控制器根據(jù)的數(shù)據(jù)來控制各個(gè)執(zhí)行器。
4 主程序和執(zhí)行結(jié)果
void main(void)
{
uint32_t cQUEUE0[40]; //定義命令存儲數(shù)組
uint16_t rQUEUE0[40]; //結(jié)果存儲數(shù)組
dma_init_fnc(); //DMA初始化
eqadc_init_fnc (); //eQADC初始化
set_calconstants ();//校正寄存器的設(shè)置
dma_able();//使能DMA0,DMA1
cfifo0_trig();//使能DMA0,DMA1
while(1)
{
}
}
5 結(jié)束語
本設(shè)計(jì)完成了汽車控制器的采樣模塊的設(shè)計(jì),它保證在時(shí)間上和上滿足汽車控制器的要求。通過不斷地測試,該設(shè)計(jì)達(dá)到了系統(tǒng)所要求的性能和功能。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 數(shù)字電源控制與傳統(tǒng)模擬控制的深度對比2026/2/2 11:06:56
- 模擬信號調(diào)理電路技術(shù)設(shè)計(jì)與選型運(yùn)維指南2025/12/30 10:08:16
- 運(yùn)算放大器壓擺率的核心要點(diǎn)2025/9/5 16:27:55
- 深度剖析放大器穩(wěn)定系數(shù) K 與 Mu 的差異2025/9/2 16:44:05
- 什么是運(yùn)算放大器失調(diào)電流2025/9/1 17:01:22
- PCB焊盤與過孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法









