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

光通信系統中基于Vxworks的CPCI總線驅動設計

2017-10-13 21:58:35肖迎春
移動信息 2017年4期
關鍵詞:設備系統

何 磊 肖迎春

?

光通信系統中基于Vxworks的CPCI總線驅動設計

何 磊1肖迎春2

1.重慶光電技術研究所,重慶 400060 2.中國移動通信集團重慶有限公司,重慶 40112

為了滿足某通信設備實時性、可靠性的要求,研制了一種基于CPCI總線的光傳輸系統,給出了其在VxWorks環境下驅動程序設計的詳細過程。試驗結果表明:該驅動程序工作正常可靠,較好地滿足了VxWorks操作系統下的CPCI數據的透明傳輸的要求,應用前景廣泛。

Vxworks;CPCI;驅動程序

1 緒論

VxWorks 實時操作系統是一種非常流行的嵌入式實時操作系統。由于其良好的實時性及可靠性高的特點,已廣泛應用于各類嵌入式計算機系統,并得到了廣大設備廠家及各軍工單位的廣泛應用[1]。

CPCI(Compact Peripheral Component Interconnect)是國際PICMG協會于制定的一種總線接口標準。CPCI具有高開放性、高可靠性、可熱插拔(Hot Swap)、連接可靠、抗震動強和抗腐蝕高的特點,已廣泛應用于通信骨干網及軍事系統等領域。

本文在VxWorks 操作系統下,通過編寫CPCI總線驅動程序,實現了VxWorks操作系統下CPCI數據的光傳輸的功能。為多種實際的程應用提供了完 備的解決方案[2]。

2 系統介紹

本系統由兩臺VxWorks操作系統的主機、兩個CPCI光端機及光纖傳輸鏈路組成,為達到CPCI數據在操作系統中透明傳輸的要求,基于VxWorks操作系統的CPCI驅動程序的設計尤為關鍵。系統結構框圖1所示:

圖1 系統結構框圖

CPCI數據光纖傳輸系統工作流程為操作系統通過驅動函數將CPCI數據發送到總線上,CPCI光端機通過PCI9054將CPCI總線上的數據送到FPGA內部進行處理。FPGA將處理后的數據進行復用后,將復用后的數據經TLK2501芯片進行并串轉變后,將串行數據送入光模塊進行電/光變換,通過光纖進行傳輸。在接收端,光模塊將光信號轉換成串行電信號送入TLK2501進行串并變換,并行信號進入FPGA,FPGA對數據信號進行解復用處理后,然后通過PCI9054芯片,VxWorks操作系統通過調用驅動函數中的讀函數,將CPCI數據取出,以待系統進行分析處理。經過上述分析,驅動函數為硬件接口與Vxworks操作系統之間的橋梁,下面就驅動函數的詳細設計進行討論[3]。

3 系統驅動函數設計

Vxworks操作系統主要有兩種驅動函數的編寫方式,一種是與系統內核進行,在操作系統啟動過程中直接調用內核中的驅動函數,完成對CPCI設備的初始化;另一種是將驅動函數當作應用函數使用,在系統啟動加載內核的過程中,不調用初始化函數,在需要對設備進行讀寫操作時,再調用初始化函數。由于光傳輸系統的驅動函數最終要嵌入到整機的操作系統中,因此我們采用第二種驅動實現方案,盡量不改動系統啟動過程需加載的內核文件,采用在應用過程中調用驅動函數,完成對CPCI數據的讀寫過程[4]。

3.1 初始化函數

初始化程序是PCI設備驅動程序開發最重要的環節,初始化過程必須在系統為所有設備分配內存完成以前進行,否則將無法為PCI設備分配內存空間。初始化函數包括獲取PCI設備信息和內存映射2部分。

3.1.1獲取PCI設備信息

CPCI光端機上電后,系統BIOS會配置PCI設備,分配中斷號。列出找到的PCI設備vendor ID、device ID、設備類型以及分配的中斷號等信息。

初始化函數先根據設備vendorID和deviceID利用函數pciFindDevice()找到對應的設備,繼續掃描PCI總線,找出設備所在的BusNo、DeviceNo以及FuncNo。然后根據總線號、設備號和功能號調用pciconfigInLong()及pciConfiglnByte()函數確定設備的基地址以和中斷號。

3.1.2內存映射

VxWorks提供了標準的內存管理單元,用戶可以使用內存管理單元來為PCI設備分配內存空間。在確定了基地址和內存空間大小后,通過調用函數sysMmuMapAdd()就將內存空間配置到內存管理單元。

經過上述兩個步驟,PCI設備就映射到了系統的內存空間。操作系統對CPCI光端機的讀寫操作,就變化成對內存空間的讀寫。

3.2 功能函數

本文介紹的CPCI光端機在執行I/O操作時,都是按照字符的形式接收和發送數據。各功能模塊主要完成對PCI9054寄存器的讀寫、讀寫板卡的內存空間的操作。因此功能函數主要包括讀操作和寫操作。

本設計采用查詢模式,操作系統中上層應用程序調用讀寫函數,實現對CPCI數據的操作。VxWorks驅動中的讀寫函數與FPGA中的RAM空間進行數據交互操作必須遵守一定的邏輯關系,本設計中所采用的邏輯關系為:讀過程,在讀數據之前,要判定標志位是否0x8888,若是,則按照長度標志從RAM中讀出數據;若讀標志位不是0x8888,則等待,直到標志位變為0x8888后,才取出數據,數據讀完之后,將標志位置為0x0000;寫過程,寫數據之前,要判斷標志位是否為0x0000,若不是,則等待,直到標志位變為0x0000,若是,則將數據寫入RAM,數據寫完之后,將標志位置為0xffff,等待FPGA取出數據。FPGA取數據之前,判斷標志位是否為0xffff,若不是,則等待,若是,將數據取走,待復用后,將數據調制到光上發出。整個讀寫過程的邏輯如圖2所示:

圖2 驅動讀寫邏輯流程

數據在RAM中的格式如圖3所示:

圖3 數據格式

根據以上邏輯過程,主要開發了以下四個功能函數:

STATUS sysPlx9054MemWrite(UINT32 instance,UINT32* pSource,int len)

函數功能:向板卡編號為instance的CPCI板卡寫len長度的32位數據pSource。

STATUS sysPlx9054MemRead(UINT32 instance,UINT32* pDesc,int* pLen)

函數功能:從板卡編號為instance的CPCI板卡讀出32位數據到pDesc,len為讀出的數據長度。

STATUS sysPlx9054RegWrite(UINT32 instance,UINT32 value,BOOL type)

函數功能:向板卡編號為instance的CPCI板卡的寄存器空間寫數據value,type為寄存器類型,0為寫空間寄存器;1為讀空間寄存器。

STATUS sysPlx9054RegRead(UINT32 instance,UINT32* pValue,BOOL type)

函數功能:從板卡編號為instance的CPCI板卡寄存器空間讀出數據pValue,type為寄存器類型,0為寫空間寄存器;1為讀空間寄存器。

4 結束語

本文概括介紹了Vxworks操作系統下基于CPCI總線驅動的設計,其中詳細介紹了Vxworks驅動程序的開發過程。該驅動程序在實際整機系統上得到了驗證。根據誤碼率及光傳輸時延的測試結果表明,驅動程序設計合理,工作可靠,且很好di 滿足了整機系統的實時性、通用性。

[1]王學龍.嵌入式VxWorks系統開發與應用[M].北京:人民郵電出版社,2003:1-8.

[2]Wind River System Inc. VxWorks Programmer’s Guide [M].1999:1-18

[3]陳養平.基于VxWorks的實時多任務軟件設計[J] .微電子學與計算機,2002(10):10-12.

[4]T.Shanley, D.Anderson, 劉暉. PCI系統結構[M]. 電子工業出版社, 2000.

Design of CPCI Bus Driver Based on Vxworks in Optical Communication System

He Lei1Xiao Yingchun2

1.Chongqing Optoelectronics Research Institute, Chongqing 40060 2.China Mobile Communications Corporation Cmcc Chongqing Co., Ltd., Chongqing 401121

In order to meet the real-time and reliability of a communication equipment requirements, an optical transmission system based on CPCI bus is developed.The detailed procedure of driver design in VxWorks environment is given.Test results prove that the driver works properly, has high reliability, can meet the requirements of transparent transmission of CPCI data in VxWorks operating system , can be applied to many areas.

Vxworks; CPCI; Drivers

TP316.2

A

1009-6434(2017)04-0048-03

猜你喜歡
設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 亚洲欧美日韩综合二区三区| 欧美高清视频一区二区三区| 欧美五月婷婷| 国产乱子伦一区二区=| 免费Aⅴ片在线观看蜜芽Tⅴ| 午夜高清国产拍精品| 欧美综合中文字幕久久| 97久久人人超碰国产精品| 国产制服丝袜91在线| 中文字幕人妻av一区二区| 伊人久久综在合线亚洲2019| 欧美视频免费一区二区三区| 亚洲swag精品自拍一区| 婷婷六月激情综合一区| 国产在线观看成人91| 在线播放国产一区| 最新无码专区超级碰碰碰| 无码福利日韩神码福利片| 欧洲亚洲一区| jijzzizz老师出水喷水喷出| 性欧美精品xxxx| 亚洲综合香蕉| 久久亚洲日本不卡一区二区| 亚洲欧美成人网| 全午夜免费一级毛片| 理论片一区| 欧美一级高清片欧美国产欧美| 亚洲国产精品日韩欧美一区| 欧美黄色网站在线看| 四虎永久在线视频| 国产成+人+综合+亚洲欧美| 漂亮人妻被中出中文字幕久久| 亚洲AV人人澡人人双人| 91av国产在线| 国产一级毛片yw| 欧美无专区| 囯产av无码片毛片一级| 亚洲天堂.com| 九九九久久国产精品| 亚洲二区视频| 精品国产自在现线看久久| 国产内射一区亚洲| 日韩福利视频导航| 国产成人综合日韩精品无码首页| 日本道综合一本久久久88| 亚洲久悠悠色悠在线播放| 丁香五月激情图片| 亚洲国产无码有码| 91区国产福利在线观看午夜| 手机在线看片不卡中文字幕| 国产福利微拍精品一区二区| 色国产视频| 久夜色精品国产噜噜| 久久久久国产精品嫩草影院| 欧美在线精品一区二区三区| 福利视频久久| 久久91精品牛牛| 毛片网站在线看| 激情无码字幕综合| 福利国产在线| 亚洲欧美自拍一区| 欧美有码在线观看| 亚洲妓女综合网995久久| 亚洲国产精品一区二区第一页免| 国产免费自拍视频| 中国特黄美女一级视频| 国产成人艳妇AA视频在线| 毛片手机在线看| 狠狠做深爱婷婷综合一区| 熟妇无码人妻| 亚洲黄网视频| 欧美一级片在线| 国产毛片片精品天天看视频| 国产69囗曝护士吞精在线视频| 污网站免费在线观看| 欧美午夜网站| 青青青视频91在线 | 免费无码AV片在线观看中文| 日本一区二区不卡视频| 中文字幕人妻无码系列第三区| 国产欧美日本在线观看| 亚洲视频三级|