引言
飛行模擬器的運動平臺系統(tǒng)一般由機械系統(tǒng)、液壓系統(tǒng)、控制系統(tǒng)組成。數(shù)/模轉換電路是控制系統(tǒng)的的核心,它要把經運動平臺算法解算出的各液壓缸伸縮量的數(shù)字信號轉換成模擬量信號,然后經濾波放大、電液伺服閥后,由電液伺服閥驅動各液壓缸運動,進而驅動運動平臺仿真飛機飛行時的各種姿態(tài)及地面滑跑、著陸及放起落架時的振動等。
數(shù)/模轉換電路一般使用專門的D/A轉換器,D/A轉換器的種類比較多,如有權電阻網絡型、倒T型電阻網絡型、權電流型、開關數(shù)型、權電容網絡型、串行輸入型等,本文利用Intel 8254設計了一種簡單實用的數(shù)模轉換(D/A)電路,并應用于飛行模擬器三自由度運動平臺控制系統(tǒng)中。
1 運動平臺控制系統(tǒng)組成
三自由度運動平臺控制系統(tǒng)硬件由平臺控制計算機、接口系統(tǒng)、濾波功放板、看門狗電路和液壓伺服系統(tǒng)組成,接口系統(tǒng)包括D/A,A/D轉換電路(見圖1)。通過主計算機接收到飛行方程解算出的與控制平臺有關的各種信息,由平臺控制計算機進行處理,經數(shù)/模轉換(D/A)、濾波、功放成為伺服閥控制指令,驅動液壓缸平滑、穩(wěn)定的伸縮,實時產生和被模擬的飛機相似的過載、姿態(tài)、振動等運動信息。液壓缸的伸長量經位移傳感器送給比較放大器,形成硬件閉環(huán)控制,位移信號經模/數(shù)轉換(A/D),送給平臺控制計算機,用來對平臺極限位置的限制。同時,由看門狗電路實時監(jiān)視控制電路的工作情況,確保運動平臺的安全??刂葡到y(tǒng)硬件電路的核心為自行研制的D/A轉換電路及看門狗電路。
?
2 D/A轉換電路
三自由度運動平臺數(shù)/模轉換電路主要由74LS138譯碼器、可編程定時器/計數(shù)器芯片8254、8位數(shù)據緩存器74LS245等組成,核心元件是可編程定時器/計數(shù)器芯片8254。
2.1 8254簡介
可編程定時器/計數(shù)器是為方便計算機系統(tǒng)的設計和應用而研制的,定時值及其范圍可以很容易地由軟件來控制和改變,能夠滿足各種不同的定時和計數(shù)要求,因此得到廣泛應用。8254是Intel公司生產的通用定時/計數(shù)器,是在8253的基礎上稍加改進而推出的改進型產品,兩者硬件組成和引腳完全相同。
8254是24腳雙列直插式芯片,用+5 V電源供電。芯片內有3個相互獨立的16位定時/計數(shù)器。主要管腳如圖2所示。
?
數(shù)據線D0~D7與CPU的數(shù)據總線相連接,是雙向三態(tài)的數(shù)據線,用于與CPU交換信息。讀信號RD是一個低電平有效的由CPU發(fā)來的控制信號,RD信號通知8254,CPU要讀8254中的某個通道的計數(shù)值或狀態(tài)字,也就是說由RD來讀取8254中的某個計數(shù)器的相關內容;WR是一個低電平有效的由CPU發(fā)來的控制信號,CPU通過此信號向8254發(fā)送控制字和計數(shù)值;片選信號CS是一個低電平有效的信號,CPU用此信號來選擇8254。在芯片不被選中的情況下,讀信號和寫信號沒有意義,也不起作用;地址線A1,A0一般接到系統(tǒng)地址總線的A1,A0上,它們的功能是編碼選擇3個通道和1個控制寄存器,其端口編碼略,CS,RD,WR,A1和A0組合起來才能對寄存器進行選擇和操作。
CLK0~CLK2是3個通道的外部時鐘脈沖收入線,是8254作計數(shù)器或定時器的計數(shù)脈沖;GATE0~GATE2是3個通道的門控信號輸入線,高電平有效,用于啟動或禁止通道工作的外部信號;OUT0~OUT2是3個通道的計數(shù)為0/定時時間到脈沖輸出線,輸出波形取決于8254通道的工作方式。
8254的每一個計數(shù)器都有6種工作方式。不同的工作方式下,計數(shù)過程的啟動方式不同,OUT端的輸出波形不同,自動重復功能、GATE的控制作用以及更新計數(shù)初值對計數(shù)過程的影響也不完全相同。同一芯片中的3個計數(shù)器,可以分別編程選擇不同的工作方式。三自由度運動平臺數(shù)/模轉換電路中的計數(shù)器使用了方式1和方式2。
2.1.1 工作方式1
8254工作方式1——可編程單次脈沖,是一種硬件啟動計數(shù)工作方式,不能自動重復但通過GATE的正跳變可使計數(shù)過程重新開始。在寫入方式1的控制字后,OUT成為高電平,在寫入計數(shù)初值后,要等GATE信號出現(xiàn)正跳變時才能開始計數(shù)。在下一個CLK脈沖到來后,OUT變低,將計數(shù)初值送入計數(shù)器并開始減1計數(shù),直到計數(shù)器減到0后OUT變?yōu)楦唠娖健?/p>
計數(shù)過程一旦啟動,GATE即使變成低電平也不會使計數(shù)中止。計數(shù)完成后若GATE再來一個正跳變,計數(shù)過程又重復1次。也就是說對應GATE的每一個正跳變,計數(shù)器都輸出1個寬度為N*TCLK(其中N為計數(shù)初值,TCLK為CLK信號的周期)的負脈沖,因此稱這種方式為可編程單次脈沖方式,計數(shù)初值N=3的工作波形圖如圖3所示。
?
在計數(shù)過程啟動之后計數(shù)完成之前,若GAFE又發(fā)生正跳變,則計數(shù)器又從初值開始重新計數(shù),OUT端仍為低電平,兩次的計數(shù)過程合在一起使OUT輸出的負脈沖加寬了。
在方式1計數(shù)過程中若寫入新的計數(shù)初值,也只是寫入到計數(shù)初值寄存器中,并不馬上影響當前計數(shù)過程,同樣要等到下一個GATE正跳變啟動信號,計數(shù)器才接收新初值重新計數(shù)。
2.1.2 工作方式2
8254工作方式2——分頻工作方式,既可以用軟件啟動(GATE=1時寫入計數(shù)初值后啟動),也可以用硬件啟動(GATE=0時寫入計數(shù)初值后并不立即開始計數(shù),等GATE由低變高時啟動計數(shù))。方式2一旦啟動,計數(shù)器就可以自動重復地工作。
方式2工作波形圖如圖4所示,寫入控制字后,OUT信號變?yōu)楦唠娖?,若計?shù)初值N=3,啟動計數(shù)后,以CLK信號的頻率進行減1計數(shù)。當減到1時,OUT輸出寬度為一個CLK時鐘周期的負脈沖,OUT恢復成高電平后,計數(shù)器又重新開始計數(shù)??梢钥闯觯琌UT輸出信號的頻率為CLK信號頻率的1/N,即N次分頻,故稱這種工作方式為分頻工作方式。
?
方式2需要GATE信號保持高電平。當GATE變?yōu)榈碗娖綍r,停止計數(shù)。GATE由低變高后,計數(shù)初值又重新裝入減1計數(shù)器中開始計數(shù)。
方式2在計數(shù)過程中若寫入新的計數(shù)初值,并不影響當前的計數(shù)過程。在本次計數(shù)結束后,才以新的計數(shù)初值開始新的分頻工作方式。
2.2 D/A轉換原理
采用1片74LS138譯碼器、2片可編程定時器/計數(shù)器芯片8254、1片8位數(shù)據緩存器74LS245組成D/A變換電路。
74LS138譯碼器略。其中1片8254(U2的計數(shù)器2)的計數(shù)器工作在方式2,對時鐘信號進行分頻,輸出信號OUT為一寬度為一個時鐘周期的負脈沖,作為另外5個計數(shù)器的門控啟動信號,啟動8254開始進行D/A變換。其余5個計數(shù)器工作在方式1,在門控信號GATE上跳后的下一時鐘的下降沿處開始計數(shù),輸出OUT將變低,直到計數(shù)器的值減少到零時輸出將變高。給定的計數(shù)值越小,輸出OUT“高”保持越長,平均電壓越大;給定的計數(shù)值越大,輸出OUT“高”保持越短,平均電壓越小,如輸出OUT的“高”和“低”相同,則輸出平均電壓為2.5 V,如輸出OUT全為“高”,則輸出平均電壓為5 V,如輸出OUT全為“低”,則輸出平均電壓為0 V,這樣利用調制脈寬的方法就實現(xiàn)了D/A變換。
8254輸出的5路電壓信號經8位數(shù)據緩存器74LS245輸出。其中OUT0,OUT1,OUT2作為三路控制信號送給3個電液伺服閥,由電液伺服閥驅動各液壓缸運動,進而驅動運動平臺仿真飛機飛行時的升降、傾斜、俯仰等位姿。OUT3和OUT4這2路電壓信號作為備份,維修時使用。
3 軟件實現(xiàn)
8254的內部功能通過系統(tǒng)軟件編程來確定,系統(tǒng)通過接口傳送所要求的工作方式和數(shù)值來初始化計數(shù)器,每個計數(shù)器都是獨立地通過一個命令數(shù)據來編程,D/A轉換程序流程圖如圖5所示。
?
程序的設計思想是首先為8254進行端口地址分配,以便CPU對硬件進行訪問并對8254賦初值。開始計數(shù)時每隔一段時間(ms)對計數(shù)器進行1次讀數(shù),并將當前所得計數(shù)值與上一計數(shù)時間所得計數(shù)值相減,將得到的計數(shù)差值進行累加,最終所得值即為8254讀入的脈沖方波個數(shù)。將此脈沖方波輸出,就實現(xiàn)了D/A轉換,得到系統(tǒng)所需要的模擬電壓值。
8254控制字由D7~D0組成,D7D6選擇計數(shù)器0,1,2或鎖存計數(shù)器;D5D4選擇操作類型,如先讀/寫低8位,后讀/寫高8位等;D3D4D1選擇計數(shù)工作方式,有6種工作方式,如方式1為001、方式2為010等;D0位選擇計數(shù)器的數(shù)制,該系統(tǒng)采用二進制,D0=0,而計數(shù)初值取256,即十六進制的FF。
4 結語
基于Intel 8254的運動平臺數(shù)/模轉換電路簡單實用,實時性好,已經應用于我單位研制的某型飛機飛行模擬器的三自由度運動平臺控制系統(tǒng)、儀表控制系統(tǒng)、操縱負荷仿真系統(tǒng)等的數(shù)/模轉換電路中。該電路還可推廣應用于工業(yè)控制系統(tǒng)中的數(shù)模轉換電路中。
評論
查看更多