亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        光通信系統(tǒng)中基于Vxworks的CPCI總線驅(qū)動(dòng)設(shè)計(jì)

        2017-10-13 21:58:35肖迎春
        移動(dòng)信息 2017年4期
        關(guān)鍵詞:設(shè)備系統(tǒng)

        何 磊 肖迎春

        ?

        光通信系統(tǒng)中基于Vxworks的CPCI總線驅(qū)動(dòng)設(shè)計(jì)

        何 磊1肖迎春2

        1.重慶光電技術(shù)研究所,重慶 400060 2.中國移動(dòng)通信集團(tuán)重慶有限公司,重慶 40112

        為了滿足某通信設(shè)備實(shí)時(shí)性、可靠性的要求,研制了一種基于CPCI總線的光傳輸系統(tǒng),給出了其在VxWorks環(huán)境下驅(qū)動(dòng)程序設(shè)計(jì)的詳細(xì)過程。試驗(yàn)結(jié)果表明:該驅(qū)動(dòng)程序工作正常可靠,較好地滿足了VxWorks操作系統(tǒng)下的CPCI數(shù)據(jù)的透明傳輸?shù)囊螅瑧?yīng)用前景廣泛。

        Vxworks;CPCI;驅(qū)動(dòng)程序

        1 緒論

        VxWorks 實(shí)時(shí)操作系統(tǒng)是一種非常流行的嵌入式實(shí)時(shí)操作系統(tǒng)。由于其良好的實(shí)時(shí)性及可靠性高的特點(diǎn),已廣泛應(yīng)用于各類嵌入式計(jì)算機(jī)系統(tǒng),并得到了廣大設(shè)備廠家及各軍工單位的廣泛應(yīng)用[1]。

        CPCI(Compact Peripheral Component Interconnect)是國際PICMG協(xié)會(huì)于制定的一種總線接口標(biāo)準(zhǔn)。CPCI具有高開放性、高可靠性、可熱插拔(Hot Swap)、連接可靠、抗震動(dòng)強(qiáng)和抗腐蝕高的特點(diǎn),已廣泛應(yīng)用于通信骨干網(wǎng)及軍事系統(tǒng)等領(lǐng)域。

        本文在VxWorks 操作系統(tǒng)下,通過編寫CPCI總線驅(qū)動(dòng)程序,實(shí)現(xiàn)了VxWorks操作系統(tǒng)下CPCI數(shù)據(jù)的光傳輸?shù)墓δ?。為多種實(shí)際的程應(yīng)用提供了完 備的解決方案[2]。

        2 系統(tǒng)介紹

        本系統(tǒng)由兩臺(tái)VxWorks操作系統(tǒng)的主機(jī)、兩個(gè)CPCI光端機(jī)及光纖傳輸鏈路組成,為達(dá)到CPCI數(shù)據(jù)在操作系統(tǒng)中透明傳輸?shù)囊?,基于VxWorks操作系統(tǒng)的CPCI驅(qū)動(dòng)程序的設(shè)計(jì)尤為關(guān)鍵。系統(tǒng)結(jié)構(gòu)框圖1所示:

        圖1 系統(tǒng)結(jié)構(gòu)框圖

        CPCI數(shù)據(jù)光纖傳輸系統(tǒng)工作流程為操作系統(tǒng)通過驅(qū)動(dòng)函數(shù)將CPCI數(shù)據(jù)發(fā)送到總線上,CPCI光端機(jī)通過PCI9054將CPCI總線上的數(shù)據(jù)送到FPGA內(nèi)部進(jìn)行處理。FPGA將處理后的數(shù)據(jù)進(jìn)行復(fù)用后,將復(fù)用后的數(shù)據(jù)經(jīng)TLK2501芯片進(jìn)行并串轉(zhuǎn)變后,將串行數(shù)據(jù)送入光模塊進(jìn)行電/光變換,通過光纖進(jìn)行傳輸。在接收端,光模塊將光信號(hào)轉(zhuǎn)換成串行電信號(hào)送入TLK2501進(jìn)行串并變換,并行信號(hào)進(jìn)入FPGA,F(xiàn)PGA對(duì)數(shù)據(jù)信號(hào)進(jìn)行解復(fù)用處理后,然后通過PCI9054芯片,VxWorks操作系統(tǒng)通過調(diào)用驅(qū)動(dòng)函數(shù)中的讀函數(shù),將CPCI數(shù)據(jù)取出,以待系統(tǒng)進(jìn)行分析處理。經(jīng)過上述分析,驅(qū)動(dòng)函數(shù)為硬件接口與Vxworks操作系統(tǒng)之間的橋梁,下面就驅(qū)動(dòng)函數(shù)的詳細(xì)設(shè)計(jì)進(jìn)行討論[3]。

        3 系統(tǒng)驅(qū)動(dòng)函數(shù)設(shè)計(jì)

        Vxworks操作系統(tǒng)主要有兩種驅(qū)動(dòng)函數(shù)的編寫方式,一種是與系統(tǒng)內(nèi)核進(jìn)行,在操作系統(tǒng)啟動(dòng)過程中直接調(diào)用內(nèi)核中的驅(qū)動(dòng)函數(shù),完成對(duì)CPCI設(shè)備的初始化;另一種是將驅(qū)動(dòng)函數(shù)當(dāng)作應(yīng)用函數(shù)使用,在系統(tǒng)啟動(dòng)加載內(nèi)核的過程中,不調(diào)用初始化函數(shù),在需要對(duì)設(shè)備進(jìn)行讀寫操作時(shí),再調(diào)用初始化函數(shù)。由于光傳輸系統(tǒng)的驅(qū)動(dòng)函數(shù)最終要嵌入到整機(jī)的操作系統(tǒng)中,因此我們采用第二種驅(qū)動(dòng)實(shí)現(xiàn)方案,盡量不改動(dòng)系統(tǒng)啟動(dòng)過程需加載的內(nèi)核文件,采用在應(yīng)用過程中調(diào)用驅(qū)動(dòng)函數(shù),完成對(duì)CPCI數(shù)據(jù)的讀寫過程[4]。

        3.1 初始化函數(shù)

        初始化程序是PCI設(shè)備驅(qū)動(dòng)程序開發(fā)最重要的環(huán)節(jié),初始化過程必須在系統(tǒng)為所有設(shè)備分配內(nèi)存完成以前進(jìn)行,否則將無法為PCI設(shè)備分配內(nèi)存空間。初始化函數(shù)包括獲取PCI設(shè)備信息和內(nèi)存映射2部分。

        3.1.1獲取PCI設(shè)備信息

        CPCI光端機(jī)上電后,系統(tǒng)BIOS會(huì)配置PCI設(shè)備,分配中斷號(hào)。列出找到的PCI設(shè)備vendor ID、device ID、設(shè)備類型以及分配的中斷號(hào)等信息。

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

        3.1.2內(nèi)存映射

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

        經(jīng)過上述兩個(gè)步驟,PCI設(shè)備就映射到了系統(tǒng)的內(nèi)存空間。操作系統(tǒng)對(duì)CPCI光端機(jī)的讀寫操作,就變化成對(duì)內(nèi)存空間的讀寫。

        3.2 功能函數(shù)

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

        本設(shè)計(jì)采用查詢模式,操作系統(tǒng)中上層應(yīng)用程序調(diào)用讀寫函數(shù),實(shí)現(xiàn)對(duì)CPCI數(shù)據(jù)的操作。VxWorks驅(qū)動(dòng)中的讀寫函數(shù)與FPGA中的RAM空間進(jìn)行數(shù)據(jù)交互操作必須遵守一定的邏輯關(guān)系,本設(shè)計(jì)中所采用的邏輯關(guān)系為:讀過程,在讀數(shù)據(jù)之前,要判定標(biāo)志位是否0x8888,若是,則按照長度標(biāo)志從RAM中讀出數(shù)據(jù);若讀標(biāo)志位不是0x8888,則等待,直到標(biāo)志位變?yōu)?x8888后,才取出數(shù)據(jù),數(shù)據(jù)讀完之后,將標(biāo)志位置為0x0000;寫過程,寫數(shù)據(jù)之前,要判斷標(biāo)志位是否為0x0000,若不是,則等待,直到標(biāo)志位變?yōu)?x0000,若是,則將數(shù)據(jù)寫入RAM,數(shù)據(jù)寫完之后,將標(biāo)志位置為0xffff,等待FPGA取出數(shù)據(jù)。FPGA取數(shù)據(jù)之前,判斷標(biāo)志位是否為0xffff,若不是,則等待,若是,將數(shù)據(jù)取走,待復(fù)用后,將數(shù)據(jù)調(diào)制到光上發(fā)出。整個(gè)讀寫過程的邏輯如圖2所示:

        圖2 驅(qū)動(dòng)讀寫邏輯流程

        數(shù)據(jù)在RAM中的格式如圖3所示:

        圖3 數(shù)據(jù)格式

        根據(jù)以上邏輯過程,主要開發(fā)了以下四個(gè)功能函數(shù):

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

        函數(shù)功能:向板卡編號(hào)為instance的CPCI板卡寫len長度的32位數(shù)據(jù)pSource。

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

        函數(shù)功能:從板卡編號(hào)為instance的CPCI板卡讀出32位數(shù)據(jù)到pDesc,len為讀出的數(shù)據(jù)長度。

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

        函數(shù)功能:向板卡編號(hào)為instance的CPCI板卡的寄存器空間寫數(shù)據(jù)value,type為寄存器類型,0為寫空間寄存器;1為讀空間寄存器。

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

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

        4 結(jié)束語

        本文概括介紹了Vxworks操作系統(tǒng)下基于CPCI總線驅(qū)動(dòng)的設(shè)計(jì),其中詳細(xì)介紹了Vxworks驅(qū)動(dòng)程序的開發(fā)過程。該驅(qū)動(dòng)程序在實(shí)際整機(jī)系統(tǒng)上得到了驗(yàn)證。根據(jù)誤碼率及光傳輸時(shí)延的測(cè)試結(jié)果表明,驅(qū)動(dòng)程序設(shè)計(jì)合理,工作可靠,且很好di 滿足了整機(jī)系統(tǒng)的實(shí)時(shí)性、通用性。

        [1]王學(xué)龍.嵌入式VxWorks系統(tǒng)開發(fā)與應(yīng)用[M].北京:人民郵電出版社,2003:1-8.

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

        [3]陳養(yǎng)平.基于VxWorks的實(shí)時(shí)多任務(wù)軟件設(shè)計(jì)[J] .微電子學(xué)與計(jì)算機(jī),2002(10):10-12.

        [4]T.Shanley, D.Anderson, 劉暉. PCI系統(tǒng)結(jié)構(gòu)[M]. 電子工業(yè)出版社, 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

        猜你喜歡
        設(shè)備系統(tǒng)
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        亚洲精品无码久久久久sm| 伊人青青草综合在线视频免费播放 | 亚洲国产成人久久综合碰碰| 亚洲av无码乱码在线观看富二代 | 日本熟女视频一区二区三区| 亚洲国产精品一区二区久久恐怖片| 国产激情综合在线观看| 久久精品无码中文字幕| 国产精品久久中文字幕第一页| 白丝美女扒开内露出内裤视频| 最新中文字幕人妻少妇| 在线涩涩免费观看国产精品| 国产成人精品日本亚洲18| 免费人成视频欧美| 男女啪啪啪的高清视频| 国产午夜片无码区在线播放| 久久久天堂国产精品女人| 亚洲中文欧美日韩在线人| 一级午夜理论片日本中文在线| 玖玖色玖玖草玖玖爱在线精品视频| 亚洲精品久久久久中文字幕| 人妻夜夜爽天天爽三区麻豆AV网站 | 性欧美丰满熟妇xxxx性久久久| 女人被弄到高潮的免费视频 | 国产成人精品亚洲午夜| 成人综合激情自拍视频在线观看 | 国产香蕉尹人在线观看视频| 麻豆国产av尤物网站尤物| 久久精品国产白丝爆白浆| 久久久久久久久无码精品亚洲日韩 | 永久免费视频网站在线| 成人国产精品一区二区网站公司 | 国产不卡一区二区av| 免费国产在线精品一区二区三区免| 少妇aaa级久久久无码精品片| 亚洲Av午夜精品a区| 亚洲国产精品久久性色av| 一本丁香综合久久久久不卡网站| 美女高潮无遮挡免费视频| 色中文字幕视频在线观看| 色婷婷av一区二区三区久久|