<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于DSP內(nèi)嵌PCI總線的衛(wèi)星信號仿真器設(shè)計

          基于DSP內(nèi)嵌PCI總線的衛(wèi)星信號仿真器設(shè)計

          作者: 時間:2009-08-25 來源:網(wǎng)絡(luò) 收藏

          2 6416關(guān)鍵寄存器及其中斷機(jī)制
          6416的接口支持通過主/從總線接口連接主機(jī),PCI接口端通過EDMA內(nèi)部硬件與DSP相連,它支持四種類型PCI數(shù)據(jù)交換:從模式讀,即外部PCI主設(shè)備通過PCI接口寫數(shù)據(jù)到DSP;從模式寫,即外部PCI主設(shè)備通過PCI接口從設(shè)備讀數(shù)據(jù);主模式讀,即DSP主設(shè)備通過PCI接口讀數(shù)據(jù)到外部PCI從設(shè)備;主模式寫,即DSP主設(shè)備通過PCI接口寫數(shù)據(jù)到外部PCI從設(shè)備。
          PCI寄存器主要包括3類:PCI配置寄存器、PCII/O寄存器、映射在DSP存儲空間作為外設(shè)的PCI寄存器。前兩類寄存器只能被外部主機(jī)訪問,而第三類寄存器可以被DSP和外部PCI主機(jī)訪問。
          PCI配置寄存器包含標(biāo)準(zhǔn)的PCI配置信息(設(shè)備標(biāo)識,廠商標(biāo)識,分類代碼,基址等);PCI I/O寄存器位于PCI主機(jī)的I/O空間,主機(jī)只能在:Base1和Base2訪問它們,PCI I/O寄存器包括HSR,HDCR,DSPP。如圖3所示,HSR寄存器表明主機(jī)的狀態(tài),它的INTSRC位和INTAM位對于中斷處理至關(guān)重要。 INTAM位為1時,它可以屏蔽DSP發(fā)送的中斷,當(dāng)該位為0時,只要。DSP設(shè)置RSTSRC字段中的INTREQ位時,可以使能PINTA,即主機(jī)在這時可以響應(yīng)中斷。當(dāng)INTSRC位讀為0時,表示PINTA自上次清除后無效,當(dāng)讀為1時,表示PINTA處于使能狀態(tài),該位寫0無效,寫1清除 PINTA的使能狀態(tài)。對于HDCR來說,PC機(jī)通過將DSPINT位置1產(chǎn)生主機(jī)中斷。DSPP主要和Base0一起定義一段存儲空間。

          PCI內(nèi)存映射外圍寄存器主要用于控制PCI接口,它可以被主機(jī)和DSP訪問,在該寄存器中,較重要的是RSTSRC寄存器,如圖4所示。

          DSP通過將RSTSRC寄存器中的INTREQ置1產(chǎn)生中斷;PC機(jī)和DSP通過將INTRST置1清除中斷,這一點(diǎn)在驅(qū)動開發(fā)中至關(guān)重要,因?yàn)镈SP 產(chǎn)生的中斷屬于電平中斷類型,如果不清除中斷,它將一直有效.這將會導(dǎo)致中斷響應(yīng)函數(shù)不斷的調(diào)用,從而導(dǎo)致死機(jī)。
          PCI端口通過3種基址寄存器可以完全訪問DSP的存儲器映射。
          Base0:4 MB的可預(yù)存取空間,通過設(shè)置DSP頁寄存器映射所有DSP存儲器空間,預(yù)取讀使所有的字節(jié)有效。
          Base1:8 MB非預(yù)取地址映射對應(yīng)于所有的DSP存儲空間,非預(yù)取支持字節(jié)使能。
          Base2:PCI的16MB I/O包括I/O寄存器。
          這3種寄存器屬于PCI配置寄存器,PCI主機(jī)可以訪問映射在PCI存儲器空間4 MB的DSP存儲器,PCI端口包含一個PCI I/O寄存器(DSPP寄存器)從PCI地址到DSP地址的映射。當(dāng)DSP作為PCI本地總線從屬時,使用該映射模式;當(dāng)DSP上的PCI基地址寄存器被配置成一個8 MB不可預(yù)取區(qū)域時,該存儲空間映射為DSP內(nèi)存映射寄存器(0180 0000h)。PCI地址的22:0位與一個固定偏移相連,將Base 1訪問映射到內(nèi)存寄存器;基地址寄存器2配置16 B I/O空間,使PCI主機(jī)用于訪問PCI I/O寄存器。

          3 程序及驅(qū)動程序的開發(fā)
          3.1 驅(qū)動工具的選擇
          對于開發(fā)wDM型PCI驅(qū)動,常用的開發(fā)工具有三種。一是直接使用Windows DDK或者WDK工具;二是使用DriverStudio;三是使用WinDriver。第一種方式要求掌握Windows的體系結(jié)構(gòu)、設(shè)備驅(qū)動的體系結(jié)構(gòu)等知識,開發(fā)難度較大;第二種方式對DDK進(jìn)行了封裝,難度雖然降低了些,但依然不小,而且由于封裝問題,可能帶來一些Bug,有可能導(dǎo)致項目失??;第三種方式克服了傳統(tǒng)開發(fā)工具開發(fā)驅(qū)動周期長,效率低,需具有DDK和核心態(tài)程序開發(fā)經(jīng)驗(yàn)等缺點(diǎn),大大簡化了ISA-BUS,PCIBUS等硬件設(shè)備驅(qū)動程序的開發(fā)過程,而且WinDriver還提供核心插件(Kerneal Plu-gin)功能,使開發(fā)者在用戶模式下調(diào)試代碼,然后將調(diào)試無誤的代碼搬到內(nèi)核模式(Kernel Mode)中,因而使用WinDriver,具有簡單、快速、高效的特點(diǎn)。



          關(guān)鍵詞: DSP PCI 內(nèi)嵌 仿真器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();