基于獨立DSP平臺的實(shí)時(shí)衛星導航接收機的設計
在本系統的設計中,采用ADI公司的高速A/D轉換器AD9283實(shí)現模擬中頻信號到數字中頻信號的轉化。由于接收到的衛星導航信號能量比噪聲信號能量低約為20 dB,因此量化位數的高低對檢測衛星導航信號的影響是有限的,若采用高位數量化會(huì )增加數據運算量和系統的復雜度,通常的商用接收機大多采用1 bit或2 bit量化。本設計中量化位數為1 bit和2 bit可選配置。經(jīng)過(guò)ADC數字化的中頻信號送到DSP的McBSP0和McBSP2端口,并隨后觸發(fā)EDMA事件,完成數據拷貝和緩存[4]。與此同時(shí),采樣時(shí)鐘作為McBSP口的外部時(shí)鐘同步輸入信號,將8 bit同步減法計數器74HC40103D設計成32進(jìn)制計數器對采樣時(shí)鐘進(jìn)行分頻來(lái)產(chǎn)生幀同步信號,實(shí)現串并數據轉換。為避免因負載過(guò)多時(shí)鐘驅動(dòng)能力不足,采用了可配置時(shí)鐘驅動(dòng)芯片CY2308作為時(shí)鐘驅動(dòng)。圖3所示為多星座數據采集的硬件連接原理圖。
為避免數據丟失,采用乒乓緩存的方法緩沖采集到的數據流,在DSP的片上內存為每個(gè)McBSP通道開(kāi)設乒緩沖區和乓緩沖區。以12 MHz、1 bit采樣為例,在片上內存開(kāi)辟2個(gè)30 KB的數據緩沖區,即每個(gè)緩沖區能夠存放20 ms的數據。系統運行后,EDMA控制器先將McBSP0采集到的數據寫(xiě)入乒緩沖區,20 ms后乒緩沖區滿(mǎn),EDMA控制器向CPU發(fā)出中斷請求,對緩沖區數據進(jìn)行運算處理。同時(shí),EDMA向乓緩沖區寫(xiě)數據,這樣通過(guò)不斷的乒乓切換完成數據的緩沖存儲。
1.3 查找表數據存儲管理
在捕獲、跟蹤中需要用到大量查找表,為了降低接收機的啟動(dòng)時(shí)間,直接把這些數據表格作為固件燒入到Flash中,而不用每次都由DSP通過(guò)程序重新生成。所有查找表需要約15 MB的空間,為了降低存儲空間,使用LZW無(wú)損壓縮算法進(jìn)行壓縮至約2 MB。系統初始化時(shí),DSP先讀取Flash中的數據表格,然后執行解壓程序對其解壓,并存于片外的SDRAM中提供給接收機做運算時(shí)調用。
本設計中使用了2片4 MB×32位的SDRAM芯片MT48LC4M32并聯(lián)連接到DSP的EMIFA口,把程序運行過(guò)程中對實(shí)時(shí)性要求較低的數據段和查找表分配到SDRAM中??偩€(xiàn)運行在166 MHz的高速狀態(tài),由專(zhuān)用的可配置的時(shí)鐘芯片ICS525對50 MHz的時(shí)鐘倍頻產(chǎn)生。
1.4 定位結果輸出模塊
衛星導航接收機需要周期性地輸出定位結果以及其他相關(guān)信息,通常輸出速率為1 Hz~5 Hz,DSP的串行接口McBSP即可滿(mǎn)足要求。為了能夠將結果在顯示設備上顯示,數據的輸出需要兼容NMEA0183協(xié)議,因此需要將McBSP口擴展成符合RS-232標準的異步串行接口。
將DSP的McBSP端口的工作模式設為SPI模式作為主設備,直接與MAX3111進(jìn)行連接,DSP通過(guò)執行相關(guān)的指令,設置MAX3111的相關(guān)控制字,完成波特率、數據位、奇偶校驗等的設定,然后向MAX3111輸出有效信息,利用其片內的轉換器實(shí)現UART到RS-232格式及電平的轉換,從而實(shí)現DSP與RS-232設備進(jìn)行異步數據傳輸。
評論