1、2007年江西省第十八界电子设计竞赛大专组题目:无线数据传输系统( 温度遥测)院校:九江学院电子工程学院学生:指导老师:时间:2007年5月27-2007年5月30日目 录目录.2摘要.3一、方案设计与论证31.1温度采集处理部分.31.2 无线数据传输部分.41.3数据处理部分. .5二、系统的功能及硬件结构. .62.1温度采集部分. .62.2无线数据收发部分. .7 2.2.1高频信号收发电路. .7 2.2.2编码解码部分. . .92.2.2数据处理部分. . .10三、系统电器原理总图. . .11四、软件流程图. . . . .13五、系统测试方案. . . .15六、结果分析
2、. . . .17摘要无线发送电路和无线接收电路分别以315MHz陶瓷滤波器和RX3310芯片为核心。整个系统采用两个单片机,89s52为接收机处理器,完成无线信号的识别、存储、显示和设定报警功能;89C2051为发射机处理器,完成温度数据的读取及编码处理功能;温度采集部分采用数字式温度传感器DS1820来实现,采用温度内差差值处理,其精度可达到0.1。采用12V电池供电。一、 方案设计与论证本题为无线数据传输系统,要求采集远方的温度信息,通过无线的方式发送到本地处理显示,温度测量范围为1045,误差0.2,所以本系统实际上又可细分为三个大的部分:温度采集处理部分;数据无线传输部分;数据处理部
3、分。如图1.1所示:无线发送电路温度数据发生器接收数据信号识别数据存储显示及上限报警无线接收电路图1.1 无线数据传输系统下面分别对这三个部分的实现进行比较论证:1.1、温度采集处理部分方案一:温度采集部分采用热敏电阻或热电偶。这种方法是常用的一种方法,利用热敏电阻随温度的变化而变化的特性,只要测出热敏电阻的阻值,就可以对照热敏电阻的阻值温度特性曲线图间接算出对应的温度值。方案二:采用集成的温度传感器如uPC616等来采集温度。这种温度传感器内部一般集成了温度测量部分、稳压部分和运算放大部分,输出的信号为模拟信号,在单片机处理以前需进行A/D转换。方案三:采用单总线式数字温度传感器DS1820
4、来测量温度。DSl820数字温度计提供9位(二进制)温度读数,指示器件的温度信息经过单线接口送入DSl820或从DSl820送出。因此从单片机CPU到DSl820仅需一条线(和地线),DSl820的电源可以由数据线本身提供而不需要外部电源,测量范围从-55到+125,增量值为0.5,可在l s(典型值)内把温度变换成数字。其原理框图如图1.2所示:DS1820温度传感器单片机图1.2 DS1820与单片机的连接方案比较及选用:方案一用到热敏电阻的阻值温度特性曲线图,是一条指数曲线,非线性较大,在实际使用中要进行线性化处理,比较复杂,而且热敏电阻的温度采集部分容易受外界条件干扰,误差较大。由于本
5、系统要求较高,所以不准备采用此种方案;方案二,集成传感器内部虽集成了温度测量部分、稳压部分和运算放大部分,但其输出的信号仍然为模拟信号,在用89C2051接收的时候,需加上A/D转换部分,电路比较复杂,所以也不准备采用此种方案。方案三采用DS1820温度传感器来采集温度,不仅节省端口资源,而且数据处理部分简单,经过处理后,其温度精度可以达到0.01,完全满足本系统的要求。因此本部分采用方案三。1.2 无线数据传输部分方案一:采用集成的无线数据收发模块,比如NRF401、PTR3000等来完成。这种方案数据传输可靠,距离远,硬件实现简单,不失为一种好方法。方案二:采用电阻、电容、电感等构成无线收
6、发电路。这种方法也是常用的一种方法,比如收音机里采用的接收电路等就是采用这种方法,这种方法主要由分立的电子元件构成,电路相对复杂。方案三:数据通过315MHz的高频发射电路发送出去;接收端利用RX3310芯片构成接收电路,对接收到的信号进行解码验收,其原理框图如图1.3所示,这种外围电路相对简单,数据传输可靠。温度信号315MHz高频发射电路RX3310接收单片机图1.3 无线收发框图方案的比较及选用:很显然方案一要比方案二和方案三都要简洁新颖,但是从系统设计的任务来看,本系统是要求设计一个无线数据收发电路,所以就不能采用集成模块方案,排除方案一;对于方案二,虽然其设计成本低,但是其电路设计复
7、杂,而且易受外界干扰,信号不易验证;而方案三,采用国家允许无线遥控使用的频率315MHz,构成高频信号发射电路,以RX3310为核心构成超外差高频信号接收电路,其外围电路简洁,易学易用,可采用曼彻斯特码、HDLC码等对信号进行编码解码,确保数据传输的正确性。因此我们选用方案三作为具体的实施方案。1.3 数据处理部分方案一:选用51单片机作为主控制器,用三位LED数码管显示温度,以常用的2764等数据存储芯片来保存接收到的温度,和设定温度的上下限值,其原理框图如图1.4所示,这种方法是大多数课本上所常用的一种方法,方法简单,易于使用,但是对于LED显示需外加驱动电路,数据存储部分需外加地址锁存器
8、。51单片机LED驱动电路地址锁存LED显示温度存储2764图1.4 常用的数据显示存储原理图方案二: 51单片机作为主控制器,采用I2C总线标准的串行 EEPROM存储器24C08来存储数据,采用液晶显示器SMC1602来显示数据,其原理框图如图1.5所示,这种方式占用端口资源少,存储量大,显示稳定,而且接口简单,不需要外加驱动,易学易用,符合现在大多数系统设计的要求。51单片机24C02存储LCD显示温度图1.5 存储显示原理框图方案的比较及选用:方案一虽然是教学中常用的一种方式,但是接口复杂,需外加驱动电路,存储容量相对较少,显示不稳定,而且占用CPU端口资源多,不利于向外扩展;方案二接
9、口简单,易于使用无须外加驱动,存储容量大,显示稳定友好,占用端口资源少,符合现代设计的需求,所以数据处理部分采用方案二。二、 系统的功能及硬件结构由前面的分析可以知道,本系统主要由下面几个硬件来实现,DS1820采集温度,输出数字信号,AT89C2051对接收到的信号进行曼彻斯特编码后,经高频发射电路发送出去;接收端收到信号后对接收到的信号进行解码验收,正确的数据传送给AT89S52 CPU,处理后送到24C02和LCD1602存储显示。2.1 温度采集部分采用DS1820对外部的温度进行采集, DS1820为单总线式温度传感器,可程序设定为912位的分辨率,精度为0.5,内部自带温度存储器,
10、可存储采集到的温度,其格式如图2.1所示,字节地址0和字节地址1里面存储的是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。用16位符号扩展的二进制补码读数形式提供,最小分辨率为0.0625/LSB,输出精度为0.5,满足不了系统的要求;但是,可以通过读地址的第六、七个字节来提高其输出精度,这两个字节为计数剩余值、每度计数值,通过下面的公式, 寄存器内容字节地址温度最低数字位 0温度最高数字位 1高温限值 2 低温限值 3 保留 4 保留 5Count_Remain 6 Count_per_c 7 CRC校验 8图2.1 温度存储器地址图Temperature=Tem
11、_Read-0.25-(Count_per_c-Count_Remain)/Count_per_c精度可达0.1,完全可以满足系统的精度要求。与单片机的连接电路如图2.2所示图2.2 DS1820与单片机的连接2.2无线数据收发部分本部分涉及到对数据进行远距离传送并进行编码解码问题,也是本题目中的主要组成部分。其中发射部分由数据编码电路和高频发射电路组成,接收部分由RX3310构成的超外差接收电路和解码电路构成。2.2.1 高频信号收发电路1、 信号发射频率采用目前国家允许无线遥控使用的频率315MHz,采用声表谐振器SAW稳频,典型的发射电路如图2.2所示:图2.3 高频信号发射电路早期的发
12、射机较多使用LC振荡器,频率漂移较为严重。采用声表谐振器SAW可以解决这一问题,其频率稳定度极高,当环境温度在2585度之间变化时,频飘仅为3ppm/度。其频率稳定性与晶振大体相同,而其基频可达几百兆甚至上千兆赫兹。无需倍频,与晶振相比电路极其简单。增加了一只数据调制三极管Q1,这种结构使得它可以方便地和其它固定编码电路、滚动码电路及单片机接口,而不必考虑编码电路的工作电压和输出幅度信号值的大小。比如用PT2262等编码集成电路配接时,直接将它们的数据输出端第17脚接至高频发射电路的输入端即可。待发送的数据由TXD输入,经由Q2-8050基极送入,完成由Q1-C1-L1-L2-SAW组成的振荡
13、网络的开关控制,实现对高频315MHz信号的ASK调制,调制后的信号经过C2耦合送到天线发射。由于采用了ASK方式调制,所以当数据信号停止发射时,电流降为零,可降低功耗。2、 高频信号接收电路与315MHz的发射电路相匹配的高频信号接收电路通常采用超再生接收电路和超外差接收电路。超再生接收电路在中波段工作时灵敏度很高,所以常用来制作简易晶体管收音机。对于工作于短波段的无线遥控或通信设备,再生检波的灵敏度及稳定性都不符合要求。超外差解调电路设置一个本机振荡电路产生振荡信号,与接收到的载频信号混频后,得到中频(一般为465kHz)信号,经中频放大和检波,解调出数据信号。由于接收到的载频频率是固定的
14、,所以其电路要简单一些。采用声表稳频,其灵敏度约100DBM,稳定性好。在这里采用以RX3310为核心构成的超外差式接收电路,如图2.3所示。RX3310是一个可工作在甚高频的无线接收芯片,它在内部集成了高频放大电路(RF AMP)混频电路(MIXER)、中放电路(IF AMP)、中频滤波器(IF FILTER)、限幅器(LIMITER)以及由比较器构成的(ASK)解调电路等。利用RX3310和很少的元件,可以构成比较可靠的无线接收电路。图2.4 超外差接收电路从外接天线接收的信号经C10耦合到L2、C11组成的选频网络进行阻抗变换后输入RX3310的内部高频放大器输入端14脚,经芯片内的高频
15、放大后(增益为1520DB)的信号再经混频器与本机振荡信号(316.8M)混频,产生1.8M的中频信号,此中频信号经内部中频放大后由第3脚输出,再进入比较器放大整形,最后数据从第8脚输出。2.2.2 编码解码部分在利用单片机和高频信号收发电路进行无线数据收发的时候,人们通常自己定义传输协议,不管采用何种调制方式,所要传递的信息码格式都很重要,它将直接影响到数据的可靠收发。通常采用的码组格式为:前导码+同步码+数据帧,前导码长度应大于是10ms,以避开背景噪声,因为接收模块接收到的数据第一位极易被干扰(即零电平干扰)而引起接收到的数据错误。所以采用CPU编译码可在数据识别位前加一些乱码以抑制零电
16、平干扰;同步码主要用于区别于前导码及数据。有一定的特征,好让软件能够通过一定的算法鉴别出同步码,同时对接收数据做好准备;数据帧不宜采用非归零码,更不能长0和长1。在这里我们对数据的发送接收采用多次发送、复合校验,多次发送指同一帧数据2次发送,复合校验指曼彻斯特编码校验和奇偶校验:1、曼彻斯特编码:对数据帧部分采用曼彻斯特编码,由于在曼彻斯特编码中,从高到低跳变表示1,从低到高跳变表示0,所以我们就可以用长0或长1来表示前导码以便和数据帧区分;曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良
17、好的抗干扰性能。比如说,发送的温度数据 为32.3(BCD码为0011 0010 0011),则经过曼彻斯特编码后,实际发送的数据格式为0101 1010 0101 1001 0101 1010,也就是将1.5位数据扩展为3个字节。那么我们就可以在数据帧的帧头和帧尾加上一些实际曼彻斯特编码不可能出现的同步码,比如说帧头0011 0011 帧尾为 1100 1100,以和实际数据帧相区别。单片机接收到数字信号后,在对同步码进行解码之前首先以中断方式对前导码进行无线数据解码,并判断前导码是否正确,在判断前导码是正确后再采样数据端口,并结合一个定时器定时方式对前导码之后的同步码和数据解码。对通过前导
18、码测试的数据,首先判断其同步码是否为0011 0011,如果正确接着判断其帧尾是否为1100 1100,如果正确,暂存此帧数据,采样下一帧数据,当采样的下一帧数据和上一帧数据完全一样的时候,才认为数据接收有效,否则丢弃第一帧数据,保存第二帧数据,继续监测接收信号。对于通过曼彻斯特编码的数据帧,由于第一帧数据误码率相对较大,所以丢弃第一帧,只对第二帧数据进行处理,这样可以在数据输出端口输出的杂波中辨识出正确有效的数据,可以有效地提高数据接收的灵敏度,并提高通信距离。2、奇偶校验:通过串口发送数据,采用奇偶校验,加上数据的第九位TB8,当接收到经过曼彻斯特编码解码过的数据后,校验接收数据的第九位R
19、B8,判断其是否与发送数据的第九位相同,不同的丢弃。2.3 数据处理部分1、 存储部分数据存储部分主要用来存储温度的上下限和接收到的温度信息,所以其存储容量不需要很大,在这里采用基于I2C总线的串行存储信片24C02来存储信息。2、 显示部分显示部分采用5x7点阵的字符型液晶显示器1602来显示,可与单片机直接连接,无须再加驱动电路,原理图如图2.6所示图2.6 LCD1602与51单片机接口电路3、温度上下限的设定及修改对于一个比较成熟的系统来说,除了随时可以显示温度、存储温度外,还应该具有设定温度、读取温度的功能,在这里通过设置了三个按键设置、移动、修改来实现这些功能,其实时操作图如图2.
20、7、2.8、2.9所示:图2.7 设置温度上下限图2.8 读取指定温度图2.9 实时温度读取计数设置键功能主要是用来进行功能转换用,当按下设置键的时候,进入设置温度上下限功能,再次按下设置键,进入读取指定温度功能,第三次按下功能键时,返回到接收数据功能;光标键主要用于在设置功能时在各个能设置的项目之间进行转换;修改键用于对修改的功能进行加一功能。三、系统电气总原理图系统采用两片51单片机来控制数据的采集处理,基本的系统原理图,如图3.1.1图所示四、软件流程图在整个系统软件里面,主要的子程序有两个温度检测子程序和数据收发子程序,分别如图4.1、4.2、4.3所示:1、 温度检测子程序返回发送复
21、位脉冲检测存在脉冲“跳过”ROM发送复位脉冲检测存在脉冲温度变换发送复位脉冲检测存在脉冲数据处理,进行温度内插计算以得到更高的分辨率读暂存存储器和CRC值,并校验“忙”检测读一个数据字节,为FFH?NY图4.1 温度检测子程序流程图2、 数据发送子程序取采集的温度对采集的温度加上前导码加上同步码温度数据加TB8温度数据加帧尾将加了前导码、同步码、TB8位,帧尾的数据通过串口发送出去TI=1?NY返回图4.2 数据发送子程序3、数据接收子程序取暂存寄存器内容内容前导码正确?同步码正确?分离数据帧传送给CPU串口返回NYNYRB8=TB8?YN存储数据帧图4.3 数据接收流程图五、系统测试方案1、
22、 测试仪器及设备电子温度计一个2、 测试方法1) 数据接收板放在学院楼下平地不动,启动接收模块工作;2) 电子温度计的测温头与数据发射板上的DS1820温度传感器置于一起,待在原地不动,记录接收板与电子温度计在同一时刻的数据,根据测量值和实际温度值,校正系统使其测量误差在0.2以内。3) 动态测试:手持数据发射板逐渐远离数据接收板,记录接收板和电子温度计在同一时刻的温度,观察在0.2时,发射板与接收板之间的距离R,以R为半径围绕接收板走动,观察其误差大小。3、 测试结果1) 定点测量数据(每3秒钟记录一个数据,30秒后用手逐渐靠近DS1820和温度计,并用手指夹紧,60秒后松开手)如表5.1所
23、示表5.1 定点测量数据时间温度计接收板时间温度计接收板时间温度计接收板331.131.03331.231.16333.033.0631.131.13631.531.46632.832.8931.131.13931.731.56932.632.81231.131.14232.031.87232.532.61531.131.14532.132.07532.232.31831.131.14832.332.27831.832.02131.131.15132.532.58131.531.72431.131.15432.632.68431.231.42731.131.15732.832.88731.03
24、1.23031.131.16033.033.09031.031.02) 动态测量数据(每3秒钟记录一个数据,逐渐远离接收板)如表5.2所示表5.2 动态测量数据时间温度计接收板时间温度计接收板时间温度计接收板331.031.03331.231.16333.533.0631.131.23631.531.46632.632.8931.131.23931.731.56932.632.81231.231.24232.031.87232.5(约15米处)1531.231.24532.132.07532.2(约15米处)1831.231.24832.332.27831.832.02131.231.2513
25、2.532.58131.531.72431.231.15432.532.68431.231.42731.331.25732.732.88731.331.23031.431.26033.133.09031.131.2六、结果分析由上面的定点测试和动态测试结果可以看出,接收板接收到的温度与作为参考的电子温度计的数值相差为0-0.2度,满足精度要求。在实际测试中还存在下列问题:1、在初始调试电路时,经常产生DS1820输出温度数据发生突然跳变的情况,比如说,在某一段时间内接收到的温度为31.1、31.2、31.3、31.4、31.5,突然跳到32.2度的情况,究其原因是DS1820温度传感器的温度转
26、换需要一定时间,当A/D转换还没有完成的时候就送出显示,多次积累后就会产生突然跳变,经调试后,每1.5s接收一个数据比较合理。2、数据信号与高频信号发射电路输入端可以用电阻或者直接连接而不能用电容耦合,否则发射电路将不能正常工作。数据电平应接近发射电路的实际工作电压,以获得较高的调制效果。发射电路最好能垂直安装在主板的边缘,应离开周围器件5mm以上,以免受分布参数影晌。发射电路传输距离与调制信号频率及幅度,发射电压及电池容量,发射天线,接收电路的灵敏度,收发环境有关。在有障碍的情况下,距离会缩短,由于无线电信号传输过程中的折射和反射会形成一些死区及不稳定区域,不同的收发环境会有不同的收发距离。3、超外差接收电路对天线的阻抗匹配要求较高,要求外接天线的阻抗必须是50欧姆的,否则对接收灵敏度有很大的影响。 4、数据的校验部分一定要进行复合校验,否则易受干扰,会多次收到乱码。5、由于接收板排板不甚合理,导致接收无线数据的距离只有十几米,而用成品的接收模块就可以达到上百米,作品还有待于进一步提高。- 17 -
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100