日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
PCI接口卡硬件與驅(qū)動(dòng)程序設(shè)計(jì)
PCI接口卡硬件與驅(qū)動(dòng)程序設(shè)計(jì)
 更新時(shí)間:2008-8-4 4:43:53  點(diǎn)擊數(shù):28
【字體: 字體顏色


    

摘 要:介紹了一種較為通用的PCI接口卡的硬件結(jié)構(gòu),說明了硬件設(shè)計(jì)的幾種可行性方案和硬件設(shè)計(jì)時(shí)需要注意的問題,同時(shí)詳細(xì)地闡述了PCI設(shè)備WDM驅(qū)動(dòng)程序開發(fā)的基本方法,比較了幾種常用開發(fā)工具的優(yōu)缺點(diǎn),并對驅(qū)動(dòng)程序中的PCI設(shè)備I/O端口與存儲器的讀寫、中斷處理以及應(yīng)用程序與驅(qū)動(dòng)程序之間多種通信方式作了詳細(xì)的介紹。
  
關(guān)鍵詞: 雷達(dá)模擬器;PCI接口卡;WDM驅(qū)動(dòng)程序;共享內(nèi)存; 中斷


一、引言
  
目前,PCI技術(shù)已廣泛應(yīng)用于電子行業(yè)的各個(gè)領(lǐng)域,特別是在計(jì)算機(jī)控制、數(shù)據(jù)采集與傳送方面,PCI技術(shù)已經(jīng)成為一種非常成熟的技術(shù)。PCI插卡分為長卡與短卡,雖然長卡提供多達(dá)49平方英寸的設(shè)計(jì)空間[1],但其物理尺寸在復(fù)雜的系統(tǒng)中總會(huì)受到限制,當(dāng)信號處理模塊需要較大空間時(shí),制作一塊很大尺寸的PCI卡插入計(jì)算機(jī)理論上沒有問題,但對整體的結(jié)構(gòu)會(huì)造成問題,更多的想法是設(shè)計(jì)一塊PCI接口卡,使之成為計(jì)算機(jī)與信號處理板的橋梁,通過它完成計(jì)算機(jī)與信號處理板卡間的控制命令發(fā)布、數(shù)據(jù)發(fā)放和接收工作等。

二、接口卡硬件設(shè)計(jì)
  
PCI規(guī)范是比較復(fù)雜的,要深入了解并應(yīng)用需要較長時(shí)間,為了節(jié)省PCI產(chǎn)品的開發(fā)周期,推廣PCI技術(shù),已經(jīng)有很多公司開發(fā)了專門針對PCI總線的產(chǎn)品。
  
利用這些產(chǎn)品,針對不同的應(yīng)用要求,對PCI接口卡采用不同的設(shè)計(jì)方案:①使用PCI專用接口芯片與EPLD相結(jié)合的設(shè)計(jì)方案,接口芯片很多,如AMCC公司的S5920、S5933、PLX的9052、9054、9656等,專用接口芯片完成從PCI總線到本地用戶總線的轉(zhuǎn)接,EPLD靈活地轉(zhuǎn)換邏輯時(shí)序,以適應(yīng)不同的外設(shè);②使用PCI專用接口芯片與DSP芯片相結(jié)合的設(shè)計(jì)方案,這種方案能夠利用DSP芯片編程的靈活性以及DSP芯片本身所帶有的豐富資源,其外部存儲器接口(EMIF)幾乎可以與目前所有的存儲器(SBSRAM、SDRAM、SRAM、ROM、FLASH等)直接對接;③使用專用ASIC設(shè)計(jì)方案,如網(wǎng)卡、Modem的設(shè)計(jì);④僅使用可編程邏輯器件的設(shè)計(jì)方案,Xlinx的LogicCore、Alter的PCI MegaCore等就是一類專門針對PCI總線接口設(shè)計(jì)的軟件模塊,可以將它們模塊嵌入到用戶的可編程邏輯器件中完成設(shè)計(jì)。總的說來,不管是通用型PCI接口芯片還是面向某一領(lǐng)域的專用PCI芯片,它們都是把與PCI接口的信號做在一個(gè)芯片之中,當(dāng)使用這些芯片設(shè)計(jì)PCI產(chǎn)品時(shí),不必對PCI規(guī)范作全面深入理解,主要工作在于針對該芯片的功能與時(shí)序設(shè)計(jì)自己的電路。
  
下面介紹一種采用第一種方案設(shè)計(jì)的PCI接口卡的硬件結(jié)構(gòu),其框圖如圖1所示。

 

  該接口卡應(yīng)用于某型雷達(dá)模擬器中,主要完成主控計(jì)算機(jī)對信號處理板加載雷達(dá)雜波和目標(biāo)數(shù)據(jù)、發(fā)布主機(jī)控制命令、監(jiān)控系統(tǒng)工作狀態(tài)、實(shí)時(shí)采集目標(biāo)軌跡信息等功能。我們選用AMCCS5920作為接口芯片,主要使用了S5920的Pass_Thru通道作為數(shù)據(jù)加載和接收途徑,信箱Mailbox輸出MD[7∶0]作為命令發(fā)布通道;EPM7128SQC100完成從S5920的Add_on用戶總線與信號處理板上的多片雙口存儲器的時(shí)序轉(zhuǎn)換,主要利用Pass_Thru通道指示輸出PTNUM[2∶0]完成對多塊雙口存儲器的選擇,根據(jù)時(shí)序鎖存并產(chǎn)生地址信息,完成地址/數(shù)據(jù)復(fù)用總線的分離等。信號處理板上由DSP芯片將雙口存儲器數(shù)據(jù)傳送到大容量SDRAM中。
  
該卡結(jié)構(gòu)簡單,通過可編程邏輯器件能夠靈活地針對不同外設(shè)進(jìn)行邏輯時(shí)序的調(diào)整,使該接口卡具有較強(qiáng)的通用性。電路板設(shè)計(jì)中最好選用多層布線,在枷叻矯孀⒁獯穎咴盜悠韉?SPAN lang=EN-US>PCI器件的引腳之間,其所有32位接口信號走線的最大長度為1.5英寸,用于64位擴(kuò)展的附加信號走線長度最大為2英寸,特別注意時(shí)鐘信號走線長度為2.5±0.1英寸,而且只能連接到一個(gè)負(fù)載上[1]。

三、驅(qū)動(dòng)程序設(shè)計(jì)
  雖然有些專用芯片帶有相應(yīng)的軟件開發(fā)包,其中含有一些通用的驅(qū)動(dòng)程序和應(yīng)用程序接口,但在實(shí)際應(yīng)用中往往不能做面面俱到,而且用戶對自身的項(xiàng)目,通常會(huì)有些特殊的要求和不同工作模式,故而需要編寫自己板卡的驅(qū)動(dòng)程序。
1. WDM模型簡介
  WDM模型[2,3](Windows Driver Model)是微軟公司為當(dāng)前主流操作系統(tǒng)Windows98和Windows 2000的驅(qū)動(dòng)程序設(shè)計(jì)的一種構(gòu)架,它和傳統(tǒng)的win3.x和win95使用的VXD的驅(qū)動(dòng)是完全不同的體系結(jié)構(gòu)。Window2000系統(tǒng)結(jié)構(gòu)圖如圖2所示,應(yīng)用程序調(diào)用Windows子系統(tǒng)win32 API,這個(gè)調(diào)用由系統(tǒng)服務(wù)接口作用到I/O管理器,I/O管理器進(jìn)行必要的參數(shù)匹配和操作安全性檢查,然后由這個(gè)請求構(gòu)造出合適的IRP(IO Request Package),它實(shí)際上是一個(gè)數(shù)據(jù)結(jié)構(gòu),具有豐富的成員,對于單層的驅(qū)動(dòng)程序直接接受并執(zhí)行這個(gè)請求包,并完成對硬件的操作,從而完成I/O請求工作,并將執(zhí)行的結(jié)果通過I/O管理器返回給應(yīng)用程序,而對于多層的驅(qū)動(dòng)則將驅(qū)動(dòng)程序分成了若干層,每層驅(qū)動(dòng)再把I/O請求劃分成更簡單的請求,以傳給更下層的驅(qū)動(dòng)執(zhí)行。

 

2. 開發(fā)工具
  
目前開發(fā)WDM驅(qū)動(dòng)程序通常有3種工具,如表1所示。

  3種開發(fā)工具的使用:Windows DDK需要對整個(gè)體系結(jié)構(gòu)有很好的理解和把握;DriverStudio對一些基本的操作做了封裝,減少了很多瑣碎的工作;Windriver幾乎不需要什么代碼的編寫,它只需要用戶定制和調(diào)用它提供的通用驅(qū)動(dòng),但在效率上受到了限制;谝陨系奶攸c(diǎn),大多數(shù)驅(qū)動(dòng)開發(fā)人員用Windriver作驅(qū)動(dòng)程序的原型,用Driverstudio作最終發(fā)行的驅(qū)動(dòng)程序,如果驅(qū)動(dòng)程序很復(fù)雜的話,則使用DDK開發(fā)。
3. 設(shè)計(jì)方法
  
我們使用VC+DDK+Driverstudio來進(jìn)行驅(qū)動(dòng)的開發(fā)。Driverstudio為驅(qū)動(dòng)程序設(shè)計(jì)提供了DriverWizard向?qū)В梢院芊奖愕亟⒁粋(gè)完整的驅(qū)動(dòng)程序框架。設(shè)計(jì)PCI驅(qū)動(dòng)程序基本步驟為:
  
①選擇
PCI總線類型,填寫相應(yīng)的VendorID、DeviceID、SubsystemID、RevisionID,這些必須和PCI板卡上的配置信息一致,用于產(chǎn)生INF文件,在安裝時(shí)識別板卡;
  
②填寫注冊表信息;
  ③添加資源
,包括I/O、Memory、IRQ、DMA等;
  
④選擇設(shè)備接口方式、讀寫方式、電源管理方式等;
 、萏砑
IOCTL命令字,并選用相應(yīng)的輸入輸出模式;
  
⑥產(chǎn)生框架代碼,添加用戶代碼;
 、呔幾g調(diào)試。
  驅(qū)動(dòng)程序設(shè)計(jì)的工作主要在步驟⑥、⑦,編寫驅(qū)動(dòng)主要針對以下的幾個(gè)方面[3]。
  
(1) 端口和內(nèi)存映射區(qū)域讀寫
  
驅(qū)動(dòng)程序框架已經(jīng)在添加資源時(shí),創(chuàng)建了操作資源的KMemoryRange類和KIoRange類的對象,如:將PCI的Base1空間設(shè)定為一個(gè)內(nèi)存映射的空間,這個(gè)空間實(shí)際上就是雙口存儲器映射的空間,我們要訪問雙口存儲器就是訪問Base1空間,這時(shí)S5920的PTNUM [2∶0]會(huì)輸出001,可以使用它完成對映射到該空間雙口存儲器的片選使能,驅(qū)動(dòng)程序中需要?jiǎng)?chuàng)建對象KMemoryRange  m_MemoryRangeFor
 

  • 上一篇: 串行D/A轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)
  • 下一篇: 微機(jī)CRT與LED顯示屏同步顯示接口電路設(shè)計(jì)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1