《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > VxWorks操作系統下ComPactPCI總線驅動程序設計
VxWorks操作系統下ComPactPCI總線驅動程序設計
摘要: VxWorks是美國Wind River公司專門為嵌入式處理器設計的一種模塊化、高性能的實時多任務操作系統。嵌入式軟件多采用交叉開發的方式,即主機運行開發工具Tonado,通過某種連接方式連接目標機,硬件平臺為PC/104+架構。這里提出一種VxWorks操作系統下CompactPCI總線驅動程序的設計及實現。
Abstract:
Key words :

  1 引言

  VxWorks" title="VxWorks">VxWorks是美國Wind River公司專門為嵌入式處理器設計的一種模塊化、高性能的實時多任務操作系統。嵌入式軟件多采用交叉開發的方式,即主機運行開發工具Tonado,通過某種連接方式連接目標機,硬件平臺為PC/104+架構。這里提出一種VxWorks操作系統下ComPactPCI總線" title="ComPactPCI總線">ComPactPCI總線驅動程序的設計及實現。該設計使用德國Kontron DT-64,它是一款高性能嵌入式計算機。采用Dual PentiLim 3 CPU,工作頻率高達866 MHz,具有128 KB一級高速緩存和128 KB二級高速緩存。KontronDT-64與PC/AT標準完全兼容,并遵從PC/104+標準。具有PC/104結構的優點,適用于各種復雜的工作環境。

  2 BSP" title="BSP">BSP與VxWorks的關系

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

BSP與VxWorks之間的關系

  3 總線及接口技術

  由于CompactPCI規范定義基于PCI總線方式的復印加堅固而耐用的PCI版本,并且適用于工業和嵌入式應用,本設計采用此規范。CompactPCI總線是3種技術的集成:通用PCI局部總線(Local Bus)的高性能,安裝牢固的歐卡結構,接觸可靠的針孔連接器(pin-antl-soeket connector)。

  PCI局部總線是一種地址和數據復用的高性能32,64位總線,它在高度集成的外圍控制器件、外圍插件板和處理器/存儲器之間起連接作用。PCI總線為CPU和板上外設提供了方便的高速通信連接,工作頻率為66 MHz或更高。PCI作為一種同步的、獨立于處理器的32 bit或64 bit局部總線,在工作頻率為33 MHz總線寬度為32 bit最低規格時其峰值吞吐速率可達到132 MB/s,適用于網絡適配器、硬盤驅動器、視頻卡、圖形卡等各類高速外設。連接到PCI總線上的設備分為主控和目標兩類,PCI支持多主系統。PCI總線的一個重要特點是存在配置空間,它提供一種配置關聯,適合于目前或將來的系統配置機制,實現參數自動配置。系統軟件通過讀取配置空間中相應參數,即可確定PCI總線上掛接了什么設備以及需要哪些資源,通過對地址空間的重定位分配資源避免競爭,實現PCI設備的即插即用。

  連接到PCI總線的用戶功能板卡需要使用PCI總線接口控制器和PCI總線進行交互,在應用系統設計時采用OL5064器件。QL5064是一款32 bit/33 MHz的通用PCI總線控制器,符合PCI規范2.2版,本突發傳輸速率達到132 MB/s??勺鳛镻CI總線的主控設備控制總線,也可作為目標設備響應總線。Ql5064提供了PCI總線、E2ROM、LOCAL總線3個接口。LOCAL總線支持復用/非復用的32 bit地址/數據,有3種工作模式:M、C和J。在系統實際數據采集時,將LOCAl總線設置為C模式,這是一種目標設備模式。選用NM93CS56L型串行E2PROM作為QL5064的配置器件,該器件通過E2ROM接口和QL5064相連。QL5064的長配置方式要求68個字節的信息,主要包括:設備識別號、供應商代碼號、LO-CAL總線3個空間的性質、范圍以及基址等,這些配置信息內容一般要預先設計并用編程器事先寫入配置器件中。在計算機啟動時,系統將根據配置信息分配器件所申請的資源。Q155064作為一種橋接器件,在PCI總線和LOCAL總線之間有3種主要數據傳輸模式:

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

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

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

  4 設備的配置技術

  VxWorks是專門為實時嵌人式系統設計開發的操作系統軟件,提供高效的實時任務調度、中斷管理、實時的系統資源分配以及實時的任務間通信。程序員可將主要精力放在應用程序本身,而不用關心對系統資源的管理。

 

  為闡明在VxWorks操作系統下如何實現CompaetPCI總線設備的驅動,需了解PCI設備的配置寄存器空間。PCI設備有3種物理存儲空間:配置寄存器空間、存儲器空間和I/O空間。PCI局部總線設備中配置寄存器空間是一容量為256 KB并具有特定記錄結構的地址空間,該空間分為頭標區和設備有關區兩部分,空間頭標區的定義如圖2所示。

空間頭標區的定義

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

  PCI設備可以在地址空間中重定位是其重要功能之一,使得系統可合理地分配資源,甚至完全相同的兩塊PCI卡也能夠在同一總線內工作而不會產生地址沖突?;刂芳拇嫫鞯墓δ苁欠峙銹CI設備的系統地址空間,在基地址寄存器中,位0(最低位)均為只讀位并且用來標識是存儲器空間還是I/O地址空間。如果該位為0,表示映射到存儲器空間。映射到I/O空間的基址寄存器寬度總是32 bit,其中位0值為1 (用硬件實現),位1為保留位并且其讀出值必須為0,其余各位用來把設備映射到I/O空間。映射到存儲器空間的基址寄存器可以是32 bit寬度,也可以是64 bit寬度。其中位0也要用硬件方式使其恒為0。位2和位1兩位用來表示映射類型,其余各位用來將設備映射到存儲器空間。

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

  在VxWorks操作系統下實現ComPactPCI總線設備的驅動過程主要包括下面步驟:

  (1)查找CompaetPCI設備在VxWorks操作系統中通過函數peiFindDeviee()來實現,該函數可根據給定的設備標識和供應商代碼找到相應的設備。并返回總線號、設備號以及功能號。函數的定義如下:

  程序)

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

  5 中斷的響應與控制

  硬件中斷處理是實時系統設計的關鍵環節,系統通過中斷與外部事件交互。為了獲得盡可能快的中斷響應時間,Vx-Works的中斷處理程序需要運行在特定的上下文中,也就是在所有任務上下文之外。因此,中斷處理不會涉及任何任務上下文的切換。QL5064接幾器件的寄存器序列巾有一個中斷控制/狀態寄存器,其偏移地址為0x68H。該寄存器可以使能或禁止CompactPCI總線的中斷,因此在系統進行中斷服務程序的配置時,必須設定該寄存器的內容,否則系統不能正常響應中斷&nBSP;   在VxWorks系統下可以使用pciIntConnect()函數將中斷和特定的C程序連接起來,該函數將指定的C函數與中斷向量相聯系,甬數的地址將存儲在這個中斷向量里。所以當中斷發生時,系統將調用這個被稱為中斷服務程序的函數。因此,cPCI設備的中斷響應設置主要有兩點:

  (1)調用pciIntConnect()函數設置中斷服務程序,該函數的定義如下:

程序

  如果要禁止該設備的中斷響應,可以給QL5064的中斷控制寄存器寫入0x0f000000即可。

  中斷服務程序ISR負責協凋系統的采集任務,在系統設計時采用信號量的方式實現任務間的同步,因此ISR的程序非常簡單,只給出和特定中斷事件相關的信號量即可。舉例如下:

程序

  VxWorks信號量是提供任務間通信、同步和互斥的最優選擇,它提供任務問的最快速通信,也是提供任務間同步和互斥的主要手段。對于同步,信號量可以協調外部事件與任務的執行。通用二進制信號量能夠滿足兩種類型的任務協調需要:互斥與同步。二進制信號量需要的系統開銷小,因而適用于高性能的需求。二進制信號量可以看成一個標記:對應的資源是可用f滿)還是不可用(空)。當任務調用函數semTake()取一個信號量時,其結果依賴于在調用的時刻信號量是否可用。如果此時信號量可用,調用semTake()的結果使信號量變為不可用,任務繼續執行;如果此時信號量不可用,調用semTake()的任務進入一個阻塞隊列,進入等待狀態該信號量變為可用阻塞狀態。通過信號量來同步整個系統中數據,可保證系統運行的實時性和可靠性。

  6 結束語

  采用上述控制技術,在系統中成功實現控制驅動對多種CompactPCI板卡以及DSP信號處理板、高速A/D通道、低速A/D轉換通道、計數器通道等均能正常工作。達到系統設計要求,因此可說明VxWorks系統CompactPCI總線的驅動與控制方法可行,保證系統實時數據采集的可靠性。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久精品国产第一区二区三区| 在线视频国内自拍亚洲视频| 亚洲精品中文字幕女同| 久久视频在线免费观看| 亚洲精品免费在线| 亚洲精品资源| 久久夜色精品国产欧美乱极品| 欧美第一黄色网| 一区二区三区中文在线观看| 亚洲私拍自拍| 久久亚洲国产成人| 国产精品国产a级| 欧美成人精品h版在线观看| 国产精品久久久久久久久借妻| av成人天堂| 欧美在线观看一区二区| 欧美亚洲一区在线| 国产精品乱人伦一区二区| 一区二区在线观看av| 国产视频综合在线| 免费高清在线视频一区·| 亚洲国产精品女人久久久| 欧美日韩另类字幕中文| 亚洲视频电影图片偷拍一区| 国产一区二区三区在线观看网站| 亚洲精品日韩激情在线电影| 欧美亚洲一级片| 亚洲片国产一区一级在线观看| 欧美一区二区三区免费观看| 亚洲第一伊人| 国产欧美一区二区三区久久人妖| 午夜免费电影一区在线观看| 欧美二区不卡| 欧美一区二区三区啪啪| 国产亚洲欧洲| 伊人久久亚洲热| 久久久久国产免费免费| 国产精品人人爽人人做我的可爱| 久久精品日产第一区二区三区| 欧美日韩精品三区| 9l视频自拍蝌蚪9l视频成人| 99热这里只有成人精品国产| 欧美在线视频观看免费网站| 久久国产乱子精品免费女| 欧美日韩一区二区三区免费看| 亚洲线精品一区二区三区八戒| 一区二区欧美在线观看| 久久国产一区二区三区| 亚洲欧美日韩精品久久久| 免费在线播放第一区高清av| 欧美亚洲视频在线观看| 一区二区三区精品| 亚洲婷婷综合久久一本伊一区| 欧美成人自拍视频| 久久久精品日韩欧美| 国产精品久久久久久久久果冻传媒| 欧美日韩亚洲综合一区| 久久在线免费观看| 亚洲最新在线| 国产精品国内视频| 欧美激情在线观看| 一区视频在线看| 久久国产毛片| 欧美在线亚洲| 欧美一区二区福利在线| 欧美成人精品在线| 狠狠色狠狠色综合| 亚洲一区二区三区高清| 国产亚洲欧美日韩美女| 国产欧美精品一区aⅴ影院| 久久日韩粉嫩一区二区三区| 欧美性jizz18性欧美| 国产欧美精品一区二区三区介绍| 国产精品理论片| 99精品久久久| 亚洲二区视频在线| 久久精品观看| 一区二区高清在线观看| 尤物99国产成人精品视频| 国产精品久久久久久影视| 国产亚洲精品久久久久婷婷瑜伽| 99精品久久免费看蜜臀剧情介绍| 狠狠色噜噜狠狠狠狠色吗综合| 日韩系列欧美系列| 国产精品另类一区| 亚洲性感激情| 狠狠色丁香婷婷综合久久片| 久久久av毛片精品| 欧美视频日韩视频在线观看| 狠狠色丁香婷综合久久| 欧美午夜a级限制福利片| 亚洲精品影院在线观看| 欧美极品一区| 在线成人小视频| 欧美日韩一区二区三区在线看| 亚洲动漫精品| 好看的亚洲午夜视频在线| 亚洲国产精品va在线看黑人| 国产精品入口麻豆原神| 久久久一本精品99久久精品66| 一本色道久久综合狠狠躁篇怎么玩| 狠狠v欧美v日韩v亚洲ⅴ| 一本色道久久综合亚洲精品婷婷| 欧美成人精品一区二区三区| 国内伊人久久久久久网站视频| 国产欧美视频一区二区| 欧美成人精品高清在线播放| 欧美三级中文字幕在线观看| 久久国产精品久久精品国产| 久久精品亚洲热| 99精品视频一区二区三区| 在线观看欧美日本| 国产精品视频精品| 99热这里只有成人精品国产| 欧美亚洲综合在线| 一区二区三区日韩欧美精品| 亚洲蜜桃精久久久久久久| 亚洲欧美日韩国产一区| 亚洲一区二区视频| 国产亚洲欧美在线| 欧美午夜久久久| 久久婷婷蜜乳一本欲蜜臀| 日韩午夜激情电影| 久久av一区二区| 亚洲国产第一| 亚洲精品国产品国语在线app| 欧美精品日韩综合在线| 欧美一区二区私人影院日本| 亚洲国产成人一区| 蜜桃久久精品乱码一区二区| 久久久一本精品99久久精品66| 老司机精品视频一区二区三区| 欧美日本韩国一区| 久久这里有精品15一区二区三区| 国产欧美精品国产国产专区| 亚洲国产导航| 欧美a级理论片| 午夜精品久久99蜜桃的功能介绍| 亚洲激情av在线| 亚洲免费伊人电影在线观看av| 亚洲福利视频一区二区| 国产精品女人久久久久久| 香港久久久电影| 国产综合18久久久久久| 国产午夜精品一区理论片飘花| 欧美 日韩 国产在线| 欧美亚洲视频一区二区| 羞羞漫画18久久大片| 先锋a资源在线看亚洲| 欧美女人交a| 欧美香蕉大胸在线视频观看| 亚洲图片欧洲图片av| 欧美日韩国产在线观看| 欧美福利视频在线| 久久黄色小说| 欧美aa国产视频| 在线免费观看日本欧美| 亚洲一区二区综合| 亚洲视频综合| 国产一区二区三区免费观看| 亚洲精品在线电影| 性色av一区二区怡红| 国产亚洲人成网站在线观看| 国语精品中文字幕| 欧美在线一二三区| 国产精品一区二区久激情瑜伽| 欧美日韩免费高清| 欧美成人一区在线| 亚洲欧美三级在线| 国产欧美精品久久| 久久精品国产欧美亚洲人人爽| 亚洲欧美在线看| 亚洲午夜精品| 欧美在线国产精品| 亚洲激情偷拍| 亚洲国产精品一区二区www在线| 欧美在线视频网站| aa级大片欧美| 亚洲国产精品久久久久秋霞影院| 欧美在线视频免费观看| 久久综合精品一区| 欧美丝袜一区二区| 亚洲伦理自拍| 欧美精品三级在线观看| 激情久久久久| 欧美一区高清| 欧美四级剧情无删版影片| 欧美日韩一二三区| 亚洲欧美综合另类中字| 亚洲免费av电影| 樱花yy私人影院亚洲| 亚洲精品国偷自产在线99热| 亚洲在线日韩| 国产目拍亚洲精品99久久精品| 农村妇女精品| 精品福利av| 久久精品动漫| 国产伦理一区| 久久精品国产一区二区三| 久久久久91| 国产精品一卡二| 99精品视频网| 亚洲在线视频一区| 黄色一区二区在线观看| 男男成人高潮片免费网站| 日韩小视频在线观看| 一本大道久久a久久精品综合| 免费视频一区二区三区在线观看| 亚洲免费久久| 欧美日韩国产综合新一区| 欧美日本一区二区高清播放视频| 亚洲精品久久久久久久久久久久| 欧美在线国产精品| 欧美日韩免费在线| 美日韩丰满少妇在线观看| 欧美一区二区三区视频免费| 麻豆成人91精品二区三区| 国产亚洲欧美另类中文| 99国产精品久久| 亚洲精品乱码久久久久久黑人| 国产精品国产三级国产普通话蜜臀| 久久亚洲国产成人| 欧美一级专区免费大片| 亚洲欧美日本国产专区一区| 国产欧美精品一区二区三区介绍| 久久久久久亚洲精品不卡4k岛国| 久久99在线观看| 欧美成人有码| 久久精品国产一区二区三区免费看| 欧美电影在线观看| 中文欧美在线视频| 一卡二卡3卡四卡高清精品视频| 午夜性色一区二区三区免费视频| 久久综合九色综合网站| 激情综合色丁香一区二区| 美女主播精品视频一二三四| 久久婷婷国产综合尤物精品| 欧美日韩1区2区3区| 国产精品网站视频| 欧美在线免费观看视频| 国产亚洲女人久久久久毛片| 欧美精品二区| 在线观看精品视频| 亚洲第一视频| 欧美mv日韩mv国产网站| 91久久久亚洲精品| 欧美视频免费在线观看| 国产日韩亚洲| 欧美日韩在线播放三区四区| 欧美天天影院| 亚洲深夜福利网站| 久久av一区| 亚洲在线观看视频| 国内精品一区二区三区| 欧美理论电影网| 欧美暴力喷水在线| 国产日韩精品入口| 欧美一级二区| 在线亚洲精品福利网址导航| 伊人成综合网伊人222| 一区二区三区精密机械公司| 欧美日韩ab片| 久久久免费观看视频| 欧美一区二区高清在线观看| 欧美~级网站不卡| 欧美激情一二区| 亚洲片国产一区一级在线观看| 国产精品永久免费观看| 国产精品国产一区二区| 国产人成一区二区三区影院| 在线综合亚洲| 国产亚洲欧美色| 亚洲视频每日更新| 国产视频一区二区三区在线观看| 亚洲欧美美女| 在线观看国产日韩| 国产精品免费观看视频| 国产精品99久久久久久白浆小说| 今天的高清视频免费播放成人| 久久免费一区| 国产日产精品一区二区三区四区的观看方式| 亚洲淫片在线视频| 欧美精品一区二区三| 国产精品每日更新在线播放网址| 欧美性jizz18性欧美| 亚洲第一黄色| 欧美日韩在线视频一区二区| 国产婷婷97碰碰久久人人蜜臀| 99热这里只有成人精品国产| 欧美中文字幕在线| 亚洲精品一区在线观看香蕉| 久久久成人网| 玖玖玖免费嫩草在线影院一区| 欧美中文字幕视频在线观看| 国产精品久久国产三级国电话系列| 亚洲高清av| 欧美日韩在线一二三| 一本色道久久加勒比精品| 久久综合色综合88| 国内外成人免费激情在线视频网站| 国产精品久久九九| 国产精品久久久久久久午夜| 欧美在线观看天堂一区二区三区| 亚洲欧洲日本在线| 国产精品区一区二区三| 日韩亚洲精品电影| 亚洲深夜av| 久久久久久伊人| 国产欧美一区二区三区久久人妖| 国内欧美视频一区二区| 欧美午夜免费电影| 亚洲校园激情| 国产精品女同互慰在线看| 一区二区三区不卡视频在线观看| 99视频一区二区| 久久午夜羞羞影院免费观看| 国产九九精品视频| 国产在线欧美| 欧美激情精品久久久久久久变态| 狂野欧美激情性xxxx| 麻豆9191精品国产| 欧美成人自拍| 亚洲精品你懂的| 国产曰批免费观看久久久| 欧美一级理论性理论a| 欧美一区二区三区在线看| 国产伦精品一区二区三区视频孕妇| 欧美国产欧美亚州国产日韩mv天天看完整|