本系统通过8255工作在0方式下的PB0~PB7和PA6~PA7接8个内线用户和2个外线用户台的端口10(OFHK,低电平有效)。这些端口每10ms扫描一次,一旦发现有用户摘机,就通过MT8816给用户发送拨号音,同时搜索空DTMF,准备接收拨号。用户拨写号码后,系统就判断是哪个用户,并接通相应的用户线,同时释放DTMF、送振铃信号给用户电路,还要送回铃音给主叫用户。振铃8次后,如用户未来摘机,就切断该回路线,以释放资源供其他呼叫使用。通话期间,有一方挂机,不切断回路,并向另一方送忙音。DTMF收号结束扫描采用10ms中断查询方式。8255的PA3~PA5通过74LS138和8个内线用户的端口19(RC)相连可传输振铃信号。PA0~PA2通过74LS138(3-8线译码器)和8个用户端(MT88500)的端口15相连,可实现静音功能。MH88500的16管脚(共八个)和MT8816(模拟8x16空分交换芯片)的8个输入端Yi(i=0~7)相连。8051的P1.0~P1.3和MT8870DC(双音多频译码器)的Q1~4相连。P1.4~P1.6分别输出500Hz拨号音、0.5s断0.5s通的忙音、1s停4s通回铃音等。P3.5~P3.5分别接MT8816的DATA(38脚)、STROBE(18脚)、CS(36脚)。P0.0~P0.6分别接MT8816的六个地址线。P3.0~P3.4分别接5个DTMF的TSD端。MT8816的Y0~Y4接5个DTMF的输入端以接收拨号信号。Y5~Y7接8051的P1.4~P1.6。Y8~9接两个外线用户电路(MH88500的TIP和TING端)。MT8816的其余端口用来接通内外线,这样还有Y15和Y16两个管脚空闲不用,该系统中的主要芯片MT8816,MH88500,MT8870DC均为MITEL公司的产品。
图3所示为MH88500的主要管脚连接图。
4 软件设计
本用户台程序主要由后台程序和前台程序组成。前台程序为中断程序(见图4、图5),主要完成收集拨号和用户环路扫描。图6所示为后台程序,主要完成每100ms对8个用户进行一次扫描,并对用户摘、挂机进行识别及资源分配。
其实,主程序就是后台程序,而前台程序只是一个定时中断程序,一般处理需要紧急处理的事件。因而系统实际上一直在运行后台程序。
5 结束语
本系统已用于双音多频电话系统,经使用证明,效果良好,用8255的闲置端口还可扩容本系统。因而可方便地用于宾馆、企业集团的内部通话。