《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > VxWorks操作系統(tǒng)下實(shí)現(xiàn)ComPactPCI總線驅(qū)動
VxWorks操作系統(tǒng)下實(shí)現(xiàn)ComPactPCI總線驅(qū)動
國外電子元器件
季宇
摘要: VxWorks操作系統(tǒng)下實(shí)現(xiàn)ComPactPCI總線驅(qū)動,1引言VxWorks是美國WindRiver公司專門為嵌入式處理器設(shè)計(jì)的一種模塊化、高性能的實(shí)時多任務(wù)操作系統(tǒng)。這里提出一種VxWorks操作系統(tǒng)下CompactPCI總線驅(qū)動程序的設(shè)計(jì)及實(shí)現(xiàn)。該設(shè)計(jì)使用德國KontronDT-64,采用D
Abstract:
Key words :

1 引言

  VxWorks是美國Wind River公司專門為嵌入式處理器設(shè)計(jì)的一種模塊化、高性能的實(shí)時多任務(wù)操作系統(tǒng)。這里提出一種VxWorks操作系統(tǒng)下CompactPCI總線驅(qū)動程序的設(shè)計(jì)及實(shí)現(xiàn)。該設(shè)計(jì)使用德國Kontron DT-64,采用Dual PentiLim 3 CPU,工作頻率高達(dá)866 MHz,具有128 KB一級高速緩存和128 KB二級高速緩存。
 

  2 BSP與VxWorks的關(guān)系

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

  

BSP與VxWorks之間的關(guān)系圖

 

  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位總線,它在高度集成的外圍控制器件、外圍插件板和處理器/存儲器之間起連接作用。PCI總線為CPU和板上外設(shè)提供了方便的高速通信連接,工作頻率為66 MHz或更高。PCI作為一種同步的、獨(dú)立于處理器的32 bit或64 bit局部總線,在工作頻率為33 MHz總線寬度為32 bit最低規(guī)格時其峰值吞吐速率可達(dá)到132 MB/s,適用于網(wǎng)絡(luò)適配器、硬盤驅(qū)動器、視頻卡、圖形卡等各類高速外設(shè)。連接到PCI總線上的設(shè)備分為主控和目標(biāo)兩類,PCI支持多主系統(tǒng)。PCI總線的一個重要特點(diǎn)是存在配置空間,它提供一種配置關(guān)聯(lián),適合于目前或?qū)淼南到y(tǒng)配置機(jī)制,實(shí)現(xiàn)參數(shù)自動配置。系統(tǒng)軟件通過讀取配置空間中相應(yīng)參數(shù),即可確定PCI總線上掛接了什么設(shè)備以及需要哪些資源,通過對地址空間的重定位分配資源避免競爭,實(shí)現(xiàn)PCI設(shè)備的即插即用。

  連接到PCI總線的用戶功能板卡需要使用PCI總線接口控制器和PCI總線進(jìn)行交互,在應(yīng)用系統(tǒng)設(shè)計(jì)時采用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個接口。LOCAL總線支持復(fù)用/非復(fù)用的32 bit地址/數(shù)據(jù),有3種工作模式:M、C和J。在系統(tǒng)實(shí)際數(shù)據(jù)采集時,將LOCAl總線設(shè)置為C模式,這是一種目標(biāo)設(shè)備模式。選用NM93CS56L型串行E2PROM作為QL5064的配置器件,該器件通過E2ROM接口和QL5064相連。QL5064的長配置方式要求68個字節(jié)的信息,主要包括:設(shè)備識別號、供應(yīng)商代碼號、LO-CAL總線3個空間的性質(zhì)、范圍以及基址等,這些配置信息內(nèi)容一般要預(yù)先設(shè)計(jì)并用編程器事先寫入配置器件中。在計(jì)算機(jī)啟動時,系統(tǒng)將根據(jù)配置信息分配器件所申請的資源。Q155064作為一種橋接器件,在PCI總線和LOCAL總線之間有3種主要數(shù)據(jù)傳輸模式:

  (1)PCI Initiator數(shù)據(jù)傳輸模式 主控模式,LOCAL總線主設(shè)備通過QL5064訪問PCI總線存儲空間和I/O空間;

  (2)PCI Target數(shù)據(jù)傳輸模式PCI總線主設(shè)備通過QL5064訪問LOCAL總線存儲空問和I/O空間;

  (3)DMA數(shù)據(jù)傳輸模式QL5064作為兩總線的主設(shè)備,從PCI總線存儲空間讀數(shù)據(jù)到LOCAL總線存儲空間或者從LOCAL總線存儲空間讀數(shù)據(jù)到PCI總線存儲空間。在系統(tǒng)設(shè)計(jì)中,使用PCI Target數(shù)據(jù)傳輸模式讀寫控制模塊中的寄存器。

   4 設(shè)備的配置技術(shù)

 

  VxWorks是專門為實(shí)時嵌人式系統(tǒng)設(shè)計(jì)開發(fā)的操作系統(tǒng)軟件,提供高效的實(shí)時任務(wù)調(diào)度、中斷管理、實(shí)時的系統(tǒng)資源分配以及實(shí)時的任務(wù)間通信。程序員可將主要精力放在應(yīng)用程序本身,而不用關(guān)心對系統(tǒng)資源的管理。

  為闡明在VxWorks操作系統(tǒng)下如何實(shí)現(xiàn)CompaetPCI總線設(shè)備的驅(qū)動,需了解PCI設(shè)備的配置寄存器空間。PCI設(shè)備有3種物理存儲空間:配置寄存器空間、存儲器空間和I/O空間。PCI局部總線設(shè)備中配置寄存器空間是一容量為256 KB并具有特定記錄結(jié)構(gòu)的地址空間,該空間分為頭標(biāo)區(qū)和設(shè)備有關(guān)區(qū)兩部分,空間頭標(biāo)區(qū)的定義如圖2所示。

  

 

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

  PCI設(shè)備可以在地址空間中重定位是其重要功能之一,使得系統(tǒng)可合理地分配資源,甚至完全相同的兩塊PCI卡也能夠在同一總線內(nèi)工作而不會產(chǎn)生地址沖突。基地址寄存器的功能是分配PCI設(shè)備的系統(tǒng)地址空間,在基地址寄存器中,位0(最低位)均為只讀位并且用來標(biāo)識是存儲器空間還是I/O地址空間。如果該位為0,表示映射到存儲器空間。映射到I/O空間的基址寄存器寬度總是32 bit,其中位0值為1 (用硬件實(shí)現(xiàn)),位1為保留位并且其讀出值必須為0,其余各位用來把設(shè)備映射到I/O空間。映射到存儲器空間的基址寄存器可以是32 bit寬度,也可以是64 bit寬度。其中位0也要用硬件方式使其恒為0。位2和位1兩位用來表示映射類型,其余各位用來將設(shè)備映射到存儲器空間。

  系統(tǒng)配置軟件通過向基址寄存器寫入全“1”后再讀回的方式確定設(shè)備要求的地址空間范圍,與地址空間無關(guān)的位其返回值為0。

  在VxWorks操作系統(tǒng)下實(shí)現(xiàn)CompactPCI總線設(shè)備的驅(qū)動過程主要包括下面步驟:

  (1)查找CompaetPCI設(shè)備在VxWorks操作系統(tǒng)中通過函數(shù)peiFindDeviee()來實(shí)現(xiàn),該函數(shù)可根據(jù)給定的設(shè)備標(biāo)識和供應(yīng)商代碼找到相應(yīng)的設(shè)備。并返回總線號、設(shè)備號以及功能號。函數(shù)的定義如下:

  

 

  )

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久电影一区| 国产精品区一区二区三区| 亚洲一区免费网站| 亚洲卡通欧美制服中文| 亚洲第一精品福利| 欧美一区二区三区精品| 午夜精品久久久久久久99黑人 | 亚洲国产精品成人| 在线观看成人网| 激情综合激情| 在线免费观看欧美| 在线观看视频日韩| 亚洲第一精品夜夜躁人人爽| 一区免费观看视频| 在线日韩av片| 亚洲国产精品久久久久婷婷老年| 亚洲第一搞黄网站| 91久久精品国产91久久性色| 91久久精品日日躁夜夜躁国产| 亚洲激情第一页| 亚洲日本免费电影| 亚洲美女淫视频| 一区二区三区四区蜜桃| 亚洲综合精品四区| 欧美一区二区三区喷汁尤物| 久久aⅴ国产欧美74aaa| 亚洲国产精品成人综合| 亚洲欧洲在线视频| 日韩视频免费观看| 亚洲女性喷水在线观看一区| 欧美一二三区在线观看| 久久久人成影片一区二区三区 | 1024成人| 99精品久久免费看蜜臀剧情介绍| 在线亚洲精品| 性做久久久久久久久| 久久er99精品| 亚洲精品中文字幕在线观看| 一区二区三区欧美在线| 午夜精品福利在线| 久久免费国产| 欧美成人午夜77777| 欧美日韩喷水| 国产精品天美传媒入口| 国产一区二区在线免费观看| 亚洲国产mv| 在线视频日韩| 久久精品国产清高在天天线| 日韩一区二区免费高清| 亚洲欧美色婷婷| 久久亚洲国产精品日日av夜夜| 欧美精品福利在线| 国产噜噜噜噜噜久久久久久久久 | 狠狠久久婷婷| 日韩天堂av| 性娇小13――14欧美| 亚洲国产精品久久久久婷婷884 | 国产精品久久久久永久免费观看| 国产亚洲欧洲997久久综合| 亚洲国产精品久久人人爱蜜臀| aa日韩免费精品视频一| 欧美一区二区三区日韩| 99热在线精品观看| 久久xxxx精品视频| 欧美激情亚洲一区| 国产区亚洲区欧美区| 亚洲国产专区| 欧美亚洲在线| 中文av字幕一区| 老司机免费视频久久| 国产精品成人在线观看| 亚洲第一区中文99精品| 亚洲欧美日韩精品综合在线观看| 亚洲精品日本| 久久九九国产精品| 欧美午夜剧场| 亚洲国产日韩美| 香蕉尹人综合在线观看| 一区二区三区四区五区视频 | 久久精品国产99| 亚洲一区二区免费| 欧美大片在线观看| 国产日韩一区二区三区在线播放| 日韩一区二区久久| 亚洲人成人一区二区三区| 欧美一区网站| 欧美三级午夜理伦三级中视频| 在线日韩欧美| 久久黄色小说| 欧美在线视频免费| 欧美午夜大胆人体| 亚洲欧洲中文日韩久久av乱码| 欧美专区一区二区三区| 亚洲欧美一级二级三级| 欧美日韩福利视频| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲你懂的在线视频| 一区二区免费在线观看| 欧美成人日韩| 亚洲高清av| 久久精品一本| 久久久久久久一区二区| 国产精品色婷婷久久58| 一区二区三区精品久久久| 一本久道久久久| 欧美激情一区二区三区高清视频 | 国产精品视频| 一区二区三区回区在观看免费视频| 亚洲精品欧洲| 免费在线观看成人av| 黄色亚洲在线| 久久精品免费| 久久在线免费观看| 国模一区二区三区| 久久成人18免费网站| 欧美在线综合| 国产美女高潮久久白浆| 亚洲欧美成人在线| 欧美一区二区三区在线看| 国产精品爽爽爽| 亚洲欧美影院| 久久精品免费看| 国产亚洲毛片| 亚洲高清不卡av| 美女成人午夜| 亚洲电影在线免费观看| 91久久久一线二线三线品牌| 免费看的黄色欧美网站| 精品动漫一区二区| 亚洲精品国精品久久99热一| 欧美va亚洲va日韩∨a综合色| 亚洲国产精品一区| 99国产精品久久久| 欧美日韩在线视频一区二区| 99精品久久久| 午夜精品亚洲一区二区三区嫩草| 国产精品丝袜久久久久久app | 欧美亚洲免费电影| 久久精品国产2020观看福利| 好吊妞**欧美| 亚洲国产小视频在线观看| 欧美—级a级欧美特级ar全黄| 亚洲人午夜精品| 亚洲一区二区三区中文字幕| 国产欧美91| 久久国产一区二区| 欧美成人一区二区三区| 亚洲人体大胆视频| 亚洲一区二区三区在线| 国产日韩欧美精品在线| 欧美在线视频一区二区| 美女脱光内衣内裤视频久久影院| 亚洲国产精品黑人久久久| 亚洲视频免费看| 国产视频久久久久| 亚洲精品久久久久久久久久久久久| 欧美日韩精品在线播放| 亚洲尤物精选| 麻豆精品在线视频| 99精品欧美一区二区三区| 亚洲欧美在线高清| 一区二区三区在线免费观看| 日韩视频精品在线观看| 国产精品网站一区| 亚洲国产欧美一区二区三区久久 | 一区二区电影免费观看| 欧美一区亚洲二区| 在线观看亚洲专区| 中文在线资源观看网站视频免费不卡 | 亚洲美女视频在线免费观看| 国产精品a久久久久久| 午夜免费电影一区在线观看| 欧美a级一区| 亚洲一区久久久| 久久在线观看视频| 亚洲最新合集| 卡通动漫国产精品| 亚洲色诱最新| 能在线观看的日韩av| 亚洲午夜激情网站| 欧美国产精品中文字幕| 亚洲欧美日韩在线综合| 欧美成人三级在线| 亚洲欧美日韩在线播放| 欧美猛交免费看| 欧美中文字幕在线| 欧美日韩亚洲高清| 亚洲高清视频一区| 国产精品另类一区| 亚洲精品一区二区在线| 国产欧美一区二区精品婷婷| 日韩亚洲精品视频| 国产亚洲欧美日韩日本| 亚洲图片欧美一区| 亚洲第一在线综合网站| 久久riav二区三区| 亚洲视频综合| 欧美日韩成人在线视频| 亚洲国产另类久久久精品极度| 国产精品网站在线|