科信学院基于单片机F5J无线收发模块传输课程设计_第1页
科信学院基于单片机F5J无线收发模块传输课程设计_第2页
科信学院基于单片机F5J无线收发模块传输课程设计_第3页
科信学院基于单片机F5J无线收发模块传输课程设计_第4页
科信学院基于单片机F5J无线收发模块传输课程设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、科信学院CDIO二级项目设计说明书(2013/2014学年第一学期) 题 目 : 无线数据传输系统设计 专业班级 : 通信工程1022 学生姓名 : 指导教师 : 贾少瑞 设计周数 : 1 周 设计成绩 : 2014年1月9日目录1 引言22 总体设计方案23 设计组成及原理分析43.1 315M发射模块电路图43.2 315MHZ超再生接收模块53.3 单片机主控电路84 程序及原理图104.1 程序104.1.1发射程序104.1.2 接收程序144.2 原理图175 设计内容及结论186 设计中遇到的问题187 结束语188 参考文献191 引言现代通信技术的迅速发展使得许多应用领域都采

2、用无线的通信方式进行数据传输。F05/J04收发模块,由于具有体积小、功耗低、功能强、成本低等特点,广泛应用于各类的无线遥控器、无线报警器以及玩具等其他小型电器装置。但是,这种电路极少用在多个字节数据的通信方面,具有一定的局限性。本文主要介绍利用315 MHz高频发射模块和接收模块来制作无线通信。2 总体设计方案 首先,用PT2262芯片组成无线发射装置,用四个按键连接编码芯片,作为发射数据。数据发射头采用315MHZ无线发射头。PT2272模块的315MHZ无线接收其数据。其次,用PT2272芯片组成无线接收装置,四位数据输出连接单片机P2口作为单片机输入。单片机与液晶显示器相连。8位键盘模

3、块与PT2272数据输出脚相连,当PT2272数据输出到液晶显示器显示后,想让PT2272的数据输出端停止发送数据,按下键盘及可使其停止显示。8位指示灯模块与单片机相连,当有键按下时对应的指示灯亮。本设计只用了四位指示灯和四位按键。基于上述设计思路进行软件仿真,但是由于软件无法模拟2262和2272,所以我们先应用AT89C51模拟信号的编码及发送,然后应用AT89C52模拟信号的接受及解码,并应用其进行信号的输出显示,应用4*4的16位键盘输入进行模拟信号的产生,信号的输出显示是应用的共阴数码管2.2、总体设计框图根据设计的主要思路得到该设计的总体的设计框图,如图2-1所示:16位按键信息产

4、生模块AT89C51模拟发送信息模块AT89C52模拟接收并处理信息模块共阴数码管显示信息模块图1 软件仿真方框图3 设计组成及原理分析3.1 315M发射模块电路图图二DF超再生发送模块的等效电路图主要技术指标:1。通讯方式:调幅AM2。工作频率:315MHZ (可以提供433MHZ,购货时请特别注明)3。频率稳定度:±75KHZ4。发射功率:500MW5。静态电流:0.1UA6。发射电流:350MA7。工作电压:DC 312V 无线数据传输广泛地运用在车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线

5、数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等领域中。 DF数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在2585度之间变化时,频飘仅为3ppm/度。特别适合多发一收无线遥控及数据传输系统。声表谐振器的频率稳定度仅次于晶体,而一般的LC振荡器频率稳定度及一致性较差,即使采用高品质微调电容,温差变化及振动也很难保证已调好的频点不会发生偏移。 DF发射模块未设编码集成电路,而增加了一只数据调制三极管Q1,这种结构使得它可以方便地和其它固定编码电路、滚动码

6、电路及单片机接口,而不必考虑编码电路的工作电压和输出幅度信号值的大小。比如用PT2262等编码集成电路配接时,直接将它们的数据输出端第17脚接至DF数据模块的输入端即可。DF数据模块具有较宽的工作电压范围312V,当电压变化时发射频率基本不变,和发射模块配套的接收模块无需任何调整就能稳定地接收。当发射电压为3V时,空旷地传输距离约2050米,发射功率较小,当电压5V时约100200米,当电压9V时约300500米,当发射电压为12V时,为最佳工作电压,具有较好的发射效果,发射电流约60毫安,空旷地传输距离700800米,发射功率约500毫瓦。当电压大于l2V时功耗增大,有效发射功率不再明显提高

7、。这套模块的特点是发射功率比较大,传输距离比较远,比较适合恶劣条件下进行通讯。天线最好选用25厘米长的导线,远距离传输时最好能够竖立起来,因为无线电信号传输时收很多因素的影响,所以一般实用距离只有标称距离的20甚至更少,这点需要在开发时注意考虑。 DF数据模块采用ASK方式调制,以降低功耗,当数据信号停止时发射电流降为零,数据信号与DF发射模块输入端可以用电阻或者直接连接而不能用电容耦合,否则DF发射模块将不能正常工作。数据电平应接近DF数据模块的实际工作电压,以获得较高的调制效果。 DF发射发射模块最好能垂直安装在主板的边缘,应离开周围器件5mm以上,以免受分布参数影晌。DF模块的传输距离与

8、调制信号铎率及幅度,发射电压及电池容量,发射天线,接收机的灵敏度,收发环境有关。一般在开阔区最大发射距离约800米,在有障碍的情况下,距离会缩短,由于无线电信号传输过程中的折射和反射会形成一些死区及不稳定区域,不同的收发环境会有不同的收发距离。3.2 315MHZ超再生接收模块图三DF超再生接收模块的等效电路图主要技术指标: 1。通讯方式:调幅AM2。工作频率:315MHZ(可以提供433MHZ,购货时请特别注明)3。频率稳定度:±200KHZ4。接收灵敏度:106DBM5。静态电流:5MA6。工作电流:5MA7。工作电压:DC 5V 8。输出方式:TTL电平 DF接收模块的工作电压

9、为5伏,静态电流4毫安,它为超再生接收电路,接收灵敏度为105dbm,接收天线最好为2530厘米的导线,最好能竖立起来。接收模块本身不带解码集成电路,因此接收电路仅是一种组件,只有应用在具体电路中进行二次开发才能发挥应有的作用,这种设计有很多优点,它可以和各种解码电路或者单片机配合,设计电路灵活方便。 这种电路的优点在于: 1。天线输入端有选频电路,而不依赖1/4波长天线的选频作用,控制距离较近时可以剪短甚至去掉外接天线 2。输出端的波形相对比较干净,干扰信号为短暂的针状脉冲,所以抗干扰能力较强。 3。DF模块自身辐射极小,加上电路模块背面网状接地铜箔的屏蔽作用,可以减少自身振荡的泄漏和外界干

10、扰信号的侵入。 4。采用带骨架的铜芯电感将频率调整到315M后封固,这与采用可调电容调整接收频率的电路相比,温度、湿度稳定性及抗机械振动性能都有极大改善。可调电容调整精度较低,只有3/4圈的调整范围,而可调电感可以做到多圈调整。可调电容调整完毕后无法封固,因为无论导体还是绝缘体,各种介质的靠近或侵入都会使电容的容量发生变化,进而影响接收频率。另外未经封固的可调电容在受到振动时定片和动片之间发生位移;温度变化时热胀冷缩会使定片和动片间距离改变;湿度变化因介质变化改变容量;长期工作在潮湿环境中还会因定片和动片的氧化改变容量,这些都会严重影响接收频率的稳定性,而采用可调电感就可解决这些问题,因为电感

11、可以在调整完毕后进行封固,绝缘体封固剂不会使电感量发生变化。DF无线数传模块开发注意事项: DF模块必须用信号调制才能正常工作,常见的固定码编码器件如PT2262/2272,只要直接连接即可非常简单,因为是专用编码芯片,所以效果很好传输距离很远。模块输出脚在模块内部通过一个上拉39K 电阻到+5V,使用的时候需要考虑解码器件的输入阻抗。 DF模块还有一种重要的用途就是配合单片机来实现数据通讯,这时有一定的技巧。1。合理的通讯速率 DF数据模块的最大传输数据速率为9.6KBs,一般控制在2.5k左右,过高的数据速率会降低接收灵敏度及增大误码率甚至根本无法工作。2。合理的信息码格式 单片机和DF模

12、块工作时,通常自己定义传输协议,不论用何种调制方式,所要传递的信息码格式都很重要,它将直接影响到数据的可靠收发。 码组格式推荐方案: 前导码同步码 数据帧 前导码长度应大于是10ms,以避开背景噪声,因为接收模块接收到的数据第一位极易被干扰(即零电平干扰)而引起接收到的数据错误。所以采用CPU编译码可在数据识别位前加一些乱码以抑制零电平干扰。 同步码主要用于区别于前导码及数据。有一定的特征,好让软件能够通过一定的算法鉴别出同步码,同时对接收数据做好准备。 数据帧不宜采用非归零码,更不能长0和长1。采用曼彻斯特编码或POCSAG码等,如下面的数据格式有一定检错功能:3。单片机对接收模块的干扰 单

13、片机模拟2262时一般都很正常,然而单片机模拟2272解码时通常会发现遥控距离缩短很多,这是因为单片机的时钟频率的倍频都会对接收模块产生干扰, 51系列单片机工作的时候,会产生比较强的电磁辐射,频率范围在9MHZ-900MHZ,因此它会影响任何此频率内的无线接收设备的灵敏度,解决的方法是尽量降低CPU 晶体的频率。测试表明:在1M晶体的辐射强度,只有12M晶体时的1/3,因此,如果把晶体频率选择在500K以下,可以有效降低CPU的辐射干扰。另外一个比较好的方法是:将接收模块通过一个3芯屏蔽电缆(地,+5V,DATA,屏蔽线的地线悬空)将模块引出到离开单片机2米以外,则不管51CPU使用那个频率

14、的晶体,这种干扰就会基本消除。对于PIC单片机,则没有上述辐射干扰。可以任意使用。 还可以改用频点较高的接收频率,如433MHz就可增加遥控距离,或者需要采用一些抗干扰措施来减小干扰。比如单片机和遥控接收电路分别用两个5伏电源供电,将DF接收板单独用一个78L05供电,单片机的时钟区远离DF接收模块,降低单片机的工作频率,中间加入屏蔽等。 对单片机模拟2272解码有兴趣的网友可以查看在本网专门介绍资料。接收模块和51系列单片机接口时最好做一个隔离电路,能较好地遏制单片机对接收模块的电磁干扰。 DF接收模块工作时一般输出的是高电平脉冲,不是直流电平,所以不能用万用表测试,调试时可用一个发光二极管

15、串接一个3K的电阻来监测DF模块的输出状态。 DF无线数据模块和PT2262/PT2272等专用编解码芯片使用时,连接很简单只要直接连接即可,传输距离比较理想,一般能达到600米以上,如果和单片机或者微机配合使用时,会受到单片机或者微机的时钟干扰,造成传输距离明显下降,一般实用距离在200米以内。3.3 单片机主控电路 AT89C52模块AT89C52 是美国ATMEL 公司生产的低电压,高性能CMOS 8 位单片机,片内含8k bytes 的可反复擦写的Flash 只读程序存储器和256 bytes 的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,与标

16、准MCS-51 指令系统及8052产品引脚兼容,片内置通用8 位中央处理器(CPU)和Flash 存储单元,功能强大AT89C52 单片机适合于许多较为复杂控制应用场合。图四AT89C52引脚图引脚功能Vcc:电源电压GND:地P0 口:P0口是一组8位漏极开路型双向I/O口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验

17、时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门

18、电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8 位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉

19、高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般I/O口线外,更重要的是第二功能。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于

20、输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条 MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低

21、电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。4 程序及原理图4.1 程序 4.1.1发射程序/* 无线通信系统课程设计发送端 */#include<reg52.h>/自定义变量#define SL 140/同步信号低电平时间设定#define SH 140/同步信

22、号高电平时间设定#define DH 80/数据信号高电平时间设定#define DL 30 /数据信号低电平时间设定sbit DATA = P10;/数据输出引脚sbit P23 = P23;/LED显示开关sbit KEY1 = P34;/独立按键控制IOsbit KEY2 = P35;/独立按键控制IOsbit KEY3 = P36;/独立按键控制IOsbit KEY4 = P37;/独立按键控制IO/声明函数void delay(unsigned int k);void SEND_SYN(void);void SEND_DATA(unsigned char d);/*主函数程序*/vo

23、id main(void)unsigned char num = 0;P23 = 0;while(1)/*按键控制部分*/if(KEY1 = 0)delay(13);if(KEY1 = 0)num = num + 1; while(!KEY1);if(KEY2 = 0)delay(13);if(KEY2 = 0)num = num + 2; while(!KEY2);if(KEY3 = 0)delay(13);if(KEY3 = 0)num = num + 3; while(!KEY3);if(KEY4 = 0)delay(13);if(KEY4 = 0)num = num + 4; whil

24、e(!KEY4);/*/P0 = num;SEND_DATA(num);/*/*/void delay(unsigned int k)unsigned int data i,j;for(i = 0;i < k;i +)for(j = 0;j < 121;j +);/*/*/void SEND_SYN(void)/发送同步位unsigned int t = 0;DATA = 0;while(t < 100)/每次发送一组数据前加入低电平t +;DATA = 1;/同步位高电平t = 0;while(t < SL)/高电平1MS左右t +;DATA = 0;/同步位低电平t

25、 = 0;while(t < SH)/低电平1MS左右t +;/*/*/void SEND_DATA(unsigned char d)/数据位发送unsigned char i = 0;unsigned char t = 0;SEND_SYN();for (i = 0;i < 8;i +)/发送8位数据if (d & 0x80)/从高位开始发送DATA = 1;/如果是1则发送高电平200ust = 0;while(t < DH)t +;DATA = 0;t = 0;while(t < DL)/发送低电平100ust+;else /从低位开始发送DATA = 1

26、;/如果是0则发送高电平100ust = 0;while(t < DL)t +;DATA = 0;t = 0;while(t < DL)/发送低电平100ust +; d <<= 0x01; 4.1.2 接收程序/* 无线通信系统课程设计接收端 */#include<reg52.h>/自定义变量#define SL 60/同步信号低电平时间设定#define SH 60/同步信号高电平时间设定#define DH 15/数据信号高电平时间设定#define DL 2 /数据信号低电平时间#define DHM 30/数据信号高电平最大时间设定#define

27、DLM 13/数据信号低电平最大时间设定#define SLM 110/同步信号低电平最大时间设定#define SHM 110/同步信号高电平最大时间设定sbit DATA = P10;/输入端口sbit P23 = P23;/LED状态显示unsigned char rcv = 0;void GET_DATA(void);/*主函数程序*/void main(void)unsigned int t = 0;P23 = 0;while(1)while(!DATA);t = 0;while(DATA && t<SHM)/对高电平计数t +;if (t>SH &

28、;& t<SHM)/ 如果时间为1000us左右则进行低电平检测t = 0;while(!DATA && t<SHM)/对低电平计数t +;if (t>SL & t<SHM)/如果低电平时间为1000us左右则认为同步位正确,接收数据GET_DATA();/* 数据比对,执行对应动作 */P0 = rcv; /*/void GET_DATA(void)/获取数据程序unsigned char t = 0;unsigned char i = 0;for (i = 0;i < 8;i +)rcv <<= 0x01;t = 0

29、;while(!DATA);while(DATA && t < DHM)/高电平计数t +;if (t > DL && t < DLM)/时间在100us左右为 数据0rcv |= 0x00;elseif (t > DH && t < DHM)/时间在200us左右为 数据1rcv |= 0x01;else return ;/在高电平计数超过时,则认为错误,退出 5 设计内容及结论1,根据课设提供的要求,设计实验的程序,并保证程序没有错误;并设计程序所要驱动的模拟无线通信电路,选择要使用的实验器件,画出电路图,使用单

30、片机驱动电路,控制按键,由按键控制单片机所输出的数据,并用数码管显示;2,打开软件,输入并编译设计好的源程序,编译无误后保存并运行该程序;进行联调,设计各数据的选取值,调节参数值等;3,用keil控制proteus实现;4,按下按键,控制单片机用数码管显示输出的数据。由于软件和硬件的不同,我们在老师的提醒下,实现了软件的仿真,但软件毕竟是软件,很多都是代替得到的结果,故可能有些东西无法应用到硬件的要求,望此,希望得到老师的指导。最后,谢谢老师的辛勤指导。6 设计中遇到的问题1,开始设计时,没有设计编解码,直接设计的输入、单片机、输出,从而没有实现无线通信的模拟;2,采用模拟编码解码的芯片没选合适,导致结果不成功;3,设计程序和原理图时,时间延时没有设计正确,致使输出数据不能正常显示,只能显示一下而不能持续显示;4,设计程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论