• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于USB的GPS數(shù)據(jù)采集系統(tǒng)

      2010-03-21 15:45:54張建喜李金海閻躍鵬
      電訊技術(shù) 2010年6期
      關(guān)鍵詞:固件端點總線

      張建喜,汪 峰,李金海,閻躍鵬

      (中國科學(xué)院 微電子研究所,北京 100029)

      1 引 言

      在GPS高動態(tài)接收機研制中,要對捕獲、跟蹤及定位等算法進行仿真及驗證,優(yōu)化算法性能。為得到算法仿真及測試所需的真實數(shù)據(jù),需要數(shù)據(jù)采集系統(tǒng)對GPS信號進行實時采集。目前比較通用的數(shù)據(jù)采集系統(tǒng)只支持采集信號的實時流盤或暫存在FLASH中的單一模式。本文設(shè)計了一套既可實現(xiàn)數(shù)據(jù)實時傳輸又可在特殊環(huán)境下將數(shù)據(jù)暫存到FLASH中的GPS數(shù)據(jù)采集系統(tǒng)。

      外設(shè)與主機的通信接口一般基于PCI總線、RS-232串行總線或通用串行總線(Universal Serial Bus,USB)。PCI總線雖具有較高的傳輸速率,支持“即插即用”,但存在插拔麻煩、擴展槽有限的缺點。RS-232串行總線雖連接簡單,但是傳輸速度慢,且主機串口數(shù)目有限。USB具有速率高、易擴展、安裝方便等特點,已成為主流的數(shù)據(jù)傳輸總線。本文所設(shè)計的采集系統(tǒng)基于USB,有效地克服了其它總線的缺點。

      2 采集系統(tǒng)硬件結(jié)構(gòu)

      GPS數(shù)據(jù)采集硬件系統(tǒng)主要包括GPS射頻前端、FPGA控制模塊、USB數(shù)據(jù)傳輸單元(CY7C68013)、FLASH 存儲模塊及EEPROM,系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。

      GPS信號經(jīng)天線接收送至射頻前端,在射頻芯片中經(jīng)ADC將模擬中頻信號轉(zhuǎn)化為數(shù)字中頻信號送入FPGA中,FPGA對數(shù)字信號進行實時處理并緩存到RAM中,在采集系統(tǒng)與主機連接的情況下將數(shù)據(jù)批量地發(fā)送到CY7C68013的FIFO中,通過FIFO將數(shù)據(jù)送至主機,主機對數(shù)據(jù)進行實時流盤,完成對GPS信號的采集。在一些特殊環(huán)境下,采集系統(tǒng)與主機無法連接,此時,需將RAM中的數(shù)據(jù)暫時存儲到FLASH中,以后再從FLASH中讀出數(shù)據(jù),完成特殊環(huán)境下的信號采集。

      2.1 GPS射頻前端

      GPS射頻前端采用SiGe半導(dǎo)體公司的SE4110L芯片,該芯片具有集成度高、功耗低、性能高等優(yōu)點,廣泛應(yīng)用于GPS接收機中。SE4110L包括帶通濾波器,低噪聲放大器,自動增益控制器,模數(shù)轉(zhuǎn)換器(ADC)等[1]。L1頻段(1575.42GHz)的GPS信號下變頻到模擬中頻經(jīng)ADC后進行2 bit量化變成數(shù)字中頻信號,采樣頻率為16.368MHz,每個采樣點包括符號位Sign和幅度位Mag。采集系統(tǒng)的工作時鐘也為16.368MHz,每4個采樣點拼接成一個字節(jié),則系統(tǒng)實時傳輸速率達4 Mbit/s。

      2.2 FPGA控制模塊

      FPGA作為系統(tǒng)的控制核心,分別與射頻前端、CY7C68013及NAND FLASH接口,產(chǎn)生CY7C68013及NAND FLASH所需的控制信號,完成對信號的采集、數(shù)據(jù)緩存/傳輸、CY7C68013讀/寫控制、NAND FLASH塊狀態(tài)信息管理及FLASH讀寫等功能。

      2.2.1 FPGA與 CY7C68013、NAND FLASH的接口設(shè)計

      FPGA作為主端控制從端CY7C68013芯片,接口管腳連接如圖2所示。其中,IFCLK為CY7C68013同步模式下接口時鐘;FLAGA 、FLAGB、FLAGC、FLAGD為FIFO的工作狀態(tài)標(biāo)志位。在FPGA可控的輸入信號中,SLCS為片選信號;SLOE為輸入使能信號;SLRD為讀使能信號;SLWR為寫使能信號;PKTEND為數(shù)據(jù)包結(jié)束信號,當(dāng)發(fā)送比FIFO小的數(shù)據(jù)包時,FPGA可通過發(fā)送PKTEND信號完成;FIFOADR[1:0]為端點緩沖區(qū)選擇信號,00選擇端點EP2,01選擇端點EP4,10選擇端點EP6,11選擇端點EP8;FD[15:0]為FPGA與FIFO之間的數(shù)據(jù)總線,數(shù)據(jù)寬度為16位。

      圖2 FPGA與CY7C68013之間的接口Fig.2 Interface between FPGA and CY7C68013

      NAND FLASH與其它存儲器不同,沒有指定的地址總線和命令總線,只有通用的總線,通過命令鎖存使能和地址鎖存使能,將命令和地址寫入命令寄存器和地址寄存器,來完成FLASH的讀、寫及擦除等各項操作。接口設(shè)計如圖3所示。

      圖3 FPGA與FLASH之間的接口Fig.3 Interface between FPGA and FLASH

      2.2.2 雙緩沖

      在采集系統(tǒng)中,普遍存在丟失數(shù)據(jù)(以下簡稱丟數(shù))現(xiàn)象。由于該系統(tǒng)采樣率和數(shù)據(jù)傳輸速率非常高,就會導(dǎo)致USB主機沒有及時響應(yīng)而發(fā)生丟數(shù)現(xiàn)象,嚴(yán)重影響系統(tǒng)的可靠性。為了解決上述問題,采用雙緩沖技術(shù)。在FPGA內(nèi)開辟大塊RAM,分成大小相等的兩部分,進行乒乓操作,使讀出RAM的頻率為寫入RAM頻率的2倍,這樣可以在數(shù)據(jù)量不變的前提下增加數(shù)據(jù)包之間的時間間隔,為USB主機預(yù)留出更多的響應(yīng)時間。

      2.3 USB傳輸單元

      在USB傳輸單元中采用Cypress公司 EZ-USB FX2LP系列中的CY7C68013芯片。EZ-USB FX2LP系列芯片集成8051內(nèi)核及串行接口引擎(SIE),SIE能夠完成數(shù)據(jù)解碼、位填充、差錯控制等與USB協(xié)議相關(guān)的工作,減輕增強型8051的負擔(dān),降低了USB固件程序的開發(fā)難度[2]。

      該系統(tǒng)中選擇CY7C68013的從FIFO(Slave FIFO)工作模式,如圖4所示。在這種工作模式下,外圍控制電路可像對普通FIFO一樣對CY7C68013的端點緩沖區(qū)進行讀寫,而不需要8051內(nèi)核參與,極大提高了傳輸速度。在USB協(xié)議中端點為數(shù)據(jù)的接收器和發(fā)送器。CY7C68013中的EP0是唯一的控制端點,大小為64 byte,所有的控制命令通過EP0傳輸。EP2、EP4、EP6、EP8為數(shù)據(jù)傳輸端點,其中EP2和EP6最大為1024 byte,EP4和EP8最大為512 byte。

      圖4 Slave FIFO工作模式Fig.4 Slave FIFO mode

      CY7C68013集成I2C總線協(xié)議,可外接EEPROM等片外存儲器件。芯片上電時,如果檢測到I2C總線上連接EEPROM,且其首字節(jié)為0xC2,則EEPROM提供USB設(shè)備描述符及USB固件程序。EEPROM具有掉電時內(nèi)部數(shù)據(jù)不丟失的優(yōu)點,這樣,系統(tǒng)在上電時可以自動加載固件程序到片內(nèi)RAM。

      2.4 FLASH存儲模塊

      在采集系統(tǒng)無法與USB主機連接的情況下,采集到的GPS信號要暫存在FLASH中。NAND型FLASH具有容量大、改寫速度快及數(shù)據(jù)非易失性的特點,在業(yè)界得到了廣泛應(yīng)用。本系統(tǒng)中的NAND FLASH采用Samsung公司的K9K8G08U0A,存儲單元為(1G+32M)×8 bit,共由8192個 block 組成,每個block包含64個page,每個page含有2 k+64個字節(jié),其中2 kbyte為數(shù)據(jù)存儲區(qū),用來存儲用戶數(shù)據(jù);剩余64 byte為輔助存儲區(qū),用來保存壞塊標(biāo)志位、ECC碼等狀態(tài)信息。

      NAND型FLASH芯片在出廠時會存在一塊或多塊壞塊以及在使用過程中也會出現(xiàn)壞塊,這在NAND結(jié)構(gòu)的FLASH中無法避免。因為FLASH中的每個block相互隔離,壞塊的存在不影響對其它塊的操作。但是,壞塊會導(dǎo)致數(shù)據(jù)丟失及誤讀,影響采集數(shù)據(jù)的有效性和完整性。因此,在進行數(shù)據(jù)讀寫及擦除操作前需要將壞塊剔除,防止數(shù)據(jù)的丟失,保證系統(tǒng)的可靠性。在FPGA中建立塊狀態(tài)表,將FLASH中的每個block的狀態(tài)加以標(biāo)記,整個流程如圖5所示。FLASH芯片在出廠時會對壞塊進行標(biāo)記,每一塊的第一頁和第二頁的第2048 byte為非0XFF表示塊無效,0XFF表示塊有效[3]。這些塊信息在讀取之前可能被誤擦除,因此在進行壞塊檢測時,首先判斷當(dāng)前塊是否有效,若為無效塊則直接在塊狀態(tài)表中標(biāo)記為壞塊;若為有效塊則進行擦除,讀取狀態(tài)寄存器IO第0位是否為0,如果為0在塊狀態(tài)表中標(biāo)志為有效塊,否則標(biāo)記為壞塊,同時在第一頁的第2048 byte寫入0XAA,其時序圖如圖6所示。對FLASH中的每塊狀態(tài)標(biāo)記完后,將塊狀態(tài)表寫入FLASH的第一塊中。

      圖5 塊狀態(tài)表建立流程圖Fig.5 Flowchart of the foundation of block state table

      圖6 壞塊標(biāo)記時序圖Fig.6 Timing diagram of the marking of invalid block

      FLASH是按塊擦除,按頁讀寫。在FPGA中用Verilog語言設(shè)計狀態(tài)機完成對FLASH的操作。對每一塊Block操作之前需要根據(jù)塊狀態(tài)表判斷當(dāng)前塊是否有效,如果為壞塊,則把當(dāng)前塊跳躍過去;如果為有效塊,則按頁進行讀寫操作,以讀數(shù)據(jù)流程為例,如圖7所示。塊狀態(tài)表有效地防止了對壞塊的操作,保證數(shù)據(jù)的完整不丟失。

      圖7 讀取數(shù)據(jù)流程圖Fig.7 Flowchart of read data

      3 采集系統(tǒng)的軟件設(shè)計

      采集系統(tǒng)的軟件設(shè)計包括USB固件程序和USB主機控制軟件。CY7C68013芯片根據(jù)USB固件程序響應(yīng)USB請求、中斷處理、端點選擇及數(shù)據(jù)讀寫。CYPRESS公司為USB主機提供了通用控制函數(shù)庫CyAPI.lib,主機調(diào)用庫中接口函數(shù)便可完成與采集系統(tǒng)之間的數(shù)據(jù)傳輸。同時,CYPRESS公司還為USB芯片提供通用的驅(qū)動程序CYUSB.SYS,可以直接驅(qū)動USB芯片。

      3.1 USB固件程序

      CYPRESS公司的開發(fā)包提供基本的USB固件程序開發(fā)包框架,其中頭文件介紹如下:fx2.h為頭文件定義EZ-USB的通用常量、宏、數(shù)據(jù)類型和庫函數(shù);fx2regs.h定義EZ-USB的寄存器聲明和位標(biāo)志;EZUSB.lib為EZ-USB的庫文件,提供和外部芯片的控制封裝;dscr.a51為匯編文件定義USB設(shè)備的各種描述符;syncdly.h為同步延時的宏定義,用于需要同步延時的寄存器。

      開發(fā)包中的fw.c為USB固件程序的主文件,包括main函數(shù)、任務(wù)調(diào)度、SETUP命令處理等。periph.c完成USB的初始化和任務(wù)處理函數(shù):開發(fā)者在TD-Init函數(shù)里對CY7C68013芯片的寄存器進行配置,完成芯片的初始化;開發(fā)者可添加任務(wù)函數(shù),如產(chǎn)生采集系統(tǒng)啟動和停止等控制信號[4]。

      本系統(tǒng)中啟用EP6為數(shù)據(jù)接收端點,配置大小為1024 byte,傳輸模式為異步全自動模式。USB固件程序經(jīng)I2C總線存儲到EEPROM中,系統(tǒng)上電后自動加載到片內(nèi)RAM。

      3.2 USB主機控制軟件

      USB主機控制軟件是采用MFC設(shè)計的一種應(yīng)用程序,主要完成上位機對USB設(shè)備的檢測、系統(tǒng)啟動、數(shù)據(jù)傳輸、停止采集及系統(tǒng)復(fù)位等操作。EZ-USB FX2LP系列芯片的CyAPI控制類函數(shù)定義了詳盡的控制接口。MFC利用類的方法把API函數(shù)根據(jù)用途進行分類封裝,通過分類管理實現(xiàn)對同類函數(shù)的調(diào)用,從而實現(xiàn)采集系統(tǒng)的控制和通信。主機控制軟件界面如圖8所示。

      圖8 主機控制軟件界面Fig.8 Interface of host control software

      采集系統(tǒng)經(jīng)USB傳輸線連接到主機后,主機控制軟件檢測USB設(shè)備是否連接,并讀取設(shè)備描述符如廠商標(biāo)號、產(chǎn)品標(biāo)號及設(shè)備名稱。檢測完設(shè)備后,輸入所需的樣本數(shù),啟動數(shù)據(jù)傳輸。主機發(fā)送啟動采集命令到USB設(shè)備,設(shè)備響應(yīng)命令,將CY7C68013芯片IO管腳PA0電平置低,FPGA檢測該管腳為低時,啟動采集。將采集到的數(shù)據(jù)經(jīng)USB總線寫入主機硬盤,實現(xiàn)對數(shù)據(jù)的實時采集與流盤。當(dāng)采集完成時,主機程序提示采集已完成。同樣,主機發(fā)送停止采集命令到USB設(shè)備,將PA0電平置高,FPGA檢測到該電平時進入空閑狀態(tài),即停止采集。

      4 采集數(shù)據(jù)的仿真驗證

      GPS信號是由直接序列擴頻碼對載頻進行二相調(diào)制的CDMA信號[5]。直接序列擴頻碼包括粗/截獲碼(C/A碼)和精密碼(P碼),SPS用戶使用C/A碼。GPS系統(tǒng)在軌衛(wèi)星32顆,每顆衛(wèi)星有各自專門的擴頻碼。為從GPS信號中解調(diào)出衛(wèi)星導(dǎo)航電文,必須得到C/A碼的碼相位和載波多普勒頻移這兩個重要參數(shù)[6]。采集到的數(shù)據(jù)通常含有多顆衛(wèi)星信號,每顆衛(wèi)星的C/A碼相位和載波多普勒頻率各不相同。捕獲過程即是找到每顆衛(wèi)星的C/A碼相位和載波多普勒頻率。圖9所示為采集數(shù)據(jù)中3號GPS衛(wèi)星捕獲結(jié)果。跟蹤過程根據(jù)捕獲到的C/A碼相位和載波多普勒頻率實現(xiàn)本地信號與輸入信號的精確同步,如圖10所示,碼相位與載波相位已經(jīng)鎖定,I路輸出為導(dǎo)航數(shù)據(jù),Q路輸出只包含噪聲。

      圖9 捕獲結(jié)果Fig.9 Result of acquisition

      圖10 導(dǎo)航數(shù)據(jù)Fig.10 Navigation data

      5 結(jié)束語

      本文設(shè)計的GPS數(shù)據(jù)采集系統(tǒng)可實現(xiàn)采集數(shù)據(jù)的實時流盤,也可作為非實時傳輸系統(tǒng)將采集數(shù)據(jù)暫存在FLASH中。采用雙緩沖技術(shù),有效地解決了采集系統(tǒng)中數(shù)據(jù)丟失的問題。該系統(tǒng)基于USB總線,具有較高的傳輸速率,系統(tǒng)工作穩(wěn)定,便于維護和升級,廣泛應(yīng)用于采集GPS中頻信號,在GPS接收機開發(fā)、產(chǎn)品化過程中發(fā)揮了重要的作用。

      [1] 楊秋波.基于SE4100L設(shè)計GPS接收機射頻前端電路[J].電子技術(shù),2007(z3):115-116.YANG Qiu-bo.The Design of Radio Frequency Front Circuit of GPS Receiver Based on SE4100L[J].Electronic Technology,2007(z3):115-116.(in Chinese)

      [2] 倪明輝,周軍,楊庚.USB在FPGA控制的高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].計算機測量與控制,2006,14(2):268-271.NI Ming-hui,ZHOU Jun,YANG Geng.Application of USB in High Speed Data Acquisiton System Controlled by FP GA[J].Computer Measurement&Control,2006,14(2):268-271.(inChinese)

      [3] 秦麗,何慧珠,張會新.基于USB2.0的通用FLASH存儲器檢測系統(tǒng)設(shè)計[J].電測與儀表,2008,45(4):61-64.QIN Li,HE Hui-zhu,ZHANG Hui-xin.Design of universal check and measure system for flash based on USB2.0[J].Electrical Measurement&Instrumentation,2008,45(4):61-64.(in Chinese)

      [4] 徐夏,雷明.基于CY7C68013的數(shù)據(jù)通信系統(tǒng)設(shè)計[J].微計算機信息,2009,25(17):198-200.XU Xia,LEI Ming.Design of data communication system based on CY7C68013[J].Microcomputer Information,2009,25(17):198-200.(in Chinese)

      [5] Elliott D Kaplan.GPS原理與應(yīng)用[M].邱致和,王萬義,等,譯.北京:電子工業(yè)出版社,2002:52-59.Elliott D Kaplan.Understanding GPS Principles and Applcation[M].Translated by QIU Zhi-he,WANG Wan-yi,et al.Beijing:Publishing House of Electronics Industry,2002:52-59.(in Chinese)

      [6] James Bao-Yen Tsui.GPS軟件接收機基礎(chǔ)[M].陳軍,潘高峰,等,譯.北京:電子工業(yè)出版社,2007:108-153.James Bao-Yen Tsui.Fundamentals of Global Positioning System Receivers A Software Approach[M].Translated by CHEN Jun,PAN Gao-feng,et al.Beijing:Publishing House of Electronics Industry,2007:108-153.(in Chinese)

      猜你喜歡
      固件端點總線
      非特征端點條件下PM函數(shù)的迭代根
      不等式求解過程中端點的確定
      基于PCI Express總線的xHC與FPGA的直接通信
      機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
      參數(shù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點估計
      基于固件的遠程身份認證
      基丁能雖匹配延拓法LMD端點效應(yīng)處理
      提取ROM固件中的APP
      電腦愛好者(2015年7期)2015-04-09 08:54:02
      多通道ARINC429總線檢查儀
      一種通過USB接口的可靠固件升級技術(shù)
      河曲县| 响水县| 沙河市| 平江县| 库尔勒市| 贵南县| 平舆县| 三都| 邛崃市| 常州市| 府谷县| 饶河县| 河源市| 四平市| 中阳县| 田林县| 慈利县| 灵宝市| 灵璧县| 宜兰县| 龙胜| 马鞍山市| 宝丰县| 成武县| 阜平县| 济源市| 峨山| 边坝县| 鄂尔多斯市| 客服| 黄平县| 奉化市| 互助| 运城市| 绥阳县| 上高县| 丘北县| 缙云县| 上高县| 海兴县| 乌兰浩特市|