??? 摘? 要: 針對汽油機轉速變化范圍大及點火電壓、電流變化極快的特點,采用CPLD作為高速采集器,有效地實現了超高速數據采集,完成了對點火電壓、電流波形的采樣;并通過對接口電路的認真分析,有效地解決了高速數據采集模塊和低速控制器之間的數據通訊。?
??? 關鍵詞: 點火參數? 復雜可編程邏輯器件? 靜態(tài)存儲器? 高速數據采集? 液晶顯示
?
??? 點火參數是影響汽油機性能的最重要因素之一。汽油機的點火參數主要有:點火提前角、點火能量、點火電壓和點火電流。通過對這些參數的測量、研究與優(yōu)化,能提高發(fā)動機的性能,降低油耗,減少有害氣體的排放量,改善環(huán)境空氣質量等。就國內外目前的點火參數測量設備來說,普遍存在著體積龐大、價格昂貴、抗干擾能力差等缺點,甚至有些是采用示波器來觀察,人機對話界面不夠友好。由于火花塞放電時間大約在200~500μs之間,點火電壓的上升時間卻只有幾到十幾μs,為了保證測量精度,采樣頻率要求在10MHz以上,這個速度就是目前最快的單片機也難以勝任。因此如何有效地實現超高速的數據采集便成了解決問題的技術關鍵。同時,使高速的數據采集器與低速的控制電路實現可靠地信息交換是又一難題。本測量儀采用CPLD作為高速采集器,用AT89C52作為控制器,巧妙地解決了這一問題。?
1 汽油機點火參數的測量原理和方法?
??? 汽油機點火參數測量電路的原理框圖如圖1所示。觸發(fā)信號是磁電機位置傳感器(電磁感應線圈)發(fā)出的信號,點火信號是套在點火線上的傳感線圈的輸出信號,這兩個信號經調理電路的整形,控制CPLD計數器的起停,根據計數值可計算出轉速和點火提前角。點火線圈次級電壓、電流信號經過分壓器、分流器以及功放等調整到高速A/D的輸入范圍。高速A/D對其進行轉換,結果由CPLD鎖存,并通過CPLD存儲到高速靜態(tài)存儲器SRAM中。整個測量電路在CPU的控制下工作。上電后,CPU首先對CPLD進行配置,待CPLD完成初始化后,整個電路就進入工作狀態(tài)。電路的采樣頻率由時鐘合成芯片輸出,測量結果通過CPLD取得,經CPU處理后在LCD上顯示出來。?
?
?
1.1 高速數據采集電路的設計?
??? 高速數據采集電路由高速A/D轉換器AD9051、復雜可編程邏輯器件(CPLD)EPF10K10、高速靜態(tài)存儲器(SRAM)CY7C1021組成,如圖2所示。AD9051將經過調理的電壓、電流信號轉化成十位數字量輸出,ORv、ORi分別為電壓、電流幅值超過輸入范圍信號。當Fout有脈沖輸出時,AD9051進行轉換,否則停止工作。在信號采集電路中, CPLD的作用是:(1)在SMEN信號使能的情況下,SMST(點火信號)信號到來后,輸出Fout起動A/D轉換器;(2)鎖存AD9051的輸出結果;(3)通過地址發(fā)生器輸出數據存儲地址,并產生寫信號(WR),將鎖存數據寫入SRAM。?
?
?
1.2 控制電路的設計?
??? 控制電路的核心為AT89C52,如圖3所示??刂齐娐芬瓿傻娜蝿帐?(1)上電后,完成CPLD的配置加載。FLEX10K系列共有4種加載方式,這里采用主動串行方式,由AT89C52的引腳P1.5控制CPLD和已寫入配置數據的串行EPROM(27E512)完成配置。(2)完成采樣頻率的控制,由AT89C52控制時鐘合成芯片MC12429來實現,其輸出頻率為25~400MHz。每次采樣前,用戶可手動輸入采樣頻率,由AT89C52的P0.0~P0.7腳輸出M[8..1]的值,P1.0腳輸出由低到高的信號,將此值鎖存。(3)控制A/D轉換的使能。當頻率設定好后,用戶按下采樣鍵,AT89C52的P1.1輸出采樣使能信號SMEN,當采樣開始信號SMST到來后,采樣就開始進行。(4)與CPLD的通訊。圖3中,AT89C52的P0.0~P0.7與CPLD的8個I/O引腳相連,實現AT89C52與CPLD之間的數據通訊。它們之間的控制信號有讀取數據時鐘信號RDCK(P1.2)、輸入/輸出控制信號I/O(P1.3)、CPLD選通信號PLDCE(P1.4)和CPLD發(fā)出的中斷信號INT(INT0)。
?
?
1.3 高速采集器與低速控制器的接口?
??? CPLD要在AT89C52的控制下完成相應的功能,必須為兩者之間建立一定的信號聯(lián)系,使CPLD能夠辨別AT89C52 發(fā)出的命令并去執(zhí)行相應的任務。本測量儀CPLD與CPU之間的通訊要實現的功能有:采樣頻率的確定,采樣結果的讀取,狀態(tài)信息的讀取。AT89C52輸入數據的編碼如表1所示。其中狀態(tài)信息包括:三位按鍵狀態(tài)位(0—按下,1—沒按下)、兩片AD輸入是否超出范圍狀態(tài)表示位(0—超出范圍,1—沒超出范圍)、一位采樣狀態(tài)位(0—采樣完成,1—正在采樣或沒開始采樣)。?
?
?
2 控制程序設計?
??? 為了實時顯示點火系統(tǒng)的工作狀態(tài),對于轉速和點火提前角,控制電路采用查詢的方式從CPLD取得轉速和點火提前角計數器的計數值。對于點火電壓、電流數據則采用中斷方式取得,即采樣和A/D轉換完成后,CPLD向控制電路發(fā)出中斷,控制電路再通過CPLD從SRAM中取得數據。?
2.1 主程序的設計?
??? 控制電路加電或復位后,AT89C52就開始執(zhí)行主程序,流程圖如圖4所示。CPLD在上電后,配置完成前,CONF_DONE(如圖3所示)引腳被CPLD下拉為低電平。一旦CPLD配置成功,CONF_DONE引腳被CPLD釋放,由上拉電阻接到高電平。所以,控制電路加電或復位后,只要發(fā)現CONF_DONE引腳為低電平時,就對CPLD進行配置。初始化的任務是特殊功能寄存器的初始化、CPLD內觸發(fā)器的清零和置1、默認采樣頻率的設置以及液晶的初始設置。?
?
?
2.2 中斷程序的設計?
??? 本控制電路只用了AT89C52的中斷INT0,然后在中斷程序中再判斷是何種中斷。共有三種中斷源:AD輸入超出范圍中斷、Buffer Full中斷和按鍵中斷。這三種中斷優(yōu)先級順序為:?
??? A/D輸入超出范圍中斷>Buffer Full中斷>按鍵中斷。?
??? 圖5為中斷程序流程圖。AT89C52響應中斷后,從CPLD讀取狀態(tài)信息,按中斷優(yōu)先順序依次判斷。如果是AD輸入超出范圍中斷,則說明信號調理電路參數選擇不當或此點有意外干擾疊加。這時在LCD上做出警告顯示并終止本次數據采集,已采樣數據作廢。如果是Buffer Full中斷,則需把A/D轉換的結果從SRAM中取出、計算并顯示。如果是按鍵中斷,則要判斷是哪個鍵被按下,且要得到在當前狀態(tài)下,該按鍵是何意義,然后完成相應功能。?
?
?
??? 需要說明的是,點火能量是將采樣到的電壓、電流數據在火花持續(xù)時間內積分(乘積求和運算)而得到的。?
??? 本測量儀創(chuàng)造性地運用了CPLD器件和技術,圓滿地實現了數據的高速采集,大大減少了集成芯片的數量,降低了開發(fā)成本,增強了抗干擾的能力,并在很大程度上減少了測量儀的體積,更具有便攜性。與現有的點火參數測量系統(tǒng)相比,它更適合于生產過程中的質量鑒定、汽油機的研究開發(fā)和維修服務中的故障診斷等場合,因而具有十分廣泛的應用前景。?
參考文獻?
1 Walt Kester.High Speed Design Techniques.America,Analog?Devices Inc.1996.?
2 Application Note. Altera Corporation. America, 1999.12.?
3 MAX+PLUSII Getting Started. Altera Corporation,1996?
4 沈蘭蓀. 高速數據采集系統(tǒng)的原理與應用. 北京:人民郵電出版社,1995.2?
5 宋萬杰. CPLD技術及其應用. 西安:西安電子科技大學出版社,1999.9?
6 何立民.單片及應用系統(tǒng)設計.北京:北京航空航天大學出版社,1990.1