工業(yè)分享:基于MPC5634的控制器多路AD采樣的方案設(shè)計
發(fā)布時間:2014-10-10 責(zé)任編輯:echolady
【導(dǎo)讀】汽車隊控制系統(tǒng)的要求不斷提升,AD采樣設(shè)計模塊也成為汽車控制中不可或缺的部分。AD采樣的速度和精度關(guān)系到汽車控制器的執(zhí)行。本文中詳述了基于MPC5634的控制器多路AD采樣的方案,通過增強型內(nèi)存訪問(DMA)方式,在自動在增強型隊列式模數(shù)轉(zhuǎn)換器eQADC模塊和RAM之間自動轉(zhuǎn)移數(shù)據(jù),使模擬信號的采集更加精準(zhǔn)高效。
一、增強型存儲器直接訪問(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通道都有一個獨立的傳輸控制描述符(TDCn)。
二、增強型隊列式模數(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模塊有兩個可獨立工作的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)配置為單次掃描模式時,每次會使存儲于隊列中的eQADC轉(zhuǎn)換命令序列執(zhí)行一次。當(dāng)設(shè)置為連續(xù)掃描模式時,只要隊列啟動后,就可以持續(xù)的運行。數(shù)據(jù)的流程如圖2所示。
圖2:數(shù)據(jù)流程
[page]
三、多路eQADC采樣程序設(shè)計
在這次的設(shè)計中,數(shù)據(jù)的傳輸是通過DMA進(jìn)行的。多路eQADC采樣程序設(shè)計主要包括命令隊列、結(jié)果隊列的定義,eQADC的初始化,DMA初始化,觸發(fā)CFIFO等。程序的設(shè)計流程如圖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è)計只要一個命令緩存CFIFO0和一個結(jié)果緩存RFIFO0就可以滿足設(shè)計要求,故只用到一個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è)計是采用ADC0模塊單元,12位精度,采用校正,一次采集40個通道的模擬量。配置eQADC的寄存器,時鐘分頻因子為2,使能DMA0,DMA1請求等。
4、校正寄存器的設(shè)置
本項目的芯片功能很強大,以前的校正都需要外面加硬件來校正采樣結(jié)果,MPC5634自帶的有校正功能,本項目采用的校正是這樣的: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ìn)行求解:
Idealresult1=GCCXADCresult1+OCC+2 (2)
Idealresult1=GCCXADCresult1+OCC+2 (3)
為了求出GCCR與OCCR的值,我們只需要兩個通道的理想結(jié)果和實際的結(jié)果就行了,通道44和通道43的電壓值分別對應(yīng)0.25Vdd和0.5Vdd.而他們的實際結(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í)行器。
特別推薦
- 音頻放大器的 LLC 設(shè)計注意事項
- 服務(wù)器電源設(shè)計中的五大趨勢
- 電子技術(shù)如何助力高鐵節(jié)能?
- 利用創(chuàng)新FPGA技術(shù):實現(xiàn)USB解決方案的低功耗、模塊化與小尺寸
- 加速度傳感器不好選型?看這6個重要參數(shù)!
- 功率器件熱設(shè)計基礎(chǔ)(十三)——使用熱系數(shù)Ψth(j-top)獲取結(jié)溫信息
- IGBT并聯(lián)設(shè)計指南,拿下!
技術(shù)文章更多>>
- PLC 交流模塊的 TRIAC 輸出故障排除
- 解鎖AI設(shè)計潛能,ASO.ai如何革新模擬IC設(shè)計
- 汽車拋負(fù)載Load Dump
- 50%的年長者可能會聽障?!救贖的辦法在這里
- ADI 多協(xié)議工業(yè)以太網(wǎng)交換機(jī)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
功率電阻
功率放大器
功率管
功率繼電器
功率器件
共模電感
固態(tài)盤
固體繼電器
光傳感器
光電池
光電傳感器
光電二極管
光電開關(guān)
光電模塊
光電耦合器
光電器件
光電顯示
光繼電器
光控可控硅
光敏電阻
光敏器件
光敏三極管
光收發(fā)器
光通訊器件
光纖連接器
軌道交通
國防航空
過流保護(hù)器
過熱保護(hù)
過壓保護(hù)