文獻標識碼: A
文章編號: 0258-7998(2012)10-0012-03
遙測系統一般由輸入設備、傳輸設備和終端設備組成。按其使用信道的方式,可分為時分制遙測系統、頻分制遙測系統和碼分制遙測系統[1]。脈沖編碼調制(PCM)在遙測系統中占主導地位。在進行多路傳輸的PCM遙測系統中,待測參數可以是模擬信號或者是數字信號,也可以是數字和模擬混合信號。這些信號包括速變信號、緩變信號、負脈沖信號和階躍信號。對于模擬信號,需要將其轉換成數字信號,再經過PCM多路復用器,按一定的格式由程序控制器完成格式控制,使PCM遙測信息呈現出具有一定周期的數據結構形成串行的PCM碼元序列。PCM遙測信息完成組幀后,通過調制發射出去。
1 遙測數據編碼的原理分析
在數字通信系統中,一般采用時分復用方式提高信道的傳輸速率。所謂時分多路復用(即時分制)即利用各路信號在信道上占有不同的時間間隔的特征來分開各路信號[2],其特點是:各路信號在頻譜上是相互重疊的,但在傳輸時是彼此獨立的;任何時刻,信道上只有一個信道在傳輸[3]。
1.1 復接幀結構分析
數據以幀為單位傳輸,每一片段稱為一幀,幀的長度稱為幀周期。在每一個幀內,一般還要分為等時間間隔的小段,這些事件小段的分配決定幀結構的構成方式。通常,將這一小段稱作子幀,而包含子幀的結構叫做復幀[4]。
在數字通信系統中,一般采用時分復用方式提高信道的傳輸速率。滿足復接條件的低速支路碼流進行復接時,根據碼流的具體匯接方式分為逐位復接、按字復接和逐幀復接。本文采用按字復接[5]。因為本例包括8路數字信號和16路模擬信號,按字復接有利于數字電話交換,降低設計難度,但同時要求有較大的存儲容量。為了既不丟失信號的信息又能合理利用信道,對于不同速率的參數,應在復幀基礎上用不同的子幀來實現。數字通道在復幀的固定位置(即占復幀前88 B),模擬通道占160 B,幀計數占4 B,復幀同步碼有4 B,因此就構成了復幀的256 B。這樣就提出一個問題:模擬信號有16路,每一路表示一個單獨信息。對于模擬信號一個子幀必須包括16路信息;每路采樣率為3 200 S/s,32個采樣點組成一路信息為一個周期,則一個子幀有16×32=512 B。這樣,一個復幀長度小于子幀,為此就需要多個復幀構成一個子幀。解決這個問題的方式是在有些復幀中插入子幀同步碼。圖1是幀結構示意圖,其上半部分有子幀同步碼,下半部分沒有子幀同步碼。
1.2 復接實現技術分析
由于數字部分數據在復幀的位置固定,一個復幀的數據中每個字節都是一個位置,所以可以用一個寄存器來表示,將數字通道數據、幀計數、復幀同步碼插到預定的位置。由于傳輸數據在變化,如:數字通道的刷新率是60 ms(即60 ms出現一幀),有時沒有數據(也就是說沒有采樣數據),這時可以用填充位來填充位置從而確保數字通道位置固定。但是,模擬部分如果沒有采集到波形,則可以視為采集到直流的波形。在PCM遙測體制中,PCM遙測編碼器采用硬件實現。遙測系統中,由于不同測量目的所需要的遙測參數的數量有所不同,為了保證遙測系統的相對通用性,往往都是以最多測量參數為基準進行設計,且留有冗余的通道。本例中無論8路數字信號還是16路模擬信號都是最大支持通道??紤]到數字分接的難易程度,本系統還提供與原數據高度匹配的隨路時鐘。
數據復接系統面臨著數據滑動或溢出的問題, 解決這個問題需要在復接前對各路不同類型的數據進行碼速率調整,同時保證定時和時鐘同步精度。因緩沖區的容量不可能很大, 解決數字信號滑動問題的關鍵是不能在FIFO寫滿時讀出, 讀出速率不能小于寫入數據速率。可根據需要適時加入填充位, 以調整寫入、 讀出速率, 防止信息的丟失或溢出。在數字部分中,緩沖器之間可以有一個握手協議,即當組幀部分讀取一個數據時計數器減1,而當一幀數據來到時可以屏蔽組幀部分讀取,再根據計數器計算地址完成一幀數據賦值,以免數據丟失。在傳輸協議中, 可以加入特定的數據位來指示數據傳輸的狀態信息,比如對幀的數量進行計數。
2 基于FPGA的數據復接系統設計方案
2.1 系統實現方案
圖2為完整的基于幀的同步數字復接通信系統原理框架, 圖中線框內分別是數字復接系統。由圖可知, 遙測數據編碼由模擬開關、 信號調理模塊、電平轉換、數據復接器(FPGA組幀單元)構成。外部M個通道的低頻數據經過模擬開關后提取出一路信號, 再經過A/D轉換芯片將其轉換成數字信號。外部N-M數字信號由電平轉換單元將傳輸電平轉換為TTL電平,再經過一個FIFO緩存器和數據復接器對數據緩沖區中的M個支路的原始數據進行復接后送入編碼信道進行傳輸。
復接系統主要由FPGA Cyclone 3C25、模擬開關ADG506A、 模/數轉換器ADC(AD7899)以及電平轉換器等幾部分組成,采用HDL、C語言開發設計。整個系統集成在印制板上,能夠滿足升空平臺對設備體積、重量和功耗的要求。
FPGA主要向模擬門提供選通信號編號,將數據組幀,并且提供隨路時鐘。模擬門主要是對模擬信號的選通和模擬信號的放大[6]。電平轉換模塊是將數字信號的其他形式電平轉化成TTL電平。采用FPGA設計, 系統具備開放性,可以通過加載軟件,在不改變硬件的條件下很方便地增加新的功能模塊。采用模塊化設計使開發過程簡化, 便于系統的調試,提高研究的效率,系統的升級只需要對軟件進行更新。
2.2 系統硬件實現方案
在數字通信系統中,一般采用時分復用方式提高信道的傳輸速率。所謂時分多路復用(即時分制)是利用各路信號在信道上占有不同的時間間隔的特征來分開各路信號[4]。而狀態機的狀態可以代表不同的時間間隔,狀態機的順序操作是以不同時間間隔進行轉換的。綜合以上分析,利用狀態機來實現組幀如圖3所示。
首先系統要提供一個819.2 kHz的時鐘、FPGA提供50 MHz的時鐘。所以這需要一個50 MHz/0.819 2 MHz=61的分頻器來提供時鐘。這個時鐘不僅是狀態機的工作時鐘也是組幀單元提供的隨路時鐘。在隨路時鐘還要有一個每2 048 bit有一個高電平脈沖作為狀態機的啟動信號(start),同時也是一幀的開始。此外,還要有位計數器Fram_CNT(表示一幀的每一位)清零,其余時刻做加1操作。當分頻器來一個高電平脈沖、狀態機由idle狀態進入RX1狀態時,雙方通過一個握手協議將1 B數據放在8 bit緩沖器中,8 bit緩沖器再賦值給一個8 bit FIFO單元。FIFO單元再經過一個并/串轉換輸出串行的碼流。延時8個時鐘周期以后進入RX2狀態;進入RX2狀態以后重復狀態RX1的操作;當在RX8狀態時,則判斷RX_CNT是否為88,是則進入MN1,否則進入RX1。
當進入狀態MN、MN_CNT=0時,要在序列中加入子幀同步碼,然后將采集的數據放在24 bit緩存器中,24 bit緩沖器再賦值給一個24 bit FIFO單元。FIFO單元再經過一個并/串轉換輸出串行的碼流后,MN_CNT加1,計算地址(A0A2A3A4)=(MN_CNT-1)%16,然后發送地址(A0A2A3A4),選通模擬開關,在此狀態延時4個周期,等待模/數轉換器轉換完進行數據采集。再將采集的數據放在16 bit緩存器中,16 bit緩沖器再賦值給一個16 bit FIFO單元。FIFO單元再經過一個并/串轉換輸出串行的碼流,并同時計數MN_CNT加1。當MN_CNT為256時,對MN_CNT清零后,發送地址(A0A2A3A4),重復以上的操作。同時在另一模塊中,將16 bit寄存器地址發送到16 bit移位寄存器,在計時器為固定值時,最高位直接賦值給data,然后16 bit移位寄存器再做并/串轉換將采集數據由data輸出。
當Fram_CNT=260×8,進入復幀計數器狀態并在這個狀態插上復幀計數時,通過一個累加器將數據放在16 bit緩存器中,16 bit緩沖器再賦值給一個16 bit FIFO單元。FIFO單元再經過一個并/串轉換后輸出串行的碼流。
當Fram_CNT=262×8,采集的數據放在32 bit緩存器中,32 bit緩沖器再賦值給一個32 bit FIFO單元。FIFO單元再經過一個并/串轉換后輸出串行的碼流,插上復幀同步碼。
到此,一個復幀已經組建完成。
3 仿真實現及結果分析
根據以上分析,基于FPGA的數據鏈數據復接模塊程序在Quartus環境下進行仿真,能夠對數字8路、模擬16路復接成一串行碼流進行仿真。start表示啟動信號;data_Rx1、data_Rx2、data_Rx3、data_Rx4、data_Rx5、data_Rx6、data_Rx7、data_Rx8表示8路遙測等類型數據數字信號。本次仿真依次輸入1~8;data_MN表示遙測等類型數據模擬信號;本次仿真依次輸入9~24;Addr表示模擬信號選通開關仿真依次輸入0~15;data表示組幀形成的串行碼流;clock表示隨路時鐘。
圖4中由于篇幅所限沒有完全表示出一幀數據,start一個高電平開始一幀數據先復接8路數字通道,然后需要模擬部分子幀幀同步碼(MN_CNT=0)逐個通道發送模擬信號選通開關,再將返回的數據進行復接。此外,還要對幀總數計數,以便計算傳輸和解碼是否發生丟幀。最后是復幀同步碼,以實現碼、字同步。圖4(c)、圖4(d)是程序下載到開發板用signal tap ii觀測到的波形。圖中,framout分別是檢測到復幀同步碼、子幀同步碼輸出一個高電平。經過程序仿真后, 不同遙測數據成功組幀并能夠按照選定速率進行傳輸。
本文對基于FPGA的混合遙測數據復接技術進行了研究,并結合典型實例進行了設計的仿真驗證。結果驗證了該項技術能夠有效地融合和傳輸各種類型的遙測數據。整個系統具有模塊化設計、開放性、靈活性、體積重量小、功耗低等突出優點,同時節省了信道資源,提高了信息傳輸效率。
參考文獻
[1] 孫義明,楊麗萍.信息化戰爭中的戰術數據鏈[M].北京:郵電大學出版社,2005:1-5.
[2] 張力軍.通信原理[M].北京:高等教育出版社,2008:1-5.
[3] 韓松,張曉林,占巍,等.基于空中指控節點的信息分發模型及時延分析[J].系統工程與電子技術,2009,31(11):2677-2681.
[4] 宋學瑞,蔡子裕,段青青.基于FPGA的數字復接系統的設計與實現[J].計算機測量與控制,2008,38(6):1174-1176.
[5] 鄧嵐,郭勇,賴武剛.基于FPGA的數字復接器的設計[J]. 微計算機信息,2007,23(11):209-210.
[6] 滕克難,董云龍,盛安冬.多傳感器異步融合技術研究[J]. 系統工程與電子技術,2010,32(2):221-225.