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