PC-ISDN的接口设计
1 系统设计考虑
计算机的普及及促进了远程通信的发展。然而1M字节大小的文件经过目前最快的V.34modem传输所需的时间是ISDN的6倍,所以研制基于ISDN的PC-WAN通信具有十分重要的意义。本言语将给出一个PC机和基本速率ISDN之间的软、硬件接口方案。
PC机是目前广泛使用的硬件平台,具有大量的软件支持。选择ISA总线作为ISDN卡的接口是因为它能基本速率的ISDN上支持连续双向数据流。
为了提高处理速度,本ISDN卡采用一个与80x86软件兼容的80C188微处理器。以PC机的CPU作为主作模式采用异步模式,即允许每个CPU拥有自己的时钟并可独立运行。在存储器的设计,采用了两CPU之间的数据传输通过共享的IDT双端口存储器来进行设计方案;其通信芯片采用Mitel公司生产的能提供2Mbit/s速率的芯片;逻辑电路则采用Altera公司MAX7000系列的EPLD芯片。
在软件上,笔者采用松散的耦合模式,即把实时DOS扩展核作为ISDN卡的操作系统,并用它可进行多任务控制和任务的切换以及任务之间的消息传递。功能性的应用层通信软件固化于ISDN卡的EPROM中,而ISDN网络设备驱动程序则在PC机上进行。两CPU内部的通信采用在双端口存储器开辟环行缓冲区进行消息传递。ISDN软件内部通信是通过在RAM中设置FIFO队列来接收和发送消息来实现的。
在物理层,由Mitel的芯片来提供2Mbit/s的数据流速率。在网络层,则采用IP、PPP或MP标准协议。PC机一侧的ISDN网络驱动程序运行于Windows 95平台。其应用程序采用C语言和80X86汇编程序语言编写,其研制开发工作是在普通工作站上利用编译器、汇编器、连接器和调试器来完成的。
2 硬件方案
ISA卡的ISDN硬件电路见图1所示。其处理器部分包含80C188、CY7C286 EPROM、CY7C1009 RAM和IDT7006S双端口RAM。80C188的软件控制着通信部分以及通过双端口RAM的消息层PC接口。工作时,由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,用于存放通信数据和ISDN消息(00000~1FFFFH)。IDT7006S是IDT的16k静态CMOS双端口RAM,主要负责PC与80C188的通信。IDT7006S映射到PC机的存储器地址范围是A0000~A3FFFH,映射到ISA卡上80C188的地址范围是80000~83FFFH.80C188和PC在两侧异步地读取双端口RAM的动作则由中断标志信号INT1和INTr控制着。互斥性的存取是由信号灯标志SEM1和SEMr来控制的。
ISDN的通信由Mirtel的芯片MH89790、MT8980、MT8920和MT8940完成,并由ST总线(串行Telecomm Bus)、同步串行总线、标准的2Mbps PCM流来连接。MH89790是PCM数字中继接口电路,它支持HDB3和AMI线路码。来自ISDN线路的2Mbps PCM流可通过其DSTo脚输出;来自引脚DSTi的ST总线PCM流经过它导入ISDN线路。MH89790由ST总线并行存取电路所控制,它一方面将来自80C188的并行总线数据转换为ST总线串行数据,由STo0和Sto1脚输出送给MH89790和CSTi0和CSTi1。另一方面,在相反的方向上作串-并转换:即把MH89790的CSTo输出的串行数据流给MT8920的STi0,并经MT890转换为并行数据后送入CPU。MT8920的A0~A4与89C188的地址总线相连,D0~D7与80C188的数据总线相连,电路的选通由PCS0控制。
来自MH89790的PCM帧信号进入MT8980后分离出D信道标志,并输出到HDLC协议控制器的引脚CDSTi,以使MT8952支持数据链路层协议。80C188通过信号PCS2、地址总线、数据总线来控制MT8952,并为其在接收时提供D信道标志,发送时则通过引脚CDST0插入D信道标志。MT8952与数字开关MT8980的输出B信道的传输帧的引脚ST01相连而进入MH89790,并进而输出到ISDN线路上。
80C188通过地址和数据总线来控制MT8980开关,并在STi0接收时提取B信道帧;发送时则通过引脚STo1插入B信道帧信息。MT8980数字开关的输入为2Mbps的ST总线数据流,帧内有32个8bit信道。MT8980由80C188的PCS4选通,其地址信号A0~A5则从32个8bit的信道中选择一路来接收或成送B信道信号或D信道信号。
MT8940数字锁相环电路用于产生时间控制和线路同步信号。它可将MT89790从ISDN线路上接收的PCM信号中提取的8kHz信号(引脚C8)。外部晶振信号16.388MHz由C16i引脚输入。而MT8940则从引脚F0b输出8kHz的帧同步信号,从引脚C20输出2.048MHz的信号,从引脚C4b输出4.096MHz信号。利用这些信号可进行MH89790、MT8980、MT8920之间的ST总线同步。
3 软件方案
PC-ISDN软件包含80C188的PC卡部分和PC机一侧的驱动程序部分。其软件结构如图2所示。
PC卡的软件围绕实时DOS内核分成两个扩展部分(任务),分别是ISDNS任务和IPC任务。其中ISDNS可为物理层的通信硬件提供支持,它包含发送PC消息、接收PC消息和ISDN控制等模块,可用来接收和发送消息,并完成ISDN推荐标准I.441和I.451的第2和第3层协议的工作。ISDNS任务可将来自ISDN线路的消息推入RAM中建立的QIM队列。为向ISDN线路上发送消息,它需在RAM中组织B信道的QOM队列,以启动PC消息。
通过QIM和QOM这两个队列可实现与IPC任务的接口,以完成与PC的内部通信。通信在双端口RAM中通过分配环行接收队列RBIM和环行发送队列RBOM而实现的。任务IPC包含传输PC消息、传输ISDN消息和PC传输控制等模块,可用于从RBOM队列中获取PC消息,并将其放入空闲B信道的QOM队列中。同样地,它也从QIM队列提取ISDN消息,并将其存放到RBIM环行队列中。利用这两个任务实现的软件环境扩展了DOS核,同时赋予了其多任务功能。
为了支持来自PC侧的ISDN卡,笔者为PC在Windows95操作系统下编写了NDIS ISDN驱动程序。该驱动程序可通过双端口上的RBIM和RBOM队列来实现与卡上的IPC任务的接口。ISDN卡上的消息被驱动程序存放到RBOM队列中。当ISDN消息从RMIM队列被取卡,并存于PC的硬盘上后,便可借助于高层PC软件作进一步的处理。
借助于Windows 95、点对点协议(PPP)、多连接协议(MP)以及TCP/IP协议,便可以通过ISDN来实现文件传、电子邮件和可视会议等功能。
4 结论
本文给出了PC与基本速率的ISDN的接口电路以及采用ISA总线卡的形式设计。其设计的接口卡在PC WAN上所能实现速率是目前最好MODEM的6倍。在Windows 95下,其使用界面与普通modem的用户界面类似。并具备如下特点:
●可用最小响应时间得到2Mbit/s的系统速率;
●与MS、Windows和DOS兼容;
●支持标准的通信协议;
●兼容全套的Internet软件;
●具有熟悉的用户界面。
评论