摘 要: 數字分配矩陣網絡及矩陣開關是自動測試系統的重要組成部分,擔負著控制信號流的任務,常用于衛星/移動/電信E1/T1信號程控分配調度。采用FPGA作為實現控制邏輯的核心部件,介紹了上位機的軟件設計思路和FPGA的內部編程實現及仿真。該方案具有規模大、成本低、高速等特點, 可廣泛應用于大規模基帶數字系統測試及信號程控分配調度中。
關鍵字: 基帶矩陣開關; FPGA; 串口; 譯碼
中圖分類號: TN47?34 文獻標識碼: A 文章編號: 1004?373X(2013)17?0168?03
0 引 言
數據分配矩陣即矩陣開關,顧名思義,指結構為行列交叉排布的開關產品,其特點為每個節點連接一個行/列,每個節點可以單獨操作,通過設置節點的不同組合可以實現信號的路由。矩陣開關的主要優勢在于其簡化的部線,整個測試系統可輕松地動態改變其內部連接路徑而無須外部手動干預[1]。矩陣開關的使用非常靈活方便,是目前程控開關產品中品種最多的產品,在汽車電子、半導體測試、航空航天等領域得到了廣泛的應用。FPGA具有運行速度快,內部邏輯資源豐富,外圍I/O口數量多等優點,因此本設計選用FPGA作為核心器件。
1 系統結構及功能
本設計是為了實現64位輸入信號到64位輸出的任意無交叉的切換,即輸入與輸出是一一對應的。由于本設計是針對基帶數字信號,而設計中選用的晶振頻率為25 MHz,因此根本不用考慮FPGA處理異步時鐘域數據傳輸的問題,只需直接將對應的輸入信號經電平轉換后,經譯碼后直接輸出到相應的某路輸出接口即可[2?3]。上位機ARM通過串口向FPGA發送接口的連接信息,FPGA根據接收到的數據進行譯碼,將對應的輸入與對應的輸出連接起來,實現規定鏈路的連接[4?5]。考慮到所含資源以及管腳數量,本設計選用Altera公司Cyclone Ⅲ系列EP3C25F256型FPGA。選用了4塊32路的電平轉換芯片實現5 V信號向FPGA能夠識別的TTL信號的轉換。其結構框圖如圖1所示。
2 上位機設計
上位機的界面如圖2所示。在相應的輸入通道文本框里輸入0~64,點擊“確定”按鈕后,首先對文本框里所有的數據進行比較判斷,如出現重復則進行報錯,提示重新輸入。無誤后,通過串口按輸出接口順序依次向FPGA發送64條接口的連接指令。每一條指令包含3 B,第一個字節為信息頭“AA”,若FPGA接收到的某條指令的頭字節不是“AA”,則無返回信息,上位機將重新發送這條指令直到正確為止。第二個字節為輸入端口字節,即對應文本框中的數字,如沒有輸入數字則默認發送0,所以如需端口某條鏈路斷開只要在相應的文本框中輸入0,點擊確定即可。第三個字節為輸出端口對應的數據,按1到64順序發送。圖2中的“遠控”按鈕為預留的用作計算機遠控使用。
3 下位機設計
3.1 串口通信協議
串行通信是一種可以將接收到的并行數據字符轉換為連續的串行數據流發送出去,同時可將接收的串行數據流轉換為并行的數據字符發送出去的通信協議。其數據幀主要包括1位起始位,8位數據位,1位奇偶校驗位,1/2位停止位。
3.2 FPGA內部編程
FPGA模塊的主要功能是實現串口收發和譯碼,相應地在用Verilog HDL實現時也分為串口收發和譯碼2個電路模塊,經綜合后其RTL級視圖如圖3所示。開發工具采用Altera公司推出的集成EDA開發工具Quartus Ⅱ,可以完成Altera公司所有的FPGA /CPLD產品開發的設計輸入、綜合、實現等環節[6?7]。
3.2.1 串口收發模塊設計
串口收發模塊就是圖3中的uart_top模塊,主要負責串行數據的接收與發送,并將接收到的數據送入下一級。該模塊的功能已通過串口調試工具調試成功。該模塊由4個子模塊構成,分別為控制接收波特率的speed_rx模塊、控制發送波特率的speed_tx模塊、數據接收模塊my_uart_rx、數據發送模塊my_uart_tx[8]。
3.2.2 譯碼模塊設計
3.2.3 譯碼模塊仿真
由于64×64的仿真很繁瑣且不易操作,所以對4×4的譯碼模塊進行仿真,仿真結果如圖8所示,輸出1與輸入3相連,輸出2與輸入4相連,輸出3懸空,輸出4與輸入2相連。
4 結 語
本系統基本能實現基帶數字信號的分配路由,其最大的優點在于速度高,規模大,成本低,雖然目前還沒做出實物,但通過串口調試和仿真,已經得到了令人滿意的結果。
參考文獻
[1] 李行善.自動測試系統集成技術[M].北京:電子工業出版社,2004.
[2] 張洪剛,邢煥革,王德石,等.基于FPGA的大規模矩陣開關設計[J].魚雷技術,2006,14(2):44?45.
[3] 張宏偉,尚朝軒,于久恩.一種高性能的VXI矩陣開關模塊的研制[J].電子產品世界,2001(7):25?27.
[4] 姜香菊,劉二林.基于DSP和CPLD的矩陣變換器矢量控制系統研究[J].制造業自動化,2012(4):113?116.
[5] 王振生.基于I2C總線的大型開關矩陣設計與實現[J].國外電子元器件,2006(11):4?7.
[6] 王誠,蔡海寧,吳繼華.Altera FPGA/CPLD設計[M].2版.北京:人民郵電出版社,2011.
[7] 周潤景,圖雅,張麗敏.基于QuartusⅡ的FPGA/CPLD數字系統設計實例[M].北京:電子工業出版社,2007.
[8] 吳厚航.深入淺出玩轉FPGA[M].北京:北京航空航天大學出版社,2010.
[9] 夏宇聞.Verilog數字系統設計教程[M].2版.北京:北京航空航天大學出版社,2012.
[10] 喬廬峰.Verilog數字系統設計與驗證[M].北京:電子工業出版社,2009.
作者簡介:蔣金冰 男,1989年出生,江蘇金壇人,碩士在讀。研究方向為通信與信息系統。