基于DSP的內(nèi)嵌PCI總線的衛(wèi)星信號仿真器設(shè)計方案
0 引 言
本文引用地址:http://cafeforensic.com/article/257561.htm衛(wèi)星信號仿真器在衛(wèi)星導(dǎo)航的研究開發(fā)中占有重要地位,特別是多模接收機和高動態(tài)接收機的研發(fā)。多模衛(wèi)星仿真器中涉及到大量的數(shù)據(jù)傳輸,為了保證PC機和DSP之間數(shù)據(jù)傳輸?shù)膶崟r性和準確性,選擇基于PCI總線接口進行數(shù)據(jù)傳輸。常用的PCI開發(fā)是采用專門的PCI接口芯片,但這樣系統(tǒng)就會多一塊芯片,性價比低,而TI公司TMS320C6416系列的DSP擁有內(nèi)置PCI接口,使得硬件開發(fā)難度降低和主機對DSP資源訪問更加透明。提出一種基于TMS320C6416系列DSP的PCI總線衛(wèi)星信號發(fā)生器的硬件平臺以及相應(yīng)的PCI接口電路設(shè)計。
1 系統(tǒng)結(jié)構(gòu)與實現(xiàn)方案
1.1 系統(tǒng)總體結(jié)圖
圖1是仿真器的總體結(jié)構(gòu)框圖,其核心器件包括DSP6416,SDRRAM,F(xiàn)LASH,F(xiàn)PGA,D/A,時鐘以及PC機。其中,D/A完成數(shù)字信號到模擬信號的轉(zhuǎn)換;SDRAM作為外設(shè)存儲器存儲由PC機傳來的數(shù)據(jù);FLASH用于在系統(tǒng)掉電后保存DSP的運行程序;FP-GA作為仿真器的另一核心部件,主要完成與DSP的通信、信號的合成和D/A的控制;PC機主要完成仿真器的數(shù)字信號處理與計算好的數(shù)據(jù)在PCI接口和DSP間的傳遞。DSP作為主機和FPGA之間的通信橋梁,主要完成兩方面的工作:一是定時接收PC機計算的各種控制字和電文,按照時序要求,將各通道的控制字發(fā)送給FPGA;二是由于PC機計算是雙精度浮點型的,而FPGA中只能以整型數(shù)據(jù)計算,這樣必然會造成兩者相位累加值的差異,隨著時間的流逝,誤差會越來越大,必須加以校正;但如果要將FPGA累加的數(shù)據(jù)再返回到PC機進行比較校正,在實時性上得不到保證,因此需要在DSP中實現(xiàn)對頻率字的校正。
在設(shè)計中,將SDRAM作為DSP的片外存儲器,配置在EMIFA的CE0空間內(nèi),F(xiàn)PGA與DSP通過EMI-FA接口交互數(shù)據(jù),它配置在EMIFA的CE1和CE2空間內(nèi)。EMIFB的CE1配置成異步8位通信方式與FLASH通信。
1.2 DSP與PCI接口電路連接設(shè)計
由于DSP TMS320C6416內(nèi)部集成PCI接口,所以不需要橋接芯片,只需要設(shè)計與PCI母板之間的接口,不需要設(shè)計PCI與DSP本身之間的接口。由于仿真器是一個多電源系統(tǒng),可以提供5 V,3.3 V,12 V的電源,所以對連接器采用多電源供電。此外,由于DSP是3.3 V系統(tǒng),雖然它的PCI口能承受5 V電壓,但考慮到系統(tǒng)的穩(wěn)定性,在DSP的PCI口和連接器之間加3個電壓轉(zhuǎn)換芯片IDTQS32X2245,將5 V電壓轉(zhuǎn)換成3.3 V電壓。由于DSP是集成的PCI接口,其電路設(shè)計較簡單,將DSP PCI接口的地址和數(shù)據(jù)總線直接連到IDTQS32X2245芯片的B管腳部分,將銅手指上的地址和數(shù)據(jù)總線連接到IDTQS32X2245芯片的A管腳部分,仲裁信號REQ,GNT、錯誤報告信號PERR,SERR、字節(jié)使能信號C/BE[3:O]、接口控制信號FRAM,IRDY,STOP, IDSEL,DEVESEL也都按相同的方法連接在相應(yīng)的位置上。限于篇幅,這里僅給出DSP PCI接口部分與連接器的連接示意圖,如圖2所示。
2 DSP6416內(nèi)嵌PCI關(guān)鍵寄存器及其中斷機制
DSP6416的PCI接口支持通過主/從總線接口連接DSP到PCI主機,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寄存器。前兩類寄存器只能被外部主機訪問,而第三類寄存器可以被DSP和外部PCI主機訪問。
PCI配置寄存器包含標準的PCI配置信息(設(shè)備標識,廠商標識,分類代碼,基址等);PCI I/O寄存器位于PCI主機的I/O空間,主機只能在:Base1和Base2訪問它們,PCI I/O寄存器包括HSR,HDCR,DSPP。如圖3所示,HSR寄存器表明主機的狀態(tài),它的INTSRC位和INTAM位對于中斷處理至關(guān)重要。 INTAM位為1時,它可以屏蔽DSP發(fā)送的中斷,當該位為0時,只要。DSP設(shè)置RSTSRC字段中的INTREQ位時,可以使能PINTA,即主機在這時可以響應(yīng)中斷。當INTSRC位讀為0時,表示PINTA自上次清除后無效,當讀為1時,表示PINTA處于使能狀態(tài),該位寫0無效,寫1清除 PINTA的使能狀態(tài)。對于HDCR來說,PC機通過將DSPINT位置1產(chǎn)生主機中斷。DSPP主要和Base0一起定義一段存儲空間。
PCI內(nèi)存映射外圍寄存器主要用于控制PCI接口,它可以被主機和DSP訪問,在該寄存器中,較重要的是RSTSRC寄存器,如圖4所示。
DSP通過將RSTSRC寄存器中的INTREQ置1產(chǎn)生中斷;PC機和DSP通過將INTRST置1清除中斷,這一點在驅(qū)動開發(fā)中至關(guān)重要,因為DSP 產(chǎn)生的中斷屬于電平中斷類型,如果不清除中斷,它將一直有效.這將會導(dǎo)致中斷響應(yīng)函數(shù)不斷的調(diào)用,從而導(dǎo)致死機。
評論