课题5:无线信号传输系统设计一、任务设计制作一套混合信号无线传输装置。该装置由发射机与接收机组成,其方框图参见图1。接收机可以收到发射机送来的信号,并具有显示功能。图1无线信号传输系统方框图装置中调制方式自由选定。可使用专用数据收发芯片,但不得使用现成的收发模块。二、要求1.基本要求(1)点对点(发射机与接收机)无线传输方式。(2)载波频率范围在40—50MHz之间。(3)传输距离达5米。(4)发射功率小于20mW。(5)传输模拟信号:单一正弦电压信号1—4kHz送达接收端,并能监听到相应声调。(6)传输数字信号:采集30—60℃水温数据,误差±2℃,送达接收端,并显示水温数据。2.发挥部分(1)能识别所接收的正弦信号频率并正确显示频率值。(2)输入连续可调电压Vpp=1—3V的正弦信号,接收端的信号波形不失真且幅度基本恒定。无线收发调制解调编解码部分信号输入部分无线收发输出部分调制解调编解码部分发射机部分接收机部分(3)接收机与发射机距离15米以上。(4)改变输入信号频率1—4kHz时,接收到的正弦信号波形无明显失真。(5)其他。三、说明1、允许手动切换模拟信号输入或数字信号输入模式。2、接收及发射电路不能采用现成的专用无线模块。3、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序用附件给出。基于PTR7660的无线信号传输系统设计[摘要]采用ATmega16单片机作为主控制器,测量部分由数字传感器DS18B20实现温度采集,数据处理后通过PTR7660无线传输到到另一个接受模块上通过LCD1602进行显示。[关键词]PTR7660DS18B20无线温度采集一:系统设计1.PTR7660简介PTR7660是以nRF905为核心的一款无线收发芯片,工作电压为1.9~3.6V,工作在433/868/915MHz的ISM(工业、科学、医疗)频段,由一个完全集成的频率调制器、一个带解调器的接收器、一个功率放大器、一个晶体振荡器和一个调节器组成。最大传输速率可达到100Kbit/s,可以很容易通过SPI接口进行编程配置。PTR7660采用Nordic公司的ShockBurst技术收发数据。ShockBurst将与RF协议有关的高速信号处理放到芯片内,使收发芯片能够提供高速的数据传输,收发芯片由微控制器通过一个SPI接口控制,通信速率由微控制器通过程序设定。在发送模式中,PTR7660自动产生前导码和CRC校验码,数据准备就绪DR信号通知AT89LV52数据传输已经完成。在接收模式中,地址匹配AM和数据准备就绪DR信号通知AT89LV52一个有效的地址和数据包已经各自接收完成。由PWR、TRX_CE、TXEN三个引脚完成PTR7660四种工作模式的设定:掉电各SPI编程模式、待机和SPI编程模式、发射模式、接收模式,如表所示。信号调理电路2.PTR7660硬件电路PTR7660内置有完整的通信协议和CRC,单片机通过SPI接口便可完成无线数据收发,但PTR7660工作电压为3V,如果PTR7660与5V单片机连接,则必须进行电平转换。这里选用低电压通用单片机AT89LV52,其供电和逻辑电平均为3V,因此不存在电平转换的问题。ATmega16是ATMEL公司推出的低电压,高性能CMOS8位单片机,工作电压范围可达2.7V-6.0V,芯片内置通用8位中央处理器和Flash存储单元,可用于低功耗场合。PTR7660与AT89LV52的硬件连接如图1所示。3.温度检测数字温度传感器大大简化了温度检测装置的设计方案,工作稳定性高,并且能够直接将温度转换为数字值,便于单片机进行综理。本系统采用DS18B20单总线数字传感器实现温度检测。DS18B20是美国DALLAS公司生产的单总线温度传感器,它能够直接读出被测温度的数字量,其测温范围为-55~+125℃,在-10~+85℃时精度为±0.5℃。DS18B20采用单总线技术(1-WIRES),即单片机只用一根输入输出接口线,就可以实现单片机与传感器的数据传送,为此DS18B20数据线与单片机P2.4相连。DS18B20读写数据仅需要一根口线,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。为增强系统稳定性,在此选用外加电源方式,外加电源正负极分别接DS18B20引脚VDD及GND,如图2所示。二、系统软件设计1.无线通信软件设计由于RF协议相关的高速信号处理部分已经嵌入在模块内部,PTR7660可与各种低成本单片机匹配使用,。无线接收芯片单片机接口芯片PC机热电偶信号放大器低通滤波器模数转换器单片机无线发射芯片(1)配置编程。上电以后AT89LV52首先配置PTR7660模块。先将PWR_UP、TXEN、TRX_CE设为配置模式,AT89LV52通过SPI将配置数据移入PTR7660模块;在掉电和待机模式工作后,配置内容仍然有效。(2)发射模式。当AT89LV52有数据需要发往规定节点时,首先设置TRX_CE、TXEN来启动传输,无线系统自动上电,将数据加前导码和CRC校验码并打包发送,如果AUTO_RETRAN被设置为高,PTR7660将连续地发送数据包,直到TRX_CE被置为低。当TRX_CE被设置为低时,PTR7660结束数据传输并将自己设置成待机模式。(3)接收模式。设置TRX_CE为1,TXEN为0选择接收模式,PTR7660开始监测信息,当PTR7660发现和接收频率相同的载波时,载波检测(CD)被置高,当PTR7660接收到有效的地址时,地址匹配(AM)被置高。PTR7660接收到有效的数据校验正确时,PTR7660去掉前导码,数据准备就绪(DR)被置高。AT89LV52通过SPI接口读出有效数据,当所有的有效数据被读出后,PTR7660将AM和DR置低。2.温度测量软件设计温度测量部分主要是利用程序控制DS18B20完成温度读取,DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性,AT89LV52控制DS18B20必须经过三个步骤:(1)每一次读写之前都要对DS18B20进行复位。(2)复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。(3)复位要求ATmga将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,AT89LV52收到此信号表示复位成功。设置分辨率为12位,DS1820测量得到的温度数据存储在的两个字节的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,数值需要取反加1再乘于0.0625即可得到实际温度。三:电路原理图3.1发射电路原理图3.2接受机电路图R1120RR3100RR4100R3.3VTantC310uFTantC410uFIN3OUT211U1LM1084IS-ADJ3V3C2470uF16VC1470uF16V6V25WD1SMBJ5341B123J1KLD-0202-B1234567891011121314P1PTR80003.3VTXENTRX_CEPWRuCLKCDAMDRMISOMOSISCKCSNGNDGNDTRX_CETXENPWRAMCSNMOSIMISOSCKPD0PD1PD2PD3PD4PD5PD6PD7XTAL2XTAL1PA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3PC4PC5DRCDVCCGNDGNDVCC10mHL1Inductor0.1uFC15Cap0.1uFC16CapD2LED11KR2RSTPB0(XCK/T0)1PB1(T1)2PB2(AIN0/INT2)3PB3(AIN1/OC0)4PB4(SS)5PB5(MOSI)6PB6(MISO)7PB7(SCK)8RESET9PD0(RXD)14PD1(TXD)15PD2(INT0)16PD3(INT1)17PD4(OC1B)18PD5(OC1A)19PD6(ICP)20PD7(OC2)21XTAL212XTAL113GND11PC0(SCL)22PC1(SDA)23PC2(TCK)24PC3(TMS)25PC4(TDO)26PC5(TDI)27PC6(TOSC1)28PC7(TOSC2)29AREF32AVCC30GND31PA7(ADC7)33PA6(ADC6)34PA5(ADC5)35PA4(ADC4)36PA3(ADC3)37PA2(ADC2)38PA1(ADC1)39PA0(ADC0)40VCC10ATmega1ATmega16L-8PIAREFAVCCAREFAVCCVCC10uFC100.1uFC90.1uFC80.1uFC70.1uFC60.1uFC5VCCVCC12345678910JTAG1VCC10KR8Res210KR9Res210KR6Res210KR7Res2JTAGVCCJTAGVCCPC2PC4PC3PC5GNDGNDD3LED11KR5Res2RST123DS1DS18B20VCCPA1123AD1ADPA0R1120RR3100RR4100R3.3VTantC310uFTantC410uFIN3OUT211U1LM1084IS-ADJ3V3C2470uF16VC1470uF16V6V25WD1SMBJ5341B123J1KLD-0202-B1234567891011121314P1PTR80003.3VTXENTRX_CEPWRuCLKCDAMDRMISOMOSISCKCSNGNDGNDTRX_CETXENPWRAMCSNMOSIMISOSCKPD0PD1PD2PD3PD4PD5PD6PD7XTAL2XTAL1PA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3PC4PC5DRCDVCCGNDGNDVCC10mHL1Inductor0.1uFC15Cap0.1uFC16CapD2LED11KR2RSTVSSVCCVEERSR/WED0D1D2D3D4D5D6D7VCCVSSLCD1Header16HPB0(XCK/T0)1PB1(T1)2PB2(AIN0/INT2)3PB3(AIN1/OC0)4PB4(SS)5PB5(MOSI)6PB6(MISO)7PB7(SCK)8RESET9PD0(RXD)14PD1(TXD)15PD2(INT0)16PD3(INT1)17PD4(OC1B)18PD5(OC1A)19PD6(ICP)20PD7(OC2)21XTAL212XTAL113GND11PC0(SCL)22PC1(SDA)23PC2(TCK)24PC3(TMS)25PC4(TDO)26PC5(TDI)27PC6(TOSC1)28PC7(TOSC2)29AREF32AVCC30GND31PA7(ADC7)33PA6(ADC6)34PA5(ADC5)35PA4(ADC4)36PA3(ADC3)37PA2(ADC2)38PA1(ADC1)39PA0(ADC0)40VCC10ATmega1ATmega16L-8PIAREFAVCCAREFAVCCGNDVCCPD7PD6PD5PD4PD3PD2PD1PA7PA6PA5PA4VCCVCC10KR10VCCVCC10uFC100.1uFC90.1uFC80.1uFC70.1uFC60.1uFC5VCCC1+1VS+2C1-3C2+4C2-5VS-6T2OUT7R2OUT8R2IN9T2IN10T1IN11R1IN12R1OUT13T1OUT14GND15VCC16MAX1MAX232N0.1uFC110.1uFC130.1uFC120.1uFC14VCC1234567891110J2DConnector9PD1PD0VCC12345678910JTAG1VCC10KR8Res210KR9Res210KR6Res210KR7Re