日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]衛(wèi)星信號仿真器在衛(wèi)星導航的研究開發(fā)中占有重要地位,特別是多模接收機和高動態(tài)接收機的研發(fā)。多模衛(wèi)星仿真器中涉及到大量的數(shù)據傳輸,為了保證PC機和DSP之間數(shù)據傳輸?shù)膶崟r性和準確性.

0 引 言

衛(wèi)星信號仿真器在衛(wèi)星導航的研究開發(fā)中占有重要地位,特別是多模接收機和高動態(tài)接收機的研發(fā)。多模衛(wèi)星仿真器中涉及到大量的數(shù)據傳輸,為了保證PC機和DSP之間數(shù)據傳輸?shù)膶崟r性和準確性,選擇基于PCI總線接口進行數(shù)據傳輸。常用的PCI開發(fā)是采用專門的PCI接口芯片,但這樣系統(tǒng)就會多一塊芯片,性價比低,而TI公司TMS320C6416系列的DSP擁有內置PCI接口,使得硬件開發(fā)難度降低和主機對DSP資源訪問更加透明。提出一種基于TMS320C6416系列DSP的PCI總線衛(wèi)星信號發(fā)生器的硬件平臺以及相應的PCI接口電路設計。

1 系統(tǒng)結構與實現(xiàn)方案

1.1 系統(tǒng)總體結圖

圖1是仿真器的總體結構框圖,其核心器件包括DSP6416,SDRRAM,F(xiàn)LASH,F(xiàn)PGA,D/A,時鐘以及PC機。其中,D/A完成數(shù)字信號到模擬信號的轉換;SDRAM作為外設存儲器存儲由PC機傳來的數(shù)據;FLASH用于在系統(tǒng)掉電后保存DSP的運行程序;FP-GA作為仿真器的另一核心部件,主要完成與DSP的通信、信號的合成和D/A的控制;PC機主要完成仿真器的數(shù)字信號處理與計算好的數(shù)據在PCI接口和DSP間的傳遞。DSP作為主機和FPGA之間的通信橋梁,主要完成兩方面的工作:一是定時接收PC機計算的各種控制字和電文,按照時序要求,將各通道的控制字發(fā)送給FPGA;二是由于PC機計算是雙精度浮點型的,而FPGA中只能以整型數(shù)據計算,這樣必然會造成兩者相位累加值的差異,隨著時間的流逝,誤差會越來越大,必須加以校正;但如果要將FPGA累加的數(shù)據再返回到PC機進行比較校正,在實時性上得不到保證,因此需要在DSP中實現(xiàn)對頻率字的校正。

在設計中,將SDRAM作為DSP的片外存儲器,配置在EMIFA的CE0空間內,F(xiàn)PGA與DSP通過EMI-FA接口交互數(shù)據,它配置在EMIFA的CE1和CE2空間內。EMIFB的CE1配置成異步8位通信方式與FLASH通信。

1.2 DSP與PCI接口電路連接設計

由于DSP TMS320C6416內部集成PCI接口,所以不需要橋接芯片,只需要設計與PCI母板之間的接口,不需要設計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個電壓轉換芯片IDTQS32X2245,將5 V電壓轉換成3.3 V電壓。由于DSP是集成的PCI接口,其電路設計較簡單,將DSP PCI接口的地址和數(shù)據總線直接連到IDTQS32X2245芯片的B管腳部分,將銅手指上的地址和數(shù)據總線連接到IDTQS32X2245芯片的A管腳部分,仲裁信號REQ,GNT、錯誤報告信號PERR,SERR、字節(jié)使能信號C/BE[3:O]、接口控制信號FRAM,IRDY,STOP, IDSEL,DEVESEL也都按相同的方法連接在相應的位置上。限于篇幅,這里僅給出DSP PCI接口部分與連接器的連接示意圖,如圖2所示。

2 DSP6416內嵌PCI關鍵寄存器及其中斷機制

DSP6416的PCI接口支持通過主/從總線接口連接DSP到PCI主機,PCI接口端通過EDMA內部硬件與DSP相連,它支持四種類型PCI數(shù)據交換:從模式讀,即外部PCI主設備通過PCI接口寫數(shù)據到DSP;從模式寫,即外部PCI主設備通過PCI接口從設備讀數(shù)據;主模式讀,即DSP主設備通過PCI接口讀數(shù)據到外部PCI從設備;主模式寫,即DSP主設備通過PCI接口寫數(shù)據到外部PCI從設備。

PCI寄存器主要包括3類:PCI配置寄存器、PCII/O寄存器、映射在DSP存儲空間作為外設的PCI寄存器。前兩類寄存器只能被外部主機訪問,而第三類寄存器可以被DSP和外部PCI主機訪問。

PCI配置寄存器包含標準的PCI配置信息(設備標識,廠商標識,分類代碼,基址等);PCI I/O寄存器位于PCI主機的I/O空間,主機只能在:Base1和Base2訪問它們,PCI I/O寄存器包括HSR,HDCR,DSPP。如圖3所示,HSR寄存器表明主機的狀態(tài),它的INTSRC位和INTAM位對于中斷處理至關重要。 INTAM位為1時,它可以屏蔽DSP發(fā)送的中斷,當該位為0時,只要。DSP設置RSTSRC字段中的INTREQ位時,可以使能PINTA,即主機在這時可以響應中斷。當INTSRC位讀為0時,表示PINTA自上次清除后無效,當讀為1時,表示PINTA處于使能狀態(tài),該位寫0無效,寫1清除 PINTA的使能狀態(tài)。對于HDCR來說,PC機通過將DSPINT位置1產生主機中斷。DSPP主要和Base0一起定義一段存儲空間。

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

DSP通過將RSTSRC寄存器中的INTREQ置1產生中斷;PC機和DSP通過將INTRST置1清除中斷,這一點在驅動開發(fā)中至關重要,因為DSP 產生的中斷屬于電平中斷類型,如果不清除中斷,它將一直有效.這將會導致中斷響應函數(shù)不斷的調用,從而導致死機。

PCI端口通過3種基址寄存器可以完全訪問DSP的存儲器映射。

Base0:4 MB的可預存取空間,通過設置DSP頁寄存器映射所有DSP存儲器空間,預取讀使所有的字節(jié)有效。

Base1:8 MB非預取地址映射對應于所有的DSP存儲空間,非預取支持字節(jié)使能。

Base2:PCI的16MB I/O包括I/O寄存器。

這3種寄存器屬于PCI配置寄存器,PCI主機可以訪問映射在PCI存儲器空間4 MB的DSP存儲器,PCI端口包含一個PCI I/O寄存器(DSPP寄存器)從PCI地址到DSP地址的映射。當DSP作為PCI本地總線從屬時,使用該映射模式;當DSP上的PCI基地址寄存器被配置成一個8 MB不可預取區(qū)域時,該存儲空間映射為DSP內存映射寄存器(0180 0000h)。PCI地址的22:0位與一個固定偏移相連,將Base 1訪問映射到內存寄存器;基地址寄存器2配置16 B I/O空間,使PCI主機用于訪問PCI I/O寄存器。

3 仿真器程序及驅動程序的開發(fā)

3.1 驅動工具的選擇

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

3.2 WinDriver的工作原理

圖5是WinDriver的體系結構圖,陰影部分是WinDriver提供的組件。WinDriver提供以WinDrvr6.sys為底層的驅動棧層,直接與硬件交互,避免了用戶對硬件操作的復雜性,用戶開發(fā)驅動只需在應用程序中調用WinDriver用戶模式的API函數(shù)。這些用戶模式的函數(shù)調用 WinDriver的Kernel Module函數(shù)實現(xiàn)對硬件的訪問。對于某些要求比較高的硬件驅動(如要求響應中斷的速度足夠快),如果用戶模式開發(fā)的驅動無法達到要求,開發(fā)者可以將用戶模式下調試好的代碼放入到WinDriver的Kernel Plugin模塊中,使得驅動開發(fā)可以在用戶模式下進行,而開發(fā)的驅動的效率完全可與內核模式下的驅動相媲美。

圖6為用WinDriver開發(fā)PCI驅動內部的API函數(shù)調用關系。

通常情況下,在應用程序中不直接調用這些API函數(shù),而是通過二次開發(fā),將這些API函數(shù)封裝在動態(tài)鏈接庫DLL中,然后應用程序調用DLL中封裝好的函數(shù)。

3.3 衛(wèi)星信號仿真器應用程序框圖及相應PCI驅動的關鍵代碼分析

根據仿真器的總體設計,需要在PC機上實現(xiàn)二個功能模塊;

數(shù)字信號處理模塊該模塊是仿真器的核心模塊,實時仿真導航電文,計算衛(wèi)星偽距、各通道的頻率字和碼控制字等。

通信模塊 該模塊主要是將PC機計算得到的相關信息通過PCI傳遞給DSP。

考慮到整個仿真器數(shù)據要求的實時性,通過中斷函數(shù)實現(xiàn)PC機中的程序傳輸數(shù)據,當DSP需要數(shù)據時,通過RSTSRC寄存器INTREQ位寫1產生一個中斷信號發(fā)送給PC機,但要使該中斷有效,必須要求主機狀態(tài)寄存器(HSR)中的INTAM位為0。因此在上位機程序中,初始化階段必須把該中斷使能位打開。應用程序的結構如圖7所示。

中斷處理步驟如下:

(1)應用程序打開中斷使能,系統(tǒng)等待中斷;

(2)如果中斷到來,則清除中斷標志,取消中斷源;

(3)在中斷函數(shù)中執(zhí)行數(shù)據傳輸;

(4)數(shù)據傳輸完后給DSP發(fā)中斷,實現(xiàn)與DSP的握手;

(5)重新開啟中斷源。

第(2)步和第(5)步在中斷使能函數(shù)中實現(xiàn)。

中斷響應函數(shù)的關鍵代碼如下:

PCI主機給DSP發(fā)中斷是通過將HDCR寄存器的DSPINT位置1實現(xiàn)的,要注意產生該中斷的有效前提條件是PCI的中斷使能寄存器(PCIIEN)HOSTSW位被使能,即HOSTSW=1。

為了便于使用PCI的驅動函數(shù)和以后驅動程序發(fā)布的需要,將驅動函數(shù)封裝在動態(tài)鏈接庫DLL中,它們中主要函數(shù)的關鍵代碼如下:

為了使PC機能夠正確地捕獲到由DSP傳來的中斷,在動態(tài)鏈接的DSP6416_IntEnable()函數(shù)中,必須設置內核模式下的中斷傳輸命令,因為它的優(yōu)先級比用戶模式下的中斷響應函數(shù)高,因而一旦DSP產生中斷,首先執(zhí)行的是內核模式下的中斷傳輸命令。由于DSP6416內嵌PCI產生的中斷屬于電平敏感中斷,如果不清除中斷它將一直有效,這將會導致中斷響應函數(shù)不斷執(zhí)行而死機。因此,必須在中斷使能函數(shù)設置中斷傳輸命令。在該例中,先從HSR中讀取一個DWORD,然后在中斷傳輸命令中設置CMD_MASK位。如果前面從HSR中讀出的值為0x04,則屏蔽DSP所產生的中斷,否則不執(zhí)行屏蔽命令,然后在中斷傳輸命令中向DSP的RSTSRC寫入0x10清除中斷。圖6中用到的關閉中斷使能和關閉設備2個函數(shù)可分別通過調用WinDriver中 WDC_IntDisable(),WDC_PciDe_viceClose(),WDC_DriverClose()的函數(shù)等實現(xiàn)。此外,調用這些函數(shù)之前要判斷中斷是否存在,設備是否打開,否則會出現(xiàn)嚴重錯誤。

3.4 衛(wèi)星信號仿真器實驗驗證

設置衛(wèi)星信號仿真器場景:用戶位置為北緯60°0000",東經100°0000",高程300 m,靜止狀態(tài)。GG24接收機的解算結果如圖8所示。

GG24接收機解算結果是北緯59°5959.867 52",東經99°5957.636 24",高程為308.02 m,與設置的場景,即北緯60°0000",東經100°0000",高程300 m相當吻合。因此,這說明了仿真器的正確性和有效性。

4 結 語

在此設計的基于DSP6416內嵌PCI數(shù)據傳輸硬件平臺和驅動開發(fā)方案已用于多模衛(wèi)星信號仿真器中,該方案數(shù)據傳輸穩(wěn)定,速度快(可達115 MB/s),采用WinDriver軟件工具包開發(fā)DSP6416內嵌的PCI設備驅動程序,不但可以極大地縮短開發(fā)周期,而且還提高了衛(wèi)星信號仿真器的開發(fā)效率和整體性能。 function ImgZoom(Id)//重新設置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉