微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于DTMF技术与射频技术的远程控制的实现

基于DTMF技术与射频技术的远程控制的实现

时间:11-23 来源:互联网 点击:

要发送的数字由Dl~D3脚写人到内部“发送数据寄存器”。如果MT8880芯片同时又被设置为中断模式,则通过检测IRQ端状态,也能判断一个DTMF信号收到或发送完毕与否。其应用电路见图1。

1.5手机模块与单片机控制接口

绝大多数的手机也与固定电话一样有振铃信号,也可以收发DTMF信号,只要对普通手机稍做改动即可,即把手机的铃流信号接出来,同时把手机的耳机口分成两路(一路为DTMF输出即耳麦线,另一路为DTMF输人即话筒线),手机模块与单片机的接口电路如图2所示。

图2手机模块与单片机接口电路

2、射频技术及其硬件电路设计

微功率无线射频技术主要用于特定环境下的数据传输,常用于现代家庭多路电源的集中控制、智能小区物业管理、防盗报警、无线水塔控制、无线抄表、航空、航模和遥控遥测等场合。

本文采用的无线编解码芯片是PT2262/2272,是台湾普城公司生产的一种CM05工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0~All)三态地址端管脚(悬空、接高/接低电平),任意组合可提供531441个地址码,PT2262最多可有6位(DO~D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。

本文使用的无线发射头与无线接收头是现成的模块。单片机与无线发射头的接口电路框图如图3所示。无线接收头经解码输出后驱动电路框图如图4所示。


图3单片机与无线发射头的接口电路框图

图4无线接收头经解码输出后驱动电路框图

3、远程控制应用实现

为了实现对多点设备的控制,无线编码芯片PT2262的地址线选用A0~A7地址脚和DO~D3数据脚,这12个口线均通过单片机AT89S52来控制。由于单片机很容易实现“0”和“1”控制,所以单片机对A0~A7这8个地址线的控制可实现256种状态,即最多可以控fitJ 256种设备(每一个PT2272解码芯片输出对应于一种受控设各);同样地,单片机对DO~D3这4条数据线的控制可实现16种状态,即对同一设各可实现最多16种方式的操作。本文实现的是异地远程呼叫处理工厂各个无人操作车间的测试仪器,并能遥控操作进行相关的测试任务。系统框图如图5所示。

 图5 远程控制应用系统框图

系统的工作流程如下:单片机主板可以接人固定电话线也可以接人一个手机模块(专为没有预装固定电话的区域使用),操作员在异地拔打本地电话号码(或手机号码),单片机主板会自动检测振铃信号,然后自动摘机,并提示操作员输人密码。当单片机主板验证通过后,操作员就可输人地址码(对应于一台测试仪器,如001号)和操作码(当前测试机的测试任务,如A字符,代表打开测试机电源),单片机主板识别后,通过编码芯片送给无线发射头,无线发射头按特定的规则送出地址码和操作码,每一台测试机上的无线接收头都能接收到该无线信号,但只有与编码芯片的地址匹配的那台测试机才会响应并执行操作码。

4、软件实现

软件部分主要分为三部分:(1)正确检测到固定电话的振铃音并自动摘机或手机模块自动接通接听中的铃流信号;(2)对DTMF信号的接收和发送处理,实现身份认证、向用户发送提示音、接收用户输人的控制指令等。(3)控制编码芯片地址线和数据线,从而把控制指令无线传输出去。

4.1固话振铃音的检测及处理

针对固定电话、结合图1,单片机AT89S52的TEST脚检测到固定电话振铃检测信号波形,AT89S52只要判断TEST脚的电平变化即可以正确检测外线是否有电话拨人,然后控制TRI脚吸合继电器实现模拟摘机。

针对手机模块、结合图2,本文选用的是一款诺基亚手机(手机设为自动接听模式),经局部改造提到铃流信号线送人单片机AT89S52的GSM-RING的lO脚上,常态下为高电平,当有电话打过来时,GSM-RING的lO脚上得到的波形如图6所示。所以单片机只要AT89S52判断GSM-RING的lO脚的电平变化情况就可以了。

图6手机模块铃流信号波形

4.2 DTMF信号的收发处理

当固定电话或手机模块自动摘机后,则启用DTMF收发处理程序(主要是对MT8880芯片的处理),关键的程序代码如下[3]·

“读MT8880状态或数据寄存器”函数:

〃功能说明:读取MT8880状态寄存器

〃输出参数:返回MT8880的状态寄存器值

//DTMF REG为与MCU的接口寄存器,在"DTMF H"有定义

uchar DTMF_CPR(void)

uchar uc_data;

DTMF_Q2=1;

noD();

_nop_();

uc_data=DTMF_REG;IlC_data=uc_data&0x0f;pTMF_07v"=0;

return(uc_d·ata);

“写MT8880控制或数据寄存器时序”函数:

//功能说明:MT8880的Q2时序控制

void DTMF_CPW(void)

DT

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

网站地图

Top