PC-ISDN的接口設(shè)計(jì)
1 系統(tǒng)設(shè)計(jì)考慮
計(jì)算機(jī)的普及及促進(jìn)了遠(yuǎn)程通信的發(fā)展。然而1M字節(jié)大小的文件經(jīng)過(guò)目前最快的V.34modem傳輸所需的時(shí)間是ISDN的6倍,所以研制基于ISDN的PC-WAN通信具有十分重要的意義。本言語(yǔ)將給出一個(gè)PC機(jī)和基本速率ISDN之間的軟、硬件接口方案。
PC機(jī)是目前廣泛使用的硬件平臺(tái),具有大量的軟件支持。選擇ISA總線作為ISDN卡的接口是因?yàn)樗芑舅俾实腎SDN上支持連續(xù)雙向數(shù)據(jù)流。
為了提高處理速度,本ISDN卡采用一個(gè)與80x86軟件兼容的80C188微處理器。以PC機(jī)的CPU作為主作模式采用異步模式,即允許每個(gè)CPU擁有自己的時(shí)鐘并可獨(dú)立運(yùn)行。在存儲(chǔ)器的設(shè)計(jì),采用了兩CPU之間的數(shù)據(jù)傳輸通過(guò)共享的IDT雙端口存儲(chǔ)器來(lái)進(jìn)行設(shè)計(jì)方案;其通信芯片采用Mitel公司生產(chǎn)的能提供2Mbit/s速率的芯片;邏輯電路則采用Altera公司MAX7000系列的EPLD芯片。
在軟件上,筆者采用松散的耦合模式,即把實(shí)時(shí)DOS擴(kuò)展核作為ISDN卡的操作系統(tǒng),并用它可進(jìn)行多任務(wù)控制和任務(wù)的切換以及任務(wù)之間的消息傳遞。功能性的應(yīng)用層通信軟件固化于ISDN卡的EPROM中,而ISDN網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序則在PC機(jī)上進(jìn)行。兩CPU內(nèi)部的通信采用在雙端口存儲(chǔ)器開辟環(huán)行緩沖區(qū)進(jìn)行消息傳遞。ISDN軟件內(nèi)部通信是通過(guò)在RAM中設(shè)置FIFO隊(duì)列來(lái)接收和發(fā)送消息來(lái)實(shí)現(xiàn)的。
在物理層,由Mitel的芯片來(lái)提供2Mbit/s的數(shù)據(jù)流速率。在網(wǎng)絡(luò)層,則采用IP、PPP或MP標(biāo)準(zhǔn)協(xié)議。PC機(jī)一側(cè)的ISDN網(wǎng)絡(luò)驅(qū)動(dòng)程序運(yùn)行于Windows 95平臺(tái)。其應(yīng)用程序采用C語(yǔ)言和80X86匯編程序語(yǔ)言編寫,其研制開發(fā)工作是在普通工作站上利用編譯器、匯編器、連接器和調(diào)試器來(lái)完成的。
2 硬件方案
ISA卡的ISDN硬件電路見(jiàn)圖1所示。其處理器部分包含80C188、CY7C286 EPROM、CY7C1009 RAM和IDT7006S雙端口RAM。80C188的軟件控制著通信部分以及通過(guò)雙端口RAM的消息層PC接口。工作時(shí),由80C188的LCS選通128k的RAMCY 7C1009(00000H~1FFFFH);UCS選通EPROM 7C286(F0000H~FFFFFH);MCS選通雙端口RAM 7006S(80000H~83FFFH);而將譯碼地址30000H~30400H映射為PCS0~PCS4,以選通通信電路部分。
7C286是CYPRESS公司的64k×8的CMOS EPROM,用于固化程序(F0000~FFFFFH):7C1009是CYPRESS的128k×8的CMOS RAM,用于存放通信數(shù)據(jù)和ISDN消息(00000~1FFFFH)。IDT7006S是IDT的16k靜態(tài)CMOS雙端口RAM,主要負(fù)責(zé)PC與80C188的通信。IDT7006S映射到PC機(jī)的存儲(chǔ)器地址范圍是A0000~A3FFFH,映射到ISA卡上80C188的地址范圍是80000~83FFFH.80C188和PC在兩側(cè)異步地讀取雙端口RAM的動(dòng)作則由中斷標(biāo)志信號(hào)INT1和INTr控制著。互斥性的存取是由信號(hào)燈標(biāo)志SEM1和SEMr來(lái)控制的。
ISDN的通信由Mirtel的芯片MH89790、MT8980、MT8920和MT8940完成,并由ST總線(串行Telecomm Bus)、同步串行總線、標(biāo)準(zhǔn)的2Mbps PCM流來(lái)連接。MH89790是PCM數(shù)字中繼接口電路,它支持HDB3和AMI線路碼。來(lái)自ISDN線路的2Mbps PCM流可通過(guò)其DSTo腳輸出;來(lái)自引腳DSTi的ST總線PCM流經(jīng)過(guò)它導(dǎo)入ISDN線路。MH89790由ST總線并行存取電路所控制,它一方面將來(lái)自80C188的并行總線數(shù)據(jù)轉(zhuǎn)換為ST總線串行數(shù)據(jù),由STo0和Sto1腳輸出送給MH89790和CSTi0和CSTi1。另一方面,在相反的方向上作串-并轉(zhuǎn)換:即把MH89790的CSTo輸出的串行數(shù)據(jù)流給MT8920的STi0,并經(jīng)MT890轉(zhuǎn)換為并行數(shù)據(jù)后送入CPU。MT8920的A0~A4與89C188的地址總線相連,D0~D7與80C188的數(shù)據(jù)總線相連,電路的選通由PCS0控制。
來(lái)自MH89790的PCM幀信號(hào)進(jìn)入MT8980后分離出D信道標(biāo)志,并輸出到HDLC協(xié)議控制器的引腳CDSTi,以使MT8952支持?jǐn)?shù)據(jù)鏈路層協(xié)議。80C188通過(guò)信號(hào)PCS2、地址總線、數(shù)據(jù)總線來(lái)控制MT8952,并為其在接收時(shí)提供D信道標(biāo)志,發(fā)送時(shí)則通過(guò)引腳CDST0插入D信道標(biāo)志。MT8952與數(shù)字開關(guān)MT8980的輸出B信道的傳輸幀的引腳ST01相連而進(jìn)入MH89790,并進(jìn)而輸出到ISDN線路上。
80C188通過(guò)地址和數(shù)據(jù)總線來(lái)控制MT8980開關(guān),并在STi0接收時(shí)提取B信道幀;發(fā)送時(shí)則通過(guò)引腳STo1插入B信道幀信息。MT8980數(shù)字開關(guān)的輸入為2Mbps的ST總線數(shù)據(jù)流,幀內(nèi)有32個(gè)8bit信道。MT8980由80C188的PCS4選通,其地址信號(hào)A0~A5則從32個(gè)8bit的信道中選擇一路來(lái)接收或成送B信道信號(hào)或D信道信號(hào)。
MT8940數(shù)字鎖相環(huán)電路用于產(chǎn)生時(shí)間控制和線路同步信號(hào)。它可將MT89790從ISDN線路上接收的PCM信號(hào)中提取的8kHz信號(hào)(引腳C8)。外部晶振信號(hào)16.388MHz由C16i引腳輸入。而MT8940則從引腳F0b輸出8kHz的幀同步信號(hào),從引腳C20輸出2.048MHz的信號(hào),從引腳C4b輸出4.096MHz信號(hào)。利用這些信號(hào)可進(jìn)行MH89790、MT8980、MT8920之間的ST總線同步。
3 軟件方案
PC-ISDN軟件包含80C188的PC卡部分和PC機(jī)一側(cè)的驅(qū)動(dòng)程序部分。其軟件結(jié)構(gòu)如圖2所示。
PC卡的軟件圍繞實(shí)時(shí)DOS內(nèi)核分成兩個(gè)擴(kuò)展部分(任務(wù)),分別是ISDNS任務(wù)和IPC任務(wù)。其中ISDNS可為物理層的通信硬件提供支持,它包含發(fā)送PC消息、接收PC消息和ISDN控制等模塊,可用來(lái)接收和發(fā)送消息,并完成ISDN推薦標(biāo)準(zhǔn)I.441和I.451的第2和第3層協(xié)議的工作。ISDNS任務(wù)可將來(lái)自ISDN線路的消息推入RAM中建立的QIM隊(duì)列。為向ISDN線路上發(fā)送消息,它需在RAM中組織B信道的QOM隊(duì)列,以啟動(dòng)PC消息。
通過(guò)QIM和QOM這兩個(gè)隊(duì)列可實(shí)現(xiàn)與IPC任務(wù)的接口,以完成與PC的內(nèi)部通信。通信在雙端口RAM中通過(guò)分配環(huán)行接收隊(duì)列RBIM和環(huán)行發(fā)送隊(duì)列RBOM而實(shí)現(xiàn)的。任務(wù)IPC包含傳輸PC消息、傳輸ISDN消息和PC傳輸控制等模塊,可用于從RBOM隊(duì)列中獲取PC消息,并將其放入空閑B信道的QOM隊(duì)列中。同樣地,它也從QIM隊(duì)列提取ISDN消息,并將其存放到RBIM環(huán)行隊(duì)列中。利用這兩個(gè)任務(wù)實(shí)現(xiàn)的軟件環(huán)境擴(kuò)展了DOS核,同時(shí)賦予了其多任務(wù)功能。
為了支持來(lái)自PC側(cè)的ISDN卡,筆者為PC在Windows95操作系統(tǒng)下編寫了NDIS ISDN驅(qū)動(dòng)程序。該驅(qū)動(dòng)程序可通過(guò)雙端口上的RBIM和RBOM隊(duì)列來(lái)實(shí)現(xiàn)與卡上的IPC任務(wù)的接口。ISDN卡上的消息被驅(qū)動(dòng)程序存放到RBOM隊(duì)列中。當(dāng)ISDN消息從RMIM隊(duì)列被取卡,并存于PC的硬盤上后,便可借助于高層PC軟件作進(jìn)一步的處理。
借助于Windows 95、點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)、多連接協(xié)議(MP)以及TCP/IP協(xié)議,便可以通過(guò)ISDN來(lái)實(shí)現(xiàn)文件傳、電子郵件和可視會(huì)議等功能。
4 結(jié)論
本文給出了PC與基本速率的ISDN的接口電路以及采用ISA總線卡的形式設(shè)計(jì)。其設(shè)計(jì)的接口卡在PC WAN上所能實(shí)現(xiàn)速率是目前最好MODEM的6倍。在Windows 95下,其使用界面與普通modem的用戶界面類似。并具備如下特點(diǎn):
●可用最小響應(yīng)時(shí)間得到2Mbit/s的系統(tǒng)速率;
●與MS、Windows和DOS兼容;
●支持標(biāo)準(zhǔn)的通信協(xié)議;
●兼容全套的Internet軟件;
●具有熟悉的用戶界面。
評(píng)論