<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          S698-T處理器的VxWorksARINC 429總線模塊應用

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

          installDir/vxworks-6.x/target/config/comps/vXWorks

          在風河提供的中,一個CDF文件可能包含著描述多個設(shè)備的信息,對于第三方驅(qū)動,其CDF文件路徑是在目錄下。

          40leon2obt429.cdf文件的主要數(shù)據(jù)結(jié)構(gòu)如下:

          Component DRV_LEON2 OBT429{

          NAME LEON2 obt429 VxBus driver

          S698-T處理器的VxWorksARINC 429總線模塊應用
          S698-T處理器的VxWorksARINC 429總線模塊應用

          CDF文件使用上述語句來定義一個組件ID。中的每個組件必須用Component關(guān)鍵字來描述,驅(qū)動程序的ID一般以DRV_開始,并在ID中包含該驅(qū)動程序的描述性信息,每一類的驅(qū)動程序?qū)M件ID都有著相同的命名習慣。設(shè)備驅(qū)動程序組件標準的命名習慣應該是DRV_CLASS_ NAME。組件名字必須是唯一的,而DRV_CLASS_NAME中的DRV和CLASS都有可能相同,這就要求NAME必須唯一才行。

          2 8698-T驅(qū)動應用編程

          是普通I/O設(shè)備,設(shè)備打開、關(guān)閉通過標準open()、close()函數(shù)完成。數(shù)據(jù)的收、發(fā)通過標準write()、read()函數(shù)完成,而通道的配置、選擇等需要通過ioctl()函數(shù)完成。由于中的429模塊總共有6個通道:4個接收通道、2個發(fā)送通道。為了進行區(qū)分,軟件在進行收、發(fā)操作之前要先進行通道選定,以下分別是調(diào)用驅(qū)動完成ARINC429數(shù)據(jù)收、發(fā)操作的一般軟件流程,如圖1、圖2所示。

          以下示例調(diào)用ARINC429的驅(qū)動,完成ARINC429數(shù)據(jù)的發(fā)送、接收操作。示例需要新建一個VIP工程,新建429test.c文件中輸入的程序代碼略一一編者注。

          S698-T處理器的VxWorksARINC 429總線模塊應用
          S698-T處理器的VxWorksARINC 429總線模塊應用

          3 ARINC429應用執(zhí)行結(jié)果

          首先選擇“wrleon23_sparcleon”BSP包創(chuàng)建一個VIP( Image Project)工程。

          完成工程的創(chuàng)建之后還需對內(nèi)核進行配置。在Workbench左側(cè)的Project Explorer窗口中點擊創(chuàng)建的工程,再雙擊Kernel Configuration進入到內(nèi)核配置界面。

          為了讓編譯的鏡像文件具有ARINC429功能,需添加ARINC429組件,首先查找到組件“LEON2 obt429 VxBus driver”,并將其添加到工程中。

          將上節(jié)中編輯好的429test.c文件添加到工程中,最后要修改usrAppInit函數(shù),增加對OBT429AppInit函數(shù)的入口調(diào)用。

          編譯整個工程,再通過dsumon調(diào)試器下載映像到目標板上運行。

          下載運行的步驟如下:

          ①確保開發(fā)板上的DSU口和UART0已連接到PC機;

          ②先打開超級終端,打開相應的串口,用于S698-T程序運行時的顯示輸出;

          ③再打開cygwin終端,進人工程目錄,連接dsumon;

          ④將生成的Image文件下載進目標板。

          命令描述如下:

          $ dsumon-i-u

          $ lo VxWorks

          $ run

          在超級終端上可以觀察到運行VxWorks的運行結(jié)果,如圖3所示。

          S698-T處理器的VxWorksARINC 429總線模塊應用

          從程序輸出結(jié)果中可以看出,接收通道1完全接收了發(fā)送通道1發(fā)出的20個幀數(shù)據(jù),前7幀為非0數(shù)據(jù),后13幀為全0;由于選擇的是25位字長模式,接收到的數(shù)據(jù)與發(fā)送數(shù)組中的數(shù)據(jù)存有差異,為(tempbuf[n]0x1FFFFFF),實際值與預期值完全相同。

          另外還可以在VxWorks Shell中輸入devs和vxBusShow命令來觀察ARINC429硬件驅(qū)動的掛載情況,如圖4所示。

          S698-T處理器的VxWorksARINC 429總線模塊應用

          結(jié)語

          針對S698-T處理器內(nèi)部的ARINC429總線模塊,開發(fā)了基于VxWorks6.7的ARINC429驅(qū)動程序,該驅(qū)動程序是標準I/O設(shè)備驅(qū)動,使用方便、處理靈活。本文詳細給出了通過VxWorks VIP工程調(diào)用ARINC429驅(qū)動,完成數(shù)據(jù)收、發(fā)的過程,并給出了相關(guān)參考代碼,以及對應的驗證結(jié)果,可為后續(xù)的應用、開發(fā)工作提供幫助。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();