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

        ?

        基于FPGA的GPS模塊和電子羅盤模塊驅(qū)動(dòng)設(shè)計(jì)

        2011-06-05 11:01:36薛紅喜
        電子設(shè)計(jì)工程 2011年19期
        關(guān)鍵詞:信號(hào)系統(tǒng)設(shè)計(jì)

        李 宏,薛紅喜

        (成都電子科技大學(xué) 電子工程學(xué)院,四川 成都 611731)

        全球定位系統(tǒng) (Global Positioning System簡稱GPS)是美國第二代衛(wèi)星導(dǎo)航系統(tǒng),能提供全天候、連續(xù)、實(shí)時(shí)高精度導(dǎo)航參數(shù),可實(shí)現(xiàn)三維定位,并可提供精確的時(shí)間信息,具有抗干擾能力強(qiáng)等特點(diǎn)。近年來,GPS在國內(nèi)外得到廣泛的應(yīng)用,并在各個(gè)領(lǐng)域發(fā)揮了極大的作用,已成為導(dǎo)航、定位不可缺少的一部分。電子羅盤作為一種重要的航向傳感器,正越來越多地應(yīng)用于導(dǎo)航和定位系統(tǒng)中。其通過對(duì)地球磁場等信息的讀取、計(jì)算,精確輸出航向、俯仰、翻轉(zhuǎn)等參數(shù)。

        GPS模塊是GARMIN公司的GPS-OEM產(chǎn)品,其可同時(shí)跟蹤多達(dá)12顆GPS衛(wèi)星,實(shí)現(xiàn)快速定位。電子羅盤模塊是PNI公司的TCM3產(chǎn)品,其可用于測(cè)量航向、傾斜角和磁場強(qiáng)度,能夠提供航向、橫滾和俯仰值3個(gè)方向的定位數(shù)據(jù)。它們都采用RS232通信接口,可方便地集成到系統(tǒng)中。GPS模塊采用NMEA-0183通信標(biāo)準(zhǔn)格式,輸出數(shù)據(jù)采用ASCII碼表示;其輸出的完整定位數(shù)據(jù)多達(dá)60多個(gè)字節(jié),也就是需要60多次的串口操作;電子羅盤模塊控制也需要十幾次的讀寫串口操作。而且,RS232接口的傳輸速率與DSP運(yùn)行速度相比很低;因此,采用DSP直接控制GPS和電子羅盤模塊,占用的DSP運(yùn)行時(shí)間是相當(dāng)可觀的。

        FPGA控制GPS模塊和電子羅盤模塊的流程并不復(fù)雜。GPS模塊不需要任何設(shè)置,電子羅盤模塊則只需要進(jìn)行簡單設(shè)置,所以采用FPGA作為GPS模塊和電子羅盤模塊驅(qū)動(dòng)接口是完全可行的。此外,利用FPGA還可以將數(shù)據(jù)格式進(jìn)行處理,縮短數(shù)據(jù)的位長,采用更高速的接口(SPI或者EMIF)與DSP通信。

        1 系統(tǒng)結(jié)構(gòu)

        本系統(tǒng)主要由FPGA,GPS模塊和電子羅盤模塊3部分構(gòu)成,如圖1所示。由于電平的不匹配,F(xiàn)PGA與RS232接口之間需要進(jìn)行電平轉(zhuǎn)換。系統(tǒng)工作的原理是通過FPGA直接接收GPS模塊發(fā)出的數(shù)據(jù),從中提取出時(shí)間、經(jīng)度和緯度信息,并將這些數(shù)據(jù)格式由ASCII碼轉(zhuǎn)換成壓縮BCD碼格式保存。FPGA向電子羅盤模塊發(fā)送相應(yīng)的命令,然后獲取電子羅盤輸出的航向信息并直接保存。這些數(shù)據(jù)都可由DSP通過SPI接口讀取。

        圖1 系統(tǒng)整體結(jié)構(gòu)Fig.1 Block diagram of system

        SPI接口通信速度能夠比RS232高很多,能夠?qū)崿F(xiàn)板與板之間的短距離通信,因此被選擇作為對(duì)外的通信接口;此外,因?yàn)镕PGA非常靈活,如果FPGA與DSP的EMIF接口直接相連,可以將SPI接口改為EMIF接口,通信的效率會(huì)更高。

        2FPGA邏輯模塊設(shè)計(jì)

        FPGA邏輯設(shè)計(jì)按功能可以分為SPI通信模塊,RS232通信模塊,電子羅盤驅(qū)動(dòng)模塊和GPS驅(qū)動(dòng)模塊4個(gè)部分。這種模塊化的設(shè)計(jì)思想在FPGA設(shè)計(jì)中很重要,這有助于設(shè)計(jì)者對(duì)設(shè)計(jì)的管理和修改。例如,要將SPI接口換成EMIF接口時(shí),并不需要將設(shè)計(jì)進(jìn)行重新設(shè)計(jì),而只需要用EMIF接口模塊的代碼替換SPI接口模塊的代碼即可。本設(shè)計(jì)使用的FPGA是Altera的Cyclone III系列中的EP10F256I7N,系統(tǒng)時(shí)鐘33.3 MHz,SPI接口通信速率約為1 MHz,RS232通信波特率為9 600 bps,硬件設(shè)計(jì)語言采用VHDL。

        2.1 SPI通信模塊

        SPI總線接口是一種同步串行總線通訊接口,有主從之分,分為讀寫兩種通信狀態(tài)。這里被設(shè)計(jì)為從模式。

        SPI接口的設(shè)計(jì)需要注意SPI接口通信時(shí)鐘信號(hào)(SCLK)的處理。因?yàn)镾CLK不可能像專用的時(shí)鐘輸入信號(hào)一樣距離FPGA器件盡量地靠近;往往為了滿足設(shè)計(jì)的要求,布線長度可能達(dá)到幾十厘米,不可能不引入干擾;如果直接用做SPI通信的時(shí)鐘信號(hào),通信肯定會(huì)存在風(fēng)險(xiǎn)。如圖2所示,SCLK變化的過渡期內(nèi),信號(hào)的狀態(tài)不能很快穩(wěn)定,可能一次上升沿被誤認(rèn)為2次上升沿而出現(xiàn)錯(cuò)誤動(dòng)作(如果SPI的上升沿有意義的話);此外當(dāng)SCLK受到干擾后,也可能出現(xiàn)錯(cuò)誤的邏輯動(dòng)作。所以在要求較高的情況下,SCLK一般不能直接作為SPI通信的時(shí)鐘信號(hào)。

        圖2 SPI接口的時(shí)鐘信號(hào)的波形Fig.2 The clock signal waveform of the SPI interface

        為了減少SCLK引起通信錯(cuò)誤,可以使用系統(tǒng)時(shí)鐘先對(duì)SCLK信號(hào)進(jìn)行同步的方法。通過連續(xù)多個(gè)狀態(tài)來判斷SCLK的情況。如果連續(xù)幾個(gè)時(shí)刻SCLK的狀態(tài)都是高電平,而以前幾個(gè)連續(xù)時(shí)刻是低電平,那么可以判斷為是SCLK的上升沿,如果再出現(xiàn)連續(xù)幾個(gè)時(shí)刻都是低電平,則判定為是SCLK下降沿。依次這樣來跟蹤SCLK的變化情況,如圖3所示。可見,F(xiàn)PGA內(nèi)部實(shí)際的邏輯動(dòng)作時(shí)刻會(huì)比SCLK的有效邊沿晚一個(gè)系統(tǒng)時(shí)鐘周期,但是如果系統(tǒng)的時(shí)鐘比SCLK的頻率高幾十倍時(shí),這根本不會(huì)影響SPI的正常通信。

        2.2 RS232通信模塊

        RS232是一種異步串行通信物理接口標(biāo)準(zhǔn),可用于速率小于20 kb/s,20 m距離內(nèi)的通信。根據(jù)不同的應(yīng)用需求,RS232接口通信有多種接線方式,其中最簡單的接線方式是采用接收(RX),發(fā)送(TX)和地(GND)的3線制。本設(shè)計(jì)也采用這種接線方式。

        圖3 SCLK在系統(tǒng)時(shí)鐘域中的同步Fig.3 The synchronize of the SCLK signal in the system clock domain

        RS232模塊在設(shè)計(jì)時(shí)需要注意不同時(shí)鐘域之間的時(shí)序處理。RS232模塊的運(yùn)行時(shí)鐘等于波特率速率的16倍頻率,而不是采用系統(tǒng)的運(yùn)行時(shí)鐘,所以必須在RS232模塊與其他采用系統(tǒng)時(shí)鐘運(yùn)行的模塊之間建立一個(gè)異步通信接口,才能保證它們之間的正確通信。本設(shè)計(jì)中,采用圖4的結(jié)構(gòu)作為與RS232模塊之間的異步通信接口。在發(fā)送數(shù)據(jù)時(shí),只需向異步FIFO中寫入需要發(fā)送的數(shù)據(jù)。當(dāng)FIFO中有數(shù)據(jù)時(shí),F(xiàn)IFO的空標(biāo)志(圖4中fifo_Empty)變?yōu)闊o效,RS232發(fā)送模塊就會(huì)自動(dòng)從FIFO中讀取數(shù)據(jù),將數(shù)據(jù)串行的發(fā)送出去,直到FIFO重新變?yōu)榭諡橹?。RS232模塊接收到數(shù)據(jù)后,標(biāo)志信號(hào)(圖4中Data_RDY)電平發(fā)出信號(hào),其他模塊就馬上讀取。為了保證接收到一個(gè)數(shù)據(jù)只被讀取一次,采用標(biāo)志信號(hào)的邊沿變化來作為觸發(fā)條件。

        圖4 RS232模塊的結(jié)構(gòu)Fig.4 The structure of the RS232 module

        2.3 電子羅盤驅(qū)動(dòng)模塊

        FPGA驅(qū)動(dòng)電子羅盤模塊必須發(fā)送兩個(gè)命令:設(shè)置輸出數(shù)據(jù)結(jié)構(gòu)命令 (SETDataComponents)和請(qǐng)求輸出數(shù)據(jù)命令(DataREQ);電子羅盤模塊可以輸出的數(shù)據(jù)種類有:航行角度、溫度、失真、校準(zhǔn)狀態(tài)、垂直俯仰角度以及水平旋轉(zhuǎn)角度,可以根據(jù)需要通過輸出數(shù)據(jù)結(jié)構(gòu)命令來設(shè)置電子羅盤模塊每次輸出的數(shù)據(jù)種類。讀取數(shù)據(jù)之前,必須向電子羅盤模塊發(fā)送請(qǐng)求輸出數(shù)據(jù)命令,電子羅盤模塊才能輸出數(shù)據(jù)[6]。

        電子羅盤驅(qū)動(dòng)模塊采用了有限狀態(tài)機(jī)的控制方式,因?yàn)闋顟B(tài)機(jī)能夠?qū)崿F(xiàn)可靠穩(wěn)定的控制流程,而且邏輯資源占用更少。電子羅盤驅(qū)動(dòng)模塊的狀態(tài)機(jī)包含6個(gè)狀態(tài),如圖5所示,每個(gè)狀態(tài)的定義如表1所示。

        電子羅盤驅(qū)動(dòng)模塊狀態(tài)機(jī)VHDL代碼(部分)

        圖5 狀態(tài)流程圖Fig.5 Flow chart of the state

        表1 狀態(tài)定義Tab.1 The definition of state

        —用于控制讀取數(shù)據(jù)的頻率(2次/秒),開機(jī)時(shí)等待電子羅盤內(nèi)部完成初始化。

        —設(shè)置電子羅盤輸出數(shù)據(jù)結(jié)構(gòu)?!螂娮恿_盤發(fā)送請(qǐng)求輸出數(shù)據(jù)命令。

        —讀取電子羅盤輸出的數(shù)據(jù)。

        —如果在規(guī)定時(shí)間內(nèi),沒有返回?cái)?shù)據(jù),返回Idel狀態(tài)重新發(fā)送命令。

        —保存數(shù)據(jù),然后返回Idel狀態(tài)。

        圖6 RS232模塊發(fā)送數(shù)據(jù)Fig.6 Sending data by RS232 module

        圖6通過 Quartus II軟件的SignalTap Logic Analyzer工具進(jìn)行在線仿真所截取的RS232發(fā)送SETDataComponents命令的波形;圖中Data_CNT信號(hào)表示減法計(jì)數(shù)器的計(jì)數(shù)值,指示需要寫入RS232模塊的數(shù)據(jù)字節(jié)數(shù);uart_in信號(hào)指示了輸入到RS232模塊中的數(shù)據(jù),這個(gè)數(shù)據(jù)將通過串行輸出端口發(fā)送出去;sdo表示RS232模塊串行輸出端口。從圖中可以看出,電子羅盤模塊正確地控制了發(fā)送SETDataComponents命令的操作過程,RS232模塊也正確地將數(shù)據(jù)串行發(fā)出了。

        2.4 GPS驅(qū)動(dòng)模塊

        GPS驅(qū)動(dòng)模塊在結(jié)構(gòu)上與電子羅盤模塊的驅(qū)動(dòng)是相似的,但是沒有發(fā)送部分(不需要向GPS模塊發(fā)送控制命令)。GPS驅(qū)動(dòng)模塊只需要讀取RS232模塊接收到的數(shù)據(jù),從中篩選出需要的信息(經(jīng)度、緯度以及時(shí)間)。此外,由于GPS輸出數(shù)據(jù)是采用ASCII碼來表示,而數(shù)字(0-9)的ASCII碼值的低4位就等于實(shí)際表示的數(shù)字,因此,將時(shí)間、緯度和經(jīng)度數(shù)據(jù)的每一位數(shù)字直接截取其低4位,轉(zhuǎn)換成壓縮BCD碼,即可減少一倍的數(shù)據(jù)位數(shù),在FPGA中也能很方便地實(shí)現(xiàn)。

        圖7是通過Quartus II軟件的SignalTap Logic Analyzer工具進(jìn)行在線仿真的結(jié)果。圖中第一行是電子羅盤輸出的航向數(shù)據(jù),第二行是緯度信息,第三行是經(jīng)度信息,第四行是時(shí)間和日期。GPS模塊的信息與本地的實(shí)際地理位置信息和時(shí)間幾乎完全相符。在線仿真的結(jié)果證明FPGA能夠正確實(shí)現(xiàn)對(duì)GPS模塊和電子羅盤模塊的控制。

        圖7 在線仿真結(jié)果(十六進(jìn)制)Fig.7 The result of online simulation(in hexadecimal)

        3 結(jié)束語

        本文介紹了如何通過FPGA控制GPS模塊和電子羅盤模塊,采用用一個(gè)高速的SPI接口與DSP進(jìn)行通信的方法,并在實(shí)際的硬件平臺(tái)上成功地予以實(shí)現(xiàn)。與DSP直接對(duì)GPS模塊和電子羅盤模塊進(jìn)行控制的方式相比,本方法在硬件方面,可以少使用至少一個(gè)DSP的McBSP接口,降低了對(duì)DSP器件外設(shè)接口的要求。在軟件方面,DSP讀取的GPS信息的數(shù)據(jù)長度減少到27個(gè)字節(jié)(直接控制時(shí)大于60個(gè)字節(jié));對(duì)電子羅盤的控制只有讀操作,不再需要寫操作,因此,DSP運(yùn)行過程中串口操作占用的時(shí)間明顯減少,程序控制流程更加簡單,系統(tǒng)的性能也得到提高。

        [1]陳石磊,劉貴喜,向國華.FPGA與GPS-OEM板的串行通訊系統(tǒng)設(shè)計(jì)[J].新特器件應(yīng)用, 2008, 10(5):11-13.CHEN Shi-lei, LIU Gui-xi, XIANG Guo-hua.The design of the serial communication system between FPGA and GPSOEM [J].Electronic Component&Device Applications,2008,10(5):11-13.

        [2]偉利國,張小超,胡小安.TCM3電子羅盤的特性與應(yīng)用[J].傳感器與微系統(tǒng),2009, 28(7):15-17.WEI Li-guo,ZHANG Xiao-chao,HU Xiao-an.Characteristic ofelectronic compass TCM3 and its application[J].Transducer and Microsystem Technologies, 2009, 28 (7):15-17.

        [3]王松.基于FPGA的串行外圍接口SPI設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息:嵌入式與SOC, 2010, 25(11-2):117-119.WANG Song.Design and implementation of serial peripheral interface based on FPGA [J].Microcomputer information:Embedded System and SOC, 2010,25(11-2):117-119.

        [4]王玨文,金偉信,蔡一兵,等.基于FPGA的SPI總線接口的實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù).2010, 14(325):102-104.WANG Jue-wen,JIN Wei-xin, CAI Yi-bing, etal.Implementation of SPI bus interface based on FPGA[J].Modern Electronics Technique, 2010,14(325):102-104.

        [5]孫豐軍,余春暄.SPI串行總線接口的Verilog實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù), 2005, 16(207):105-106,109.SUN Feng-jun,YU Chun-xuan.Implementation of SPI inerface with Verilog HDL[J].Modern Electronics Technique,2005, 16(207):105-106,109.

        [6]田紅霞,戴彥,鹿玉紅.基于FPGA的RS232串行接口設(shè)計(jì)[J].煤炭技術(shù).2010, 29(9):194-196.TIAN Hong-xia, DAI Yan, LU Yu-hong.Design Method of RS232 serial interface based on FPGA[J].Coal Technology.2010, 29(9):194-196.

        [7]李金力,劉文怡,彭旭峰.基于FPGA的RS232異步串行口IP核設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009, 17(8):31-35.LI Jin-li, LIU Wen-yi, PENG Xu-feng.Design of RS232 asynchronous serialportIP-core based on FPGA[J].Electronic Design Engineering, 2009,17(8):31-35.

        猜你喜歡
        信號(hào)系統(tǒng)設(shè)計(jì)
        Smartflower POP 一體式光伏系統(tǒng)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        完形填空二則
        瞞天過?!律O(shè)計(jì)萌到家
        基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:42
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        就去吻亚洲精品欧美日韩在线| 欧美肥妇毛多水多bbxx水蜜桃| 国产亚洲欧美日韩综合综合二区| 99re66在线观看精品免费| 99精品视频69v精品视频免费| 中文字幕一精品亚洲无线一区| 国产大片在线观看三级| 99久久er这里只有精品18| 美丽小蜜桃1一3在线观看| 国产成人8x视频网站入口| 久久久噜噜噜久久| 狠狠久久av一区二区三区| 最好看2019高清中文字幕视频| 天天做天天添av国产亚洲| 久久精品国产视频在热| 亚洲精品无码久久久久av麻豆| 丰满人妻猛进入中文字幕| 欧美在线观看www| 亚洲aⅴ在线无码播放毛片一线天| 高清不卡av一区二区| 人妖另类综合视频网站| 人妻少妇久久中文字幕一区二区| 日韩在线一区二区三区中文字幕 | 亚洲妓女综合网99| 精品熟人妻一区二区三区四区不卡 | 婷婷综合久久中文字幕蜜桃三电影| 久久99精品久久久久久清纯| 亚洲色图在线视频观看| 在线播放a欧美专区一区| 中国午夜伦理片| 国产毛片精品av一区二区| 亚洲 国产 哟| 无码乱人伦一区二区亚洲一 | 人妻丰满熟av无码区hd| 国产一区二区三区porn| 国产精品爽爽va在线观看无码| 国产精品无码无卡无需播放器| 中文字幕日本韩国精品免费观看| 国产午夜激无码av毛片| 欧美黑人又大又粗xxxxx| 国产在线观看一区二区三区av|