微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于单片机的程控交换机多机通信应用

基于单片机的程控交换机多机通信应用

时间:03-19 来源:3721RD 点击:

位后查询本CPU 是否接外线(2_CPU 和3_CPU 跳过), 然后置标志, 上位机通过问询下位机知道程控交换机接几根外线。

命令处理模块主要完成上位机下达的命令,命令有指定分机挂外线/ 内线、对挂内线分机发送或停止内线信号音(内线拨号音、内线回音铃、内线忙音铃或内线证实音等)、指定分机撤外线/ 内线等等。

发送请求服务模块主要向上位机发送外线来电处理、分机拨打内线电话、分机设置功能等请求服务。

外线来电中断请求模块在外线来电时(0_CPU 和1_CPU),向CPU 请求中断。CPU 响应中断后, 首先判断是否干扰信号, 确认为外线来后, 竖立外线来电标。当上位机查询下位机有否请求服务时, 向上位机发送外线来电服务请求。为防外线来电中止,下位机CPU 发送请求后即清除外线来电标。上位机在送出分机振铃后一秒钟内, 如分机未摘机, 而下位机又没发来新的外线来电请求服务, 立马中止振铃。

分机拨号中断请求模块在分机拨号后, 向CPU 请求中断。

CPU 响应中断后, 根据所拨号码, 产生对应请求服务代码。上位机收到请求服务后, 对其进行译码, 作相应处理。如分机是挂外线, 除判别该分机长途等级外, 对拨号不作任何处理。分机在挂线情况下, 拨号才有中断请求信号产生, 这由硬件保证。

定时器处理模块主要产生450 方波信号, 产生各种内线铃声所需脉冲信号以及看门狗定时常数刷新等。

上下位机源程序限于篇幅, 不作介绍。

4 编程中特点

由于多机程控交换机上位机CPU 要对四个下位机CPU, 而分机摘/ 挂机状态采用查询方式, 又要处理分机振铃等, 查询过程中要采用抗干扰措施, 防止CPU 误判、误动作。所以编程中要考虑整体时间分配, 以免延误用户通话。

上位机在查询下位机有否服务请求时, 采用轮流查询法。在发送信息前又要与下位机握手, 所以查询时间较长。当下位机有服务请求时, 上位机马上中止查询下一CPU, 为当前下位机服务。

为缩短上下位机通信时间, 下发代码采用单字节, 按位定义。如"D7"位表示挂线或撤线,"D6"位表示挂内线或外线,"D5、D4"位表示发内线拨号音、内线回音铃、内线忙音或内线证实音,"D3"~"D0"表示分机号。

上发代码采用多字节, 长短不同, 这是由于多机程控交换机功能丰富多采, 下位机在上发代码最后加一个结束符。

多机程控交换机功能较多, 分机拨号中断请求模块要分成外线拨号、内线拨号(包括代接、转接和三方通话)和功能设置三个小模块。为提高CPU 利用率, 分机拨号中断请求模块采用流水线作业方式, 按一次键, 模块执行一次。所以要保护好现场,竖立相应的标志, 保证分机拨号中断请求模块工作正常。当某功能拨完后, CPU 再将请求服务代码送到发送缓冲区。

5 结束语

多机程控交换机可连接二根外线, 十二只内部分机, 四绳路通话容量, 具有丰富的实用功能, 可不间断连续工作。分机之间可多对电话(最多四对八机)同时通话而彼此互不干扰。分机可直拨外线、强插外线、长途加锁设置等。外线来电响铃方式有二种, 一为选择某些分机振铃, 二为分机轮流振铃, 由1 号分机进行设置。分机可代拨、代接、征询转接和三方通话等。

本文作者的创新点:上、下位机CPU 串行通信发送采用查询方式, 接收采用中断循环队列缓冲区方式。多机程控交换机不使用扩展外RAM, 上位机采用AT89C52, 其内RAM为256 字节, 足够CPU 工作所需, 同时给硬件上分清上位机和下位机CPU 芯片带来好处, 一举二得。

多机程控交换机样机已小批量投入某些公司、企业使用, 用户反映程控交换机基本功能工作正常, 使用方便, 由此说明多机程控交换机达到设计要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top