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

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

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

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

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


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


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


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


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

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


    VME地址空間上從板主要分為4塊地址區(qū)域,它們分別為從板的標(biāo)識(shí)寄存器、從板的隨機(jī)讀寫(xiě)寄存器、功能設(shè)置寄存器及數(shù)據(jù)緩沖區(qū),前兩個(gè)存儲(chǔ)區(qū)域主要用來(lái)標(biāo)識(shí)從板及對(duì)從板進(jìn)行測(cè)試,功能設(shè)置寄存器主要用來(lái)完成對(duì)數(shù)據(jù)采集從板的功能配置,數(shù)據(jù)緩沖區(qū)主要用來(lái)完成數(shù)據(jù)的傳輸;其中功能設(shè)置寄存器及數(shù)據(jù)緩沖區(qū)是實(shí)現(xiàn)對(duì)從板數(shù)據(jù)采集及控制的關(guān)鍵。依據(jù)從板的結(jié)構(gòu)特點(diǎn)設(shè)計(jì)字符型設(shè)備驅(qū)動(dòng)框架,驅(qū)動(dòng)程序設(shè)計(jì)的重點(diǎn)是驅(qū)動(dòng)模型的建立。

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



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


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


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

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


    使用這種測(cè)試的方法最終得到測(cè)試的結(jié)果如表3所示。從測(cè)試結(jié)果可以看出,數(shù)據(jù)傳輸?shù)臏?zhǔn)確性比較好,通過(guò)閱讀VG5-7457PowerPC的板級(jí)支持包可以發(fā)現(xiàn)其實(shí)現(xiàn)VME數(shù)據(jù)總線操作的函數(shù)都有原子操作過(guò)程,以此保證數(shù)據(jù)傳輸?shù)目煽啃?。良好的VME總線傳輸特性為驅(qū)動(dòng)的實(shí)現(xiàn)提供了良好的基礎(chǔ)。



6 結(jié)論
   
設(shè)計(jì)了基于VxWorks操作系統(tǒng)的VME總線從板的驅(qū)動(dòng)程序框架,著重介紹了驅(qū)動(dòng)程序的機(jī)制及這些機(jī)制的實(shí)現(xiàn)方法;在設(shè)計(jì)的整體上重點(diǎn)地考慮了驅(qū)動(dòng)程序的可維護(hù)性及可移轉(zhuǎn)性。采用這種方式建立起來(lái)的驅(qū)動(dòng)程序代碼的可讀性好,可維護(hù)性強(qiáng),而且可以方便地移植到其他的應(yīng)用場(chǎng)合。

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

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉