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