基于MT8880的ARM智能拨号器的设计和实现
[09-14 01:02:09] 来源:http://www.88dzw.com 电子制作 阅读:8577次
文章摘要:本系统通过软件编程实现与 MT8880的部分端口的通信。系统选用 IAR作为软件开发环境,IAR的 Embedded Workbench 系列是一种增强型一体化嵌入式集成开发环境,其中完全集成了开发嵌入式系统所需要的文件编辑、项目管理、编译、链接和调试工具。IAR公司独具特色的 C-SPY调试器,不仅可以在系统开发初期进行无目标硬件的纯软件仿真,也可以结合 IAR公司推出的 J-Link硬件仿真器,实现用户系统的实时在线仿真调试 [3]。在软件编程时要注意 MT8880上电延时 100ms以上,初始化时要将寄存器清零后才能使用[2]。 1. DTMF接收和命令解释程序 这段程序是系统模拟摘机后
基于MT8880的ARM智能拨号器的设计和实现,标签:电子小制作,http://www.88dzw.com本系统通过软件编程实现与 MT8880的部分端口的通信。系统选用 IAR作为软件开发环境,IAR的 Embedded Workbench 系列是一种增强型一体化嵌入式集成开发环境,其中完全集成了开发嵌入式系统所需要的文件编辑、项目管理、编译、链接和调试工具。IAR公司独具特色的 C-SPY调试器,不仅可以在系统开发初期进行无目标硬件的纯软件仿真,也可以结合 IAR公司推出的 J-Link硬件仿真器,实现用户系统的实时在线仿真调试 [3]。
在软件编程时要注意 MT8880上电延时 100ms以上,初始化时要将寄存器清零后才能使用[2]。
1. DTMF接收和命令解释程序 这段程序是系统模拟摘机后的程序,ARM处理器发送被叫号码到 MT8880芯片,部分程
序如下,为了方便升级开发,均有详细注释://设置MT8880 模式为双音频工作模式(发送数据) 即配置CRA=1101,CRB=0000
dBytesCRA[3] = 1;
dBytesCRA[2] = 1;
……
dBytesCRB[3] = 0;
……
MT8880_WriteCRACRB(dBytesCRA, dBytesCRB);//将1101,0000 分别写入到CRA 和CRB
dLength = strlength(pSendNum); //保存要写入到MT8880 的被叫号码的长度
for(dL = 0; dL < dLength; dL++) { //连续发送dLength 个DTMF 信号
switch(*pSendNum++) { //判断ARM 处理器传来的字符型的电话号码
case '1':{
dBytesSend[3] = 0; //D3D2D1D0=0001
dBytesSend[2] = 0;
……
break;}
case '2':{
dBytesSend[3] = 0; //D3D2D1D0=0010
……
break;}
……
default:
{
break;
}
}
MT8880_WriteDataReg(dBytesSend); //写发送数据寄存器
for(iTemp = 5000; iTemp; --iTemp) {
MT8880_ReadStateReg(dBytesSReg); //读取状态寄存器的值
if(dBytesSReg[1] == 1) //判断状态寄存器的第二位是否为1
break; //即发送数据寄存器满,准备发送数据
}
2.信号音处理程序
首先将芯片 MT8880设置为呼叫处理、中断模式,信号音处理程序分为四大部分:一是拨号前检测是否允许拨号 ,即检测信号音是拨号音还是忙号音;二是拨号后检测是否接通,即检测信号音是回铃音、忙号音还是占线音;三是拨号接通后检测是否应答,即检测回铃音是否消失;四是检测各种信号音:拨号音、忙号音、回铃音。
各种信号音的特点:拨号音在 5秒内是连续音;忙号音在 5秒内 0.35秒通,0.35秒断;回铃音在 5秒内是 1秒通,4秒断。
3.串行通信程序主要功能是接收上位机的命令,执行相应的操作。将另撰文详说。
五、小结
首先对智能拨号器的硬件组成进行了详细的研究和说明,并对部分软件代码进行了解释。该系统已经测试使用,它具有成本低、功耗小、便于携带、功能易于扩展等特点,在一定的应用背景下有很好的使用前景。
本文作者创新点:系统使用 ARM7作为微处理器,功耗低,设计简化,且功能易于扩展。采用 USB作为调制解调类外设与计算机的接口,实现枚举设备等,数据传输稳定可靠,且较串口接口更利于使用和携带。
由图 2知,振铃检测电路完成检测振铃是否有效的功能。当用户被呼叫时,电话交换机发来铃流信号。振铃信号为 25±3Hz的正弦波,电压有效值90±15V。振铃以 5秒为周期,即 1秒通,4秒断。振铃信号经圆桥整流后经光电隔离输出脉冲信号。该脉冲信号输入到74LS04中整形成方波信号,送入 ARM处理器 [1]。
2. 模拟摘机电路
图 3表示模拟摘机电路完成拨号前摘机和来电后自动摘机的功能,由于电话线上传来的信号的极性没有确定,圆桥可以稳定信号的极性,从正极输出端输出的永远是正极性,负极输出端输出的永远是负极性。模拟摘机电路工作与否由 ARM处理器传送到光耦(TLP521-1)第二个管脚的高低电平决定,当 ARM处理器传送过来的是低电平时,光耦合器开始工作,稳压二极管被反向击穿而稳压在 5.1V,三极管(2N5401)因基极电平被拉低而导通,回路电流值突增,电话交换机检测到该电流,将线路电压变为十几伏的直流,模拟摘机得以实现。若用户没有拨号,光电耦合器的 2端一直处于高电平,不工作,三极管没有被导通,电路回路呈现高阻抗。音频变压器起到隔离高低电压的作用,它右侧电路的功能是使得输出的信号控制在+/-15V以内。
3.双音多频收发电路 考虑到硬件电路的可靠性,在参考了大量资料后,系统选用 MT8880芯片来完成双音多
频收发功能,MT8880芯片专业可靠,应用广泛,便于开发。 双音多频收发电路连接图见图4。
《基于MT8880的ARM智能拨号器的设计和实现》相关文章
- › 基于MT8880的ARM智能拨号器的设计和实现
- 在百度中搜索相关文章:基于MT8880的ARM智能拨号器的设计和实现
- 在谷歌中搜索相关文章:基于MT8880的ARM智能拨号器的设计和实现
- 在soso中搜索相关文章:基于MT8880的ARM智能拨号器的设计和实现
- 在搜狗中搜索相关文章:基于MT8880的ARM智能拨号器的设计和实现
编辑推荐
- · 自制教室照明节电控制器
- · 双色音乐彩灯的制作
- · 三相交流电机缺相保护器
- · 声光控节能灯的制作
- · 同线电话转呼及互通器电路
- · 超低频信号发生器的制作
- · 自制热转印电路板
- · 警笛发声生器电路
- · 一款节能电路
- · 利用太阳能充电的旅行充电器