基于MPC5634的控制器多路AD采樣的設(shè)計(jì)
隨著汽車(chē)對(duì)控制系統(tǒng)的要求和依賴(lài)性提高,AD采樣的設(shè)計(jì)模塊成為汽車(chē)控制器中重要的組成部分。AD采樣的結(jié)果是汽車(chē)控制器控制執(zhí)行器的依據(jù),它的速率和精度在汽車(chē)控制中起著重要的作用。
本文引用地址:http://butianyuan.cn/article/264517.htm本文主要介紹一種基于MPC5634的多路模擬信號(hào)采集方法,通過(guò)增強(qiáng)型直接內(nèi)存訪問(wèn)(DMA)方式,自動(dòng)在RAM和增強(qiáng)型隊(duì)列式模數(shù)轉(zhuǎn)換器eQADC模塊之間轉(zhuǎn)移數(shù)據(jù),能高效和準(zhǔn)確地完成對(duì)模擬信號(hào)的采集。
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.速率和精度可以滿足汽車(chē)控制器的要求。圖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í),每次會(huì)使存儲(chǔ)于隊(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)換命令兩種命令格式。配置命令用于對(duì)eQADC模塊進(jìn)行初始化設(shè)置,像使能ADC模塊單元,設(shè)置時(shí)鐘分頻因子,轉(zhuǎn)換速率因子,使能DMA請(qǐng)求等;轉(zhuǎn)換命令主要用于設(shè)置采集哪個(gè)通道,用哪個(gè)ADC模塊單元轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果放在6個(gè)結(jié)果緩存的哪一個(gè)里面,是否對(duì)采集的結(jié)果進(jìn)行校正等。
2 增強(qiáng)型存儲(chǔ)器直接訪問(wèn)(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í)機(jī)制:固定優(yōu)先級(jí)機(jī)制和輪詢(xún)優(yōu)先級(jí)機(jī)制。一旦一個(gè)通道成為主機(jī),該通道將通過(guò)先讀再寫(xiě)的操作方式,把數(shù)據(jù)從一個(gè)存儲(chǔ)器地址傳輸?shù)搅硪粋€(gè)存儲(chǔ)器地址。每個(gè)DMA通道都有一個(gè)獨(dú)立的傳輸控制描述符(TDCn)。
3 多路eQADC采樣程序設(shè)計(jì)
在這次的設(shè)計(jì)中,數(shù)據(jù)的傳輸是通過(guò)DMA進(jìn)行的。多路eQADC采樣程序設(shè)計(jì)主要包括命令隊(duì)列、結(jié)果隊(duì)列的定義,eQADC的初始化,DMA初始化,觸發(fā)CFIFO等。程序的設(shè)計(jì)流程如圖3。
評(píng)論