999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2014-09-06 10:49:58龔永紅
單片機與嵌入式系統應用 2014年5期
關鍵詞:嵌入式設備工程

龔永紅

(珠海歐比特控制工程股份有限公司,珠海 519080)

?

龔永紅

(珠海歐比特控制工程股份有限公司,珠海 519080)

ARINC429總線是航空專用總線,應用非常廣泛。本文以S698-T處理器為平臺,從底層驅動程序入手,詳細講述了針對S698-T處理器的VxWorks ARINC429總線驅動模塊的應用與開發過程。給出了通過VxWorks VIP工程調用ARINC429驅動,完成數據收發的過程,可為后續的應用、開發工作提供幫助。

VxWorks;ARINC429;驅動程序;S698-T

引 言

VxWorks操作系統作為一種嵌入式實時操作系統(RTOS),擁有高性能的內核以及友好的用戶開發環境,發展為當今較流行的嵌入式系統。其應用遍布通信、國防、工業控制、醫療設備等多個嵌入式領域。

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

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

1 S698-TARINC429驅動程序設計

ARINC429驅動基于VxBus模式進行開發,VxBus是在VxWorks中用于支持設備驅動的特有架構。VxBus在總線控制器驅動程序服務的支持下,能在總線上發現設備,并執行一些初始化工作,使驅動與硬件設備之間正常通信。它包括以下功能:

① 允許設備驅動匹配對應設備;

② 提供驅動程序訪問硬件的機制;

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

④ 在VxWorks系統中,實現設備驅動的模塊化。

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

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

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

表1 VxWorks驅動程序

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

1.1 驅動程序源文件

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

設備驅動程序的第一部分是一個描述VxBus初始化階段要調用的例程的結構:

LOCAL struct drvBusFuncs leon2OBT429DrvFuncs ={

leon2OBT429InstInit,

leon2OBT429InstInit2,

leon2OBT429InstConnect

};

接著就是描述驅動程序所支持的驅動方法的數據結構(每一種類別的驅動程序都必須實現該類的驅動方法):

LOCAL device_method_t leon2OBT429Drv_methods[] ={

{0, NULL}

};

然后描述該驅動程序需要的注冊信息的結構:

LOCAL struct vxbDevRegInfo leon2OBT429DrvRegistration={

NULL, /* 后續設備指針*/

VXB_DEVID_DEVICE, /* 設備ID號 */

VXB_BUSID_PLB, /* 總線ID號*/

VXB_VER_4_0_0, /* VxBus版本號 */

"leon2OBT429Dev", /*驅動名稱*/

&leon2OBT429DrvFuncs, /*驅動入口函數指針*/

&leon2OBT429Drv_methods[0], /*設備方法組*/

NULL, /*設備探測*/

NULL /*默認參數*/

};

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

void leon2OBT429DrvRegister(void){

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

vxbDevRegister((struct vxbDevRegInfo *)

&leon2OBT429DrvRegistration);

}

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

1.2 CDF文件

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

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

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

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

40leon2obt429.cdf文件的主要數據結構如下:

Component DRV_LEON2_OBT429 {

NAME LEON2 obt429 VxBus driver

SYNOPSIS LEON2 obt429 VxBus driver provided by Wind River

REQUIRES INCLUDE_VXBUS INCLUDE_PLB_BUS

MODULES leon2obt429.o

PROTOTYPE void leon2OBT429DrvRegister(void);

INIT_RTN leon2OBT429DrvRegister();

INIT_AFTER INCLUDE_PLB_BUS

_INIT_ORDER hardWareInterFaceBusInit

_CHILDREN FOLDER_DRIVERS

}

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

2 S698-TARINC429驅動應用編程

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

圖1 ARINC429數據發送流程圖

圖2 ARINC429數據接收流程圖

以下示例調用ARINC429的驅動,完成ARINC429數據的發送、接收操作。示例需要新建一個VIP工程,新建429test.c文件中輸入的程序代碼略——編者注。

3 S698-TARINC429應用執行結果

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

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

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

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

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

下載運行的步驟如下:

① 確保S698-T開發板上的DSU口和UART0已連接到PC機;

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

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

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

命令描述如下:

$ dsumon -i -u

$ lo VxWorks

$ run

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

圖3 VxWorks ARINC429數據測試

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

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

結 語

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

圖4 VxWorks ARINC429設備驅動信息

[1] 徐惠民.基于VxWorks的嵌入式系統及實驗[M].北京:北京郵電大學出版社,2006.

[2] 孔祥營,柏桂枝.嵌入式實時操作系統VxWorks及其開發環境Tornado[M].北京:中國電力出版社,2001.

[3] 李慶. 嵌入式系統的實時概念[M].王安生,譯.北京:北京航空航天大學出版社,2004.

[4] 珠海歐比特控制工程股份有限公司.BSP3.0概要設計報告,2006.

[5] 珠海歐比特控制工程股份有限公司.V8mon使用手冊,2009.

[6] 珠海歐比特控制工程股份有限公司.S698-T芯片用戶手冊,2010.

[7] Wind River wr_workbench_users_guide_3.1.pdf,2014.

參考文獻

[1] 單承贛,單玉峰,姚磊,等.射頻識別原理與應用[M].北京:電子工業出版社,2008.

[2] Miesen R, Ebelt R, Kirsch F, et al. Where is the Tag?[J]. IEEE Microwave Magazine, 2011, 12(7): S49-S63.

[3] Cory Hekimian-Williams, Brandon Grant, Xiuwen Liu, et al. Accurate Localization of RFID Tags Using Phase Difference[C]// 2010 IEEE International Conference on RFID,2010:89-96.

[4] Wille A, Broll M, Winter S. Phase difference based RFID navigation for medical applications[C]// 2011 IEEE International Conference on RFID, Florida, USA, 2011: 98-105.

[5] 史偉光, 劉開華, 房靜靜,等. 雙頻副載波調幅的 UHF RFID 定位研究[J]. 哈爾濱工業大學學報, 2012, 44(3): 81-86.

[6] 丁康, 謝明, 楊志堅. 離散頻譜分析校正理論與技術[M]. 北京:科學出版社,2008.

任盈之、劉熙(碩士研究生),研究方向為超高頻RFID定位。

(責任編輯:高珍 收稿日期:2013-11-14)

Gong Yonghong

(Zhuhai Orbita Control Engineering Co.,Ltd., Zhuhai 519080,China)

ARINC429 bus is a special aviation bus which is widely applied. This paper takes the S698-T processor as the platform,starting from the bottom of the driver, and then it describes the application and development process for the S698-T processor VxWorks ARINC429 bus driver module. The VxWorks VIP project calls ARINC429 driver and the data collection is completed. The application provides the help for subsequent applications and development work.

VxWorks; ARINC429; driver program; S698-T

TN915

A

迪娜

2013-11-28)

猜你喜歡
嵌入式設備工程
諧響應分析在設備減振中的應用
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
子午工程
太空探索(2016年6期)2016-07-10 12:09:06
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
工程
工程
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 高清国产在线| 免费高清自慰一区二区三区| 91久久偷偷做嫩草影院| 丁香五月婷婷激情基地| 就去吻亚洲精品国产欧美| 亚洲高清无在码在线无弹窗| 国产高清在线精品一区二区三区| 亚洲侵犯无码网址在线观看| 亚洲久悠悠色悠在线播放| 国产 在线视频无码| 亚洲无码37.| 国产91视频免费| 国产嫖妓91东北老熟女久久一| 亚洲人成成无码网WWW| 69免费在线视频| 中文字幕永久在线观看| 高清视频一区| 91福利一区二区三区| 永久在线精品免费视频观看| 欧美国产菊爆免费观看| 国产亚洲精| 19国产精品麻豆免费观看| 久久久久久国产精品mv| 国产极品美女在线| 国产精品微拍| 久久久久久久蜜桃| 国产a网站| 欧美精品伊人久久| 亚洲欧美日韩视频一区| 国产爽爽视频| 欧美另类视频一区二区三区| 97se亚洲| 日韩精品一区二区三区视频免费看| 婷婷综合缴情亚洲五月伊| 黄色网址免费在线| 成人免费视频一区二区三区| 国产精品自拍合集| 91丝袜在线观看| A级全黄试看30分钟小视频| 免费视频在线2021入口| 国产精品亚洲欧美日韩久久| 久久福利网| 夜夜高潮夜夜爽国产伦精品| 日韩乱码免费一区二区三区| 成人va亚洲va欧美天堂| 男女精品视频| 人妻丰满熟妇av五码区| 午夜福利视频一区| 99热这里只有精品在线播放| 四虎永久在线视频| 欧美国产在线精品17p| 麻豆AV网站免费进入| 九九视频免费在线观看| 国产精品私拍在线爆乳| 国产综合无码一区二区色蜜蜜| 久久免费看片| 99精品视频在线观看免费播放| 国产一区二区丝袜高跟鞋| 国产在线拍偷自揄拍精品| 国产自在线播放| 久草视频精品| 黄色a一级视频| 国产成人无码AV在线播放动漫| 国模极品一区二区三区| 亚洲一区国色天香| 扒开粉嫩的小缝隙喷白浆视频| 尤物亚洲最大AV无码网站| 操国产美女| 亚洲婷婷六月| 茄子视频毛片免费观看| av在线5g无码天天| 久久国产亚洲偷自| 免费看av在线网站网址| 国产精品嫩草影院视频| 色成人综合| 十八禁美女裸体网站| 日韩精品中文字幕一区三区| 视频二区亚洲精品| 日韩欧美91| аⅴ资源中文在线天堂| 国产人妖视频一区在线观看| 亚洲天堂视频在线观看免费|