基于FPGA的雙通道汽車渦輪增壓葉片溫度采集卡研制
摘要:一種應(yīng)用于汽車渦輪增壓器葉片溫度檢測(cè)的雙通道數(shù)據(jù)采集卡,該卡由峰值檢測(cè)、串行A/D構(gòu)成模擬電路和由FPGA構(gòu)成整個(gè)數(shù)字電路而組成。重點(diǎn)設(shè)計(jì)了FPGA內(nèi)部串并轉(zhuǎn)換電路和FIFO,經(jīng)仿真和實(shí)驗(yàn)驗(yàn)證,串并轉(zhuǎn)換和FIFO的應(yīng)用大大簡(jiǎn)化了采集卡的復(fù)雜程度,提高了系統(tǒng)的可靠性和穩(wěn)定性,在信號(hào)高速處理方面具有一定的應(yīng)用價(jià)值。
0 引言
渦輪增壓近年來是一個(gè)熱門話題,早些年主要是大眾汽車推出了一些渦輪增壓車型,比如寶來、帕薩特車型就都是渦輪增壓的典型代表。最近兩年,渦輪增壓有方興未艾之勢(shì),不僅大眾以及通用品牌推出了小排量的1.4TSI渦輪增壓和1.6T渦輪增壓動(dòng)力,就連一些自主品牌也紛紛大打渦輪增壓的好牌。
渦輪增壓實(shí)際上是一種空氣壓縮機(jī),通過壓縮空氣來增加進(jìn)氣量。它是利用發(fā)動(dòng)機(jī)排出的廢氣慣性沖力來推動(dòng)渦輪室內(nèi)的渦輪,渦輪又帶動(dòng)同軸的葉輪,葉輪壓送由空氣濾清器管道送來的空氣,使之增壓進(jìn)入氣缸。當(dāng)發(fā)動(dòng)機(jī)轉(zhuǎn)速增快,廢氣排出速度與渦輪轉(zhuǎn)速也同步增快,葉輪就壓縮更多的空氣進(jìn)入氣缸,空氣的壓力和密度增大可以燃燒更多的燃料,相應(yīng)增加燃料量和調(diào)整發(fā)動(dòng)機(jī)的轉(zhuǎn)速,就可以增加發(fā)動(dòng)機(jī)的輸出功率了。
汽車上安裝的渦輪增壓器在全負(fù)荷工作狀態(tài)下其轉(zhuǎn)速可達(dá)每分鐘8萬到12萬轉(zhuǎn)。工作溫度高達(dá)600~900℃,如圖1。而渦輪葉片會(huì)產(chǎn)生1000℃的高溫,可以說它的工作條件最為惡劣。
看到這些渦輪增壓工作時(shí)的照片,就不難理解配置渦輪增壓發(fā)動(dòng)機(jī)的車為什么容易自燃了,這就是一塊燒紅的鐵,不出事故則已,一旦燃油泄漏,沾上高溫工作中的渦輪增壓器,瞬間高溫會(huì)引燃汽油,繼而導(dǎo)致爆炸。為什么會(huì)產(chǎn)生這么高的溫度呢?因?yàn)闇u輪增壓器溫度=廢氣溫度+渦輪快速轉(zhuǎn)動(dòng)摩擦溫度+進(jìn)氣空氣壓縮溫度。不難理解渦輪燒紅是正
常工作狀態(tài)。改善這一工作條件的辦法就是散熱,渦輪本體內(nèi)部有專門的機(jī)油通道(散熱和潤(rùn)滑)和水道,通過油冷和水冷雙重散熱,降低增壓器的溫度。
1 雙通道渦輪增壓葉片溫度采集卡
針對(duì)上述情況,對(duì)增壓器散熱尤其重要,所以設(shè)計(jì)一套根據(jù)增壓器工作溫度不同而做相應(yīng)調(diào)整的冷卻系統(tǒng)。這套系統(tǒng)的難點(diǎn)在于對(duì)渦輪葉片溫度的采集。在數(shù)據(jù)采集系統(tǒng)中通常采用并行數(shù)據(jù)總線方式進(jìn)行控制信號(hào)傳輸和數(shù)據(jù)交換。在以往的設(shè)計(jì)中,大量使用中小規(guī)模集成電路及分立元件搭建總線數(shù)據(jù)采集和控制功能模塊,不僅占用較大的印制板面積,而且設(shè)計(jì)工作量大,時(shí)序控制復(fù)雜,采集速度不理想。
將FPGA應(yīng)用到該系統(tǒng)的設(shè)計(jì)中可以有效地解決上述問題。FPGA可以實(shí)現(xiàn)許多中小規(guī)模集成電路的功能,因此可以有效地減少印制板上功能模塊的面積,同時(shí)減少系統(tǒng)體積。利用FPGA的在線編程和仿真功能可以模擬系統(tǒng)各類信號(hào)的時(shí)序,大大提高設(shè)計(jì)效率。所以設(shè)計(jì)了基于FPGA的雙通道溫度數(shù)據(jù)采集卡,原理框圖如圖2所示。整個(gè)采集系統(tǒng)分為采集模塊、高速緩存模塊、邏輯控制及接口模塊三大部分。
采集模塊由信號(hào)調(diào)理電路、雙通道轉(zhuǎn)換開關(guān)、A/D轉(zhuǎn)換電路組成;高速緩存模塊由FIFO及其控制電路組成,邏輯控制及接口模塊由FPGA實(shí)現(xiàn)。雙通道外部信號(hào)先進(jìn)入調(diào)理電路,再經(jīng)放大、濾波等處理后,在經(jīng)轉(zhuǎn)換開關(guān)切換后,送到高速A/D進(jìn)行數(shù)據(jù)轉(zhuǎn)換。雙通道模擬信號(hào)被順序轉(zhuǎn)換為數(shù)字信號(hào),并按照通道編號(hào)的不同在數(shù)據(jù)后附加通道信息存于FIFO中。整個(gè)過程由FPGA控制完成,并通過ISA總線與計(jì)算機(jī)通訊,利用FIFO允許兩個(gè)端口同時(shí)訪問的性能,由計(jì)算機(jī)在高速采集進(jìn)行的同時(shí)將已采集的數(shù)據(jù)取走,實(shí)現(xiàn)數(shù)據(jù)的高速連續(xù)采集。
2 采集卡的邏輯控制作用
2.1 基于FPGA的連續(xù)采集控制邏輯的實(shí)現(xiàn)
高速連續(xù)數(shù)據(jù)采集系統(tǒng),需要A/D、高速緩沖及總線接口之間有良好的時(shí)序匹配。針對(duì)這一問題,本文選用現(xiàn)場(chǎng)可編程邏輯門陣列(FPGA)來解決這一問題。采用FPGA之后不僅大大提高了系統(tǒng)的可靠性,同時(shí)也很好地增加了系統(tǒng)的集成度。作為數(shù)據(jù)采集系統(tǒng)的控制核心,F(xiàn)PGA實(shí)現(xiàn)的邏輯功能有:產(chǎn)生A/D的工作時(shí)序、實(shí)現(xiàn)控制字所對(duì)應(yīng)的功能、控制數(shù)據(jù)的存儲(chǔ)和傳輸、提供總線的接口邏輯。其內(nèi)部的邏輯模塊可以分為時(shí)鐘分頻模塊、傳輸控制及數(shù)據(jù)存儲(chǔ)模塊、總線邏輯接口模塊三部分。FPGA對(duì)應(yīng)的邏輯結(jié)構(gòu)如圖3所示。
命令狀態(tài)控制邏輯是整個(gè)FPGA的指揮中心。它主要工作在于控制A/D轉(zhuǎn)換過程、采樣方式控制、時(shí)鐘分頻、串并轉(zhuǎn)換和FIFO讀寫控制,使采集卡工作時(shí)獨(dú)立于計(jì)算機(jī),降低對(duì)系統(tǒng)資源的占用。這個(gè)過程中,時(shí)鐘分頻模塊采用一個(gè)高精度時(shí)鐘源經(jīng)計(jì)數(shù)器分頻得到的脈沖序列來實(shí)現(xiàn)采樣方式控制、串并轉(zhuǎn)換、FIFO讀/寫時(shí)鐘控制,分頻數(shù)由參數(shù)設(shè)置。傳輸控制及數(shù)據(jù)存儲(chǔ)模塊,由串行AD轉(zhuǎn)換出來的數(shù)據(jù)經(jīng)FPGA進(jìn)行串行到并行轉(zhuǎn)化,轉(zhuǎn)化后的并行數(shù)據(jù)再送到FPGA內(nèi)部FIFO存儲(chǔ)單元中,以備計(jì)算機(jī)實(shí)時(shí)讀取??偩€邏輯接口模塊實(shí)現(xiàn)整個(gè)采集系統(tǒng)同總線的數(shù)據(jù)交互。在這一模塊中,通過地址譯碼,獲取計(jì)算機(jī)的讀寫指令,并將這些指令傳送給相應(yīng)的邏輯模塊和系統(tǒng)元件;采用鎖存器加譯碼電路的方式,將計(jì)算機(jī)送來的控制字轉(zhuǎn)化為具體的邏輯控制時(shí)序,實(shí)現(xiàn)其對(duì)應(yīng)的功能。
2.2 串并轉(zhuǎn)換
隨著芯片集成度和工藝水平的提高,串行A/D(尤其是高精度串行A/D)轉(zhuǎn)換芯片正在被廣泛地采用。串行A/D轉(zhuǎn)換芯片以其引腳數(shù)少(常見的8引腳)、集成度高(基本上無需外接其他器件)、價(jià)格低、易于數(shù)字隔離、易于芯片升級(jí),本設(shè)計(jì)采用了BB公司生產(chǎn)的12位高速差分輸入微功耗ADS7818,AD轉(zhuǎn)換后的數(shù)據(jù)經(jīng)光電隔離后送入FPGA進(jìn)行串行到并行轉(zhuǎn)換后送到FIFO中。采用Quartus II圖形設(shè)計(jì)輸入方法,圖4所示為串行轉(zhuǎn)并行原理及仿真圖。
16位串入并出移位寄存器74LS673,寄存器片選端CS的控制是由計(jì)數(shù)器74161計(jì)數(shù)13次為一次AD轉(zhuǎn)換時(shí)間起始的,R/W是由別一片74161計(jì)數(shù)12次來控制寄存器一次串行轉(zhuǎn)并行讀與寫,SER是A/D轉(zhuǎn)換的數(shù)據(jù)輸入端。B0至B11的12位并行數(shù)據(jù)最后送到FIFOE中。
2.3 高速緩存
如何將A/D轉(zhuǎn)換后的數(shù)據(jù)及時(shí)完整地經(jīng)過總線傳送給計(jì)算機(jī),是能否實(shí)現(xiàn)高速連續(xù)采集的關(guān)鍵環(huán)節(jié)。采用FIFO高速緩存技術(shù),可以很好地解決這個(gè)問題。FIFO常用于數(shù)據(jù)的緩存和容納異步信號(hào)的頻率或相位的差異,使用FIFO可以在兩個(gè)不同的時(shí)鐘系統(tǒng)之間快速準(zhǔn)確地傳輸實(shí)時(shí)數(shù)據(jù)。它是一種特殊功能的存儲(chǔ)器,數(shù)據(jù)以達(dá)到FIFO輸入端口的先后順序依次存儲(chǔ)在存儲(chǔ)器中,并以相同的順序從FIFO的輸出端口送出,所以FIFO內(nèi)數(shù)據(jù)的寫入和讀取只受讀/寫時(shí)鐘和讀/寫請(qǐng)求信號(hào)的控制,而不需要讀/寫地址線,其內(nèi)部結(jié)構(gòu)如圖5所示。
從硬件角度分析,F(xiàn)IFO存儲(chǔ)器本質(zhì)是一塊雙端口數(shù)據(jù)內(nèi)存,一個(gè)端口用于將數(shù)據(jù)存入FIFO;另一個(gè)端口用于將數(shù)據(jù)從FIFO中取出。FIFO的相關(guān)操作可以看作是2個(gè)指針的定位,寫指針指向要寫的內(nèi)存部分,讀指針指向要讀的內(nèi)存部分。FIFO控制器通過外部的讀/寫信號(hào)控制這2個(gè)指針移動(dòng),并由此產(chǎn)生FIFO空信號(hào)或滿信號(hào)。所以硬件上來實(shí)現(xiàn)FIFO存儲(chǔ)器,一般采用雙端口的SRAM單元來存取數(shù)據(jù)。利用二進(jìn)制計(jì)數(shù)器實(shí)現(xiàn)指針對(duì)SRAM的存儲(chǔ)器地址的操作。異步FIFO存儲(chǔ)器使用了2個(gè)時(shí)鐘信號(hào)分別控制存儲(chǔ)器的讀操作和寫操作,數(shù)據(jù)由某一個(gè)時(shí)鐘域的控制信號(hào)寫入FIFO,而由另一個(gè)時(shí)鐘域的控制信號(hào)將數(shù)據(jù)讀出FIFO。與同步FIFO存儲(chǔ)器相比,它的讀/寫指針的變化由不同的時(shí)鐘產(chǎn)生,是完全獨(dú)立的,因此其時(shí)序控制更為復(fù)雜。本文直接調(diào)用其FPGA芯片內(nèi)部可編程的底層硬件資源,完成高速異步FIFO存儲(chǔ)器設(shè)計(jì)的思路和方法,提出了一種基于Altera公司的cyclone系列FPGA芯片,在OuartusII設(shè)計(jì)平臺(tái)下,編譯實(shí)現(xiàn)的高速異步FIFO存儲(chǔ)器模型。圖6所示為參數(shù)化雙時(shí)鐘FIFO仿真圖。
讀/寫時(shí)鐘異步使得FIFO存儲(chǔ)器的輸入和輸出數(shù)據(jù)速率不相等,在讀操作時(shí)鐘頻率高于寫操作時(shí)鐘頻率時(shí),可能出現(xiàn)“讀空”狀態(tài);當(dāng)寫操作時(shí)鐘頻率高于讀操作時(shí)鐘頻率時(shí),可能出現(xiàn)“寫滿”狀態(tài)。圖6選取第2種情況進(jìn)行仿真。從波形圖中可以看到存儲(chǔ)器中狀態(tài)信號(hào)的變化過程,及輸入和輸出的數(shù)據(jù)波形,驗(yàn)證了讀/寫過程的正確性,異步FIFO存儲(chǔ)器的設(shè)計(jì)符合要求。
3 結(jié)束語
本文研究了基于FPGA串行數(shù)據(jù)的采集和存儲(chǔ)技術(shù),設(shè)計(jì)了雙通道汽車渦輪增壓葉片溫度數(shù)據(jù)采集卡,并對(duì)該卡數(shù)據(jù)傳輸和存儲(chǔ)進(jìn)行了深入的研究和仿真測(cè)試,結(jié)果均達(dá)到理論要求,達(dá)到了設(shè)計(jì)指標(biāo)。本采集卡在整個(gè)冷卻系統(tǒng)中具有舉足輕重的地位,具有很好的應(yīng)用前景。