<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于MPC5634的汽車控制器多路AD采樣的設(shè)計

          基于MPC5634的汽車控制器多路AD采樣的設(shè)計

          作者:蔡余喜 趙震 時間:2014-03-27 來源:電子產(chǎn)品世界 收藏

            引言

          本文引用地址:http://www.ex-cimer.com/article/235425.htm

            隨著汽車對控制系統(tǒng)的要求和依賴性提高,AD采樣的設(shè)計模塊成為汽車控制器中重要的組成部分。AD采樣的結(jié)果是汽車控制器控制執(zhí)行器的依據(jù),它的速率和精度在汽車控制中起著重要的作用。

            本文主要介紹一種基于的多路模擬信號采集方法,通過增強型直接內(nèi)存訪問()方式,自動在RAM和增強型隊列式模數(shù)轉(zhuǎn)換器模塊之間轉(zhuǎn)移數(shù)據(jù),能高效和準(zhǔn)確地完成對模擬信號的采集。

            1 增強型隊列式模數(shù)轉(zhuǎn)換器模塊

            1.1 模塊的結(jié)構(gòu)

            的eQADC模塊有兩個可獨立工作的ADC轉(zhuǎn)換單元(ADC0和ADC1),40路模擬通道(可擴展),0~5V的轉(zhuǎn)換范圍,轉(zhuǎn)換精度有8位、10位、12位三種精度可選,具有軟件和硬件兩種觸發(fā)方式,采樣方式有單次方式和連續(xù)方式等,ADC的工作時鐘可達(dá)15MHz。速率和精度可以滿足汽車控制器的要求。圖1為eQADC模塊的結(jié)構(gòu)框圖,顯示了eQADC模塊的主要組成部分。

            1.2 命令緩存CFIFO的工作機制

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

            1.3 eQADC的命令格式

            eQADC有配置命令和轉(zhuǎn)換命令兩種命令格式。配置命令用于對eQADC模塊進(jìn)行初始化設(shè)置,像使能ADC模塊單元,設(shè)置時鐘分頻因子,轉(zhuǎn)換速率因子,使能請求等;轉(zhuǎn)換命令主要用于設(shè)置采集哪個通道,用哪個ADC模塊單元轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果放在6個結(jié)果緩存的哪一個里面,是否對采集的結(jié)果進(jìn)行校正等。

            2 增強型存儲器直接訪問()模塊

            DMA控制器是總線上的一個主機,能夠在片內(nèi)資源(Flash、RAM和I/O外設(shè)等)以及片外資源之間傳輸數(shù)據(jù)。DMA有32個通道,在某個時刻只能有一個通道成為總線上的主機并進(jìn)行數(shù)據(jù)傳輸。為了解決他們之間的沖突,DMA有兩種可編程的優(yōu)先級機制:固定優(yōu)先級機制和輪詢優(yōu)先級機制。一旦一個通道成為主機,該通道將通過先讀再寫的操作方式,把數(shù)據(jù)從一個存儲器地址傳輸?shù)搅硪粋€存儲器地址。每個DMA通道都有一個獨立的傳輸控制描述符(TDCn)。

            3 多路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ù)被汽車控制器所用。

            3.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.3 初始化eQADC

            初始化轉(zhuǎn)換命令的存儲數(shù)組cQUEUE0[40],本設(shè)計是采用ADC0模塊單元,12位精度,采用校正,一次采集40個通道的模擬量。配置eQADC的寄存器,時鐘分頻因子為2,使能DMA0,DMA1請求等。

            3.4 校正寄存器的設(shè)置

            本項目的芯片功能很強大,以前的校正都需要外面加硬件來校正采樣結(jié)果,自帶的有校正功能,本項目采用的校正是這樣的: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的值。

            3.5 使能DMA請求

            設(shè)置使能DMA0和DMA1請求。

            3.6 觸發(fā)CFIFO0

            設(shè)置CFIFO0為連續(xù)轉(zhuǎn)換模式,這樣就可以連續(xù)、持續(xù)地采集信號,并及時把采集的結(jié)果放到結(jié)果存儲數(shù)組中,如此就可以保證汽車控制器在結(jié)果存儲數(shù)組中所讀取的數(shù)據(jù)為最新的采集結(jié)果,可以使控制器根據(jù)最新的數(shù)據(jù)來控制各個執(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è)計完成了汽車控制器的采樣模塊的設(shè)計,它保證在時間上和精度上滿足汽車控制器的要求。通過不斷地測試,該設(shè)計達(dá)到了系統(tǒng)所要求的性能和功能。

            參考文獻(xiàn):

            [1]Freescale Semicondutor.MPC5634M Microcontroller Reference Manual

            [2]Freescale.Semicondutor.Enhanced Time Processing Unit(eTPU) Preliminary Reference Manual[M]

            [3]Code Warrior Development Tools C Compilers Reference 3.2[M].[S.L.]:Metrowerks company,2004

            [4]孫同景,陳佳友.十六位單片機原理及嵌入式開發(fā)技術(shù)[D].機械工業(yè)出版社,2008.5

            [5]SojaR,Bannoura M.MPC5554/5553 微處理器揭秘.龔光華,宮輝,安鵬,譯.北京航空航天大學(xué)出版社,2010

            [6]FreescaleSemicondutor.Tips and Tricks with DMA on MPC56XX.Rev.0,2010

            [7]FreescaleSemicondutor.Design,Accuracy,and Calibration of Analog to Digital Converters on the MPC5500 Family Rev.2,2010

            [8]FreescaleSemicondutor.Using DMA to Emulate ADC Flexible Scan Mode on Kinetis K Series.Reved,2012

          逆變器相關(guān)文章:逆變器原理


          可控硅相關(guān)文章:可控硅工作原理


          逆變器相關(guān)文章:逆變器工作原理


          比較器相關(guān)文章:比較器工作原理


          模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理


          存儲器相關(guān)文章:存儲器原理




          關(guān)鍵詞: MPC5634 eQADC DMA 201404

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();