亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

        1 引 言

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

        外設與主機的通信接口一般基于PCI總線、RS-232串行總線或通用串行總線(Universal Serial Bus,USB)。PCI總線雖具有較高的傳輸速率,支持“即插即用”,但存在插拔麻煩、擴展槽有限的缺點。RS-232串行總線雖連接簡單,但是傳輸速度慢,且主機串口數(shù)目有限。USB具有速率高、易擴展、安裝方便等特點,已成為主流的數(shù)據(jù)傳輸總線。本文所設計的采集系統(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半導體公司的SE4110L芯片,該芯片具有集成度高、功耗低、性能高等優(yōu)點,廣泛應用于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的接口設計

        FPGA作為主端控制從端CY7C68013芯片,接口管腳連接如圖2所示。其中,IFCLK為CY7C68013同步模式下接口時鐘;FLAGA 、FLAGB、FLAGC、FLAGD為FIFO的工作狀態(tài)標志位。在FPGA可控的輸入信號中,SLCS為片選信號;SLOE為輸入使能信號;SLRD為讀使能信號;SLWR為寫使能信號;PKTEND為數(shù)據(jù)包結(jié)束信號,當發(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的讀、寫及擦除等各項操作。接口設計如圖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ù)傳輸速率非常高,就會導致USB主機沒有及時響應而發(fā)生丟數(shù)現(xiàn)象,嚴重影響系統(tǒng)的可靠性。為了解決上述問題,采用雙緩沖技術(shù)。在FPGA內(nèi)開辟大塊RAM,分成大小相等的兩部分,進行乒乓操作,使讀出RAM的頻率為寫入RAM頻率的2倍,這樣可以在數(shù)據(jù)量不變的前提下增加數(shù)據(jù)包之間的時間間隔,為USB主機預留出更多的響應時間。

        2.3 USB傳輸單元

        在USB傳輸單元中采用Cypress公司 EZ-USB FX2LP系列中的CY7C68013芯片。EZ-USB FX2LP系列芯片集成8051內(nèi)核及串行接口引擎(SIE),SIE能夠完成數(shù)據(jù)解碼、位填充、差錯控制等與USB協(xié)議相關的工作,減輕增強型8051的負擔,降低了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設備描述符及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è)界得到了廣泛應用。本系統(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ū),用來保存壞塊標志位、ECC碼等狀態(tài)信息。

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

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

        圖6 壞塊標記時序圖Fig.6 Timing diagram of the marking of invalid block

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

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

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

        采集系統(tǒng)的軟件設計包括USB固件程序和USB主機控制軟件。CY7C68013芯片根據(jù)USB固件程序響應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的寄存器聲明和位標志;EZUSB.lib為EZ-USB的庫文件,提供和外部芯片的控制封裝;dscr.a51為匯編文件定義USB設備的各種描述符;syncdly.h為同步延時的宏定義,用于需要同步延時的寄存器。

        開發(fā)包中的fw.c為USB固件程序的主文件,包括main函數(shù)、任務調(diào)度、SETUP命令處理等。periph.c完成USB的初始化和任務處理函數(shù):開發(fā)者在TD-Init函數(shù)里對CY7C68013芯片的寄存器進行配置,完成芯片的初始化;開發(fā)者可添加任務函數(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設計的一種應用程序,主要完成上位機對USB設備的檢測、系統(tǒng)啟動、數(shù)據(jù)傳輸、停止采集及系統(tǒng)復位等操作。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設備是否連接,并讀取設備描述符如廠商標號、產(chǎn)品標號及設備名稱。檢測完設備后,輸入所需的樣本數(shù),啟動數(shù)據(jù)傳輸。主機發(fā)送啟動采集命令到USB設備,設備響應命令,將CY7C68013芯片IO管腳PA0電平置低,FPGA檢測該管腳為低時,啟動采集。將采集到的數(shù)據(jù)經(jīng)USB總線寫入主機硬盤,實現(xiàn)對數(shù)據(jù)的實時采集與流盤。當采集完成時,主機程序提示采集已完成。同樣,主機發(fā)送停止采集命令到USB設備,將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)星導航電文,必須得到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路輸出為導航數(shù)據(jù),Q路輸出只包含噪聲。

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

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

        5 結(jié)束語

        本文設計的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)定,便于維護和升級,廣泛應用于采集GPS中頻信號,在GPS接收機開發(fā)、產(chǎn)品化過程中發(fā)揮了重要的作用。

        [1] 楊秋波.基于SE4100L設計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)中的應用[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)設計[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)設計[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原理與應用[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軟件接收機基礎[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ù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點估計
        基于固件的遠程身份認證
        基丁能雖匹配延拓法LMD端點效應處理
        提取ROM固件中的APP
        電腦愛好者(2015年7期)2015-04-09 08:54:02
        多通道ARINC429總線檢查儀
        一種通過USB接口的可靠固件升級技術(shù)
        日本中文字幕av网址| 一本色道久久88加勒比综合 | 亚洲av高清一区二区在线观看| 色一情一乱一伦一视频免费看| 国产乱妇乱子视频在播放| 欧美亚洲另类自拍偷在线拍| 丝袜美腿在线播放一区二区| 乱子轮熟睡1区| 久久中文精品无码中文字幕| 日本一道dvd在线中文字幕| 中文字幕有码在线亚洲| 曰本女人与公拘交酡| 亚洲自偷自偷偷色无码中文| 免费福利视频二区三区| 日本中文一区二区在线| 丰满人妻熟妇乱又伦精品软件 | 国精产品推荐视频| 免费看国产成年无码av| 亚洲av手机在线一区| 日本熟妇人妻xxxx| 99精品国产兔费观看久久99 | 蜜桃视频网址在线观看| 国产精品videossex久久发布| 久久中文精品无码中文字幕| 一区二区av日韩免费| 亚洲一区二区国产激情| 国产精品免费看久久久8 | 久久深夜中文字幕高清中文| 亚洲 小说区 图片区 都市| 日本高清色倩视频在线观看| 久久久国产精品ⅤA麻豆百度| 国内偷拍国内精品多白86| 亚洲熟妇av日韩熟妇在线| 99国产精品久久久蜜芽| 精品国产av一区二区三区| 亚洲av综合av一区| 在线精品国产一区二区| 亚洲av精品一区二区| 亚洲一区二区三区小说| 蜜臀av一区二区| 午夜精品一区二区三区av免费|