文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.04.019
中文引用格式: 駢洋,蘇淑靖. 多通道輸出可調的PCM信號源設計[J].電子技術應用,2016,42(4):67-69,77.
英文引用格式: Pian Yang,Su Shujing. The design of PCM signal source of multi-channel output adjustable[J].Application of Electronic Technique,2016,42(4):67-69,77.
0 引言
遙測模擬設備(即PCM信號源)能夠完成遙測系統的基本測試,提供系統所需的外部檢測信號。信號源輸出的模擬信號主要由幀同步碼組加上各個通道的數據按照一定的格式組成,并通過并串轉換,實現PCM碼流的串行輸出,作為檢測遙測設備的模擬信號發生器。
隨著遙測技術在航天、航空、氣象和衛星等領域的應用越來越多,對遙測設備的測試要求也越來越嚴格,傳統的單一、低頻、定頻和參數不可調的遙測模擬設備已不能滿足日益復雜的應用需求[1-4]。為了解決傳統遙測信號源輸出信號簡單、通道不可調的問題,本文提出了一種基于FPGA的多通道輸出可配置的通用PCM信號源。利用FPGA內部豐富的RAM和ROM資源及其特點,解決了使用外部EPROM輸出PCM信號格式單一、固定的問題[5]。
該設計能夠實現1 024通道以內的任意通道數的參數配置,參數包括正弦波、方波、三角波、鋸齒波、隨機數和固定值等六種波形,固定值支持用戶自定義,每個通道支持8位和16位字長可選。
1 信號源設計
參數可調的PCM信號源框圖如圖1所示,主要包括背板總線接口、LVDS通信模塊、FPGA控制模塊、輸出驅動模塊和電源模塊。LVDS通信模塊實現指令數據流的高速接收和解串功能,包括高速串化器和高速解串器兩部分。FPGA則完成通道參數配置和數據存儲等信號源基本功能實現的邏輯控制,電源模塊提供信號源電路基本的電壓信號,信號源的輸出驅動電路實現PCM碼流的單端輸出和差分輸出。
信號源工作原理:通過計算機配置每條通道的波形,并將配置后的參數進行打包,下發給PCM信號源卡;背板總線上的指令數據流經過LVDS解串后傳輸至FPGA邏輯控制單元,由其對指令進行接收和處理,并將數據流中的參數和用戶定義的固定值寫入內部RAM進行存儲;當寫入完成時分別讀取各通道參數,根據參數值讀取相應的波形數據;最后,將并行的波形數據并串轉化,輸出PCM串行碼流。
在本設計中,通道個數即為PCM碼的副幀長度,可定義范圍為1~1 024。PCM信號源波形參數支持6種信號:正弦波、方波、三角波、鋸齒波、隨機數和固定值,其中固定值的內容可在計算機軟件上編輯。
1.1 指令流接收電路
在PCM信號源指令數據流的接收電路上,采用了低壓差分接口技術(LVDS)。通過連接背板總線,實現信號源與背板之間的高速數據通信。LVDS是一種效率極高的技術,具有低擺幅輸出電壓、高傳輸速率和低功耗的優點,使得其在高速數據通信電路設計中經常被使用[6,7]。因此,能夠滿足設計中對數據和指令的高速接收要求。在本設計中選用了集成高速串化器和解串器于一體的18位DS92LV18芯片,其具有支持15~66 MHz時鐘、獨立的發送器和接收器操作、內部PLL、線性回環和本地回環模式等特點。
1.2 輸出驅動電路
為了提高PCM信號源的通用性,設計了單端或差分兩種輸出方式。單端輸出之前,使用了一個ADuM1200雙通道數字隔離器對輸出信號進行隔離。其中ADuM120x系列隔離器支持低電壓工作并能實現電平轉換,具有很低的脈寬失真(<3 ns)和直流校正功能,自帶的刷新電路保證了即使不存在輸入跳變的情況下輸出狀態也能與輸入狀態相匹配的優點。差分輸出則通過采用DS26C31M單端轉差分驅動芯片來實現,該芯片是一個四路CMOS三態差分線驅動器,其滿足RS-422的EIA標準需求,支持將輸入的TTL或CMOS電平轉換為RS-422電平輸出。
2 協議與軟件實現
為了實現多通道輸出波形可配置的PCM信號源的設計,需要將計算機下發的基本參數配置信息和固定值接收和存儲,這一過程主要通過邏輯控制單元實現。其中FPGA內部程序框圖如圖2所示,主要模塊包括:指令接收和處理模塊、參數信息存儲模塊、波形數據存儲模塊、數據產生模塊和PCM碼并串轉換輸出模塊。當接收到指令數據流,信號源首先完成基本PCM輸出參數(碼率、字長、副幀幀數和同步字等)的配置。當各通道配置完成后,輸出的并行數據經過FIFO緩沖,輸入到PCM并串轉換模塊,將并行的8位數據信號轉換為串行碼流輸出,此時轉換時鐘是FIFO讀時鐘的8倍。
2.1 參數包協議
參數可調信號源設計的關鍵之一,是設計一個信號源與計算機軟件通信的協議。在本設計中,為了方便底層硬件的接收和存儲,將配置的通道參數和固定值數據按照一定的格式進行打包下發。PCM信號源則根據接收到的參數包起始和結束標志信號完成各個通道參數的接收和存儲過程,其主要下發的參數包格式如表1所示,其中數據類型data[9:8]用二進制表示,data[7:0]用十六進制表示。
其中將數據的高兩位data[9:8]作為區分數據(“00”)、地址(“01”)、命令(“10”)和參數(“11”)的標志,data[7:0]則為具體的數值。8位波形參數范圍為 “00~05”,分別對應正弦波、方波、三角波、鋸齒波、隨機數和固定值六種類型。信號源地址為“01”,起始命令為“20”,參數包結束命令為“21”,固定值默認16位。波形ROM中偶數地址存16位的高8位,奇數地址則為低8位,與固定值RAM相同。
2.2 數據包接收與存儲
指令接收和處理模塊首先記錄下設置的副幀長度(即通道數p_max),作為判斷參數存儲完成的一個信號。在接收到通道配置數據包的起始命令(“20”)后,開始接收和存儲通道參數進程。當通道參數_RAM寫地址(addra)≤p_max以及包數據中高兩位data[9:8]為“11”(參數標志)時,將此時data[7:0]寫入參數存儲模塊。同時,判斷參數類型,如果當前通道參數為固定值,則將參數后的兩個低8位數據寫入固定值RAM模塊中進行存儲,其他波形參數后的固定值數據忽略。這就保證了設置的通道固定值按順序進行存儲,便于數據產生單元讀取。
如圖3所示,數據包接收時保證固定值RAM和通道參數RAM讀無效。當完成一次接收后,將寫使能置零并保持寫地址不變,同時反饋給通道配置與數據產生控制單元一個寫完成標志flag。假設通道參數RAM中灰色部分為固定值參數,則固定值RAM中兩個地址對應1個通道。為防止地址溢出,當寫地址達到最大時,保持寫地址最大,不執行加1操作。
2.3 多通道配置
各通道數據能夠正確輸出的前提是寫完成標志flag=’1’,且讀數據ROM或固定值RAM時通道參數已準備好。取數據之前,先按地址順序訪問參數RAM,判斷出對應的波形。數據產生單元先輸出幀頭(EB 90或9A BC B5 2C),之后根據波形參數從對應的波形ROM中取出相應的數據。當輸出完一個副幀長度數據后,開始下一副幀的輸出。如果字長為16位,則每一幀需從每個波形ROM或固定值RAM中順序讀出2個數據,即每條通道由2個8位數據組成。字長為8位時,讀取波形ROM高8位的數據或讀取固定值RAM中的低8位固定數。圖4是多通道配置的基本時序圖。
多通道參數可配置主要是利用RAM可讀寫和ROM只讀的特性來實現的,當參數或固定值寫完之后,使寫無效,之后讀取參數和固定值時,將固定值RAM和通道參數RAM作為ROM進行循環讀操作。此時,這兩個RAM相當于ROM。
3 試驗結果與性能驗證
為了驗證設計的PCM信號源的功能及其特性,將對應的PCM解碼和傳輸卡插入背板,并將其數據輸入與信號源的輸出相連進行實驗。PCM信號源產生的PCM串行碼流解碼后傳送到計算機,通過計算機軟件進行數據分析、波形顯示和全幀顯示,從而驗證設計的準確性和可靠性。圖5是測試多通道輸出可調的PCM信號源時計算機記錄和存儲的一段數據,此時下發的配置參數為:副幀長度(通道數)為100,幀頭為EB90,副幀幀數(行數)為10。圖6為100通道16位字長時的一段數據,圖7為1024通道8位字長、幀頭為9A BC B5 2C的一段數據,圖示中14 6F和65 43 4A D3為副幀幀結束的幀頭。
可配置的通道數大小與FPGA內定義的p_max(副幀長度)信號有關,在本設計中p_max為10位,通道參數_RAM深度為1K,并且支持每個通道16位數據輸出。通過多次進行不同設置的實驗和計算機的分析,驗證了所設計的多通道可調PCM信號源的正確性和可靠性。
4 結論
本文設計了一種多通道輸出波形可調的PCM信號源,該信號源在設計中充分利用了FPGA內部的RAM和ROM邏輯資源及其特點。詳細介紹了多通道可配置實現的協議及其軟件設計方法,該設計已能夠實現高達1 024個通道參數的配置,支持每條通道8位或16位的數據輸出,碼率范圍為1 Mb/s~10 Mb/s。這種設計方法使得其在復雜多樣化信號源、多通道可配置設計和PCM模擬應用中具有很高的應用價值和參考價值。
參考文獻
[1] 張彥軍,劉龍飛,劉薇.基于FPGA的通用PCM測試儀的設計[J].火力與指揮控制,2013,38(1):145-148.
[2] 高培先,喬東峰.脈沖編碼調制模擬器設計[J].計算機測量與控制,2006,14(12):1700-1703.
[3] 楊聰偉.通用遙測信號源設計[J].航天器工程,2008,17(3):67-70.
[4] 馮文全,張曉林,蔣樂.內嵌高斯白噪聲模塊的可編程衛星信號模擬源[J].航空學報,2006,27(6):1189-1193.
[5] 任勇峰,秦麗,張斌珍.高速PCM碼信號源及其解碼電路的設計[J].測試技術學報,2001,15(2):71-74.
[6] 王冰,靳學明.LVDS技術及其在多信道高速數據傳輸中的應用[J].電子技術應用,2003,29(3):55-57.
[7] 崔中華,熊繼軍,沈三民.基于LVDS技術的實時圖像測試裝置的設計[J].電子技術應用,2010(4):84-86.