久草成年免费福利在线视频-国产成人精品男人的天堂538-中文人妻av一区二区三区-一本色道久久综合免费-国产天堂mv在线2020-日韩av电影亚洲av电影-伊人中文字幕国产精品-日韩欧美tv在线播放-色狠狠久久五月综合,激情图区亚洲综合,超碰网av在线,国产乱子伦一区二区三区国色天香

網(wǎng)站首頁

HOME

關(guān)于我們

ABOUT US

產(chǎn)品展示

PRODUCT

新聞中心

NEWS

成功案例

CASE

下載中心

DOWNLOAD

人才招聘

RECRUIT

在線留言

MESSAGE

聯(lián)系我們

CONTACT US

    技術(shù)文章
    聯(lián)系我們
    西安航普電子有限責(zé)任公司
    電話:029-81870107
    郵箱:hangpudianzi@163.com
    網(wǎng)址:www.321088.com
    公司地址:西安市電子四路西京三號(hào)2號(hào)樓17層
     
     
    技術(shù)文章
    VxWorks操作系統(tǒng)下ComPactPCI總線驅(qū)動(dòng)程序設(shè)計(jì)
    更新時(shí)間:2017-09-07 12:57:45    點(diǎn)擊:1169次

    引言
        VxWorks是美國Wind River公司專門為嵌入式處理器設(shè)計(jì)的一種模塊化、高性能的實(shí)時(shí)多任務(wù)操作系統(tǒng)。嵌入式軟件多采用交叉開發(fā)的方式,即主機(jī)運(yùn)行開發(fā)工具Tonado,通過某種連接方式連接目標(biāo)機(jī),硬件平臺(tái)為PC/104+架構(gòu)。這里提出一種VxWorks操作系統(tǒng)下CompactPCI總線驅(qū)動(dòng)程序的設(shè)計(jì)及實(shí)現(xiàn)。該設(shè)計(jì)使用德國Kontron DT-64,它是一款高性能嵌入式計(jì)算機(jī)。采用Dual PentiLim 3 CPU,工作頻率高達(dá)866 MHz,具有128 KB一級(jí)高速緩存和128 KB二級(jí)高速緩存。KontronDT-64與PC/AT標(biāo)準(zhǔn)完全兼容,并遵從PC/104+標(biāo)準(zhǔn)。具有PC/104結(jié)構(gòu)的優(yōu)點(diǎn),適用于各種復(fù)雜的工作環(huán)境。


    2 BSP與VxWorks的關(guān)系
        板級(jí)支持包BSP(board support packet)通常是針對(duì)具體的硬件平臺(tái),是用戶所編寫的啟動(dòng)代碼和部分設(shè)備驅(qū)動(dòng)程序的集合。在VxWorks操作系統(tǒng)中,BSP是介于底層硬件環(huán)境和VxWorks之間的一個(gè)軟件接口,它的主要功能是系統(tǒng)加電后初始化目標(biāo)機(jī)硬件、初始化操作系統(tǒng)及提供部分硬件的驅(qū)動(dòng)程序。BSP與VxWorks之間的關(guān)系如圖1所示。從圖1發(fā)現(xiàn),BSP不是一個(gè)設(shè)備驅(qū)動(dòng)程序。它只能運(yùn)行于指定設(shè)備的硬件環(huán)境中,對(duì)其進(jìn)行控制和初始化。這里主要闡述在PCM發(fā)送,接收模塊的設(shè)計(jì)過程中,如何利用DT-64 BSP來實(shí)現(xiàn)PCI總線的驅(qū)動(dòng)程序。

    3 總線及接口技術(shù)
        由于CompactPCI規(guī)范定義基于PCI總線方式的復(fù)印加堅(jiān)固而耐用的PCI版本,并且適用于工業(yè)和嵌入式應(yīng)用,本設(shè)計(jì)采用此規(guī)范。CompactPCI總線是3種技術(shù)的集成:通用PCI局部總線(Local Bus)的高性能,安裝牢固的歐卡結(jié)構(gòu),接觸可靠的針孔連接器(pin-antl-soeket connector)。
        PCI局部總線是一種地址和數(shù)據(jù)復(fù)用的高性能32,64位總線,它在高度集成的外圍控制器件、外圍插件板和處理器/存儲(chǔ)器之間起連接作用。PCI總線為CPU和板上外設(shè)提供了方便的高速通信連接,工作頻率為66 MHz或更高。PCI作為一種同步的、獨(dú)立于處理器的32 bit或64 bit局部總線,在工作頻率為33 MHz總線寬度為32 bit最低規(guī)格時(shí)其峰值吞吐速率可達(dá)到132 MB/s,適用于網(wǎng)絡(luò)適配器、硬盤驅(qū)動(dòng)器、視頻卡、圖形卡等各類高速外設(shè)。連接到PCI總線上的設(shè)備分為主控和目標(biāo)兩類,PCI支持多主系統(tǒng)。PCI總線的一個(gè)重要特點(diǎn)是存在配置空間,它提供一種配置關(guān)聯(lián),適合于目前或?qū)淼南到y(tǒng)配置機(jī)制,實(shí)現(xiàn)參數(shù)自動(dòng)配置。系統(tǒng)軟件通過讀取配置空間中相應(yīng)參數(shù),即可確定PCI總線上掛接了什么設(shè)備以及需要哪些資源,通過對(duì)地址空間的重定位分配資源避免競(jìng)爭(zhēng),實(shí)現(xiàn)PCI設(shè)備的即插即用。
        連接到PCI總線的用戶功能板卡需要使用PCI總線接口控制器和PCI總線進(jìn)行交互,在應(yīng)用系統(tǒng)設(shè)計(jì)時(shí)采用OL5064器件。QL5064是一款32 bit/33 MHz的通用PCI總線控制器,符合PCI規(guī)范2.2版,本突發(fā)傳輸速率達(dá)到132 MB/s。可作為PCI總線的主控設(shè)備控制總線,也可作為目標(biāo)設(shè)備響應(yīng)總線。Ql5064提供了PCI總線、E2ROM、LOCAL總線3個(gè)接口。LOCAL總線支持復(fù)用/非復(fù)用的32 bit地址/數(shù)據(jù),有3種工作模式:M、C和J。在系統(tǒng)實(shí)際數(shù)據(jù)采集時(shí),將LOCAl總線設(shè)置為C模式,這是一種目標(biāo)設(shè)備模式。選用NM93CS56L型串行E2PROM作為QL5064的配置器件,該器件通過E2ROM接口和QL5064相連。QL5064的長配置方式要求68個(gè)字節(jié)的信息,主要包括:設(shè)備識(shí)別號(hào)、供應(yīng)商代碼號(hào)、LO-CAL總線3個(gè)空間的性質(zhì)、范圍以及基址等,這些配置信息內(nèi)容一般要預(yù)先設(shè)計(jì)并用編程器事先寫入配置器件中。在計(jì)算機(jī)啟動(dòng)時(shí),系統(tǒng)將根據(jù)配置信息分配器件所申請(qǐng)的資源。Q155064作為一種橋接器件,在PCI總線和LOCAL總線之間有3種主要數(shù)據(jù)傳輸模式:
        (1)PCI Initiator數(shù)據(jù)傳輸模式 主控模式,LOCAL總線主設(shè)備通過QL5064訪問PCI總線存儲(chǔ)空間和I/O空間;
        (2)PCI Target數(shù)據(jù)傳輸模式PCI總線主設(shè)備通過QL5064訪問LOCAL總線存儲(chǔ)空問和I/O空間;
        (3)DMA數(shù)據(jù)傳輸模式QL5064作為兩總線的主設(shè)備,從PCI總線存儲(chǔ)空間讀數(shù)據(jù)到LOCAL總線存儲(chǔ)空間或者從LOCAL總線存儲(chǔ)空間讀數(shù)據(jù)到PCI總線存儲(chǔ)空間。在系統(tǒng)設(shè)計(jì)中,使用PCI Target數(shù)據(jù)傳輸模式讀寫控制模塊中的寄存器。


    4 設(shè)備的配置技術(shù)
        VxWorks是專門為實(shí)時(shí)嵌人式系統(tǒng)設(shè)計(jì)開發(fā)的操作系統(tǒng)軟件,提供高效的實(shí)時(shí)任務(wù)調(diào)度、中斷管理、實(shí)時(shí)的系統(tǒng)資源分配以及實(shí)時(shí)的任務(wù)間通信。程序員可將主要精力放在應(yīng)用程序本身,而不用關(guān)心對(duì)系統(tǒng)資源的管理。
        為闡明在VxWorks操作系統(tǒng)下如何實(shí)現(xiàn)CompaetPCI總線設(shè)備的驅(qū)動(dòng),需了解PCI設(shè)備的配置寄存器空間。PCI設(shè)備有3種物理存儲(chǔ)空間:配置寄存器空間、存儲(chǔ)器空間和I/O空間。PCI局部總線設(shè)備中配置寄存器空間是一容量為256 KB并具有特定記錄結(jié)構(gòu)的地址空間,該空間分為頭標(biāo)區(qū)和設(shè)備有關(guān)區(qū)兩部分,空間頭標(biāo)區(qū)的定義如圖2所示。

        在配置空間中,只讀空間有設(shè)備標(biāo)識(shí)、供應(yīng)商代碼、修改版本、分類代碼以及頭標(biāo)類型。其中供應(yīng)商代碼用來標(biāo)識(shí)設(shè)備供應(yīng)商;設(shè)備標(biāo)識(shí)用來標(biāo)識(shí)某一特殊的設(shè)備;修改版本標(biāo)識(shí)設(shè)備的版本號(hào);分類代碼用來標(biāo)識(shí)設(shè)備的種類;而頭標(biāo)類型用來標(biāo)識(shí)頭類型以及是否為多功能設(shè)備。除供應(yīng)商代碼之外,其他字段的值由供應(yīng)商分配。

    PCI設(shè)備可以在地址空間中重定位是其重要功能之一,使得系統(tǒng)可合理地分配資源,甚至完全相同的兩塊PCI卡也能夠在同一總線內(nèi)工作而不會(huì)產(chǎn)生地址沖突。基地址寄存器的功能是分配PCI設(shè)備的系統(tǒng)地址空間,在基地址寄存器中,位0(最低位)均為只讀位并且用來標(biāo)識(shí)是存儲(chǔ)器空間還是I/O地址空間。如果該位為0,表示映射到存儲(chǔ)器空間。映射到I/O空間的基址寄存器寬度總是32 bit,其中位0值為1 (用硬件實(shí)現(xiàn)),位1為保留位并且其讀出值必須為0,其余各位用來把設(shè)備映射到I/O空間。映射到存儲(chǔ)器空間的基址寄存器可以是32 bit寬度,也可以是64 bit寬度。其中位0也要用硬件方式使其恒為0。位2和位1兩位用來表示映射類型,其余各位用來將設(shè)備映射到存儲(chǔ)器空間。
        系統(tǒng)配置軟件通過向基址寄存器寫入全“1”后再讀回的方式確定設(shè)備要求的地址空間范圍,與地址空間無關(guān)的位其返回值為0。
        在VxWorks操作系統(tǒng)下實(shí)現(xiàn)CompactPCI總線設(shè)備的驅(qū)動(dòng)過程主要包括下面步驟:
        (1)查找CompaetPCI設(shè)備在VxWorks操作系統(tǒng)中通過函數(shù)peiFindDeviee()來實(shí)現(xiàn),該函數(shù)可根據(jù)給定的設(shè)備標(biāo)識(shí)和供應(yīng)商代碼找到相應(yīng)的設(shè)備。并返回總線號(hào)、設(shè)備號(hào)以及功能號(hào)。函數(shù)的定義如下:

       )
        (2)配置CompactPCI設(shè)備 通過操作系統(tǒng)提供的API函數(shù)訪問CompactPCI設(shè)備的配置空間,配置CompactPCI設(shè)備基址寄存器、中斷、ROM基地址寄存器等,可得到Compact-PCI的仔儲(chǔ)器空間和I/O地址空間映射、設(shè)備的中斷號(hào)等。在VxWorks操作系統(tǒng)中訪問CompactPCI設(shè)備配置空間的函數(shù)有pciConfigInLong()、pciConfigOutLong()等,它們分別完成對(duì)CompactPCI設(shè)備配置空間的讀寫操作。這一系列操作也稱為PCI設(shè)備枚舉。然后,根據(jù)CompactPCI設(shè)備的配置參數(shù),對(duì)不同的設(shè)備編寫初始化程序、中斷服務(wù)程序以及對(duì)PCI設(shè)備存儲(chǔ)空間的訪問程序。


    5 中斷的響應(yīng)與控制
        硬件中斷處理是實(shí)時(shí)系統(tǒng)設(shè)計(jì)的關(guān)鍵環(huán)節(jié),系統(tǒng)通過中斷與外部事件交互。為了獲得盡可能快的中斷響應(yīng)時(shí)間,Vx-Works的中斷處理程序需要運(yùn)行在特定的上下文中,也就是在所有任務(wù)上下文之外。因此,中斷處理不會(huì)涉及任何任務(wù)上下文的切換。QL5064接幾器件的寄存器序列巾有一個(gè)中斷控制/狀態(tài)寄存器,其偏移地址為0x68H。該寄存器可以使能或禁止CompactPCI總線的中斷,因此在系統(tǒng)進(jìn)行中斷服務(wù)程序的配置時(shí),必須設(shè)定該寄存器的內(nèi)容,否則系統(tǒng)不能正常響應(yīng)中斷    在VxWorks系統(tǒng)下可以使用pciIntConnect()函數(shù)將中斷和特定的C程序連接起來,該函數(shù)將指定的C函數(shù)與中斷向量相聯(lián)系,甬?dāng)?shù)的地址將存儲(chǔ)在這個(gè)中斷向量里。所以當(dāng)中斷發(fā)生時(shí),系統(tǒng)將調(diào)用這個(gè)被稱為中斷服務(wù)程序的函數(shù)。因此,cPCI設(shè)備的中斷響應(yīng)設(shè)置主要有兩點(diǎn):
        (1)調(diào)用pciIntConnect()函數(shù)設(shè)置中斷服務(wù)程序,該函數(shù)的定義如下:

       
        如果要禁止該設(shè)備的中斷響應(yīng),可以給QL5064的中斷控制寄存器寫入0x0f000000即可。
        中斷服務(wù)程序ISR負(fù)責(zé)協(xié)凋系統(tǒng)的采集任務(wù),在系統(tǒng)設(shè)計(jì)時(shí)采用信號(hào)量的方式實(shí)現(xiàn)任務(wù)間的同步,因此ISR的程序非常簡(jiǎn)單,只給出和特定中斷事件相關(guān)的信號(hào)量即可。舉例如下:

        
        VxWorks信號(hào)量是提供任務(wù)間通信、同步和互斥的最優(yōu)選擇,它提供任務(wù)問的最快速通信,也是提供任務(wù)間同步和互斥的主要手段。對(duì)于同步,信號(hào)量可以協(xié)調(diào)外部事件與任務(wù)的執(zhí)行。通用二進(jìn)制信號(hào)量能夠滿足兩種類型的任務(wù)協(xié)調(diào)需要:互斥與同步。二進(jìn)制信號(hào)量需要的系統(tǒng)開銷小,因而適用于高性能的需求。二進(jìn)制信號(hào)量可以看成一個(gè)標(biāo)記:對(duì)應(yīng)的資源是可用f滿)還是不可用(空)。當(dāng)任務(wù)調(diào)用函數(shù)semTake()取一個(gè)信號(hào)量時(shí),其結(jié)果依賴于在調(diào)用的時(shí)刻信號(hào)量是否可用。如果此時(shí)信號(hào)量可用,調(diào)用semTake()的結(jié)果使信號(hào)量變?yōu)椴豢捎茫蝿?wù)繼續(xù)執(zhí)行;如果此時(shí)信號(hào)量不可用,調(diào)用semTake()的任務(wù)進(jìn)入一個(gè)阻塞隊(duì)列,進(jìn)入等待狀態(tài)該信號(hào)量變?yōu)榭捎米枞麪顟B(tài)。通過信號(hào)量來同步整個(gè)系統(tǒng)中數(shù)據(jù),可保證系統(tǒng)運(yùn)行的實(shí)時(shí)性和可靠性。
    6 結(jié)束語
        采用上述控制技術(shù),在系統(tǒng)中成功實(shí)現(xiàn)控制驅(qū)動(dòng)對(duì)多種CompactPCI板卡以及DSP信號(hào)處理板、高速A/D通道、低速A/D轉(zhuǎn)換通道、計(jì)數(shù)器通道等均能正常工作。達(dá)到系統(tǒng)設(shè)計(jì)要求,因此可說明VxWorks系統(tǒng)CompactPCI總線的驅(qū)動(dòng)與控制方法可行,保證系統(tǒng)實(shí)時(shí)數(shù)據(jù)采集的可靠性。

    上一篇: VxWorks 下PMC-FPGA板卡驅(qū)動(dòng)的開發(fā)與研究
    下一篇: 印刷電路板(PCB)的電磁兼容設(shè)計(jì)
    ?
    版權(quán)所有 ? 西安航普電子有限責(zé)任公司 未經(jīng)許可

    嚴(yán)禁復(fù)制 陜ICP備08100257號(hào) 建站/推廣/維護(hù)/安全:西安利友科技

    人妻人人爽人人澡人人精品蜜桃-午夜精品久久久久久久91密桃-久久这里只有精品av-老司机久久精品福利 | 日韩成人在线视频一区-久久精品亚洲免费视频-久久精品天海翼av-91福利免费看片 | 天堂av中文激情网-久久成人网精品一区二区-91福利在线观看17c-丁香激情综合五月天 | 色先锋国产成人资源-国产人妻一区二区三区-大香蕉伊人久久精品-欧美日韩国产另类一区二区 | 日韩免费视频日韩免费视频-超碰在线超碰97-国产又粗又猛又爽又黄免费-久久久久亚洲av成人人人网站 | 久久性视频极品-av岛国在线观看免费观看-欧美黑人一区二区在线-91人妻人人澡人人爽人人r精品 | 999国产精品自拍视频-欧美日韩在线视频精品-国产成人精品视频人-91蜜桃麻豆媒体成人影院 | 欧美激情区日韩一区二区三区-日韩欧美区一区二区三-久久嗯啊不要视频-欧美黑人巨大黑人猛交中文 人人射人人舔人人干-中文字幕日韩精品资源av在线-久久久久久久久久电影院-久久不射热爱视频精品在线观看 | 亚洲超碰97人人做人人爱-日韩欧美中文版综合-五月色丁香婷婷综合-99国产精品久久久久电影 | 国产av天堂久久久久-午夜精品福利国产人妻-国产精品久久久久妇女蜜臀-日韩av中文字幕在线观 | 久久三级久久三级久久-精品国产麻豆国产自-av中文天堂在线播放-日韩av激情综合网 | 婷婷基地 激情五月天-欧美日韩情色网站-91精品国产综合久久久蜜臀酒店-久久久久久久人妻电影 | 91中文日韩欧美-婷婷的五月激情综合-又爽又粗又猛又色又黄视频-91亚洲精品久久久久久久久久 | 天天日天天射天天干天天色-成人性生交大片免费看中文带字幕-国产熟女高潮一区二区三区一二区-国产成人综合久久精品推 | 91高潮胡言乱语对白刺激国产-精品国产91久久久久久动漫-日韩av精品在线观看-久久婷婷人人爽 | 中文字幕丝袜一区二区-天天日天天操天天射天天干-成人乱人乱一区二区三区-日韩美女性感激情视频 国产又粗又爽又猛又黄-久久一区二区三区欧美日韩-婷婷成人亚洲综合国产-91中文字幕视频在线观看 | 日韩亚洲粉嫩素人-91麻豆精品视频网站-日韩美女免费视频观看-九九久久精品免费视频观看 | 大香蕉久艹一区二区三区-日韩中文字幕黄片-亚洲国内av不卡在线-91精品夜夜夜一区二区 | 又爽又色又高潮的国产精品-亚洲欧洲日韩午夜av专区-韩欧美中文字幕-日韩三级电影中文字幕在线播放 | 久久久国产高清-99久在线观看免费视频-国产亚洲av天天在线观看-精品人妻少妇久久久久久久 | 中文字幕一区二区二区三区四区-国产精品久久久久久久岛-亚洲中文字幕日本在线-日本中文字幕在线观看 | 亚洲国产成人一区久久-国产精品美女呦呦呦-日韩精品视频在线观看免费看看-日韩三级网站视频在线观看 | 人妻熟女 日韩有码-欧美日本韩国一区二区三区不卡-五月婷婷中文精品-超碰在线97人人草 | 日韩三区在线视频观看-欧美日韩经典第一页-日韩三级在线免费视频-国产露脸老熟女高潮 | 毛片av在线尤物一区二区-国产精品久久久久久999999-久久人人婷婷在线-久久熟妇精品一区二区 | 久久久精彩一区二区-欧美日韩综合精品系列-亚洲精品在线免费看-中文字幕在线视频三级 | 亚洲欧美日韩一级黄片-亚洲精品高清麻豆久久-久久久久久久久久人妻精品-日韩最大av中文字幕在线 成人av网址在线观看-开心久久丁香六月婷婷大全-免费成人免费av-日韩第一a级片 | 久久久久久久iv蜜桃视频-日韩av有码片-日韩欧美中文字幕资源-亚洲高清在线中文字幕 | 久久精品人人做人人爽97-97超碰色婷婷-热re99久久6国产精品-日韩男女大尺度激情视频 | 国产嫩草一区二区三区在线观看-91人妻精品久久久久久久久久-天天综合精品日日夜夜-日韩不卡av电影在线观看 | 久久精品人妻一区久久久久久-久久99逼综合-国产又粗又爽一区-熟女人妻中文字幕在线观看 | 久久婷婷中文字幕伊人-国产日韩视频在线观看视频-国产91麻豆精品-日本熟女久久免费 | 人妻熟女久久天堂-亚洲欧美日韩综合点击进入-国产av网站 中文字幕-欧美日韩国产在线青青草 | 日韩 视频 在线观看-91精品久久久老熟女九色91-国产不卡av一区二区三区-久久人人爽人人网站 | 中文字幕在线播放成人-精品久久99一区二区三区-色综合久久中文字幕-999久久久蜜臀视频最新 | 欧美日韩亚洲国产久久-国产成人av乱码在线-精品人妻一区二区三区逼-99热久久在线免费观看 | 少妇极品熟妇人妻高清性色av-欧美变态人妻中文字幕-国产精品 久久久久久久-久久久婷婷成人综合激情88av | 欧美精品乱码99久久蜜桃文章-精品久久中文字幕密-精品国产乱码91久久久久久网站-欧美日韩国产综合乱 | 国产成人精品日本77亚洲777-一级a性色生活片久久无-国产激情久久久老熟女免费-97超碰在线视频观看 | 日韩剧情电影好看的推荐-国产一区二区三区在线视频-丁香婷婷社区五月天-嫩色av一二三四av精品 | 亚洲人妻精品久久久久久网站-国产精品久久久久久久久大全-91精品福利com-粉嫩av一区二区老牛影视 |