国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RTX的角度編碼器信號實時采集設計

2021-10-14 05:54:06任海燕廖建平肖述晗吳帥尹曉麗
計測技術(shù) 2021年4期
關(guān)鍵詞:板卡驅(qū)動程序單軸

任海燕,廖建平,肖述晗,吳帥,尹曉麗

(航空工業(yè)北京長城計量測試技術(shù)研究所,北京 100095)

0 引言

國內(nèi)慣性測試設備的角度編碼器信號采集通常以單片機或DSP+FPGA作為系統(tǒng)的控制核心[1-2],屬于采用硬件電路實現(xiàn),但使用硬件電路時接口電路復雜,開放性差,不能實現(xiàn)系統(tǒng)的可互換性。

為實現(xiàn)慣性測試設備高精度伺服控制,不僅需要良好的用戶界面便于用戶使用,更要具有良好的實時性能,以保證數(shù)據(jù)的實時采集和實時發(fā)送。Windows是比較常見的操作系統(tǒng),人機交互界面良好,但當打開程序平臺太多時,會出現(xiàn)定時不準現(xiàn)象,難以滿足對實時性要求較高的系統(tǒng)需求[3]。RTX操作系統(tǒng)是美國Ardence公司開發(fā)的實時子系統(tǒng),用于Windows平臺,不僅具有較強的實時性,而且具有較好的穩(wěn)定性及可擴展性[4-5]。本文基于RTX+Windows系統(tǒng)平臺進行角度編碼器信號的實時采集研究。

RTX+Windows系統(tǒng)平臺是在Windows系統(tǒng)基礎(chǔ)上拓展實時子系統(tǒng)RTSS[6],該平臺不僅繼承了原有Windows操作系統(tǒng)的優(yōu)點,而且提高了系統(tǒng)實時性,使線程間切換時間極大地縮短。RTX+Windows系統(tǒng)平臺也是目前Windows平臺上唯一基于軟件的硬實時解決方案[7-8]。

1 角度編碼器信號實時采集硬件方案

本文以單軸轉(zhuǎn)臺為應用對象。單軸轉(zhuǎn)臺主要由三部分組成:臺體、采集及控制系統(tǒng)和計算機系統(tǒng)。臺體為立式結(jié)構(gòu);采集及控制系統(tǒng)用于實時采集轉(zhuǎn)臺角位置并控制臺體按照指令進行回轉(zhuǎn)運動;計算機系統(tǒng)主要為工控機,用于采集數(shù)據(jù)及發(fā)送指令[9]。

該單軸轉(zhuǎn)臺控制系統(tǒng)要求根據(jù)給定的指令,通過計算機系統(tǒng)生成控制律,通過DA卡作用于驅(qū)動器,從而控制電機,其中采集的角度編碼器信號用于轉(zhuǎn)臺角位置反饋,實現(xiàn)對轉(zhuǎn)臺角位置的閉環(huán)控制。

1.1 關(guān)鍵元部件選型

由于單軸轉(zhuǎn)臺控制系統(tǒng)為閉環(huán)系統(tǒng),需要角度編碼器信號作為反饋元件,修正位置指令與反饋位置的誤差。因此角度編碼器的精度直接影響了系統(tǒng)的位置精度。

相較于相對編碼器,絕對編碼器抗干擾能力強,用于控制系統(tǒng)更可靠。其中德國HEIDENHAIN公司絕對式光柵編碼器性能較強、可靠性高,并且重復性好。該編碼器可輸出ENDAT,1Vpp等信號,其中ENDAT協(xié)議輸出絕對位置編碼數(shù)據(jù)。

HEIDENHAIN計數(shù)卡IK220是一個基于PCI的PC計算機擴展卡,用于記錄絕對式角度編碼器測量值[10],與HEIDENHAIN絕對編碼器配套使用,對模擬信號的細分倍數(shù)高,準確度高且實時性強,對實現(xiàn)基于軟件的硬實時采集具有重要作用。

1.2 實時采集硬件方案

該單軸轉(zhuǎn)臺控制系統(tǒng)通過IK220計數(shù)卡實時采集轉(zhuǎn)臺角度編碼器信號,并通過RTX系統(tǒng)實時驅(qū)動IK220計數(shù)卡,實時讀取角位置數(shù)據(jù)。

系統(tǒng)硬件方案如圖1所示,系統(tǒng)根據(jù)實時讀取的角位置數(shù)據(jù)及位置指令,設計控制算法得到實時控制律,從而對該單軸轉(zhuǎn)臺進行高精度控制??刂撇呗圆捎梦恢铆h(huán)和電流環(huán)雙閉環(huán),其中位置環(huán)采用經(jīng)典數(shù)字PID算法。角度編碼器信號的采集及控制均通過下位機實現(xiàn)。

圖1 單軸轉(zhuǎn)臺系統(tǒng)硬件方案圖

2 基于RTX的IK220接口驅(qū)動程序設計

由于Windows系統(tǒng)是非實時系統(tǒng)[11],故IK220針對Windows系統(tǒng)的驅(qū)動程序,不能滿足單軸轉(zhuǎn)臺控制實時性的需求。故研究基于RTX的IK220接口驅(qū)動程序設計,實時采集角度編碼器測量位置值,進而實現(xiàn)單軸轉(zhuǎn)臺位置和速率的高精度控制。

2.1 RTX驅(qū)動模型

RTX實時線程的調(diào)用機制是獨立的,且RTSS線程優(yōu)先級高于Windows線程,可直接訪問I/O設備。同時,RTSS支持通過共享內(nèi)存、事件和信號量等實現(xiàn)與非實時進程的通訊[12]。

本系統(tǒng)中驅(qū)動程序用于完成硬件和控制軟件的數(shù)據(jù)和信息的交互。與常用Windows系統(tǒng)下的驅(qū)動程序[13-14]相比,RTX驅(qū)動程序是開放的,可以通過RTX函數(shù)直接訪問外部硬件,操作方便快捷。在RTX下,PCI設備和RTX基本內(nèi)核位于驅(qū)動底層,RTX內(nèi)核可以通過I/O和中斷方式與PCI設備進行數(shù)據(jù)交換[1],提高設備的實時性能,RTX定時精度可達0.1μs。RTX應用程序由Visual Studio建立,使用RTX Driver Wizard生成驅(qū)動程序框架,生成的文件類型是“rtss”。

驅(qū)動程序設計主要包括設備初始化、物理地址的映射、基本的控制操作以及檢測處理設備錯誤等?;赗TX驅(qū)動程序框圖如圖2所示。

圖2 基于RTX驅(qū)動程序框圖

2.2 IK220接口驅(qū)動程序設計

IK220卡是PCI總線形式計數(shù)卡,內(nèi)部寄存器采用內(nèi)部映射方式,板卡的制造商號和設備號分別為0X10B5和0X9050。目前HEIDENHAI公司只提供Windows下和LINUX下的軟件開發(fā)包,無法用于實時控制領(lǐng)域中的數(shù)據(jù)采集。本文通過研究IK220卡的采集原理,實現(xiàn)基于RTX的IK220接口驅(qū)動程序。

與其他板卡不同,IK220板卡上電后,需要下傳DSP固件代碼,開始啟動板卡操作。IK220具有16個16位寄存器,其中控制寄存器用于設置板卡工作模式,命令寄存器用于控制板卡、讀寫數(shù)據(jù)等操作,IK220通過上述寄存器與板上DSP處理器進行通訊,DSP根據(jù)指令再進行相應控制。基于RTX的IK220接口驅(qū)動程序流程圖如圖3所示。

圖3 IK220接口驅(qū)動程序流程圖

程序設計主要包含以下內(nèi)容:

1)尋找匹配設備。首先尋找所有的PCI設備,通過設備號和制造商獲取PCI板卡的基地址,為對設備操作做準備。其中RtGetBusDataByOffset()函數(shù)可獲取PCI板卡配置空間[15]。

RtGetBusDataByOffset(PCIConfiguration,

uBusNum,

SlotNumber.u.AsULONG.//logical slot number

PciData,

uOffset,

PCI_COMMON_HDR_LENGTH);

2)將設備的物理地址映射為系統(tǒng)地址。驅(qū)動程序只有將設備物理地址轉(zhuǎn)換成系統(tǒng)映射地址,才可以實現(xiàn)對設備的操作。其中RtTranslateBusAddress()函數(shù)用來將PCI板卡寄存器基地址轉(zhuǎn)換為系統(tǒng)映射地址,RtMapMemory()函數(shù)的作用是將PCI板卡內(nèi)存映射地址賦予指針變量,對板卡操作可通過該指針變量實現(xiàn)[10]。

RtTranslateBusAddress(PCIBus,BusNum,PortAdd,

&AddSpace,&uPortAdd);

BaseAddress=RtMapMemory(uPortAdd,4*1024,0);

3)設備基本操作,包括IK220初始化、IK220啟動及停止、讀寫寄存器、讀寫數(shù)據(jù)等。由于地址映射到I/O空間,可對設備直接進行操作。

*pData=*(PortBase[Axis]+Adr);

//Read word value from register to pData

*(PortBase[Axis]+Adr)=Data;

//Writes Data to Axis at Adr

3 單軸轉(zhuǎn)臺角位置實時采集結(jié)果

為了驗證基于RTX的IK220接口驅(qū)動程序的有效性,在單軸轉(zhuǎn)臺控制系統(tǒng)中進行角位置的多位置采集測試。手動轉(zhuǎn)動轉(zhuǎn)臺角度,若采集角位置結(jié)果與轉(zhuǎn)動角位置結(jié)果一致,則證明驅(qū)動程序各部分函數(shù)都能實現(xiàn)。

為了驗證角位置實時采集效果,需對轉(zhuǎn)臺進行角位置精度檢測以及轉(zhuǎn)臺動態(tài)性能檢測,在RTX實時系統(tǒng)中,設置定時精度為1 ms。角位置精度檢測方法參照GJB 1801-93《慣性技術(shù)測試設備主要性能試驗方法》中方法104《角位置測量試驗》,角位置精度檢測結(jié)果為±2″。轉(zhuǎn)臺動態(tài)性能檢測中,位置指令設置為幅值0.2°,頻率為1 Hz的正弦信號,位置指令和實際角位置采集結(jié)果如圖4所示,從圖4中可看出,實時角位置與指令結(jié)果一致,幅值誤差小于0.5%。

圖4 角位置指令與采集實時位置

以上檢測結(jié)果表明,本文設計的基于RTX的角度編碼器信號實時采集系統(tǒng)滿足對轉(zhuǎn)臺的實時控制要求,并且性能結(jié)果滿足實際工程需求。

4 結(jié)語

以慣性測試設備為應用對象,設計了基于RTX的IK220接口驅(qū)動程序,并成功應用于單軸轉(zhuǎn)臺控制系統(tǒng),實現(xiàn)單軸轉(zhuǎn)臺基于RTX的角度編碼器信號實時采集,為實現(xiàn)單軸轉(zhuǎn)臺的位置和速率高精度控制奠定基礎(chǔ)。本文的設計方法可進一步應用于慣性測試設備控制系統(tǒng)的其他PCI接口板卡的實時驅(qū)動,從而提高了對慣性測試設備控制系統(tǒng)的控制性能。

猜你喜歡
板卡驅(qū)動程序單軸
單軸壓縮條件下巖石峰后第Ⅱ種類型應力——應變曲線的新解釋
CFRP-鋼復合板的單軸拉伸力學性能
工程與建設(2019年1期)2019-09-03 01:12:38
基于PCI9054的多總線通信板卡的研制
基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
單軸應變Si NMOS電流模型研究
電子測試(2017年12期)2017-12-18 06:35:42
斜單軸跟蹤式光伏組件的安裝傾角優(yōu)化設計
一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
一種通用模擬量及開關(guān)量信號采集板卡的設計
驅(qū)動程序更新與推薦
驅(qū)動程序更新與推薦
陕西省| 湖州市| 紫金县| 蒲城县| 仙桃市| 绥化市| 晋宁县| 济宁市| 彩票| 定远县| 南华县| 乌拉特中旗| 布尔津县| 汤阴县| 扎囊县| 蒲城县| 普洱| 鄂伦春自治旗| 青岛市| 金湖县| 酉阳| 文山县| 小金县| 咸丰县| 安庆市| 土默特右旗| 瓦房店市| 道真| 莱西市| 阿坝| 海安县| 华蓥市| 尚义县| 汝阳县| 山阴县| 武隆县| 玉山县| 霍邱县| 虎林市| 东丰县| 屯留县|