亚洲免费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ù)探討
        女优av性天堂网男人天堂| 亚洲人成无码网www| 一本一本久久久久a久久综合激情| 男男互吃大丁视频网站| 日本一区二区三区光视频| 无码人妻精品一区二区三区9厂| 男女肉粗暴进来120秒动态图| 久久久久久无中无码| 一区二区三区日韩毛片| 综合偷自拍亚洲乱中文字幕 | 99精品国产综合久久久久五月天| 国产成人一区二区三区免费观看| 色佬易精品视频免费在线观看| 亚洲精品视频在线一区二区| 国产精品第一国产精品| 99热这里只有精品69| 少妇久久高潮不断免费视频| 日韩精品熟女中文字幕| 久久人妻内射无码一区三区| 亚洲欧洲精品国产二码| 国产一区二区三区再现| 久久精品国产免费观看三人同眠 | 男女射黄视频网站在线免费观看| 亚洲va久久久噜噜噜久久男同| 最新国产乱视频伦在线| 少妇激情一区二区三区久久大香香| 日本区一区二区三视频| 精品成人av一区二区三区| 免费 无码 国产在线观看不卡| 国产三级精品三级在专区中文| 久久成人成狠狠爱综合网| 亚洲有码转帖| 涩涩国产在线不卡无码| 国产丝袜长腿美臀在线观看| 亚洲中文字幕无码一久久区| 亚洲一区二区在线| 亚洲av第二区国产精品| 亚洲色大成网站www永久| 久久天天躁狠狠躁夜夜96流白浆| 亚洲一二三四五区中文字幕 | 精品欧美一区二区三区久久久 |