www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]摘要:基于VxWorks操作系統(tǒng)設計了數(shù)據(jù)采集從板的驅動程序,程序框架上驅動程序將對從板的操作抽象為對字符型設備的操作,驅動程序在內部實現(xiàn)了數(shù)據(jù)IO操作的阻塞機制、查詢機制及信號通知機制,采用這種方式設計的驅動

摘要:基于VxWorks操作系統(tǒng)設計了數(shù)據(jù)采集從板的驅動程序,程序框架上驅動程序將對從板的操作抽象為對字符型設備的操作,驅動程序在內部實現(xiàn)了數(shù)據(jù)IO操作的阻塞機制、查詢機制及信號通知機制,采用這種方式設計的驅動程序向用戶提供了統(tǒng)一的接口,方便用戶使用,同時將硬件操作與應用程序分開便于驅動程序進行擴展;驅動設計工作是精密環(huán)境控制系統(tǒng)的一部分,驅動程序的設計方法可以廣泛地應用于基于VME總線的從設備驅動設計。
關鍵詞:VxWorks操作系統(tǒng);VME總線;設備驅動程序;數(shù)據(jù)采集

    基于VME總線搭建了精密環(huán)境控制系統(tǒng),整個系統(tǒng)中基于VxWorks的VME總線驅動程序連接了軟件操作與VME從板的硬件通信,VxWorks操作系統(tǒng)下驅動程序的開發(fā)是應用VxWorks操作系統(tǒng)的關鍵因素。本文應用通用公司的VG5-7457PowerPC嵌入式VME單板機作為主板及通用公司的VME-3122A作為數(shù)據(jù)采集從板組成數(shù)據(jù)采集系統(tǒng)。針對數(shù)據(jù)采集從板的通用特征詳細的設計了基于VG5硬件和VxWorks操作系統(tǒng)的VME數(shù)據(jù)采集從板的驅動程序,在驅動程序的設計過程中,特別地考慮了驅動程序數(shù)據(jù)傳輸機制的設計,采用良好傳輸機制設計的驅動程序具有優(yōu)良的驅動架構,便于移植及擴展。

1 采集系統(tǒng)的系統(tǒng)結構
1.1 采集系統(tǒng)結構分析
   
采集系統(tǒng)基于VME總線實現(xiàn),系統(tǒng)是精密環(huán)境控制的重要組成部分,它的整體結構如圖1所示。


    系統(tǒng)以VME總線為整體架構,VME總線上使用VG5-7457PowerPC嵌入式VME單板機作VME總線控制器,通過VME總線控制數(shù)據(jù)采集設備(AD數(shù)據(jù)采集卡),同時將控制輸出經過VME總線下傳到控制輸出(DA數(shù)據(jù)輸出卡),它同時通過以太網(wǎng)絡與上位機相連;數(shù)據(jù)在VME總線的可靠傳輸是系統(tǒng)實現(xiàn)功能的關鍵部分,這主要通過在VG5單板機上設計基于VxWorks操作系統(tǒng)的VME總線的驅動來保證。
1.2 VG5主控板的結構分析及其對VME總線驅動的支持
   
驅動程序最終運行在VG5-7457單板機上,單板機的VME總線支持是實現(xiàn)單板機對VME總線驅動的關鍵因素。單板機系統(tǒng)的VME總線硬件結構如圖2所示。


    單板機使用UniverseⅡVME-to-PCI總線橋芯片實現(xiàn)系統(tǒng)的VMM總線,芯片實際上完成了VME總線與PCI總線的操作的互相轉化,它同時具備多種轉換方式,首先可以完成2個總線中斷的互相轉換操作,其次可以完成通過VME總線訪問PCI總線,最后可以完成PIC總線訪問VME總線;這些轉換操作很多都是通過芯片的內部寄存器實現(xiàn)的。由于總線橋芯片的轉換能力,使得VG5-7457單板機既可以作為VME主控板使用,又可以作為從板使用。
    VxWorks操作系統(tǒng)下將VME總線地址映射為CPU的本地地址,其映射可以在相關的BSP文件中定義,設計中的映射如表1所示,將VME總線映射為CPU本地地址后,對從板的操作就轉化為于對內存訪問操作相似的讀寫操作,使得VME總線的驅動可以方便的實現(xiàn)。


    對于操作VME總線區(qū)域的內存空間,系統(tǒng)提供了一系列的接口函數(shù),系統(tǒng)提供的接口函數(shù)列表如表2所示。


    寫內存空間的函數(shù)使用svsOut*函數(shù)族來完成,需要提供給函數(shù)的參數(shù)是寫入的地址及寫入的數(shù)據(jù);讀內存空間使用sysIn*函數(shù)族來完成,需要提供的參數(shù)是讀的地址,返回值是讀到的內容。函數(shù)在VxWorks的BSP中定義,使用匯編語言的方法實現(xiàn)相關的操作。

2 數(shù)據(jù)采集板的硬件結構抽象
   
從主板的VME地址空間上看從板的結構圖如圖3所示。


    VME地址空間上從板主要分為4塊地址區(qū)域,它們分別為從板的標識寄存器、從板的隨機讀寫寄存器、功能設置寄存器及數(shù)據(jù)緩沖區(qū),前兩個存儲區(qū)域主要用來標識從板及對從板進行測試,功能設置寄存器主要用來完成對數(shù)據(jù)采集從板的功能配置,數(shù)據(jù)緩沖區(qū)主要用來完成數(shù)據(jù)的傳輸;其中功能設置寄存器及數(shù)據(jù)緩沖區(qū)是實現(xiàn)對從板數(shù)據(jù)采集及控制的關鍵。依據(jù)從板的結構特點設計字符型設備驅動框架,驅動程序設計的重點是驅動模型的建立。

3 驅動程序的設計
3.1 數(shù)據(jù)結構設計
   
將從板所占用的系統(tǒng)硬件及軟件資源抽象成為從板字符型設備的結構體,其定義如下所示。
   
   
    這樣的數(shù)據(jù)結構設計實現(xiàn)了對從板的抽象,使得驅動程序具有良好的可移植性,方便的實現(xiàn)對多種板卡的驅動。
3.2 數(shù)據(jù)傳輸機制設計
   
驅動程序設計模仿了Linux操作系統(tǒng)實現(xiàn)了數(shù)據(jù)傳輸?shù)臋C制——查詢機制,數(shù)據(jù)傳輸?shù)淖枞麢C制及信號通知機制。
    查詢機制主要是指驅動程序為應用程序提供查詢緩沖區(qū)標志的接口,應用程序可以隨時查詢緩沖區(qū)的狀態(tài)而不會引起任務狀態(tài)的變化;阻塞機制是調用獲取緩沖區(qū)的任務在緩沖區(qū)沒有數(shù)據(jù)時會使該任務處于阻塞狀態(tài),直到緩沖區(qū)數(shù)據(jù)可用獲得后,任務才會重新獲得運行;信號機制是應用程序預先設定一個信號處理函數(shù),當緩沖區(qū)有數(shù)據(jù)時,系統(tǒng)就會自動調用這個信號處理函數(shù)而完成用戶預定的操作;阻塞機制的任務圖示如圖4所示,這些機制的細節(jié)可用參考文獻。要實現(xiàn)這些功能需要實現(xiàn)中斷處理機制、字符設備操作的ioctrl方法和read方法。



4 驅動程序的實現(xiàn)
4.1 中斷程序的實現(xiàn)
   
中斷程序的實現(xiàn)上使用了上、下兩半部機制,上半部是中斷處理函數(shù),下半部是中斷處理任務,上、下兩半部使用信號量進行同步,其中功能性的操作主要安排在中斷處理任務中。其程序框架如圖5所示。在中斷任務中實現(xiàn)對數(shù)據(jù)緩沖區(qū)的操作及緩沖區(qū)標志操作,實現(xiàn)操作的過程中著重解決與ioctrl方法和read方法進行同步。


4.2 驅動程序ioctrl方法的實現(xiàn)
   
驅動程序的ioctrl方法在驅動程序中具有重要地位,它除了要實現(xiàn)從板功能寄存器的設置及驅動程序的查詢機制外,還要實現(xiàn)用戶信號處理函數(shù)的注冊工作,結合這些功能實現(xiàn)的ioctrl方法的框架代碼如下所示。
   
    整個的ioctl方法由switch結構組成,這樣的結構代碼簡單明了,易讀性和可維護性都很好,同時可以方便地通過擴充命令的方法來實現(xiàn)對從板功能寄存器多種多樣的操作,便于驅動程序的重用。
4.3 驅動程序read方法的買現(xiàn)
   
驅動程序的read方法主要實現(xiàn)對緩沖區(qū)數(shù)據(jù)的讀取,同時它是實現(xiàn)數(shù)據(jù)阻塞操作的關鍵,read方法的程序流程圖如圖6所示。


    函數(shù)首先進行參數(shù)的檢查及轉化;然后檢查緩沖區(qū)標志,如果緩沖區(qū)存在數(shù)據(jù)則直接讀出數(shù)據(jù),如果緩沖區(qū)沒有數(shù)據(jù),函數(shù)就會申請緩沖區(qū)的信號量而使任務處于掛起狀態(tài),當中斷處理任務處理完緩沖區(qū)后會發(fā)送一個信號量而使任務重新運行并且讀出緩沖區(qū)數(shù)據(jù);函數(shù)最后是設置緩沖區(qū)標志,表示緩沖區(qū)數(shù)據(jù)已經讀出。函數(shù)要與中斷處理任務進行同步;讀取和設置緩沖區(qū)標志使用原子操作的方法,等待中斷處理任務設置緩沖區(qū)時使用了信號量的方式完成了同步。

5 VME總線數(shù)據(jù)傳輸測試
    VME數(shù)據(jù)傳輸測試主要是測試總線數(shù)據(jù)傳輸?shù)目煽啃?,只有總線數(shù)據(jù)傳輸?shù)目煽啃阅軌虮WC,驅動才能穩(wěn)定的運行,其測試的方法是通過隨機地讀寫從板的隨機讀寫寄存器來完成的,整個測試中為了模擬操作系統(tǒng)在有負載情況下的運行效果,增加了一些定時器操作,
其測試的程序流程圖如圖7所示。


    使用這種測試的方法最終得到測試的結果如表3所示。從測試結果可以看出,數(shù)據(jù)傳輸?shù)臏蚀_性比較好,通過閱讀VG5-7457PowerPC的板級支持包可以發(fā)現(xiàn)其實現(xiàn)VME數(shù)據(jù)總線操作的函數(shù)都有原子操作過程,以此保證數(shù)據(jù)傳輸?shù)目煽啃浴A己玫腣ME總線傳輸特性為驅動的實現(xiàn)提供了良好的基礎。



6 結論
   
設計了基于VxWorks操作系統(tǒng)的VME總線從板的驅動程序框架,著重介紹了驅動程序的機制及這些機制的實現(xiàn)方法;在設計的整體上重點地考慮了驅動程序的可維護性及可移轉性。采用這種方式建立起來的驅動程序代碼的可讀性好,可維護性強,而且可以方便地移植到其他的應用場合。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉