通信呼叫排队系统的开发Word文档下载推荐.docx
- 文档编号:19239834
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:25
- 大小:239.80KB
通信呼叫排队系统的开发Word文档下载推荐.docx
《通信呼叫排队系统的开发Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《通信呼叫排队系统的开发Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。
2.1电路性能的要求…………………………………………………………………………10
2.2网络交换机的软件设计…………………………………………………………………11
第三章:
软件的设计…………………………………………………………………………13
3.1MSCom控件实现串口通信…………………………………………………………………13
3.2数据库的建立……………………………………………………………………………16
3.3数据库的调用…………………………………………………………………………17
3.4数据库的添加…………………………………………………………………………17
3.5串口通信与数据库调用的综合…………………………………………………………18
3.6数据的存储………………………………………………………………………………22
第四章:
不足与改进…………………………………………………………………………25
结论:
……………………………………………………………………………………25
参考文献:
……………………………………………………………………………………26
致谢:
……………………………………………………………………………………27
引言
21世纪是信息时代,各种电信新技术推动了人类文明的进步。
自从1876年,AlexanderGrahamBell(贝尔)发明电话以来,世界各国的电话网络发展非常迅速。
进十年来,中国的固定电话业务呈现出举世瞩目的快速增长。
1997年8月局用电话交换机总容量突破1亿门,网络规模跃居世界第二位,1999年7月固定电话用户总数突破1亿户。
现代电话网络是由交换机和电话传输线共同组成,它的性能已经有了很大的进展,而且可靠性非常高.电话属双工通信手段。
因此,这可以大大体现出利用电话进行控制的更大优越性。
操作者可以通过各种提示音即时了解受控对象的有关信息,从而进行进一步的操作。
随着计算机性能的提高及通信量的聚增,传统局域网已经越来越超出了自身负荷,交换式以太网技术应运而生,大大提高了局域网的性能。
网络交换机能显著的增加带宽,可以建立地理位置相对分散的网络。
局域网交换机的每个端口可并行、安全、实时传输信息,而且性能稳定、结构灵活、易于安装、便于管理,能很好地满足企业网和电信运营商宽带接入的需求。
系统概述
通信呼叫排队系统由单片机构成主控部分,进行主要的信息处理,接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;
接口电路提供单片机与电话外线的接口。
其中包括铃流检测、摘挂机控制、忙音检测、双音频DTMF识别,及语音提示电路。
本系统的每一个接口电路(振铃检测、模拟摘挂机、语音反馈、双音频解码等)都已经经过实际的交换机在线实验,具有很强的实用性。
本系统使用最简单的电路、最便宜的电路芯片实现了完善的功能。
本系统还有许多可以添加的功能,具有很强的市场前景。
1.1程控交换系统
程控交换机是存储程序控制交换机的简称。
它是在电子计算机的控制下,为用户提供电话等各项服务。
这里的电子计算机不是为了计算,而是进行自动交换的处理,因此又称为数据信息处理机。
程控电话机要进行电话交换,由话路设备和控制设备两大部分组成,并满足如下条件。
1能随时了解用户是否发生呼叫,以及主叫用户的电话号码。
2能从主叫用户处接收所要得被叫用户的电话号码。
3能了解被叫是否空闲,以及在主叫和被叫间是否存在空闲的连接通路(即链路)。
4如果被叫空闲,而且有空闲的连接通路,就将主叫和被叫用户连通。
5能随时了解用户是否话终挂机,一旦挂机就予以拆断。
程控电话交换系统是由电子计算机作为控制设备,采取存储程序控制方式,来处理电话接续和其他业务的。
程序的多少与质量直接影响着交换机的工作能力和可靠性。
程控交换机中的程序非常丰富,除了用于交换处理的程序外,还有用于管理和维护方面的程序。
如故障自诊断程序,测试程序等。
现在的程控交换机是数字式交换。
也称为时隙交换,“时间接线器”(也叫T型时分接线器)是完成此交换的核心部分,由话音存储器和控制存储器组成。
经过摸/数变换后的话音信号,经时分复用线按时隙顺序写入话音存储的各单元。
1.2电话系统概述
电话通信是借助声电与电声转换器件,以及电信号传输设备实现远距离语言通信的一种电信系统。
从发话人向送话器发出语音信号,经声电变换后进行传输,最后由受话器即听筒接受该信号,由电声变换后使受话人听到原来的话音。
由于电话机都具有话筒和听筒,既能送话又能受话,实际上是双向话音通信电话通信系统不是直接传送语音信号。
信息由信号承载,它包含发话人表达的语义信息和个人特征信息。
受话人听到的只是发话人语音信号高保真度的复制品。
实际电话通信系统总是采用双线传输,实现话音信息的双向交换。
任何两部电话机和一对电话线就可以实现通话。
如果有多个用户之间相互通话,用这种直接通话方式,线路就太复杂了。
因此在用户分布地区中心地带设立一个电话局,装设一部电话交换机就十分必要。
每个用户的一对电话线都接到交换机上,由交换机把需要通话的用户临时接通,这样每部电话机就可以实现与局内任何用户的电话通信。
电话通信应满足一定的音响度和清晰度,以获得满意的通话效果。
日常谈话的语音信号功率大约为10mW,如果要求与平时谈话一样自然的电话通信,就要求送话器接受语言信号的功率为1mW~10mW时能可靠工作。
对受话器的要求是输入话音电流信号的功率为1mW时便能听到声音。
清晰度高于85%则认为电话传输质量较好。
要控制电话通信系统的传输衰减,保证音响度要求,恰当的传输频率是保证语音清晰度的前提条件。
音频范围是20Hz~20kHz,超过20kHz的超声是听不到的。
人类语言信号频率范围与发音器官有关,一般是80Hz~8000Hz,话频在音频范围之内。
全部话频频带较宽,传送起来所需通信设备昂贵。
而恰当的选择传输频带,既经济又实用,保真度降低不多,不是两全其美。
500Hz~8000Hz频段成分影响清晰度,其中1000Hz~2000Hz频段保证一定清晰度而必须传输的部分,其语音信号低频段影响音响度。
传送频带必须兼顾音响度,清晰度和保真度,所以在一般电话通信系统中以300Hz~3400Hz为电话传输通频带。
1876年美国人贝尔发明了最早期的电话机,首次把人类话音转换为变化的电流,并通过导线传送到另一个房间的电话机里再转换为话音,从而实现了电话通信
电话机种类繁多,其电路组成也各有千秋,但一部电话机的基本构成一般都有通话电路,发号电路,振铃电路,极性转换电路和叉簧开关等部分。
电话机基本组成方框图如下,及各部分的作用。
1。
外线X1X2
外线是电话机和交换设备之间的连接导线,它是作用有以下几个方面:
其一,外线给电话送来直流电源,程控交换机是直流48V;
其二,是送给电话机90V、25Hz的交流正弦振铃信号,用户来电时响铃;
其三,为电话机的发号电路和话音传输信号提供传输通路。
2.极性定向转换电路
任何电子电路的工作,都要区分电源的正负极。
无论外线怎样接入,极性定向转换电路都能够将外线送来的电源转换成电话所需要的正负极性。
3.叉簧开关
叉簧开关虽然是一个普通的机械开关,却在用户摘机和挂机时期着转换控制作用。
但振铃电路仍与外线相接,通话电路的某些单元仍处于工作状态,即电话机处于挂机等待状态。
叉簧开关完成信号设备和通话设备的交替转接,信号与通话设备分时交替工作。
4.发号单元
发号单元由发号电路、电子开关和键盘组成。
其主要作用:
使用号码盘发出电话号码信号;
通过电子开关接通或断开电话机电源和信号传输电路,在发号的同时将通话短路,以免产生噪声;
使用各种功能键和开关,只会电话机执行相应的功能。
5.通话单元
通话单元由送话电路,受话电路和消侧音电路组成。
受话电路把对方打来的电话信号放大,处理后,将话音信息通过电声元件转换成声音。
送话电路把发话人的语音转换成电信号,经放大后送到外线上。
消恻音电路控制受话放大器以消除接听噪声,并把送话电路,受话电路和外线三者有机的连接在一起。
6.振铃电路
振铃电路由放大器,信号变换器,压电陶瓷等电声转换器件组成。
它将交换机送来的25Hz铃流变为直流,再产生两种频率不同的交替信号,放大后驱动蜂鸣器或扬声器产生振铃信号。
其作用是当外线送来振铃信号时,该单元发出铃声,告知用户有电话打进,请接听电话。
7.通话手柄
通话手柄由送话器和受话器组成,完成将话音转换成电流信号,将电流转换成话音信号的声电和电声转换工作,同时利用手柄的重量压力改变叉簧的工作状态。
1.3本设计题目的思路
通过对设计题目的分析与研究本题目可由硬件设计和软件设计两部分共同完成。
硬件设计主要实现的是使交换机与MT8888相连,从而接受交换机发出的状态信号,然后用AT89C51将MT8888接受到的交换机状态信号转换成计算机可识别的语言,发送到计算机完成硬件功能。
软件设计主要实现的是串口通信,接受并显示AT89C51发来的信号,将所得信息存储到数据库中,分别记录话费,开始通话时间,结束通话时间,电话号码等通信信息。
以下本文重点介绍一下软件设计部分。
硬件的设计概述
2.1电路性能要求
交换机的高速PCB电路板,在EMC和ESD上都有比较高的要求。
它采用了75MHz、50MHz的高速时钟,需要晶振的精度小于50PPM,同时时钟需要通过时钟分配电路送给不同的芯片,它需要分配的时钟之间的相位差小于2ns。
交换机有24个10/100M自适应端口,每个端口都能达到线速交换。
根据用户需要可对端口进行10/100M速率、全/半双工、流量控制、静态MAC地址、镜像、VLAN等设置。
2.1交换机的原理框图
本交换机的交换技术采用存储-转发方式,主要由接口单元、交换单元、管理单元、灯显示单元和电源接口单元五部分组成。
其组成的方框图如图1所示。
RJ45接口收到以太网帧结构的数据包后,经过变压器隔离和阻抗匹配后送到PHY(物理接口芯片),在此芯片中完成模拟信号到RMII接口的数字信号的变换,并获得链路状态冲
突、信息是否超长,速率等信息。
数据进入交换芯片(由三个芯片组成,通过ROX总线形成一个环路,可以完成数据在三个芯片之间的交换),交换芯片将获得数据的目的地址和源地址,并对以太网帧进行差错校验。
交换芯片将源地址保存在自己的MAC地址表中,然后将目的地址与MAC地址表中的地址相匹配,以获取数据将转发的相应端口。
如果目的端口在同一个交换芯片中,则从SGRAM中取出数据转发到相应的端口;
如果目的端口不在同一个交换芯片中,数据则通过ROX总线传输到相应的交换芯片,然后转发出去;
如果在MAC地址表中没有找到相应的目的地址,就将帧转发到除源端口之外的其它属于同一VLAN的所有端口或者某一个上连端口(与交换芯片寄存器的设置有关)。
灯的显示由PHY给出,通过灯的显示可以观察每个端口的工作速率、连接和数据收发等情况。
交换芯片在每次开机或复位期间,首先读取外接EEPROM的内容来对交换芯片寄存器进行初始化配置。
而交换芯片寄存器的内容可以通过PC的管理程序或PC的超级终端进行读写,以此来控制或读取交换机的工作配置。
2.2网络交换机的软件设计
整个网络交换机系统的软件包括单片机的控制软件、EEPROM配置数据和PC机的管理程序。
单片机的控制软件主要完成对寄存器的读写和与PC之间的通信。
通过这个管理单元,可以将交换机配成各种工作模式,以满足不同用户的需求。
交换芯片通过I2C总线连接EEPROM(24C02),用于保存配置数据。
在设备开机或者复位时,设备将从EEPROM读出这些数据,用于系统初始化。
PC机的管理程序是用户将PC机的串口与系统设备连接,通过PC机的管理程序界面,很容易地对系统进行配置。
单片机控制的软件设计
管理单元由单片机和串口组成,通过PC来配置EEPROM或交换芯片的寄存器。
单片机主要完成对寄存器的读写和与PC之间的通信,串口起到一个与PC的连接作用,微制控器与串口之间还有一个电平转换芯片,完成微控制器与PC之间信号的转换。
通过管理单元,可以将交换机配成各种工作模式,以满足不同用户的需求,如:
10/100M速率设置、全/半双工设置、流量控制、静态MAC地址设置,镜像设置,广播风暴控制,VLAN设置等。
单片机的软件流程如图2所示。
各模块介绍如下:
main——主程序;
init_uart——串口初始化;
delay——系统延迟;
helpMenu——帮助菜单;
systemCheck——检查系统设备ID;
whict>
:
——命令提示符(whict是武汉化工学院的缩写);
D——查看系统的整个配置数据;
E——编辑系统的配置数据;
F——对交换机的各种功能进行配置、管理;
R——读系统的配置数据;
W——系统将当前配置数据保存到EEPROM;
L——系统静态MAC地址的配置;
M——改变系统的密码;
I——系统软件复位;
S——系统将缺省配置下载到EEPROM。
第三章软件设计详述
3.1用MSComm控件实现串口通信
串口通信流程图如下:
在C++Builder中利用串行通信控件编程:
1.注册MSComm控件
众所周知,C++Builder本身并不提供串行通讯控件MSComm,但我们却可以通过注册后直接使用它。
启动C++Builder5.0后,然后选择C++Builder主菜单中的Component菜单项,单击ImportActiveControl命令,弹出ImportActive窗口,选择MicrosoftCommControl6.0,再选择Install按钮执行安装命令,系统将自动进行编译,编译完成后即完成MSComm控件在C++Builder中的注册,系统默认安装在控件板的Active页,接下来我们就可以像使用C++Builder本身提供的控件那样使用新注册的MSComm控件了。
(前提条件是你的机子上安装了VisualBasic,或者有它的库)
2.具体实现
新建一个工程Project1,把注册好的MSComm控件加入到窗体中,4个Button分别用来"
打开串口"
"
关闭串口"
"
发送数据"
接收数据"
,2个Memo控件分别用来显示接收到的数据和发送的数据。
Button1用来打开串口,Button2用来关闭串口,Button3用来发送数据,Button4用来保存数据。
Memo1用来显示发送的数据,Memo2显示接收的数据。
下面给出部分源码:
__fastcallTForm1:
TForm1(TComponent*Owner)
TForm(Owner)
{
if(MSComm1->
PortOpen==true)
Button1->
Enabled=false;
Button2->
Enabled=true;
Button3->
Button4->
}
else
void__fastcallTForm1:
Button1Click(TObject*Sender)//打开串口
PortOpen!
=true)
MSComm1->
PortOpen=true;
//打开串口
Button2Click(TObject*Sender)//关闭串口
=false)
PortOpen=false;
Button3Click(TObject*Sender)file:
//发送Memo2中的数据
Output=StringToOleStr(Memo2->
Text);
file:
//把AnsiString型转化成//Ole形式。
Button4Click(TObject*Sender)
AnsiStringstr;
//声明一个AnsiString类型的变量
OleVariants;
//声明一个用于接收数据的OleVariant变量。
CommEvent==comEvReceive)
//接收缓冲区中是否收到Rthreshold个字符。
InBufferCount)//是否有字符驻留在接收缓冲区等待被取出
s=MSComm1->
Input;
//接收数据
str=s.AsType(varString);
//把接收到的OleVariant变量转换成AnsiString类型
Memo1->
Text=Memo1->
Text+str;
//把接收到的数据显示在Memo1中。
要保存数据应该再加入一个SaveDialog模块
Button5Click(TObject*Sender)
file:
//把Memo1中的数据保存在指定的文件中
AnsiStringfilename1;
SaveDialog1->
Filter="
Textfiles(*.txt)|*.txt|Allfiles(*.*)|*.*"
;
//文件类型过滤器
FilterIndex=2;
if(SaveDialog1->
Execute())
filename1=SaveDialog1->
FileName;
Lines->
SaveToFile(filename1);
//把收到的数据保存在文件filename1中
实现后的窗口图如下:
3.2数据库的建立
1数据库的建立:
运用C++Buider6.0本身代的数据库功能,实现数据库的建立。
具体实现过程:
新建一个工程project1在Form1中建立一个TTable.在窗体中添加一个TButton组件Button1,并设置它的Caption属性为“创建数据库结构”在它的OnClick事件中输入如下源代码:
void__fastcallTForm1:
Button1Click(TObject*Sender)
{TQuery*newQuery=newTQuery(this);
if(FileExists("
c:
\\data\\通话数据库.dbf"
))return;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 呼叫 排队 系统 开发