在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > S698-T處理器的VxWorksARINC 429總線模塊應(yīng)用

            S698-T處理器的VxWorksARINC 429總線模塊應(yīng)用

            作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

            摘要:總線是航空專用總線,應(yīng)用非常廣泛。本文以處理器為平臺,從底層入手,詳細講述了針對處理器的 總線驅(qū)動模塊的應(yīng)用與開發(fā)過程。給出了通過 VIP工程調(diào)用驅(qū)動,完成數(shù)據(jù)收發(fā)的過程,可為后續(xù)的應(yīng)用、開發(fā)工作提供幫助。

            本文引用地址:http://www.biyoush.com/article/201609/305076.htm

            引言

            操作系統(tǒng)作為一種嵌入式實疾僮饗低(RTOS),擁有高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,發(fā)展為當今較流行的嵌入式系統(tǒng)。其應(yīng)用遍布通信、國防、工業(yè)控制、醫(yī)療設(shè)備等多個嵌入式領(lǐng)域。

            是珠海歐比特控制工程股份有限公司面向嵌入式控制領(lǐng)域而研制的一款高性能、高可靠的SoC芯片,以130 nm CMOS半導(dǎo)體工藝制造。S698-T芯片以高性能的SPARC V8(IEEE-1754)架構(gòu),標準的32位RISC整數(shù)單元IU為主控內(nèi)核,配以IEEE-754標準的64位雙精度浮點處理單元FPU。此外,S698-T內(nèi)部還集成了1553B總線控制器、ARINC429總線控制器、CAN總線控制器、多功能I/O接口、UAR丁接口、在線硬件調(diào)試支持單元DSU、DAC模塊、ADC模塊等多種功能模塊。

            ARINC429總線協(xié)議是美國航空電子工程委員會(Airlines Engineering Committee)于1977年7月提出的,并于同年同月發(fā)表并獲得批準使用。數(shù)字式信息傳輸系統(tǒng)DITS,規(guī)定了航空電子沒備及有關(guān)系統(tǒng)間的數(shù)字信息傳輸要求。ARINC429廣泛應(yīng)用在先進的民航客機中,如B-737、B757、B-767等。ARINC429總線結(jié)構(gòu)簡單、性能穩(wěn)定、抗干擾性強。最大的優(yōu)勢在于可靠性高,這是由于它非集中控制、傳輸可靠、錯誤隔離性好。

            1 S698-T ARINC429設(shè)計

            ARINC429驅(qū)動基于VxBus模式進行開發(fā),VxBus是在VxWorks中用于支持設(shè)備驅(qū)動的特有架構(gòu)。VxBus在總線控制器服務(wù)的支持下,能在總線上發(fā)現(xiàn)設(shè)備,并執(zhí)行一些初始化工作,使驅(qū)動與硬件設(shè)備之間正常通信。它包括以下功能:

            ①允許設(shè)備驅(qū)動匹配對應(yīng)設(shè)備;

            ②提供驅(qū)動程序訪問硬件的機制;

            ③允許軟件其他部分訪問設(shè)備功能;

            ④在VxWorks系統(tǒng)中,實現(xiàn)設(shè)備驅(qū)動的模塊化。

            在VxWorks6.2版本發(fā)布前,設(shè)備驅(qū)動并不能被集成到VxWorks工程配置當中,為了添加或移出設(shè)備驅(qū)動,需要有豐富的BSP和驅(qū)動開發(fā)相關(guān)的知識。并且在驅(qū)動被添加或移出時要去做一些管理VxWorks工程的額外工作。作為VxWorks系統(tǒng)組件的一部分,VxBus消除了上面遇到的一些難題,各種驅(qū)動和支持組件的添加與刪除完全可以在Workbench工程中進行,而不需要BSP和驅(qū)動相關(guān)的知識,也不會在添加、刪除驅(qū)動時增加管理VxWorks工程的額外工作。因此大大方便了BSP的開發(fā)。

            ARINC429驅(qū)動采用第三方驅(qū)動程序的組織方式,VxWorks允許驅(qū)動程序開發(fā)廠商和開發(fā)者創(chuàng)建第三方驅(qū)動程序,不需要擔(dān)心不同廠商的文件之間的命名空間沖突。每一個想提供VxWorks驅(qū)動程序的廠商必須在3rdparty目錄創(chuàng)建自己的子目錄。

            盡管一個驅(qū)動程序可以包括很多文件,比如多個源文件和多個頭文件,但是一個標準的VxWorks驅(qū)動程序有一個最小的文件集,對于大多數(shù)VxWorks驅(qū)動程序最少要求6個文件,如表1所列。

            S698-T處理器的VxWorksARINC 429總線模塊應(yīng)用

            一般情況下,CDF文件、dc文件、dr文件都被認為是驅(qū)動程序的配置文件,下面詳細介紹這些文件。

            1.1 驅(qū)動程序源文件

            驅(qū)動程序源文件包含了驅(qū)動程序功能的實現(xiàn)邏輯,它們被放在目錄installDir/vxworks-6.x/target/src/hwif,第三方驅(qū)動的源文件放在目錄installDir/vxworks-6.x/target/3rdparty。很多VxWorks設(shè)備驅(qū)動程序只包含一個源文件,一個驅(qū)動程序可以包含一個或者幾個可選的頭文件;驅(qū)動程序可以包含多個源文件,此時必須在Makefile里面提供各個模塊的依賴規(guī)則。下面以文件leon2obt429.c為例來說明VxWorks驅(qū)動程序的結(jié)構(gòu)。

            設(shè)備驅(qū)動程序的第一部分是一個描述VxBus初始化階段要調(diào)用的例程的結(jié)構(gòu):

            LOCAL struct drvBusFuncs leon2OBT429DrvFuncs={

            leon2OBT429InstInit,

            leon2OBT429InstInit2,

            leon2OBT429InstConnect

            };

            接著就是描述驅(qū)動程序所支持的驅(qū)動方法的數(shù)據(jù)結(jié)構(gòu)(每一種類別的驅(qū)動程序都必須實現(xiàn)該類的驅(qū)動方法):

            LOCAL device_method_t leon2OBT429Drv_methods[]={

            {0,NULL}

            };

            然后描述該驅(qū)動程序需要的注冊信息的結(jié)構(gòu):

            LOCAL struCt vxbDevRegInfo lcon2OBT429DrvRegistration={

            NULL, /*后續(xù)設(shè)備指針*/

            VXB_DEVID_DEVICE, /*設(shè)備ID號*/

            VXB_BUSID_PLB, /*總線ID號*/

            VXB_VER_4_0_0, /*VxBus版本號*/

            “leon2OBT429Dev”, /*驅(qū)動名稱*/

            leon2OBT429DrvFuncs, /*驅(qū)動入口函數(shù)指針*/

            leon2OBT429Drv_methods[0],/*設(shè)備方法組*/

            NULL, /*設(shè)備探測*/

            NULL /*默認參數(shù)*/

            };

            在注冊信息后面,驅(qū)動程序必須提供一個例程來向VxBus注冊,表明該驅(qū)動程序的存在:

            void leon2OBT429DrvRegister(void){

            /*驅(qū)動注冊,此時不需要真正的硬件*/

            vxbDevRegister((struct vxbDevRegInfo *)

            leon2OBT429DrvRegistration);

            }

            由于驅(qū)動程序注冊方法被當作是驅(qū)動程序的第一個入口點,VxWorks必須被配置成:當該驅(qū)動程序向VxBus注冊時,VxWorks知道調(diào)用該入口點。為了做到這點,VxWorks使用的之前提到的那幾個驅(qū)動配置文件:CDF文件、dc文件、dr文件。

            1.2 CDF文件

            CDF文件的全稱是Component Description File,組件描述文件。根據(jù)VxBus標準開發(fā)的VxWorks設(shè)備驅(qū)動程序都被編譯成一個單獨的模塊,可以使用VxWorks配置工具非常輕松地將驅(qū)動程序配置進BSP中。但是,必須為你的設(shè)備驅(qū)動程序創(chuàng)建一個VxWorks組件。

            一個組件是一個基本的功能單元,它可以單獨配置進入VxWorks內(nèi)核鏡像中。為了能夠單獨添加和刪除設(shè)備驅(qū)動程序到VxWorks中,驅(qū)動程序必須能夠被VxWorks配置工具識別成individual組件。為了讓驅(qū)動程序能夠在Workbench或者vxprj中是可以配置的,必須創(chuàng)建CDF文件,CDF文件提供VxWorks配置工具所需要的信息。針對風(fēng)河公司發(fā)布的設(shè)備驅(qū)動程序,其對應(yīng)的CDF文件位于以下目錄:


            上一頁 1 2 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉