基于CPLD的汽油機(jī)點火參數(shù)測量儀的研制
1.2 控制電路的設(shè)計
控制電路的核心為AT89C52,如圖3所示??刂齐娐芬瓿傻娜蝿?wù)是:(1)上電后,完成CPLD的配置加載。FLEX10K系列共有4種加載方式,這里采用主動串行方式,由AT89C52的引腳P1.5控制CPLD和已寫入配置數(shù)據(jù)的串行EPROM(27E512)完成配置。(2)完成采樣頻率的控制,由AT89C52控制時間合成芯片MC12429來實現(xiàn),其輸出頻率為25~400MHz。每次采樣前,用戶可手動輸入采樣頻率,由AT89C52的P0.0~P0.7腳輸出M[8..1]的值,P1.0腳輸出由低到高的信號,將此值鎖存。(3)控制A/D轉(zhuǎn)換的使能。當(dāng)頻率設(shè)定好后,用戶按下采樣鍵,AT89C52的P1.1輸出采樣使能信號SMEN,當(dāng)采樣開始信號SMST到來后,采樣就開始進(jìn)行。(4)與CPLD的通訊。圖3中,AT89C52的P0.0~P0.7與CPLD的8個I/O引腳相連,實現(xiàn)AT89C52與CPLD之間的數(shù)據(jù)通訊。它們之間的控制信號有讀取數(shù)據(jù)時鐘信號RDCK(P1.2)、輸入/輸出控制信號I/O(P1.3)、CPLD選通信號PLDCE(P1.4)和CPLD發(fā)出的中斷信號INT(INT0)。
1.3 高速采集器與低速控制器的接口
CPLD要在AT89C52的控制下完成相應(yīng)的功能,必須為兩者之間建立一定的信號聯(lián)系,使CPLD能夠辨別AT89C52發(fā)出的命令并去執(zhí)行相應(yīng)的任務(wù)。本測量儀CPLD與CPU之間的通訊要實現(xiàn)的功能有:采樣頻率的確定,采樣結(jié)果的讀取,狀態(tài)信息的讀取。AT89C52輸入數(shù)據(jù)的編碼如表1所示。其中狀態(tài)信息包括:三位按鍵狀態(tài)位(0—按下,1—沒按下)、兩片AD輸入是否超出范圍狀態(tài)表示位(0—超出范圍,1—沒超出范圍)、一位采樣狀態(tài)位(0—采樣完成,1—正在采樣或沒開始采樣)。
表1 CPLD與AT89C52之間的通訊編碼
D7 D6 D5 D4 D3 D2 D1 D0 含 義
X X X X X X 0 0 一分頻
X X X X X X 0 1 二分頻
X X X X X X 1 0 四分頻
X X X X X X 1 1 八分頻
0 0 0 0 X X X X 讀狀態(tài)信息
0 0 0 1 X X X X 讀點火提高前角低8位
0 0 1 0 X X X X 讀點火提前角第二個低8位
0 0 1 1 X X X X 讀點火提前角高7位
0 1 0 0 X X X X 讀轉(zhuǎn)速低8位
0 1 0 1 X X X X 讀轉(zhuǎn)速第二個低8位
0 1 1 0 X X X X 讀轉(zhuǎn)速第三個低8位
0 1 1 1 X X X X 讀轉(zhuǎn)速高2位
1 0 0 0 X X X X 讀電流低8位
1 0 0 1 X X X X 讀電流高2位
2 控制程序設(shè)計
為了實時顯示點火系統(tǒng)的工作狀態(tài),對于轉(zhuǎn)速和點火提前角,控制電路采用查詢的方式從CPLD取得轉(zhuǎn)速和點火提前計數(shù)器的計數(shù)值。對于點火電壓、電流數(shù)據(jù)則采用中斷方式取得,即采樣和A/D轉(zhuǎn)換完成后,CPLD向控制電路發(fā)出中斷,控制電路再通過CPLD從SRAM中取得數(shù)據(jù)。
2.1 主程序的設(shè)計
控制電路加電或復(fù)位后,AT89C52就開始執(zhí)行主程序,流程圖如圖4所示。CPLD在上電后,配置完成前,CONF_DONE(如圖3所示)引腳被CPLD下拉為低電平。一旦CPLD配置成功,CONF_DONE引腳被CPLD釋放,由上拉電阻接到高電平。所以,控制電路加電或復(fù)位后,只要發(fā)現(xiàn)CONF_DONE引腳為低電平時,就對CPLD進(jìn)行配置。初始化的任務(wù)是特殊功能寄存器的初始化、CPLD內(nèi)觸發(fā)器的清零和置1、默認(rèn)采樣頻率的設(shè)置以及液晶的初始設(shè)置。
評論