摘要:本文針對數字程控交換機的交換原理進行了研究,將程控交換所實現的功能設計到一塊大容量的FPGA芯片上,并在此基礎上進行了小型數字程控交換機的硬件和軟件的設計。
關鍵詞:FPGA;程控交換機;設計
中圖分類號:TN916文獻標識碼:A文章編號:1009-3044(2008)20-30373-02
The Design of Small-scale Program-controlled Switches Based on FPGA
LIANG Lei,LI Yan-feng
(Tianjin Industry University, Information and Communication Engineering Institute, Tianjin 300160, China)
Abstract: The paper researches the principle of exchange of the digital program-controlled switches, and make the function of the program-controlled exchange to a large-capacity FPGA chip, and on this basis, and design a small number of program-controlled switches hardware and software.
Key words: FPGA; program-controlled switches; design
1 引言
本文針對數字程控交換機的交換原理進行了研究,尤其對系統的工作過程進行了細致的分析,采用EDA技術及嵌入式技術,通過在FPGA中移植的單片機核完成交換機的控制部分,同時利用FPGA的其他資源完成硬件電路其他邏輯的設計,實現了兩對及兩對以上的電話用戶進行互不干擾的電話通信。隨著電子技術的發展,電話交換已實現程控化,大中型程控交換機在經濟上和技術上都產生著巨大的效益,小型電話交換機作為局級交換網的一個補充,具有成本低,使用方便,通話音質好而且無需通話費用等優點,在一定的場合下也發揮著不可替代的作用,尤其適用于樓宇,公司,企業內部等場合,具有很高的推廣和應用價值。
2 數字程控交換機的原理
數字程控交換機是程序控制的,由時分復用網絡進行物理上的電路交換的一種電話接續交換設備。結構有很多種,常見的有集中控制、分散控制或兩者結合;技術指標有很多,BHCA/呼損接通率,無故障間隔時間等。
3 FPGA簡介
現場可編程門陣列(FPGA)是基于通過可編程互聯連接的可配置邏輯塊(CLB)矩陣的可編程半導體器件。FPGA一般可由三種可編程電路和一個用于存放編程數據的SRAM組成,這三種可編程電路是:可編程邏輯塊(CLB)、輸入/輸出模塊(IOB)和互聯資源(IR)。CLB是FPGA的主要組成部分是實現邏輯功能的基本單元。它主要是由邏輯函數發生器、觸發器、數據選擇器等電路組成。IO提供了器件引腳和內部邏輯陣列之間的連接,通常排列在芯片的四周。其主要是由輸入觸發器、輸入緩沖器、輸出觸發/鎖存器和輸出緩沖器組成。每一個IOB控制一個引腳,可被配置為輸入、輸出活雙向I/O功能。可編程互聯資源包括各種長度的金屬連線和一些可編程連接開關,它們將各個CLB之間和IOB之間互相連接起來,構成各種復雜功能的系統。由于FPGA有集成度高、編程仿真方便、速度快等優點,使得FPGA在信號處理、通信以及電力系統中得到了廣泛地應用。
4 系統邏輯結構
程控數字交換系統是由硬件設備和軟件系統兩大部分組成的。程控交換機的軟件用來識別主叫、號碼分析、路由選擇等交換機的全部智能性操作。總體軟件設計程序為一個完整的呼叫處理程序。整體框圖如圖1所示。本系統實現了帶有16路內線電話、同時具備4路外線接口的小型程控交換機,系統邏輯結構如圖1。從結構上,系統包括五個部分,即用戶接口、外線接口、DTMF接收、FPGA以及MCU。其中用戶接口電路選用IDT公司的821611芯片,芯片與編碼芯片IDT821034配合良好;外線接口一部分負責外線的鈴流檢測和變壓器接入;FPGA作為核心部分,負責數字交換、信號音產生及控制、收號控制、提示音控制、外線接口控制、時鐘產生等功能。系統中,20路電話(含4路外線)復用4路DTMF收號芯片進行收號。FPGA將待收號話路的PCM信號送到當前空閑的收號模塊。DTMF的接收由MT8870完成, FPGA與MT8870之間,有一片MT8965(單通道語音編解碼芯片),將FPGA送出數字信號轉為模擬信號由MT8870讀取。而交換過程的提示語音則選用ISD4004(語音錄放芯片,SPI控制),將其語音輸出接在MT8965的語音輸入端,再以PCM的編碼形式送入FPGA。每路DTMF接收和語音送出均為固定時隙,交換控制在FPGA中完成;MCU負責整個系運行過程的調度及流程控制。
5 軟件設計與實現
系統內的PCM信號(用戶語音、外線語音、提示語音3種語音PCM編碼信號)需要處理和交換;電話所需的信號音需要產生;MCU雖然負責整個系統的配置控制,但它與器件之間還需要控制邏輯;同時,系統還需要特定的時鐘和定時信號。上述的這些功能,都由FPGA來完成。MCU對各功能塊的相關操作均通過以總線讀寫寄存器的方式進行。FPGA為MCU提供了與其他器件間的接口,使其能夠以簡短的指令實現原本復雜的底層操作。本軟件設計將用戶狀態分為9種:狀態0:掛機,用戶空閑;狀態1:用戶摘機;狀態2:用戶聽撥號音;狀態3:用戶撥號;狀態4:用戶作為被叫聽振鈴;狀態5:用戶聽回鈴音;狀態6:用戶作為主叫與被叫通話。為了明確軟件設計流程,我們以狀態1為例說明。如圖2。
5.1 外線通話
當測知有外線呼入時,如果沒有空閑收號模塊,則等待直到出現空閑為止;否則,將呼入外線的編碼信號送至DTMF模塊的時隙,同時將提示撥分機號的提示語音編碼信號送至呼入外線的時隙,等待撥號完成。后面的過程與內線通話類似,唯一不同的是向外線送忙音只需拿掉送至呼入外線時隙的所有信號即可,而送給外線的回鈴音是由提示語音來替代的,從而實現外線呼入。呼叫外線時,在內線摘機后的收號過程中,當用戶撥號第一位為某特定數字,認為是呼叫外線,將該話路由收號時隙拿掉,并尋找一路空閑外線,將話路時隙與外線時隙進行交換,建立通話,后續過程與內線通話相似,但僅需處理內線端即可。
5.2內線通話
如果該用戶主叫,向該時隙送撥號音,同時將主叫話路送到當前有閑的DTMF模塊的時隙上,收號完成再從DTMF時隙拿掉(或超時拆線),根據收號結果,看被叫用戶狀態,忙則將忙音送主叫時隙,否則向主叫時隙送回鈴音,同時令被叫振鈴;如果該用戶被叫,則切掉該用戶振鈴,同時取消主叫時隙的回鈴音,將這兩個時隙的話路交換,建立連接,從而形成內線摘機。如果通話在連接狀態,則取消通話連接,送對端時隙忙音;如果無通話連接,則取消對方振鈴,并拿掉本時隙上的所有信號,從而實現內線掛機。
參考文獻:
[1] 延明.基于FPGA的視頻監控系統的防抖動研究[J].安防科技,2007(09).
[2] 吳曉鐵,俞軍,程君俠.基于單片FPGA的可擴展DVI發送器[J].半導體技術,2007(12).
[3] 曹麗蘋,張秀芹.基于分布式算法的FPGA技術在FIR數字濾波器中的應用[J].保定職業技術學院,2006(02).
[4] 王昕,汪至中,荊龍.基于FPGA的新型異步電動機節能控制器[J].電力電子,2007(03).
[5] 譚斌,姚旺生,付學志.基于FPGA的虛擬邏輯分析儀設計[J].工業控制計算機,2007(11).
[6] 彭華廈,吳舒辭,朱俊杰.一種基于FPGA的數字邏輯分析儀的設計和實現[J].機電產品開發與創新,2007(06).
[7] 田禮明,楊奕,王濱華.一種基于FPGA的報文內容過濾算法[J].計算機與信息技術,2007(11).
[8] 卜慶軍,夏宇聞.一種基于FPGA的系統邏輯單芯片實現[J].電子測量技術,2007(11).
[9] 姚展,王明偉.基于FPGA技術的通信原理課程實驗教學研究[J].陜西師范大學學報(自然科學版),2007(S2).