工業(yè)分享:基于MPC5634的控制器多路AD采樣的方案設(shè)計(jì)
發(fā)布時間:2014-10-10 責(zé)任編輯:echolady
【導(dǎo)讀】汽車隊(duì)控制系統(tǒng)的要求不斷提升,AD采樣設(shè)計(jì)模塊也成為汽車控制中不可或缺的部分。AD采樣的速度和精度關(guān)系到汽車控制器的執(zhí)行。本文中詳述了基于MPC5634的控制器多路AD采樣的方案,通過增強(qiáng)型內(nèi)存訪問(DMA)方式,在自動在增強(qiáng)型隊(duì)列式模數(shù)轉(zhuǎn)換器eQADC模塊和RAM之間自動轉(zhuǎn)移數(shù)據(jù),使模擬信號的采集更加精準(zhǔn)高效。
一、增強(qiáng)型存儲器直接訪問(DMA)模塊
DMA控制器是總線上的一個主機(jī),能夠在片內(nèi)資源(Flash 、RAM和I/O外設(shè)等)以及片外資源之間傳輸數(shù)據(jù)。DMA有32個通道,在某個時刻只能有一個通道成為總線上的主機(jī)并進(jìn)行數(shù)據(jù)傳輸。為了解決他們之間的沖突,DMA有兩種可編程的優(yōu)先級機(jī)制:固定優(yōu)先級機(jī)制和輪詢優(yōu)先級機(jī)制。一旦一個通道成為主機(jī),該通道將通過先讀再寫的操作方式,把數(shù)據(jù)從一個存儲器地址傳輸?shù)搅硪粋€存儲器地址。每個DMA通道都有一個獨(dú)立的傳輸控制描述符(TDCn)。
二、增強(qiáng)型隊(duì)列式模數(shù)轉(zhuǎn)換器eQADC模塊
1、eQADC的命令格式
eQADC有配置命令和轉(zhuǎn)換命令兩種命令格式。配置命令用于對eQADC模塊進(jìn)行初始化設(shè)置,像使能ADC模塊單元,設(shè)置時鐘分頻因子,轉(zhuǎn)換速率因子,使能DMA請求等;轉(zhuǎn)換命令主要用于設(shè)置采集哪個通道,用哪個ADC模塊單元轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果放在6個結(jié)果緩存的哪一個里面,是否對采集的結(jié)果進(jìn)行校正等。
2、eQADC模塊的結(jié)構(gòu)
MPC5634的eQADC模塊有兩個可獨(dú)立工作的ADC轉(zhuǎn)換單元(ADC0和ADC1),40路模擬通道(可擴(kuò)展),0~5V的轉(zhuǎn)換范圍,轉(zhuǎn)換精度有8位、10位、12位三種精度可選,具有軟件和硬件兩種觸發(fā)方式,采樣方式有單次方式和連續(xù)方式等,ADC的工作時鐘可達(dá)15MHz.速率和精度可以滿足汽車控制器的要求。圖1為eQADC模塊的結(jié)構(gòu)框圖,顯示了eQADC模塊的主要組成部分。
圖1:eQADC模塊的結(jié)構(gòu)框圖
3、命令緩存CFIFO的工作機(jī)制
eQADC模塊有6個命令緩存CFIFO,每個CFIFO有4個深度,CFIFO有單次掃描和連續(xù)掃描的操作模式,配置為不同的掃描模式時,CFIFO就有不同的觸發(fā)機(jī)制。當(dāng)配置為單次掃描模式時,每次會使存儲于隊(duì)列中的eQADC轉(zhuǎn)換命令序列執(zhí)行一次。當(dāng)設(shè)置為連續(xù)掃描模式時,只要隊(duì)列啟動后,就可以持續(xù)的運(yùn)行。數(shù)據(jù)的流程如圖2所示。
圖2:數(shù)據(jù)流程
[page]
三、多路eQADC采樣程序設(shè)計(jì)
在這次的設(shè)計(jì)中,數(shù)據(jù)的傳輸是通過DMA進(jìn)行的。多路eQADC采樣程序設(shè)計(jì)主要包括命令隊(duì)列、結(jié)果隊(duì)列的定義,eQADC的初始化,DMA初始化,觸發(fā)CFIFO等。程序的設(shè)計(jì)流程如圖3。
圖3:程序流程
1、定義數(shù)組
本文中cQUEUE0[40]被定義為轉(zhuǎn)換命令的存儲數(shù)組,rQUEUE0[40]被定義為轉(zhuǎn)換結(jié)果的存儲數(shù)組。把所有通道的轉(zhuǎn)換命令分別放在數(shù)組cQUEUE0[40]中,最后采集的結(jié)果分別放在數(shù)組rQUEUE0[40]中,這個可以隨時讀取rQUEUE0[40]中的數(shù)據(jù)被汽車控制器所用。
2、初始化DMA
TCD0對應(yīng)于CFIFO0,TCD1對應(yīng)于RFIFO0.由于本設(shè)計(jì)只要一個命令緩存CFIFO0和一個結(jié)果緩存RFIFO0就可以滿足設(shè)計(jì)要求,故只用到一個CFIFO0,一個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、初始化eQADC
初始化轉(zhuǎn)換命令的存儲數(shù)組cQUEUE0[40],本設(shè)計(jì)是采用ADC0模塊單元,12位精度,采用校正,一次采集40個通道的模擬量。配置eQADC的寄存器,時鐘分頻因子為2,使能DMA0,DMA1請求等。
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的值,我們只需要兩個通道的理想結(jié)果和實(shí)際的結(jié)果就行了,通道44和通道43的電壓值分別對應(yīng)0.25Vdd和0.5Vdd.而他們的實(shí)際結(jié)果可以采集到。因此,可以求出GCCR和OCCR的值。
5、使能DMA請求
設(shè)置使能DMA0和DMA1請求。
6、觸發(fā)CFIFO0
設(shè)置CFIFO0為連續(xù)轉(zhuǎn)換模式,這樣就可以連續(xù)、持續(xù)地采集信號,并及時把采集的結(jié)果放到結(jié)果存儲數(shù)組中,如此就可以保證汽車控制器在結(jié)果存儲數(shù)組中所讀取的數(shù)據(jù)為最新的采集結(jié)果,可以使控制器根據(jù)最新的數(shù)據(jù)來控制各個執(zhí)行器。
特別推薦
- 隨時隨地享受大屏幕游戲:讓便攜式 4K 超高清 240Hz 游戲投影儀成為現(xiàn)實(shí)
- 在發(fā)送信號鏈設(shè)計(jì)中使用差分轉(zhuǎn)單端射頻放大器的優(yōu)勢
- 第9講:SiC的加工工藝(1)離子注入
- 移遠(yuǎn)通信再推兩款新型4G、Wi-Fi、GNSS三合一組合天線
- Bourns 推出全新雙繞組系列,擴(kuò)展屏蔽功率電感產(chǎn)品組合
- 貿(mào)澤開售AMD Versal AI Edge VEK280評估套件
- 安森美Hyperlux圖像傳感器將用于斯巴魯新一代集成AI的EyeSight系統(tǒng)
技術(shù)文章更多>>
- 在智能照明產(chǎn)品設(shè)計(jì)中實(shí)施Matter協(xié)議的經(jīng)驗(yàn)教訓(xùn)
- 艾睿電子助力SAVART Motors擴(kuò)大其在印尼的電動車制造規(guī)模
- 隔離飛電容多電平變換器的硬件設(shè)計(jì)
- 【“源”察秋毫系列】多次循環(huán)雙脈沖測試應(yīng)用助力功率器件研究及性能評估
- 高信噪比MEMS麥克風(fēng)驅(qū)動人工智能交互
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索