[發明專利]一種VxWorks操作系統下CPCI總線DAC功能單元驅動程序設計方法無效
| 申請號: | 201410004984.0 | 申請日: | 2014-01-07 |
| 公開(公告)號: | CN103677855A | 公開(公告)日: | 2014-03-26 |
| 發明(設計)人: | 羅清華;劉連勝;奚成義;蒙春城;彭宇;彭喜元 | 申請(專利權)人: | 哈爾濱工業大學 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 哈爾濱市松花江專利商標事務所 23109 | 代理人: | 楊立超 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 vxworks 操作系統 cpci 總線 dac 功能 單元 驅動 程序設計 方法 | ||
技術領域
本發明涉及VxWorks操作系統下CPCI總線DAC功能單元驅動程序設計方法,屬于數模轉換模塊驅動程序開發領域。
背景技術
VxWorks操作系統下CPCI總線數模轉換(DAC,或D/A)功能模塊作為自動測試系統中重要的測試模塊,已廣泛的應用于各個領域。傳統的VxWorks操作系統下基于CPCI總線的數模轉換模塊驅動程序開發,是根據需要,實現相應的功能函數接口,并封裝成標準的I/O接口(七個標準的I/O接口,例如open(),close(),read()等),注冊到系統驅動列表中,掛接在I/O子系統下。在整個過程中,驅動開發人員需要抽象出設備的數據結構,完成設備的創建及設備驅動程序的安裝,這個過程比較復雜,給驅動開發人員帶來了很多不便。
發明內容
針對背景技術中的問題,本發明提出了一種VxWorks操作系統下CPCI總線DAC功能單元驅動程序設計方法,本發明基于對DAC功能模塊的常見操作提出一種新的DAC驅動接口封裝形式,以實現對DAC功能模塊有效控制的同時,降低驅動開發人員的開發難度。
本發明為解決上述技術問題采取的技術方案是:
一種VxWorks操作系統下CPCI總線DAC功能單元驅動程序設計方法,所述方法是按照以下步驟實現的:
步驟一、初始化設備:獲取基于CPCI總線的掃描DAC功能單元(DAC功能模塊)的設備信息、設備內存映射及中斷鏈接;
步驟二、功能函數的實現及封裝(接口):
D/A模塊有32路數字量模擬量轉換,轉換的模擬量經過隔離電路輸出;控制計算機將要輸出的某一通道的電壓值通過PCI總線傳輸至控制器件FPGA,在其內部實現控制寄存器,控制DAC器件,將相應的數字量轉換為模擬量輸出;功能函數對硬件功能電路的主要控制過程為:打開指定D/A板卡(DAC功能單元)、選擇D/A轉換通道、讀取D/A校正系數、修正要轉換的值、啟動轉換、關閉指定D/A板卡(如圖3);
根據D/A板卡(DAC功能單元)驅動軟件要實現的操作,D/A板卡各個驅動接口函數的詳細設計過程如下:
步驟二(1)、打開DAC功能單元(D/A板):加載D/A驅動程序,打開指定板號的D/A板,對D/A板進行后續操作;
函數原型為STATUS?DAOpen(int?num);
入口參數num是板號,范圍是1~N,N為控制計算機的D/A板數量;返回值打開成功返OK,失敗返回非零故障碼,如果N不在設定范圍之內,上述函數能識別錯誤的板號輸入,并返回對應的故障碼;
DAOpen函數的實現過程如下:
首先應用程序傳遞要打開的DAC模塊板卡號,在函數體中判斷板號是否正確,如果正確則將(圖2所示)初始化函數執行后獲得的DAC功能模塊內存映射基址值賦給一個全局變量,最后函數返回OK,如果板號參數不是用戶允許的,則返回板號錯誤;
步驟二(2)、關閉DAC功能單元(D/A板)
關閉指定板號的D/A板,卸載D/A驅動程序,完成后釋放D/A板的硬件資源,不能再對D/A板進行除打開以外的其他操作;
函數原型為STATUS?DAClose(int?num);
入口參數num為板號,范圍是1~N,N為控制計算機的D/A板數量;
返回值關閉成功返回OK,失敗返回非零負值故障碼;
所述函數能識別錯誤的板號輸入,并返回相應的故障碼;
DAClose實現過程如下:
首先應用程序傳遞要關閉的指定DAC模塊板號,在函數體中,判斷傳遞的板號參數是否正確,如果正確,則將保存有內存基址的全局變量清零,函數返回OK,如果板卡號錯誤,則返回板號錯誤;
步驟二(3)、DAC功能單元轉換操作
指定板號的D/A板,指定一路通道進行電壓值轉換;
函數原型為STATUS?DARevertData(int?num,int?chan,double?data);
入口參數num為板號,范圍是1~N,N為控制計算機的D/A板數量;
chan為通道號,賦值0~M-1,M為D/A板的輸出通道數量;
data為待轉換的電壓值,
返回值讀取成功返回OK,失敗返回非零負值故障碼;
所述函數能識別錯誤的板號輸入,并返回相應的故障碼;能識別錯誤的通道號輸入,并返回相應的故障碼;
DARevertData函數的實現過程如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學,未經哈爾濱工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410004984.0/2.html,轉載請聲明來源鉆瓜專利網。





