基于RTX的舵機控制系統(tǒng)研制
3.1 上層軟件
在啟動舵機控制程序之前,先要啟動RTX實時環(huán)境,因為底層驅(qū)動程序和上層舵機控制程序是同時運行的。軟件的具體操作流程如圖3所示。本文引用地址:http://www.ex-cimer.com/article/161110.htm
3.2 底層軟件
根據(jù)舵機控制軟件對數(shù)據(jù)采集的實時性要求,首先要對各采集板卡做在RTX下的驅(qū)動開發(fā),這是舵機控制系統(tǒng)解決實時性問題的重點和難點。編寫基于RTX的驅(qū)動程序,可以通過調(diào)用實時應(yīng)用程序編程接口(RTAPI,Real-Time Applieation Programming Interface)函數(shù)來訪問實時子系統(tǒng)(RTSS,Real-Time Sub-System),并維持其系統(tǒng)的實時性。這樣處理的優(yōu)點是硬件可以通過RTX函數(shù)直接訪問,驅(qū)動開發(fā)也更加簡單。
所謂驅(qū)動程序,就是直接控制設(shè)備進行工作的底層程序,實現(xiàn)了硬件和高層應(yīng)用程序的交互。如果要使用PXI總線設(shè)備上的某個功能,就需要CPU能通過某段范圍的地址訪問或內(nèi)存訪問的方式與該功能交互。RTX驅(qū)動程序可以將獲得的基地址轉(zhuǎn)換成系統(tǒng)能夠識別的虛擬地址,然后通過讀寫函數(shù)對不同板卡的底層寄存器進行操作,從而實現(xiàn)控制板卡正常工作。PCI定位寄存器配置由BIOS自動完成初始化,如分配總線號、中斷向量、地址空間等,驅(qū)動程序只需要對數(shù)據(jù)偏移寄存器,即設(shè)備內(nèi)部寄存器進行配置。訪問內(nèi)部寄存器,首先要獲得PCI設(shè)備在BIOS上的映射基地址,然后根據(jù)設(shè)備的寄存器偏移量和格式對寄存器進行訪問。
評論