新聞中心

EEPW首頁(yè) > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > FPGA與GPS-OEM板的串行通訊系統(tǒng)設(shè)計(jì)

FPGA與GPS-OEM板的串行通訊系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2011-01-13 來源:網(wǎng)絡(luò) 收藏

2 通信系統(tǒng)的

  2.1 系統(tǒng)通信原理

  由于接口采用TTL電平,而OEM板的通信采用RS-232標(biāo)準(zhǔn)電平,故需電平轉(zhuǎn)換,電平轉(zhuǎn)換接口可以通過MAX202芯片來實(shí)現(xiàn)。GPS25有兩個(gè)口,其端口1可用來輸入差分修正信息和輸出衛(wèi)星的原始測(cè)量信息,而端口2則用來輸入設(shè)定語句和輸出定位語句,因此,只需將接口與GPS25串行口2對(duì)應(yīng)連接即可.其接口電路如圖l所示。的全局時(shí)鐘Global_clk由24 MHz的晶振產(chǎn)生。

接口電路

  2.2 OEM板的個(gè)性配置

  當(dāng)FPGA模塊完成開機(jī)上電后.其中的異步串行發(fā)送電路將發(fā)送用戶制定的配置語句,以對(duì)OEM板進(jìn)行個(gè)性化的設(shè)置。

  由于GPS25的默認(rèn)波特率是4800 bit/s。故應(yīng)將FPGA中異步串行發(fā)送電路的波特率時(shí)鐘也設(shè)置為此值,具體可通過對(duì)系統(tǒng)的全局時(shí)鐘進(jìn)行分頻來實(shí)現(xiàn),發(fā)送完結(jié)束標(biāo)志符后,F(xiàn)PGA中的定位信息接收讀取電路即可開始工作,并等待數(shù)據(jù)的接收。本例用$GPRMC語句接收OEM板的定位信息,如果應(yīng)用系統(tǒng)有特殊要求,還需要進(jìn)行初始化、配置以及對(duì)輸出語句進(jìn)行選擇。應(yīng)該注意的是,NMEA-0183格式中的校驗(yàn)和無需發(fā)送。

  初始化可用$GRMI語句來實(shí)現(xiàn),其結(jié)果是:

公式

  其中,1>~4>項(xiàng)用以設(shè)置地理位置,它們的格式與$GPGGA語句的對(duì)應(yīng)項(xiàng)相同,第5>項(xiàng)為UTC日期,格式為日日月月年年,第6>項(xiàng)為UTC時(shí)間,格式與$GPGGA語句相同,第7>項(xiàng)中,A=自動(dòng)定位,R=設(shè)備復(fù)位。

  OEM板的配置可利用$PGRMC語句來完成。該語句共有14個(gè)有效項(xiàng),其中第10>項(xiàng)選擇波特率,1~7分別代表標(biāo)準(zhǔn)波特率300~19200,配置時(shí),可以用空項(xiàng)表明保持原配置項(xiàng)不變。例如,配置為9600波特、輸出秒脈沖時(shí),其則語句為:

公式

  GPS25的輸出語句共有10多條,默認(rèn)的輸出語句為$GPGGA等5條。用戶對(duì)輸出信息的設(shè)定可以通過$PGRMO語句實(shí)現(xiàn)。其結(jié)構(gòu)是:

公式

  其中,1>為合法語句名,如GPRMC;2>為語句狀態(tài),1表示禁止該語句輸出,2表示允許該語句輸出,3表示禁止所有語句輸出,4表示允許所有語句輸出。

  例如,下列輸入語句只允許OEM板輸出$GPRMC語句:

  $PGRMO,3CR>LF>;禁止所有語句輸出。

  $PGRMO,GPRMC,2CR>LF>;允許$GPRMC語輸出。

3 定位信息的接收與讀取

  3.1 接收模塊的

  本中的接收模塊主要負(fù)責(zé)接收由OEM板串口2輸出的導(dǎo)航定位信號(hào)。該模塊包括對(duì)TXD端的起始位檢測(cè)電路,采樣電路,波特率發(fā)生器和異步FIFO緩存設(shè)計(jì)等。本例中的波特率發(fā)生器實(shí)際上是一個(gè)時(shí)鐘分頻器,所產(chǎn)生的分頻時(shí)鐘是波特率時(shí)鐘的16倍,目的是為了在接收時(shí)進(jìn)行精確的采樣,以提出異步串行數(shù)據(jù),同時(shí),也可為異步FIFO提供寫時(shí)鐘。

  接收之前應(yīng)對(duì)從OEM板直接輸出的RXD信號(hào)進(jìn)行同步處理,以濾除輸出中的干擾,降低異步時(shí)域數(shù)據(jù)傳輸中亞穩(wěn)態(tài)產(chǎn)生的概率,提高系統(tǒng)的穩(wěn)定性和可靠性。本設(shè)計(jì)采用兩級(jí)D觸發(fā)器來實(shí)現(xiàn)信號(hào)同步。根據(jù)異步傳輸?shù)耐ㄓ崊f(xié)議,當(dāng)電路檢測(cè)到OEM板同步后的輸出端syn_TXD發(fā)生負(fù)跳變時(shí)。整個(gè)接收采樣電路開始工作。為了避免干擾和得到正確的起始位,在波特率時(shí)鐘檢測(cè)過程中,至少必須有一半屬于邏輯0,即8個(gè)時(shí)鐘周期后,才可認(rèn)定收到是可靠的起始位。當(dāng)接收到正確的起始位后.接著的數(shù)據(jù)位將每隔16個(gè)采樣周期被采樣一次。即取每一位的第8次的波特率時(shí)鐘采樣值來確保采樣正確。圖2所示是本系統(tǒng)的串口接收狀態(tài)圖。連續(xù)采樣8次后,即一個(gè)字節(jié)數(shù)據(jù)接收完成之后,便可設(shè)置位結(jié)束標(biāo)志。每采樣一個(gè)字節(jié)數(shù)據(jù),都先放入FIFO中緩存。由于GPRMC格式數(shù)據(jù)所傳輸?shù)淖畲笞止?jié)數(shù)是72Byte,故當(dāng)接收完一組數(shù)據(jù)之后,都要對(duì)FIFO的滿信號(hào)置位,并由外部的全局時(shí)鐘控制將里面緩存的數(shù)據(jù)讀出,以供后續(xù)部分處理。讀完之后,即可接收到后續(xù)模塊的結(jié)束標(biāo)志,然后復(fù)位讀使能,以等待下一組數(shù)據(jù)的到來。其仿真結(jié)果如圖3所示。

本系統(tǒng)的串口接收狀態(tài)圖



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉