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

发布者:数字翻飞最新更新时间:2012-05-24 来源: 微计算机信息关键字:单片机  程控交换机  多机通信 手机看文章 扫描二维码
随时随地手机看文章

0 引言

国内单片机多机通信方向技术开发应用已有相当长时间,在智能化仪器、工业自动控制、家用电器机电一体化等方面的应用成果尤为显著。本文介绍AT 系列单片机多机通信在程控交换机中应用。

多机程控交换机将1 至2 条电话外线扩展成4 绳路、12 个分机容量, 可以多部分机同时通话而互不干扰(可以内外线混用); 分机可以为电话机、传真机、答录机和电脑等任何电讯产品。

1 硬件结构简介

本程控交换机应用AT 系列单片机, CPU 使用一个AT89C52 和四个AT89C51, 进行多机通信, 如图1 所示。

其中一个CPU(AT89C52)作为上位机, 实现分机摘机/ 挂机查询、分机振铃等功能。四个CPU(AT89C51)作为下位机, 各控制一根绳路, P10、P11 口作为CPU 地址, CPU 进行查询外线来电、分机挂线(内线和外线)、分机撤线、分机拨号处理等工作, 提供内线拨号音、回音铃、忙音、证实音等信号音。0_CPU 和1_CPU各有一个继电器J 控制开关, 用于接通或切断电话外线与绳路的连接。

硬件线路保证每CPU 各施其职, 互不串扰。某分机一旦挂线后, 该分机的信号音、拨号等只受该绳路的CPU 控制, 而且分机摘机、挂线后拨号才有效; 撤线后, 该分机不再受绳路的CPU 控制。

2 多机通信协议

在多机通信协议中定义上位机为主动, 下位机为被动。

2.1 上——下位机联络握手

上位机向下位机广播地址信息; 下位机收到地址信息后判断是否是本机地址, 若不是, 不应答; 若是, 向上位机发应答信号, 同时作好接收数据准备。上位机收到应答信号后, 判断应答信号是否正确。若不正确, 重发地址信号; 若正确, 发送数据(命令代码)。已握手的下位机接收数据(命令代码)后, 执行相应功能或实施服务。地址信息与命令代码设置不重码, 以便下位机能判别出。

2.2 上位机向下位机发送命令类

是否接外线(仅为0_CPU 和1_CPU)、有否请求服务、指定分机挂某一根内/ 外线、指定分机撤线、释放外线继电器、编程密码、长途等级(内部、市内、国内和国际)、长途解锁、要求绳路发内线拨号音、内线回音铃、内线忙音铃或内线证实音等。

2.3 下位机向上位机请求服务

下位机只有在上位机“有否请求服务”时, 才可向上位机发送信息。发送信息有:本绳路有外电呼叫、拨打内部分机、三方通话、代接外线、设置转移功能(无条件转移、遇忙转移、无应答转移、撤消转移)、设置外线来电振铃方式(指定若干分机振铃、全部分机振铃、三机四组轮流振动铃、外线来电时指定分机振铃)、设置长途密码 长途等级 长途解码、强插监听等。

3 多机程控交换机软件设计方法

程序设计思路是根据多机程控交换机工作过程而制定的, 采用上下位机包干控制, 充分利用CPU 资源, 实现程控交换机功能。

3.1 上位机软件设计思路

根据多机程控交换机功能, 上位机程序分成初始化、摘机处理、挂机处理、发送命令、下位机请求服务处理、振铃处理和定时器处理(包括看门狗)七个模块, 程序模块结构如图2 所示。

初始化模块主要是定义常数变量、变量单元、位标志、缓冲区、中断设置、定时器设置/ 启动、电话分机工作初始状态等。

摘机处理模块主要判别是外线来电摘机、内线来电摘机还是要拨打外线或内线电话。

挂机处理模块比较复杂, 既有内外线通话结束挂机, 又有内外线通话中止挂机, 还有三方通话主叫机挂机和从叫机挂机, 其它有中止拨打外线/ 内线挂机、分机功能设置完毕挂机等。

发送命令模块主要是根据电话分机发生摘/ 挂机时, 向下位机发送挂线/ 撤线命令、内线拨号音等命令, 发送询问下位机有否请求服务等命令。

下位机请求服务处理模块主要根据下位机CPU 请求, 完成外线来电、拨打内线分机、分机功能设置等工作。[page]

振铃处理模块主要处理外线来电时, 根据振铃模式进行分机振铃、轮流振铃等; 内线呼叫分机时, 根据分机转移功能, 作相应的振铃处理; 被呼叫分机摘机后停止振铃等功能。

定时器处理模块配合振铃处理模块产生各种振铃计时以及看门狗定时常数刷新等。

3.2 下位机软件设计思路

为便于编辑和管理, 4 个下位机程序使用同一版本, 程序运行时根据地址作相应的处理。

根据多机程控交换机功能, 下位机程序分成初始化、连接外线查询、发送请求服务、外线来电中断请求、分机拨号中断请求和定时器中断(包括看门狗)六个模块, 程序模块结构如图3 所示。

初始化模块主要是定义变量单元、位标志、缓冲区、中断设置、定时器设置/ 启动等。[page]

连接外线查询模块在开机复位后查询本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 芯片带来好处, 一举二得。

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

关键字:单片机  程控交换机  多机通信 引用地址:基于单片机的程控交换机多机通信应用

上一篇:基于单片机的智能泊车系统设计方案
下一篇:智能分时计费电度表的单片机实现

推荐阅读最新更新时间:2024-03-16 13:00

基于单片机的8*8 LED点阵显示技术
  1. 实验任务   在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。   2. 电路原理图      3. 硬件电路连线   (1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;   (2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;   4. 程序设计内容   (1). 8X8 点阵LED工作原理说明   8X8点阵LED结构如下图所示     从图4.24.2中可以看出,8X8点阵共需要64个
[单片机]
基于<font color='red'>单片机</font>的8*8 LED点阵显示技术
Micro-ROS:把ROS2放在MCU
对于熟悉机器人应用的,ROS想必定是不会陌生的。ROS可以说是目前机器人相关开源社区最流行的项目。每一种类型的机器人都需要以的实际情况编写符合需要的功能,起初代码的复用率很低,大大阻碍了机器人的发展。 ROS便是为机器人在研发的过程中的代码复用提供支持的开源框架,大量的机器人开源项目,从感知到控制、从定位到构图、从导航到可视化,几乎都使用ROS作为基础。 cro-ROS从何而来? Micro-ROS实际上是从ROS2优化而来的轻量级ROS系统,用于在各种机器人应用中在上实现第二代机器人操作系统ROS 2,通过使用通用框架,它可以实现与传统机器人、和设备的互操作性。ROS2基于ROS升级而来,如果说ROS为机
[机器人]
系统扩展之单片机RAM扩展
8051单片机程数据存储器的扩展。 51数据存储器的扩展 A0-A12为地址线,总共13条,则该存储器的物理存储空间有2的13次方,即8K。 D0-D7为数据总线,共8条,即该存储器的每个存储单元有8位数据,即通常所说的字节为8,又叫一个字节 。 CS为片选信号,当该信号为0时,存储器才能正常读写,当CS为1时,存储器的输出端D0-D7和地址总线A0-A12都为高阻状态,即相当于存储器芯片没有接入 电路 ,片选信号常用与电路中有多片同类芯片时选择哪一个芯片有效,即哪一片芯片被接入电路中,在本例中,由于只有一片程序存储器,没有选择的必要,所以可把片选端接地,使其永远有效。 RD为数据存储器输出运行端,即通常所说的存储器
[单片机]
系统扩展之<font color='red'>单片机</font>RAM扩展
基于单片机的电子密码锁设计
当前虽然许多智能锁(如指纹辨别、IC卡识别)已相继问世,但这类产品是针对特定指纹或有效卡,只能适用于保密要求高且仅供个别人使用的箱、柜、房间等。另外,卡片式的IC卡易丢失和损坏,加上其成本较高,在一定程度上限制了这类产品的普及和推广。 电子密码锁具有安全性能高、成本低、功耗低、操作简单等优点使其作为防盗卫士的角色越来越重要。现有国内市场上的电子密码锁有的是通过购买一些产品模块再开发,不具备自主知识产权;有的是自主研发的,但其功耗与成本都比较高,不具备广泛的应用价值。为了克服这些缺点,从经济实用角度出发,采用单片机AT89S5l与低功耗CMOS型E2PROM AT24C02作为主控器件与数据存储器单元,设计一款可更改密码,具
[工业控制]
基于<font color='red'>单片机</font>的电子密码锁设计
液晶控制器SED1520与单片机mPSD3334D的接口及显示设计
引言 点阵液晶显示器具有可显示复杂的文字及图形,显示屏面积大小多样等优点,在智能仪器仪表、电子设备等工业、民用方面有着广泛的应用前景。 ST公司的mPSD系列单片机以其接口功能强大、存储容量大和系统开发方便等优点,逐渐被应用到对功能要求较高的控制领域。其可编程逻辑的丰富外围接口和大容量存储器的使用必须通过PSDsoft? Express软件配置,与传统51系列单片机开发不同。本文通过在实际项目中对mPSD3334D的应用,重点介绍了其特点及其与内置SED1520液晶控制器的液晶模块GXM12232-1的接口,并给出了mPSD3334D的引脚配置和GXM12232-1显示控制流程图。 mPSD3334D及SED1520简介
[电源管理]
基于STM32微控制器处理先进电机控制方法
   变频器的问世和先进的电机控制方法让三相无刷电机(交流感应电机或永磁同步电机)曾经在调速应用领域取得巨大成功。这些高性能的电机驱动器过去主要用于工厂自动化系统和机器人。十年来,电子元器件的大幅降价使得这些电机驱动器能够进入对成本敏感的市场,例如:家电、空调或个人医疗设备。本文将探讨基于ARM的标准微控制器如何在一个被DSP和FPGA长期垄断的市场上打破复杂的控制模式,我们将以意法半导体的基于Cortex-M3 内核的STM32系列微控制器为例论述这个过程。     首先,我们回顾一下电机控制的基本原理。在电机控制系统内,为什么处理器非常重要?我们为什么需要非常好的计算性能?毕竟,Nicolas Tesla在一个世纪前发明交流电机
[嵌入式]
微芯推出采用nanoWatt XLP技术的单片机
  全球领先的单片机和模拟半导体供应商——Microchip Technology Inc.(美国微芯科技公司)7月15日宣布,推出采用nanoWatt XLP技术的全新8位PIC单片机(MCU)系列,可以实现极低的休眠电流。高性能、低功耗的PIC18F13K22、PIC18LF13K22、PIC18F14K22和PIC18LF14K22(PIC18F1XK22)MCU采用20引脚封装,能在1.8V至5.5V电压下工作,具备高达16 KB的闪存程序存储器。这些器件配备了包括支持mTouch容性触摸传感在内的增强型外设集,非常适合各种通用应用。   采用nanoWatt XLP技术,PIC18LF1XK22 MCU在电压为1
[嵌入式]
车载MCU,又要变天了
要说MCU未来两年还能怎么变?除了加入AI加速器,或者从Cortex-M核心切换到RISC-V核心,就是集成新型存储器。 2月28日,英飞凌宣布新一代MCU AURIX TC4x 即将量产,与传统MCU不同,本代产品引入 RRAM 非易失存储介质(NVM)。无独有偶,ISSCC 2024上,瑞萨宣布已开发出用于嵌入式(包括MCU)的STT-MRAM电路技术的测试芯片。而早在2022年,意法半导体就发布Stellar P6车规MCU,彼时产品中就采用了PCM。 这预示着新型存储的MCU终于要正式和我们见面,这意味着,MCU制程技术要全面朝28nm以下进发,而第一个将要改变的市场,就是车载MCU市场。 车载MCU升级的另
[汽车电子]
车载<font color='red'>MCU</font>,又要变天了
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved