周璐璐, 張治中
(①重慶郵電大學(xué) 通信網(wǎng)與測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室, 重慶 400065;②重慶電子工程職業(yè)學(xué)院, 重慶 401331)
在七號(hào)信令設(shè)備研發(fā)、生產(chǎn)、調(diào)試中常常需要一個(gè)能夠靈活發(fā)送七號(hào)信令消息的信號(hào)源,特別在七號(hào)信令采集卡生產(chǎn)過(guò)程中,該信號(hào)源可以作為檢測(cè)采集卡是否工作正常的有效手段。在七號(hào)信令設(shè)備研發(fā)過(guò)程中,研發(fā)人員需要一個(gè)靈活的信號(hào)源以尋找采集卡在某種特定條件下的異常原因。對(duì)于產(chǎn)品推廣人員,與客戶(hù)進(jìn)行交流時(shí),為了更好地展現(xiàn)銷(xiāo)售儀表的七號(hào)信令采集功能,也需要一個(gè)便攜的、易用的、靈活配置的信號(hào)源。
為了滿(mǎn)足實(shí)際需求,對(duì)七號(hào)信令數(shù)據(jù)發(fā)生器進(jìn)行研制,最終成品是一張PCI插入卡。本發(fā)生器共有8個(gè)相互獨(dú)立的端口,可以同時(shí)發(fā)送8路E1/T1的消息數(shù)據(jù)。在保證信號(hào)不發(fā)生碼型畸變的情況下,每個(gè)端口最多可以支持4個(gè)使用高阻接入的負(fù)載。
發(fā)生器作為一個(gè)七號(hào)信令數(shù)據(jù)的發(fā)送裝置,具有如下的主要功能特征:
能夠仿真目前通信網(wǎng)絡(luò)上的主要TDM接口:A,C,D和E等接口;
能夠?qū)崿F(xiàn)64k,N×64k(N=1~31),高速E1/T1等速率;
能夠發(fā)送TUP,ISUP,SCCP,DUP等信令消息;
每個(gè)端口能夠獨(dú)立發(fā)送數(shù)據(jù),或關(guān)聯(lián)發(fā)送數(shù)據(jù)(仿真協(xié)議流程);
端口上的消息速率可以任意配置;
端口上的FISU,LSSU,MSU等可以精確控制。
實(shí)現(xiàn)上述功能,硬件上由兩個(gè)主要部分組成:E1/T1收發(fā)器和多通道同步通信控制器。E1/T1收發(fā)器,選用了功能強(qiáng)大、高集成度的IDT公司的IDT82P2288; 多通道同步通信控制器選用了Mindspeed公司的CN8478。
IDT82P2288具有如下的功能特點(diǎn):
LIU(線路接口單元)和FRAMER(成幀器)合二為一;
支持E1,T1,每個(gè)鏈路可以獨(dú)立配置成E1或T1;
支持AMI、B8ZS、HDB3碼型;
支持G.772,T1.102,G.703,G.704,G.775等;
支持復(fù)幀處理,信令比特提取和插入;
具有傳送性能監(jiān)測(cè)和統(tǒng)計(jì)功能;
具有SPI處理器接口和并行處理器接口;
每個(gè)連接都具備省電控制模式;
3.3 V,1.8 V供電。
CN8478具有如下的功能特點(diǎn):
256個(gè) HDLC,8個(gè)獨(dú)立串口接口,支持 LAPB,LAPF,LAPD,SS7;
OSI的數(shù)據(jù)鏈路層協(xié)議支持;
支持 DS0,N×64k,N×8k;
具有32 bit,33/66 MHz的PCI接口和32 bit的本地?cái)U(kuò)展總線接口;
3.3 V,2.5 V供電。
IDT82P2284通過(guò) G.704協(xié)議接口與 CN8478相連,IDT82P2284實(shí)現(xiàn)了從G.704到G.703的數(shù)據(jù)傳送轉(zhuǎn)換。發(fā)送E1/T1數(shù)據(jù)幀的形成,時(shí)隙數(shù)據(jù)的插入,多個(gè)時(shí)隙數(shù)據(jù)的關(guān)聯(lián),HDLC數(shù)據(jù)處理等都由CN8478的時(shí)隙映射機(jī)制和HDLC來(lái)實(shí)現(xiàn)。CN8478與IDT82P2284的發(fā)送部分電路連接如圖1所示。
圖1 CN8478與IDT82P2284的發(fā)送連接
CN8478通過(guò)消息描述符鏈表和數(shù)據(jù)緩沖區(qū)的方式來(lái)實(shí)現(xiàn)與主機(jī)處理器的數(shù)據(jù)和控制信息交互。每個(gè)端口對(duì)應(yīng)一個(gè)通道組,每個(gè)通道組內(nèi)有32個(gè)通道,每個(gè)通道對(duì)應(yīng)1個(gè)HDLC控制器,每個(gè)HDLC分配一個(gè)消息描述符列表。CN8478的256個(gè)HDLC一共可以控制256個(gè)時(shí)隙。CN8478的各個(gè)通道在發(fā)生事件或錯(cuò)誤時(shí)會(huì)向一個(gè)循環(huán)的中斷隊(duì)列提交一個(gè)與本通道相關(guān)的中斷描述符。主機(jī)處理器通過(guò)中斷描述符,及時(shí)響應(yīng),并處理。
CN8478與主機(jī)處理器的交互,通過(guò)其內(nèi)部的寄存器和PCI總線上的共享內(nèi)存實(shí)現(xiàn)。中斷描述符隊(duì)列,消息描述符隊(duì)列,數(shù)據(jù)緩沖區(qū)等等,都按照 CN8478能夠識(shí)別的方式進(jìn)行數(shù)據(jù)存放。
CN8478通過(guò)PCI Master[1]和Slave相互切換來(lái)完成與主處理器的交互。主處理對(duì)CN8478內(nèi)部寄存器訪問(wèn)時(shí),CN8478工作于Slave模式;CN8478對(duì)中斷描述符,消息描述符隊(duì)列,數(shù)據(jù)緩沖區(qū)訪問(wèn)時(shí),工作于Master模式。
CN8478以上處理功能是通過(guò)其內(nèi)部的 MUSYCC(多通道同步控制器)來(lái)實(shí)現(xiàn)的。
IDT82P2288的串行接口和CN8478的串行接口可以進(jìn)行直接對(duì)接。8個(gè)接口中,每個(gè)接口的連接方式為:IDT82P2288串行接口的 TSCK、TSFS、TSD,分別與 CN8478串行接口的TCLK、TSYNC、TDAT相連。
IDT82P2288的微處理器接口的地址線和數(shù)據(jù)線是分開(kāi)的,然而 CN8478的本地?cái)U(kuò)展總線接口的地址線和數(shù)據(jù)線是復(fù)用的,所以?xún)煞N接口不能直接對(duì)接,必須通過(guò)一個(gè) CPLD進(jìn)行連接。從功能和成本考慮,CPLD選用 EPM7128AETC 100-10[2]。CN8478的本地?cái)U(kuò)展總線接口,直接反映了PCI的讀寫(xiě)時(shí)序,在CPLD中需要利用ALE*信號(hào),將地址線和數(shù)據(jù)線分開(kāi)。
CN8478的PCI部分引腳直接與PCI規(guī)范中板卡的金手指相連[1]。
CN8478的另外一個(gè)功能是作為PCI橋設(shè)備,當(dāng)PCI插入卡裝入到PCI槽后,在計(jì)算機(jī)啟動(dòng)時(shí),計(jì)算機(jī)的BIOS就能夠檢測(cè)到PCI總線上有新的PCI設(shè)備存在,在Windows系統(tǒng)啟動(dòng)后,系統(tǒng)將提示發(fā)現(xiàn)新的硬件設(shè)備,并要求安裝其驅(qū)動(dòng)程序。IDT82P2284配置流程見(jiàn)圖2。
圖2 IDT82P2284配置流程
CN8478屬于一個(gè)多功能的PCI設(shè)備,即在一個(gè)PCI槽上有兩個(gè)功能完全獨(dú)立的設(shè)備。這兩個(gè)設(shè)備的設(shè)備標(biāo)識(shí)是不一樣的,系統(tǒng)就根據(jù)這個(gè)設(shè)備標(biāo)識(shí)來(lái)安裝相應(yīng)的驅(qū)動(dòng)程序。兩個(gè)驅(qū)動(dòng)程序在這里分別命名為L(zhǎng)ink驅(qū)動(dòng)和Phy驅(qū)動(dòng)。
插入卡的驅(qū)動(dòng)程序,使用DriverStudio 3.1進(jìn)行開(kāi)發(fā)[3],其DriverWizard能夠快速生產(chǎn)WDM程序框架,用戶(hù)只需要在框架內(nèi)相應(yīng)部分編寫(xiě)與設(shè)備配置、控制相關(guān)的部分代碼就可以。Phy驅(qū)動(dòng)程序比較簡(jiǎn)單,只是實(shí)現(xiàn)了對(duì)IDT82P2284的配置。其配置流程如圖2。
相比Phy驅(qū)動(dòng)程序,Link驅(qū)動(dòng)程序要復(fù)雜的多,其實(shí)現(xiàn)的主要功能有:MUSYCC寄存器配置,消息描述符鏈表配置,中斷描述符隊(duì)列配置,發(fā)送數(shù)據(jù)交互控制等等,其配置流程如圖3所示。
圖3 CN8478配置流程
Link和 Phy驅(qū)動(dòng)都通過(guò)E1Api與上層應(yīng)用程序進(jìn)行交互,應(yīng)用程序可以是窗口程序或控制臺(tái)程序。應(yīng)用程序讀取發(fā)送數(shù)據(jù)文件,然后將數(shù)據(jù)傳給Api,由Api負(fù)責(zé)提交給驅(qū)動(dòng)程序。目前,通過(guò)反復(fù)測(cè)試,得出一個(gè)端口最多可以支持 4個(gè)帶高阻的接收負(fù)載。在測(cè)試中,使用東進(jìn)廠商信令采集設(shè)備進(jìn)行校對(duì),插入卡發(fā)出的數(shù)據(jù)和東進(jìn)設(shè)備接收數(shù)據(jù)完全一致。
目前,本信令數(shù)據(jù)發(fā)生器已經(jīng)研制成功,利用應(yīng)用程序界面,用戶(hù)可以控制產(chǎn)生E1,或T1速率的信號(hào);在時(shí)隙構(gòu)成上,可以選擇64K,N×64K;在上層傳輸協(xié)議,可以選擇低速信令、高速信令和幀中繼。在E1卡的研發(fā)過(guò)程中,作為信令消息數(shù)據(jù)的信號(hào)源,為E1卡的接收功能實(shí)現(xiàn)和性能改進(jìn)提供了很好的支撐;同時(shí),在E1卡的生產(chǎn)測(cè)試中,為產(chǎn)品測(cè)試提供了仿真現(xiàn)場(chǎng)的檢測(cè)手段。目前,本信令數(shù)據(jù)發(fā)生器不足之處在于還不能支持通過(guò)配置文件,控制數(shù)據(jù)發(fā)送。
[1] 李貴山,陳金鵬.PCI局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003:129.
[2] 王誠(chéng),吳繼華,范麗珍.Altera FPGA/CPLD設(shè)計(jì)[M].北京:人民郵電出版社,2005:51.
[3] 武安河,邰銘,于洪濤.Windows 2000 XP WDM設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)[M].第2版.北京:電子工業(yè)出版社,2003:49.
[4] 代毅,谷上宇,張?jiān)器?七號(hào)信令MAP消息及其在CDMA中的應(yīng)用[J].通信技術(shù),2003(08):1.