如何設(shè)計(jì)與實(shí)現(xiàn)基于MT9075數(shù)字中繼接口?
由于數(shù)字技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,傳統(tǒng)的模擬交換機(jī)已經(jīng)被程控?cái)?shù)字交換機(jī)所取代,數(shù)字中繼接口是數(shù)字交換機(jī)中不可或缺的部分。本文就是利用Mitel公司生產(chǎn)的MT9075芯片來(lái)實(shí)現(xiàn)數(shù)字中繼接口的功能。
本文引用地址:http://m.butianyuan.cn/article/201808/384884.htm1、MT9075芯片簡(jiǎn)介[1]
MT9075是 Mitel 公司推出的一個(gè)可以產(chǎn)生并處理PCM30信號(hào)的器件,不僅合并了PCM30成幀器、線性接口部件(UU)和鏈路控制器,還具有時(shí)鐘同步、中斷控制、同步處理與差錯(cuò)保護(hù)、CAS信令、CCS信令處理、信號(hào)回送等功能。通過(guò)MT9075提供的并行微處理器接口,主CPU可對(duì)其狀態(tài)字進(jìn)行讀寫(xiě)控制和中斷接收處理,從而方便地實(shí)現(xiàn)對(duì)線路信令的控制和處理。用MT9075來(lái)實(shí)現(xiàn)數(shù)字中繼接口既可以減輕CPU的負(fù)擔(dān),又可以簡(jiǎn)化系統(tǒng)硬件和軟件的設(shè)計(jì)。
2、硬件電路設(shè)計(jì)
本文采用ARM芯片S3C44B0作為主控CPU,來(lái)完成對(duì)整個(gè)系統(tǒng)的控制;用MT8980作為數(shù)字交換網(wǎng)絡(luò)部分的核心器件;用MT9075作為數(shù)字中繼接口的核心器件。圖1為數(shù)字中繼接口的具體電路。電路設(shè)計(jì)是根據(jù)芯片要求設(shè)計(jì)必要的外圍電路,MT9075有3個(gè)主要端口:
1)線路接口,傳輸?shù)拇a流是2.048M bit/s的雙極性HDB3碼,具有PCM30/32系統(tǒng)的幀結(jié)構(gòu),用于連接PCM30/32基群線路。[2] 通過(guò)外接發(fā)送和接收兩變壓器與外部中繼線相連,其中,TX1、TX2為線路發(fā)送端,經(jīng)一阻抗匹配電路連接一個(gè)1:2的發(fā)送變壓器;RX1、RX2為線路接收端,經(jīng)一阻抗匹配電路連接一個(gè)1:1的接收變壓器。
2)ST—BUS接口,傳輸?shù)拇a流是2.048M bit/s的單極性碼,碼流具有PCM30/32系統(tǒng)的幀結(jié)構(gòu),其中DSTi連接數(shù)字交換芯片MT8980的輸出通道STO,DSTo連接MT8980的輸入通道STI。
3)處理機(jī)接口,A0~A5,DO~D7,CS,R/W 等。MT9075與處理機(jī)的接口可采用兩種接法:INT或MOT,這里采用INT接法。MT9075的地址線A0~A4、DO~D7直接與S3C44B0的相應(yīng)的地址線和數(shù)據(jù)線相連,作為S3C44B0的一個(gè)外部擴(kuò)展器件占用一定的地址空間。S3C44B0通過(guò)片選信號(hào)NGCS5和/RD、/WR讀寫(xiě)信號(hào)對(duì)MT9075進(jìn)行控制。[3]
此外,MT9075可以自動(dòng)監(jiān)控各種同步狀態(tài),比如位同步、基本幀同步、CRC-4多幀同步、遠(yuǎn)程多幀同步。無(wú)論這幾種同步中的任何一個(gè)出現(xiàn)丟失的情況,均無(wú)法完成正常通信,為使通信穩(wěn)定,本文中MT9075的20MHz定時(shí)信號(hào)以及系統(tǒng)時(shí)鐘C4b(4.096 MHz)和基本幀同步信號(hào)Fob(8kHz)由高穩(wěn)頻時(shí)鐘產(chǎn)生器直接給出,MT9075能夠利用內(nèi)部的數(shù)字鎖相環(huán)從這些信號(hào)中自動(dòng)分頻產(chǎn)生64 kHz的內(nèi)部時(shí)鐘和2.048 MHz的位同步時(shí)鐘E2o。
圖1 MT9075 電路圖
3、軟件部分設(shè)計(jì)
軟件分別從對(duì)MT9075的讀寫(xiě)控制、初始化處理以及數(shù)字中繼處理程序三方面進(jìn)行介紹。MT9075分配的地址是S3C44B0的NGCS5下的一部分地址,其基地址為0a000000,定義如下:
#define MT9075_Page (*(volatile unsigned char *) 0x0a000000)
其頁(yè)類(lèi)的控制字的地址分別為0a000010~0a00001f,如Page 01H下Multiframe、National Bit Buffer and Data Link Selection Word 和Mode Selection Control Word地址分別為0a000010和0a000011,定義如下:
#define MT9075_ADDR0 (*(volatile unsigned char *) 0x0a000010)
#define MT9075_ADDR1 (*(volatile unsigned char *) 0x0a000011)
3.1 對(duì)MT9075的讀寫(xiě)控制
對(duì)MT9075的讀寫(xiě)控制主要分為2個(gè)步驟:第一步選擇要讀寫(xiě)的控制字頁(yè)號(hào),第二步對(duì)該頁(yè)內(nèi)的控制字進(jìn)行讀寫(xiě)控制操作。如對(duì)MT9075進(jìn)行軟復(fù)位,代碼如下所示:
MT9075_Page = 0x01; //選擇Page 01H(Master Control 1)
MT9075_ADDR1 = 0x20; //對(duì)Page 01H下的控制字Mode Selection Control Word(11H)//進(jìn)行寫(xiě)操作設(shè)置MT9075軟件復(fù)位,寫(xiě)入控制字0x20
3.2 對(duì)MT9075的初始化處理
在系統(tǒng)上電的時(shí)候需要對(duì)MT9075進(jìn)行初始化處理,包括MT9075軟件復(fù)位、中斷處理、CAS模式選擇、阻抗工作方式設(shè)置、JA模式設(shè)置、DSTo輸出使能、傳輸信號(hào)設(shè)置等方面。
為使代碼簡(jiǎn)潔,用一個(gè)函數(shù)代替了上面對(duì)MT9075讀寫(xiě)控制的兩個(gè)步驟,函數(shù)如下:
Control_9075 (PageNo, RegAddr, Wdata)
{ MT9075_Page = PageNo;
RegAddr = Wdata; }
對(duì)MT9075的初始化代碼如下:
Control_9075 (0x01,MT9075_Addr1, 0x20);
Control_9075 (0x01,MT9075_Addr11, 0xff);
Control_9075 (0x01,MT9075_Addr10, 0xc8);
Control_9075 (0x01,MT9075_Addr1, 0x82);
Control_9075 (0x01,MT9075_Addr15, 0x02);
Control_9075 (0x02,MT9075_Addr8, 0xa0);
Control_9075 (0x02,MT9075_Addr3, 0x04);
Control_9075 (0x01,MT9075_Addr10, 0x8c);
Control_9075 (0x01,MT9075_Addr2, 0x9f);
Control_9075 (0x05,MT9075_Addr1, 0xff);
Control_9075 (0x05,MT9075_Addr2, 0xff);
... ... ... ...
Control_9075 (0x05,MT9075_Addr15, 0xff);
當(dāng)CPU需要發(fā)送話路的線路信令時(shí),可以通過(guò)對(duì)Page 05H (Transmit Channel Associated Signalling Page)的相關(guān)寄存器進(jìn)行操作。在初始化的最后是對(duì)Page 05H中的控制字進(jìn)行操作,向MT9075_Addr1到MT9075_Addr15中寫(xiě)入ff,使得輸出通道DSTo在上電后輸出為高電平,在上面省略了向MT9075_Addr3到MT9075_Addr14中寫(xiě)ff幾行代碼。
3.3 數(shù)字中繼處理程序
在實(shí)現(xiàn)過(guò)程中,信令部分是自己設(shè)計(jì)的一個(gè)簡(jiǎn)單協(xié)議,不是標(biāo)準(zhǔn)的E1信令。信令在DSTo和DSTi的第16時(shí)隙中傳輸,同步信令在第0時(shí)隙中傳輸,主叫方的信令通過(guò)接口線傳輸?shù)竭_(dá)被叫中繼,存入被叫方MT9075的寄存器中,被叫方CPU通過(guò)讀取寄存器中的信令內(nèi)容來(lái)執(zhí)行相應(yīng)的操作,被叫方信令到達(dá)主叫方和這個(gè)過(guò)程相反。圖2為一用戶(hù)通過(guò)數(shù)字中繼呼叫另一用戶(hù)的示意圖。此圖假定被叫方不忙,若此過(guò)程中任一時(shí)刻被叫方忙,則發(fā)送被叫忙的信息給主叫方,讓主叫方關(guān)閉已開(kāi)通道等待下次呼叫。圖3為數(shù)字中繼處理程序的基本流程圖。
評(píng)論