FPGA與GPS-OEM板的串行通訊系統(tǒng)設計
3.2數(shù)據(jù)校驗和存儲設計
要正確讀取OEM板的輸出語句,首先是判斷語句類型,其次是存放數(shù)據(jù),然后再確定語句的結(jié)束標志。本例中將接收的數(shù)據(jù)存放在FPGA內(nèi)部設定的RAM中,而對時間,位置等信息的提取和處理則在其它部分完成。
數(shù)據(jù)校驗模塊由FIFO的滿信號啟動。當檢測到滿信號有效時。校驗模塊連續(xù)的讀取數(shù)據(jù)并進行處理。當檢測到起始標志$后,即進入數(shù)據(jù)讀取和檢測。輸出數(shù)據(jù)是以語句的形式出現(xiàn)的,每條語句代表一種數(shù)據(jù),每種數(shù)據(jù)都有它自己的識別碼,所以,要根據(jù)收到的語句識別碼來判斷該語句是否為所需要的內(nèi)容(如GPRMC中,GP為識別符,RMC為語句名)。
根據(jù)NMEA-0183通信標準格式的內(nèi)容,可對所接收到的數(shù)據(jù)進行檢驗。即對接收到的信息逐字節(jié)異或。當接收到*時,比較下一字符hh與實際異或值是否相等。若相等,即所接收的數(shù)據(jù)正確;若不等,則所接收數(shù)據(jù)無效,系統(tǒng)隨之復位存儲設備,并等待檢測下一組數(shù)據(jù)。當檢測到結(jié)束符CR>LF>時,標志數(shù)據(jù)讀取結(jié)束,系統(tǒng)向FIFO發(fā)出結(jié)束標志,并等待下一次數(shù)據(jù)檢測。其系統(tǒng)校驗流程圖如圖4所示。
4 結(jié)束語
本文結(jié)合PFGA和GPS-25型OEM板的硬件特點,分析了FPGA和OEM板的串行通訊問題,同時重點分析了讀取GPS定位信息的設計問題。
評論