ptpt无线收发讲解Word文档下载推荐.docx
《ptpt无线收发讲解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ptpt无线收发讲解Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
3(即高电平宽度为2,低电平宽度为1,周期为3)的波形来表示1个“1”,用1个周期的占空比为1:
3的波形紧跟着1个周期的占空比为2:
3的波形来表示“开路”。
地址码和数据码都用宽度不同的脉冲来表示,两个窄脉冲表示“0”;
两个宽脉冲表示“1”;
一个窄脉冲和一个宽脉冲表示“F”也就是地址码的“悬空”。
编码芯片PT2262发出的编码信号由地址码、数据码、同步码组成一个完整的码字。
解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平。
PT2262每次发射时至少发射4组字码,因为无线发射的特点,第一组字码非常容易受零电平干扰,往往会产生误码,所以2272只有在连续两次检测到相同的地址码加数据码才会把数据码中的“1”驱动相应的数据输出端为高电平和驱动VT端同步为高电平。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
PT2272解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6之分,其中L表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。
M表示非锁存输出,数据脚输出的电平是瞬时的而且和发射端是否发射相对应,可以用于类似点动的控制。
后缀的6和4表示有几路并行的控制通道,当采用4路并行数据时(PT2272-M4),对应的地址编码应该是8位,如果采用6路的并行数据时(PT2272-M6),对应的地址编码应该是6位。
PT2262和PT2272除地址编码必须完全一致外,振荡电阻还必须匹配,一般要求译码器振荡频率要高于编码器振荡频率的2.5~8倍,否则接收距离会变近甚至无法接收,随着技术的发展市场上出现一批兼容芯片,在实际使用中只要对振荡电阻稍做改动就能配套使用。
在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长。
市场上大部分产品都是用2262/1.2M=2272/200K组合的,少量产品用2262/4.7M=2272/820K。
PT2262编码电路与PT2272解码电路一般配对使用,PT2262的特点是在其内部已经把编码信号调制在了一个较高的载频上。
要把遥控编码信息用无线方式(红外线或无线电等)传送出去,必须有载体(载波),把编码信息“装载”在载体上(调制在载波上)才能传送出去,因此需要一个振荡电路和一个调制电路。
PT2262编码器内部,已包含了这些电路,从DOUT端送出的是调制好了的约38kHz的高频已调波,因此使用起来非常方便,适用于红外线和超声波遥控电路。
名称
管脚
说明
D0-D5
7-8、10-13
数据输入端,有一个为“1”即有编码发出,内部下拉
Vcc
18
电源正端(+)
Vss
9
电源负端(-)
TE
14
编码启动端,用于多数据的编码发射,低电平有效
OSC1
16
振荡电阻输入端,与OSC2所接电阻决定振荡频率
OSC2
15
振荡电阻振荡器输出端
Dout
17
编码输出端(正常时为低电平)
表1:
编码电路PT2262管脚功能表
A0-A11
1-8、10-13
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码
地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一数据才能转换
DIN
数据信号输入端,来自接收模块输出端
VT
解码有效确认输出端(常低)解码有效变成高电平(瞬态)
表2:
解码电路PT2272脚管功能表
基于PT2262的无线编码模块
编码发射模块外形小巧、美观,与很多车辆防盗系统中的遥控器一样。
根据功能的多少按键数也不一样,我们本章所用的发射模块为A、B、C、D四个按键。
编码发射模块主要由PT2262编码IC和高频调制、功率放大电路组成,常用的编码发射模块实物和内部框图如图3所示。
遥控发射器工作电压为DC12V(电池供电),尺寸(mm):
58*39*14,工作频率:
315MHz,工作电流(mA):
13编码类型:
固定码(板上焊盘跳接设置)应用说明:
与各类型带解码功能的接收模块联合使用,解码输出后进行相应控制,如采用单片机进行读取接收并解码数据然后控制相应的灯或电源开关。
图3编码发射模块实物图与原理框图
其中编码部分电路由PT2262编码IC来组成,具体电路见图4所示。
图4编码电路原理图
专用发射模块F05C
接收模块J04E
Swa是316.8m
315M发射模块
基于PT2272的无线解码模块
解码接收模块包括接收头和解码芯片PT2272两部分组成。
接收头将收到的信号输入PT2272的14脚(DIN),PT2272再将收到的信号解码。
解码接收模块和电路原理图如图5,接收板实物如图6所示。
接收板工作电压为DC5V,接收灵敏度:
-103dBm,尺寸(mm):
49*20*7,工作频率:
315MHz,工作电流:
5mA,编码类型:
固定码(板上焊盘跳接设置)应用说明:
与各类型遥控器配合使用,解码输出后进行相应控制,如采用单片机进行读取接收并解码数据然后控制相应的灯或电源开关。
图5解码接收模块和电路原理图
图6无线遥控接收板
无线收发模块的地址码设定
在通常使用中,我们一般采用8位地址码和4位数据码,这时编码芯片PT2262和解码芯片PT2272的第1~8脚为地址设定脚,有三种状态可供选择:
悬空、接正电源、接地三种状态,地址编码不重复度为38=6561组,只有发射端PT2262和接收端PT2272的地址编码完全相同,才能配对使用,遥控模块的生产厂家为了便于生产管理,出厂时遥控模块的PT2262和PT2272的八位地址编码端全部悬空,这样用户可以很方便选择各种编码状态,用户如果想改变地址编码,只要将PT2262和PT2272的1~8脚设置相同即可,例如将发射机的PT2262的第2脚接地,第3脚接正电源,其它引脚悬空,那么接收机的PT2272只要也第2脚接地,第3脚接正电源,其它引脚悬空就能实现配对接收。
地址设置跳线如图7所示,用户可以在PCB板上直接将地址引脚(PCB板中间8个过孔焊盘)与L(低电平)或H(高电平)相连,从而实现地址设置。
PT2262与PT2272地址设置要完全一样。
当两者地址编码完全一致时,接收机对应的D1~D4端输出约4V互锁高电平控制信号,同时VT端也输出解码有效高电平信号。
OOOOOOOO?
L
--------
11111111?
H
图7地址设置跳线图
无线模块的软硬件设计应用
在功能稍复杂的系统中仅靠一对无线收发模块往往达不到要求,很多情况下都要借助于单片机扩展出更多的功能。
本例通过一个简单的例子,实现单片机与无线接收模块的组合应用。
实例功能:
在发射模块上按下A、B、C、D四个键,接收模块将接收到的数据传送给单片机,在单片机上实现LED数码管显示。
A、B、C、D分别对应1、2、3、4。
即发射模块上按下A按键,对应单片机接收到后在LED数码管上显示0001,按下B键显示0002……实际效果如图8所示。
图8无线遥控实验演示图
硬件原理图
图9硬件原理图
程序流程图
图10软件流程图
软件代码
/***************************************************************************/
/*杭州晶控电子有限公司*/
/*无线收发模块演示程序*/
/*目标器件:
AT89S51*/
/*晶振:
11.0592MHZ*/
/*编译环境:
Keil7.50A*/
/*********************************包含头文件********************************/
#include<
reg51.h>
/*******************************共阳LED段码表*******************************/
unsignedcharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
/*******************************定义全局变量********************************/
/*********************************端口定义**********************************/
chardat;
//接收到的数据
/****************************************************************************
函数功能:
数码管扫描延时子程序
入口参数:
出口参数:
****************************************************************************/
voiddelay(void)
{
intk;
for(k=0;
k<
400;
k++);
}
LED数码管显示程序
k
voiddisplay(intk)
P2=0xfe;
P0=tab[k/1000];
delay();
P2=0xfd;
P0=tab[k%1000/100];
P2=0xfb;
P0=tab[k%100/10];
P2=0xf7;
P0=tab[k%10];
P2=0xff;
主程序
voidmain(void)
chardatavalue;
P2=0x00;
//端口初始化
P0=0x00;
P1=0xff;
//置输入状态
while
(1)
{
dat=(P1&
0x0f);
if(dat==0x04)//A
datavalue=0x01;
if(dat==0x08)//B
datavalue=0x02;
if(dat==0x02)//C
datavalue=0x03;
if(dat==0x01)//d
datavalue=0x04;
display(datavalue);
//将读到的数显示
NOP();
}