基于MPC5634的控制器多路AD采樣的設計
隨著(zhù)汽車(chē)對控制系統的要求和依賴(lài)性提高,AD采樣的設計模塊成為汽車(chē)控制器中重要的組成部分。AD采樣的結果是汽車(chē)控制器控制執行器的依據,它的速率和精度在汽車(chē)控制中起著(zhù)重要的作用。
本文引用地址:http://dyxdggzs.com/article/264517.htm本文主要介紹一種基于MPC5634的多路模擬信號采集方法,通過(guò)增強型直接內存訪(fǎng)問(wèn)(DMA)方式,自動(dòng)在RAM和增強型隊列式模數轉換器eQADC模塊之間轉移數據,能高效和準確地完成對模擬信號的采集。
1 增強型隊列式模數轉換器eQADC模塊
1.1 eQADC模塊的結構
MPC5634的eQADC模塊有兩個(gè)可獨立工作的ADC轉換單元(ADC0和ADC1),40路模擬通道(可擴展),0~5V的轉換范圍,轉換精度有8位、10位、12位三種精度可選,具有軟件和硬件兩種觸發(fā)方式,采樣方式有單次方式和連續方式等,ADC的工作時(shí)鐘可達15MHz.速率和精度可以滿(mǎn)足汽車(chē)控制器的要求。圖1為eQADC模塊的結構框圖,顯示了eQADC模塊的主要組成部分。

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

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