基于FPGA的IRTG-B碼編解碼器的設計與實(shí)現
一般每個(gè)IRIG-B碼都包含有豐富的碼信息。它必須包含幀開(kāi)始標志位、位置識別標志和索引標志,以使接受方能進(jìn)行數據卸載,或通過(guò)位置識別標志和索引標志識別出相應的天、時(shí)、分、秒等信息。圖6所示是IRIG-B碼編碼模塊的設計圖。本文引用地址:http://dyxdggzs.com/article/191278.htm
3 IRRIG-B解碼模塊設計
3.1 鎖相環(huán)PLL模塊
PLL鎖相環(huán)模塊用于實(shí)現系統同步功能,以使外部信號脈沖和提供的標準時(shí)鐘脈沖相位同步,從而實(shí)現輸入信號頻率對標準信號頻率的自動(dòng)跟蹤。PLL主要由鑒相器(PD)、環(huán)路濾波器(LPF)和壓控振蕩器(VCO)等三個(gè)基本部件組成。本文選用Ouartus II軟件中宏功能庫中自帶的PIX模塊來(lái)實(shí)現其相位同步功能。
3.2 IRIG-B解碼模塊
對IRIG-B碼進(jìn)行解碼就是將B中包含的標準時(shí)間信號和天、時(shí)、分、秒信息提取出來(lái)。解碼的關(guān)鍵在于判別IRIG-B碼的幀開(kāi)始標志位和相應的秒、時(shí)、分、天的位置和信息。通過(guò)檢測B碼中各個(gè)碼元的寬度(高電平),可以判斷相應的時(shí)間信息。該模塊可完成對IRIG-B碼的寬度檢測。如果寬度為8,則確定是位置識別標志,如果檢測到兩個(gè)連續的寬度都是8,第二個(gè)寬度為8的脈沖則作為幀開(kāi)始標志位。如果寬度為5,則對應的數值為“1”,如果寬度為2,則對應的數值為“0”。
本設計采用10 kHz基準信號來(lái)采樣IRIG-B碼信號以提取碼元相關(guān)信息。由于10kHz與外部頻率脈沖不能完全同步,有一定時(shí)間誤差。所以,利用10 kHz脈沖信號來(lái)采樣B碼信號,可使三種碼元不會(huì )出現重疊,從而可以提高采樣精度。在捕獲方式下,當滿(mǎn)足捕獲條件時(shí),硬件可自動(dòng)將計數器中的數據寫(xiě)入存儲器中,當B碼信號的上升沿到來(lái)時(shí),計數器開(kāi)始計數,下降沿到來(lái)時(shí)則停止計數,并通過(guò)采樣計數數值范圍來(lái)判斷對應的碼元,從而將直流碼解出。表1所列是用10kHz采樣B碼的信息表,圖7所示是IRIG-B解碼模塊示意圖。
3.3 雙端口RAM和控制模塊
本系統中的RAM模塊主要完成時(shí)間信息的存儲,RAM通過(guò)讀寫(xiě)控制信號來(lái)進(jìn)行讀寫(xiě)控制。當讀寫(xiě)信號為高電平時(shí)進(jìn)行寫(xiě)操作,此時(shí)可以通過(guò)寫(xiě)地址線(xiàn)控制把數據存儲到相應的存儲單元中;為低電平時(shí)則進(jìn)行讀操作,此時(shí)可通過(guò)讀地址線(xiàn)控制把相應存儲單元的數據讀出。從而完成整個(gè)數據存儲的讀取,圖8所示是該雙端口RAM和控制模塊的示意圖。
4 結束語(yǔ)
基于FPGA的IRIG-B碼編解碼器有利于硬件電路的簡(jiǎn)化并縮短開(kāi)發(fā)周期,同時(shí)其工作穩定,可靠性高,可提供精確時(shí)間信息,在工程實(shí)踐中得到日益廣泛的應用。本系統采用模塊化設計,其系統的各個(gè)模塊之間有較好的關(guān)聯(lián)性,又有一定的獨立性,便于后期對系統功能的擴展。當以串行方式進(jìn)行數據傳輸,用一個(gè)I/O端口即可完成數據的接收和發(fā)送,因而既節省系統資源,又可解決并行傳輸通道之間的相互干擾問(wèn)題。
評論