?

基于MicroTCA的EPICS控制系統研究

2014-03-20 08:21雷碧峰王春紅劉正同呂慧慧
原子能科學技術 2014年3期
關鍵詞:驅動程序板卡中斷

雷碧峰,王春紅,劉正同,呂慧慧

(中國科學院 高能物理研究所,北京 100049)

隨著加速器系統的快速發展,對控制系統的高數據傳輸率、低延時提出了更高的要求。同時,更加智能化和數字化的控制器在加速器中的大量采用,也要求新控制系統具有更好 的 智 能 化 和 靈 活 性[1]。傳 統 的VME 和CompactPCI系統在傳輸速度方面均有一定限制,新型的MicroTCA 系統是一種全新的基于機箱式的模塊化設計,具有高可用性、高擴展性、高數據傳輸速率、支持熱插拔等優點[2]。

相比于傳統的控制技術,MicroTCA 技術具有智能化高、靈活性強、性能好、性價比高等優勢,這些優勢使其非常適合在有高數據傳輸率、低延時要求的控制系統中使用。目前,在國際加速器控制領域研究中,MicroTCA技術正逐漸成為一熱門研究課題。EPICS 平臺是一種集成的開發環境,能有效提高系統的開發和運行維護效率。目前,EPICS在各種類型的加速器中得到了廣泛使用,基于EPICS平臺的控制系統的研究已是國內外加速器控制技術中非常重要的一個方面。本文使用Heytec公司的硬件建立一套基于MicroTCA 總線的EPICS控制系統,對MicroTCA 總線及硬件接入EPICS系統進行研究。

1 系統開發

1.1 系統硬件結構

本工作開發了一套完整的單寬尺寸的MicroTCA系統,外部通過信號調理端子形成理想的現場回路,使用基于PCI-e x16 協議的背板總線來模擬信號的控制和反饋。MicroTCA系統的結構如圖1所示。該系統的基本組件包括:1塊CPU 模塊;1塊硬盤模塊;2塊Hytec-AMC載板卡;1塊N.A.T MCH 模塊;1塊夾層總線模數轉換板ADC-IP 卡;1 塊夾層總線數模轉換板DAC-IP卡。該系統的硬件實物圖如圖2所示。

圖1 MicroTCA 系統的結構Fig.1 Architecture of MicroTCA system

圖2 MicroTCA 系統的實物圖Fig.2 Prototype of developed MicroTCA system

1.2 基于EPICS的軟件架構及開發

基于EPICS的應用程序架構如圖3所示。本文以該結構為原型系統開發了軟件系統,主要包括3 部分:設備驅動及其支持程序,EPICS IOC和實時監控系統(OPI)。

圖3 基于EPICS的應用程序架構Fig.3 Architecture of software based on EPICS

1)設備驅動

設備驅動開發主要完成3 部分:PCI設備驅動開發、載板卡驅動開發和IP卡驅動開發。

PCI設備驅動將操作系統的BSP與EPICS中的載板卡驅動銜接起來,通過一個指向結構體指針在初始化時調用PCI設備注冊函數以完成驅動程序的注冊,并通過PCI層來完成載板卡設備的探測和支持熱插拔操作。同時,該載板允許IP卡接入到其硬件的I/O 寄存器和內存空間。

本文基于IPAC 程序包開發了AMC 載板卡驅動程序,其用于將ADC-IP 和DAC-IP 卡與IP卡支持程序粘合在一起,通過實現IPAC定義的標準接口為IP 卡的訪問提供一組標準的API。AMC載板卡驅動程序允許IP卡的驅動直接通過該API接入到底層設備中,從而屏蔽了載板卡和IP 卡的詳細信息。無論是模擬IP卡還是數字IP 卡,均可使用該API接入到底層設備中。

本文基于asynDriver程序包開發了IP 卡驅動程序,其為IP 卡接入到EPICS系統中提供了接口,并兼容了OSI標準模型,包括ADC和DAC 兩個IP 卡的驅動程序。IP 卡的驅動程序包括6部分:設備初始化程序、asynDriver接口函數實現、設備私有的操作程序塊、浮點電壓轉化程序塊、中斷程序塊和外部程序。

驅動程序的中斷機制設計是決定系統響應時間的重要因素。本文利用PCI設備驅動和基于IPAC 的載板卡驅動共同構成完整的、能向載板卡和IP 卡驅動分發快速中斷服務的中斷處理機制。該機制通過一特定的結構體來實現,結構體包含設備句柄、喚醒排隊句柄、中斷向量等基本元素。圖4 為PCI驅動的中斷延遲示意圖。

圖4 PCI設備驅動的中斷延遲Fig.4 Interrupt latency in PCI device driver

2)EPICS IOC及其記錄支持開發

IOC輸入輸出控制器是EPICS 控制系統最重要的部分,為一常駐內存的實時數據庫系統,用于存放來往于設備的實時數據,包括數據庫開發和記錄支持開發。

本文開發了EPICS數據庫記錄支持層,定義了兩個用于數據讀入/出的記錄類型,并為每類設備開發了14個記錄類型的通道控制操作,能滿足EPICS基本應用要求。使用EPICS標準數據庫定義文件、asyn.dbd 和drvIpac.dbd定義文件生成IOC 應用的數據庫定義文件utca.dbd。使用VDCT 工具對數據庫進行了開發,該數據庫用于支持系統運行調試和性能測試。

3)實時監控系統(OPI)開發

本文使用CSS 工具包開發了獨立的實時監控系統,如圖5所示,其主要功能包括:系統啟動與關閉;系統實時狀態監控;系統運行參數設置;ADC/DAC通道操作與監控;PV 實時與歷史數據瀏覽等。

2 系統測試

2.1 操作系統級硬中斷響應時間測試

主要測試MicroTCA 系統運行過程中,Linux層的PCI設備驅動對外部觸發的中斷響應時間。該測試需在Linux 操作系統的PCI設備驅動層展開,分別利用Memory 和Register模式下的DAC-IP 觸發一個中斷,測試Linux 操作系統對處于Trigger 模式下的ADC-IP的中斷響應時間。在PCI設備驅動的中斷進程中加入時間標記點,該標記點位于中斷觸發后和進入中斷處理前,通過計算對應的時間差得到相應的ADC-IP在Trigger模式下的中斷響應延時。Linux操作系統中斷延時如圖4所示,測試結果列于表1。從測試結果可看出,外部信號的細節并不會影響測試結果,這說明該測試并未涉及到PCI上層的應用系統。所以,該時間差能很好地反映出系統核級中斷響應的實際延時。

圖5 MicroTCA 系統控制與運行監測界面Fig.5 Control and monitor OPI of MicroTCA

表1 操作系統級的中斷響應時間測試結果Table 1 Test result of response time in Linux kernel level

2.2 EPICS應用級的響應時間測試

該測試主要用于測試該系統對外部中斷的響應時間,需在IP 卡驅動層的中斷程序中展開。本文分別在ADC-IP和DAC-IP卡異步驅動程序的中斷進程中加入時間標記點,該標記點位于中斷響應開始后和進入中斷處理前,通過計算對應的時間差,可得到EPICS應用系統的中斷響應延時,測試結果列于表2。從表2可看出,本次測試得到的響應時間遠大于操作系統級中斷響應時間。

表2 系統EPICS應用級的響應時間測試結果Table 2 Test result of response time in EPICS application level

2.3 測試結果分析

通過上述測試結果可看出,系統在Linux核內的硬中斷響應時間優于10μs,而傳統的VME 系統在VxWorks核內的硬中斷響應時間約為20μs級,因此,該系統對10μs級高速通訊的系統具有非常好的應用價值。

從測試結果可看出,本系統在EPICS應用級的中斷響應時間延遲相對較大,說明該系統的應用軟件具有較大的優化空間,可通過進一步的優化使系統的性能得到提升,從而使其具有非常好的應用價值。

3 結論

本文基于MicroTCA 硬件開發了一個Linux/EPICS控制系統原型,完成了底層驅動開 發、EPICS 支 持 層 驅 動 開 發、EPICS IOC 和數據庫及其支持層驅動開發、基于CSS的客戶端開發。通過對Linux 操作系統的硬中斷和EPICS應用級的中斷響應時間的測試,可得出系統在Linux 內核中板卡級硬中斷響應優于10μs,即對10μs級高速通訊的系統有應用價值。另外,本工作使用的Linux為非實時操作系統,也是影響響應時間的一個因素。若采用RTLinux,MicroTCA 系統在內核中的響應時間將會進一步提高。所以,MicroTCA 系統在低延時及靈活性和智能化要求較高的系統中具有較好的應用價值。

[1] LARSEN R S.Advances in developing next-generation electronics standards for physics[C]∥Real Time Conference.Beijing:IEEE,2009.

[2] VERSTOV?EK I,AMAND F,PLE?KO M,et al.THXA01:Recent trends in accelerator control systems[C]∥Proceedings of IPAC.San Sebastián,Spain:IPAC,2011.

猜你喜歡
驅動程序板卡中斷
車載控制器CVRE板卡顯紅故障分析及處理
阻止Windows Update更新驅動程序
基于FPGA的中斷控制器設計*
Linux中斷線程化分析及中斷延時測試
計算機硬件設備驅動程序分析
跟蹤導練(二)(5)
千里移防,衛勤保障不中斷
基于組態王軟件和泓格PIO-D64 板卡的流水燈控制
一種基于光纖數據傳輸的多板卡軟件程序燒寫技術
一種通用模擬量及開關量信號采集板卡的設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合