基于蓝牙的环境监测系统设计 毕业论文.docx_第1页
基于蓝牙的环境监测系统设计 毕业论文.docx_第2页
基于蓝牙的环境监测系统设计 毕业论文.docx_第3页
基于蓝牙的环境监测系统设计 毕业论文.docx_第4页
基于蓝牙的环境监测系统设计 毕业论文.docx_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)题 目:基于蓝牙的环境监测系统设计学院名称: 电气工程学院 指导教师: 职 称: 班 级:通信工程专业2008级01班 学 号: 学生姓名: 2018年12月21日目 录1、前言51.1蓝牙技术的发展52、系统设计72.1设计思路72.2系统组成82.3系统方案论证与选择82.3.1控制器方案论证与选择82.3.2温度检测模块方案论证与选择102.3.3湿度检测模块方案论证与选择102.3.4人际交互界面方案论证与选择112.4本章小结113、系统硬件电路设计123.1蓝牙硬件电路设计123.1.1蓝牙简介123.1.2蓝牙系统组成133.1.3hc-05蓝牙模块163.2stc89c52rc单片机硬件电路设计183.2.1stc89c52rc芯片介绍193.2.2stc89c52rc内部结构213.2.3stc89c52rc系统电路设计233.3atmega128单片机硬件电路设计243.3.1atmega128芯片介绍253.3.2atmega128内部结构273.3.3atmega128系统电路设计293.4显示部分硬件电路设计303.4.112864液晶硬件电路设计303.4.23.5寸tft彩色液晶屏硬件电路设计323.5温度传感器ds18b20硬件电路设计333.6湿度传感器dht11硬件电路设计363.7本章小结374、软件设计385、系统测试396、总结39参考文献39谢辞39附录a:实物图片39附录b:程序清单391、 前言1.1 蓝牙技术的发展蓝牙(bluetooth)是一种全球统一开放式短距离无线连接技术。1998年5月,爱立信、诺基亚、东芝、ibm和英特尔公司等五家著名厂商,在联合开展短程无线通信技术的标准化活动时提出了蓝牙技术,其宗旨是提供一种短距离、低成本的无线传输应用技术。这五家厂商还成立了蓝牙特别兴趣组,以使蓝牙技术能够成为未来的无线通信标准。芯片霸主intel公司负责半导体芯片和传输软件的开发,爱立信负责无线射频和移动电话软件的开发,ibm和东芝负责笔记本电脑接口规格的开发。1999年下半年,著名的业界巨头微软、摩托罗拉、三康、朗讯与蓝牙特别小组的五家公司共同发起成立了蓝牙技术推广组织,从而在全球范围内掀起了一股“蓝牙”热潮。全球业界即将开发一大批蓝牙技术的应用产品,使蓝牙技术呈现出极其广阔的市场前景,并预示着21世纪初将迎来波澜壮阔的全球无线通信浪潮。 产品的日益丰富以及价格水平的不断降低使蓝牙这项技术变得越来越有人缘。根据研究机构millward brown的一份最新调查结果显示:在全球消费者对于主流传输技术的认知程度和整体印象中,蓝牙以85高居榜首,排在第二位和第三位的分别是57的sb和53的wi-fi。可见蓝牙已经完完全全融入我们的生活,并让我们的生活变得更加轻松。蓝牙的数据传输技术在随着蓝牙的广泛应用在不断的发展,也应用在环境监测方面。传统的环境监测系统中,一般测试点到控制器的接线为点到点的方式,接线复杂、布线困难,存在抗干扰能力差、工作不稳定、系统测试精度低等问题。如果周边环境恶劣,会导致线缆的腐蚀和老化,从而降低了系统的可靠性和抗干扰性。环境中有一些分散的传感器,这些设备可能会随着环境的改变而调整,同时错综复杂的线缆也需要重新铺设,工作量较大,因此考虑应用蓝牙无线技术解决这类问题。蓝牙无线技术对我国的信息化建设来说,既是挑战也是机遇。蓝牙无线技术可以允许手机 、便携设备、个人电脑、笔记本电脑和第三方的接入设备互相连接在一起。几乎每一种带有微控制器的产品都将有望提供蓝牙技术支持,每一部移动电话、每一台手持设备或计算机产品都将配置蓝牙接口。甚至车辆中也会装备数个蓝牙接口,以实现非接触式诊断、车辆遥控或被窃车辆跟踪等。可能应用的模式几乎可以深入到全球的各个角落和渗透到各个领域。环境监测的核心目标是提供代表环境质量现状及变化趋势的数据,判断环境质量,评价当前主要环境问题,为环境管理服务。环境监测是科学管理环境和环境执法监督的基础。环境监测是环境保护必不可少的基础性工作。它及时、准确、全面地反映环境质量及发展趋势,为环境规划与管理、环境影响与评价、污染控制及政府宏观决策提供科学依据。因而环境监测的意义重大。2、 系统设计2.1设计思路本系统以stc89c52rc和atmega128两款单片机芯片作为发送和接收两部分的主控制器,发送部分实现对环境温度和湿度的数据采集,并通过蓝牙模块发送到接收机上。接收部分实现对蓝牙模块接收到的数据进行处理,并在3.2寸tft上实时的显示温度和湿度曲线,同时完成tft上的触摸菜单选择功能。整个系统的通信方式有两种,一种是处理器和蓝牙之间的通信,比如将采集的数据经过处理发送给蓝牙模块传送出去;另外一种是不同型号的处理器之间的通信,在本系统中使用stc89c52rc和atmega128两款不同型号的单片机之间的串口通信。系统的基本框图如图1.1.1所示:89c52rc控制器温度采集湿度采集蓝 牙atmega128控制器tft曲线显示蓝 牙tft按键控制温湿度显示接收部分发送部分图2.1.1 系统基本框图2.2系统组成系统主要分为发射和接收两大部分,发射部分的控制器主要实现对蓝牙发送at指令设置其工作方式使其发送数据、对温度传感器ds18b20和湿度传感器dht11进行读写操作和通过并行口完成对12864液晶的读写控制,使其将温湿度实时地显示出来。温度传感器和湿度传感器主要根据对外界的温度、湿度进行检测,并在控制器发出数据采集指令后将采集的温湿度数据传送给单片机进行处理。接收部分的控制机主要实现对蓝牙发送at指令设置其工作方式并接收发射端的数据、对tft彩屏完成静态显示、刷屏、温湿度曲线显示等、对sd卡的读写和触摸屏的中断操作的功能。发射和接收部分的功能结构图如图2.2.1所示:单片机按键数据运算ds18b20温度数据采集dht11湿度数据采集按键处理spi读写操作串口通信蓝牙数据传输液晶显示发射部分单片机数据运算spi读写操作中断设置串口通信sd卡读、写协议tft静态显示tft实时显示tft触摸屏菜单结构蓝牙数据传输接收部分图2.2.1 系统功能结构图2.3系统方案论证与选择2.3.1控制器方案论证与选择方案一:采取fpga或者cpld控制。近年来,可编程器件发展很快,在很多方面都得到了广泛的应用。采用大规模的可编程器件来完成系统的控制是一种很不错的解决方案,它具有体积小、改动灵活的特点。用它们作为系统的“神经中枢”,可以采用vhdl或者verilog语言来描述。但是一般来说,复杂可编程逻辑器件cpld(complex programmable logic device)集成的门数目不会很多。现场可编程门阵列fpga(field programmable gate array) 是新一代的可编程器件,但是需要外部的配置芯片,否则断电后,保存在ram中的程序会丢失。这个方案特别适用于大型、高速、复杂系统的控制,但是本系统中,考虑到成本和制作难易程度,没有采用这个方案。方案二:采取mcs51系列单片机作为控制器。mcs51系列单片机是一种廉价的,应用极为广泛的单片机,它体积小,功能强大。可以用汇编或者c语言进行开发。并且这种单片机的接口电路丰富。缺点是运行速度不够快,12个时钟周期一条指令,如果用12mhz的晶振,执行一条指令最快也要1us。因此不适合高速的控制。方案三:采用avr单片机atmega128作为主控制器。8位的atmega128共64只管脚,53个可承受5v电压的i/o口,128k 字节的系统内可编程flash( 具有在写的过程中还可以读的能力,即rww)、4k 字节的eeprom、4k 字节的sram、32个通用工作寄存器、实时时钟rtc、4 个灵活的具有比较模式和pwm 功能的定时器/ 计数器(t/c)、两个usart、面向字节的两线接口twi、8 通道10 位adc( 具有可选的可编程增益)、具有片内振荡器的可编程看门狗定时器、spi 串行端口、以及六种可以通过软件选择的省电模式,理想的低功耗工作模式更能起到节电的作用。因此atmega128控制芯片能很好的满足系统设计需求。方案选择:在本系统中,发射部分只是完成数据采集、液晶显示和串口通信等并不算很复杂的功能,从成本和系统设计的易行性来比较,选择mcs51系列的stc89c52rc 8位单片机作为主控制器。接收部分要完成tft彩屏的异步中断方式的触摸屏信号和蓝牙的串口通信,需要用到单片机的两个串口,而且在对tft彩屏的图片显示上对速度有一定的要求,故选择atmega128作为接收部分的主控制器。2.3.2温度检测模块方案论证与选择方案一:采用感温型电阻作为测温模块。一般感温型电阻会随着环境温度的升高阻值会出现下降,因而测量他们的阻值可以在经过计算之后达到测温的目的。将系统电路中测出感温电阻两端的电压,再经过a/d转换器将电压值转换成数字值,根据电压和温度的关系表可以算出实际室温。由此可以看出,该方案设计复杂,而且精度不高,成本也较高。方案二:采用温度传感器ds18b20作为测温模块。ds18b20是单线数字式温度传感器,可实现-55c到+125c范围内的温度测量,适应电压范围宽,由于ds18b20为iic器件,每个传感器都有其独有的序号,故可以实现多点组网测温功能。可编程的分辨率为912位,最高精度为0.0625c,转换速度快,操作简便,只需要将数据口连接到单片机上进行编程便可以实现测温的功能。方案选择:综合比较,选择方案二,使用温度传感器ds18b20作为测温模块,用stc89c52rc单片机对其编程。2.3.3湿度检测模块方案论证与选择方案一:采用温湿度传感器dht11作为湿度检测模块。dht11数字温湿度传感器是一款含有已校准熟悉信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个ntc测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个dht11传感器都在即为精确的湿度校验室中进行校准。校准系数以程序的形式存在otp内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。方案二:采用湿度传感器hs1100作为湿度检测模块的核心。hs1100是基于独特工艺设计的电容元件,它在标准环境下不需校正,可以在长时间饱和下快速脱湿,对环境湿度很敏感,其制作是自动化焊接的,包括波峰焊或水浸,具有高可靠性与长时间稳定性,可用于线性电压或频率输出回炉,反应时间快,但是其制成的电路容易受到外界其他环境的影响以致影响精度,而且制作成本较高。方案选择:综合比较,由于dht11制作简便,不易受到温度等环境的影响,而且成本较低,故选择方案一,采用温湿度传感器dht11作为湿度检测模块。2.3.4人际交互界面方案论证与选择方案一:使用数码管进行显示。按键用于信息输入。可采用周立功公司生产的zlg7290芯片来配合控制器对数码管和按键进行控制,该芯片具有i2c 串行接口,只需占用控制器3个管脚,便可方便地控制数码管显示和检测按键。但是该显示过于粗糙,人机交互界面不够友好。 方案二:使用tft彩色液晶屏显示。tft的显示采用“背透视”的照射方式,使其显示效果非常出色, 3.35宽电压范围供电,内部有ili9325控制器来驱动tft,tft采用四线制电阻屏,刷屏速度快,带有触摸屏功能,可以省去按键电路的制作。人机交互界面机器友好,操作简便,能够实时的显示温度、湿度曲线,同时tft模块集成有sd卡模块,可以通过对sd卡的读写在屏幕上显示不同的友好界面。方案选择:数码管不能显示汉字,而tft带触摸功能,可省去按键,更使画面生动有趣。故人机交互界面模块选择方案二,采用tft彩色液晶屏显示。2.4本章小结3、 系统硬件电路设计3.1蓝牙硬件电路设计本系统中核心部分是蓝牙,蓝牙在整个系统中起着传输数据的作用,并且要求能够实现与不同型号的单片机通信。本小节主要介绍蓝牙的概念、蓝牙的系统组成、蓝牙协议和hc-05蓝牙模块电路等。3.1.1蓝牙简介蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、pda、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4ghz ism(即工业、科学、医学)频段。其数据速率为1mbps。采用时分双工传输方案实现全双工传输。蓝牙(bluetooth)是由东芝、爱立信、ibm、intel和诺基亚于1998年5月共同提出的近距离无线数字通信的技术标准。 其目标是实现最高数据传输速度1mb/s(有效传输速度为721kb/s)、最大传输距离为10米,用户不必经过申请便可利用2.4ghz的ism(工业、科学、医学)频带,在其上设立79个带宽为1mhz的信道,用每秒钟切换1600次的频率、滚齿方式的频谱扩散技术来实现电波的收发。在日常应用中,电子装置彼此可以透过蓝牙而连接起来,省去了传统的电线。透过芯片上的无线接收器,配有蓝牙技术的电子产品能够在十公尺的距离内彼此相通,传输速度可以达到每秒钟1兆字节。以往红外线接口的传输技术需要电子装置在视线之内的距离,而现在有了蓝牙技术,这样的麻烦也可以免除了。 蓝牙技术的优势:支持语音和数据传输;采用无线电技术,传输范围大,可穿透不同物质以及在物质间扩散;采用跳频展频技术,抗干扰性强,不易窃听;使用在各国都不受限制的频谱,理论上说,不存在干扰问题;功耗低;成本低。蓝牙的劣势:传输速度慢。 蓝牙的技术性能参数:有效传输距离为10cm10m,增加发射功率可达到100米,甚至更远。收发器工作频率为2.45ghz ,覆盖范围是相隔1mhz的79个通道(从2.402ghz到2.480ghz )。数据传输技术使用短封包,跳频展频技术,1600次/秒,防止偷听和避免干扰;每次传送一个封包,封包的大小从126287bit;封包的内容可以是包含数据或者语音等不同服务的资料。数据传输带宽为同步连接可达到每个方向32.6kbps,接近于10倍典型的56kb/s modem的模拟连接速率,异步连接允许一个方向的数据传输速率达到721kb/s,用于上载或下载,这时相反方向的速率是57.6kb/s;数据传输通道为留出3条并发的同步语音通道,每条带宽64kb/s;语音与数据也可以混合在一个通道内,提供一个64kb/s同步语音连接和一个异步数据连接。网络连接使用加密技术,同时采用口令验证连接设备,可同时与其他7个以内的设备构成蓝牙微网(piconet),1个蓝牙设备可以同时加入8个不同的微网,每个微网分别有1mb/s的传输频宽,当2个以上的设备共享一个channel时,就可以构成一个蓝牙微网,并由其中的一个装置主导传输量,当设备尚未加入蓝牙微网时,它先进入待机状态。3.1.2蓝牙系统组成蓝牙系统由无线单元、链路控制单元、链路管理组成: (1) 无线单元蓝牙是以无线lan的ieee802.11标准技术为基础的,使用2.45ghz ism全球通自由波段。蓝牙天线属于微带天线,空中接口是建立在天线电平为0dbm基础上的,遵从fcc(美国联邦通信委员会)有关0dbm电平的ism频段的标准。当采用扩频技术时,其发射功率可增加到100mw。 (2) 链路控制单元链路控制单元(即基带)描述了硬件基带链路控制器的数字信号处理规范。基带链路控制器负责处理基带协议和其它一些低层常规协议。 a建立物理链路:微微网内的蓝牙设备之间的连接被建立之前,所有的蓝牙设备都处于待命(standby)状态。此时,未连接的蓝牙设备每隔1.28s就周期性地“监听”信息。每当一个蓝牙设备被激活,它就将监听划给该单元的32个跳频频点。跳频频点的数目因地理区域的不同而异。作为主蓝牙设备首先初始化连接程序,如果地址已知,则通过寻呼(page)消息建立连接;如果地址未知,则通过一个后接寻呼消息的查询(inquiry)消息建立连接。在最初的寻呼状态,主单元将在分配给被寻呼单元的16个跳频频点上发送一串16个相同的寻呼消息。如果没有应答,主单元则按照激活次序在剩余16个频点上继续寻呼。从单元收到从主单元发来的消息的最大延迟时间为激活周期的2倍(2.56s),平均延迟时间是激活周期的一半(0.6s)。查询消息主要用来寻找蓝牙设备。查询消息和寻呼消息很相像,但是查询消息需要一个额外的数据串周期来收集所有的响应。 如果微微网中已经处于连接的设备在较长一段时间内没有数据传输,蓝牙还支持节能工作模式。主设备可以把从设备置为保持(hold)模式,在保持模式下,只有一个内部计数器在工作。从设备也可以主动要求被置为保持模式。一旦处于保持模式的单元被激活,则数据传递也立即重新开始。保持模式一般被用于连接好几个微微网的情况下或者耗能低的设备。b差错控制:基带控制器有3种纠错方式。1/3比例前向纠错(1/3fec)码,用于分组头;2/3比例前向纠错(2/3fec)码,用于部分分组;数据的自动请求重发方式(arq),用于带有crc(循环冗余校验)的数据分组。差错控制用于提高分组传送的安全性和可靠性。 c验证和加密 蓝牙基带部分在物理层为用户提供保护和信息加密机制。验证基于“请求-响应”运算法则,采用口令/应答方式,在连接进程中进行,它是蓝牙系统中的重要组成部分。它允许用户为个人的蓝牙设备建立一个信任域,比如只允许主人自己的笔记本电脑通过主人自己的移动电话通信。 加密采用流密码技术,适用于硬件实现。它被用来保护连接中的个人信息。密钥由程序的高层来管理。网络传送协议和应用程序可以为用户提供一个较强的安全机制。(3) 链路管理器链路管理器(lm)软件模块设计了链路的数据设置、鉴权、链路硬件配置和其它一些协议。链路管理器能够发现其它蓝牙设备的链路管理器,并通过链路管理协议(lmp)建立通信联系。链路管理器提供的服务项目包括:发送和接收数据、设备号请求(lm能够有效地查询和报告名称或者长度最大可达16位的设备id)、链路地址查询、建立连接、验证、协商并建立连接方式、确定分组类型、设置保持方式及休眠方式。 (4)软件结构和协议体系 a软件结构:蓝牙设备应具有互操作性,即任何蓝牙设备之间都应能够实现互通互连,这包括硬件和软件。对于某些设备,从无线电兼容模块和空中接口,直到应用层协议和对象交换格式,都要实现互操作性;而另外一些简单的设备(如耳机)的要求则宽松得多。蓝牙计划的目标就是要确保任何带有蓝牙标记的设备都能进行互换性操作。软件的互操作性始于链路级协议的多路传输、设备和服务的发现,以及分组的分段和重组。蓝牙设备必须能够彼此识别,并通过安装合适的软件识别出彼此支持的高层功能。互操作性要求采用相同的应用层协议栈。不同类型的蓝牙设备对兼容性有不同的要求(如用户不能奢望头戴式设备内含有地址簿)。蓝牙的兼容性是指它具有无线电兼容性,有语音收发能力及发现其它蓝牙设备的能力,更多的功能则要由手机、手持设备及笔记本电脑来完成。为实现这些功能,蓝牙软件构架必须利用现有的规范,而不是再去开发新的规范。设备的兼容性要求能够适应蓝牙规范和现有的协议。 软件结构的功能有:配置及故障诊断工具、自动识别其它蓝牙设备、电缆仿真、与外网设备的通信、音频通信与呼叫控制和商用卡的交易与号簿网络协议。 蓝牙的软件体系是一个独立的操作系统,不与任何操作系统捆绑。适用于几种不同商用操作系统的蓝牙规范正在完善中。蓝牙规范接口可以直接集成到蜂窝电话、笔记本电脑等设备中,也可以通过pc卡或usb接口附加设备连接。b协议体系:设计协议和协议栈的主要原则是尽可能地利用现有各种高层协议,保证现有协议与蓝牙技术的融合以及各种应用之间的互通性;充分利用兼容蓝牙技术规范的软硬件系统和蓝牙技术规范的开放性,便于开发新的应用。蓝牙标准包括core和profiles两大部分。core是蓝牙的核心,主要定义蓝牙的技术细节;profiles部分定义了在蓝牙的各种应用中的协议栈组成,并定义了相应的实现协议栈。这样就为全球兼容性打下了基础。 蓝牙标准主要定义的是底层协议,也定义了一些高层协议和相关接口。具体的协议按sig的需要分为4层:a) 核心协议:它是蓝牙协议的关键部分。包括基带部分协议和其它低层链路功能的基带/链路控制期协议;用于链路的建立、安全和控制的链路管理器协议lmp;描述主机控制器接口的hci协议;支持高层协议复用、帧的组装和拆分的逻辑链路控制和分配协议l2cap;发现蓝牙设备提供服务的sdp协议等。b) rfcom电缆替代协议:它是一种仿真协议,在蓝牙基带协议上仿真rs-232控制和数据信号,为上层协议提供服务。c) tcs电话控制协议:它是面向比特的协议,定义蓝牙设备间建立数据和话音呼叫的控制信令和处理蓝牙tcs设备群的移动管理进程;at-command控制命令集是定义在多用户模式下控制移动电话、调制解调器和用于仿真的命令集。d) 与internet相关的高层协议 它定义了与internet相关的ppp、udp、tcp/ip协议及无线应用协议wap。两个蓝牙设备必须具有相同的协议组成才能进行相互的通信。3.1.3hc-05蓝牙模块在本系统中,采用的是广州汇承公司的hc-05蓝牙模块,其具有以下功能特点: 灵敏度(误码率)达到-80db 简单的外围设计电路 蓝牙版本2.0,,带edr,调制度为2mbps-3mbps 内置2.4ghz天线,用户无需调试天线 外置8mbit的flash 低电压3.3v工作 可选pio控制 标准hci端口(uart或者usb) usb协议:full speed usb1.1 rohs制程 引脚半孔工艺 2.4ghz无线数字发射与接收 自适应跳频技术 蓝牙class 2功率级别 协波干扰:2.4mhz,发射功率:3db csr bc04蓝牙芯片技术 误码率:0,但会在传输链路产生信号衰变,才有误码,如rs232和ttl线路处理的线路中该蓝牙模块具有pio0-pio11、aio0、aio1、usb、pcm、uart及spi接口,内置8mflash,功能强大,用户可以自己定制软件,适用于各种蓝牙设备。在出厂时已经配置好主机和从机的参数,上电通过自动搜索即可完成主机和从机的配对,初始配对密码为1234。该模块的电路原理图如下图3.1.1所示:图3.1.1hc-05蓝牙模块电路原理图该蓝牙包括三个模块,由于单片机是5v电源,出来的高电平是5v,故需要一个3.3v电源,该电路中采用三端稳压器lm1117-3.3v,输入5v,输出为3v电源。图中的c1和c2均为去耦电容。蓝牙模块电源是3.3v供电,1、2脚分别为串行数据的输入和输出,26脚外接按键,长按时可以清除蓝牙的配对记忆,24脚输出为led指示灯,当指示灯为500ms亮、500ms灭时表示在搜索配对,当指示灯为200ms亮、1s灭时表示已经配对成功。单片机输入输出为ttl电平,而蓝牙模块需要cmos电平,中间需要电平转换,本系统中采用的max232电平转换芯片,c3、c4、c5、c5均为10f的去耦滤波作用的瓷片电容,二极管d1具有稳压作用。3.2stc89c52rc单片机硬件电路设计本系统中,发射部分采用的是比较常见的stc89c52rc单片机,其价格便宜,但功能强大,在发射部分起着数据采集、数据处理、与蓝牙通信等作用,本小节主要介绍stc89c52rc单片机内部资源、工作原理、系统电路设计等。3.2.1stc89c52rc芯片介绍stc89c52rc是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得stc89c52rc为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节flash,512字节ram, 32 位i/o 口线,看门狗定时器,内置4kb eeprom,max810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 stc89c52rc 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35mhz,6t/12t可选。stc89c52rc单片机的功能特点如下: 标准的mcs-51内核和指令系统 片内8krom(可扩充64kb外部存储器) 32个双向i/o口 256x8bit内部ram(可扩充64kb外部存储器) 3个16位可编程定时/计数器 时钟频率3.5-12/24/33mhz 向上或向下的定时器/计数器 改进型快速编程脉冲算法 6个中断源 5.0v工作电压 全双工串行通信口 布尔处理器 帧错误侦测 4层优先级中断结构 自动地址识别 兼容ttl和cmos逻辑电平 空闲和掉电节省模式stc89c52rc有40个管脚,32个双向i/o口p0、p1、p2、和p3,其中p3口还具有第二功能,下面对常见管脚做一些说明:vcc:供电电压。 gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口作为stc89c52rc的一些特殊功能口,具有以下特殊功能: p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 /int0(外部中断0) p3.3 /int1(外部中断1) p3.4 t0(计时器0外部输入) p3.5 t1(计时器1外部输入) p3.6 /wr(外部数据存储器写选通) p3.7 /rd(外部数据存储器读选通rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。/ea / vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。3.2.2stc89c52rc内部结构单片机主要有中央处理器单元(cpu)、存储器(rom和ram)、i/o接口和总线组成,其内部结构如图3.2.1所示:计数脉冲2个16位定时/计数器外部中断振荡器及定时电路4kb/8kb程序存储器128/256b数据存储器64kb总线扩展控制可编程并行i/o口可编程串行i/o口内部中断cpu(中央处理控制器器)控制p0、p1、p2、p3串行输入、输出基准频率源图3.2.1stc89c52rc内部结构图(1) cpu(中央处理控制器)cpu(中央处理控制器)是单片机的核心部件。它由运算器和控制器等部件组成。(2) 存储器mcs-51单片机的程序存储器和数据存储器空间是互相独立的,物理结构也不同。程序存储器为只读存储器(rom)。数据存储器为随机存取存储器(ram)。单片机的存储器编址方式采用与工作寄存器、i/o口锁存器统一编址的方式。(3) i/o端口i/o端口又称为i/o接口,也叫做i/o通道或i/o通路,i/o端口是mcs-51单片机对外部实现控制和信息交换的必经之路,i/o端口有串行和并行之分,串行i/o端口一次只能传送一位二进制信息,并行i/o端口一次能传送一组二进制信息。(4) 总线mcs-51单片机属总线型结构,通过地址/数据总线可以与存储器(ram、eprom)、并行i/o接口芯片相连接。在访问外部存储器时,p2口输出高8位地址,p0口输出低8位地址,由ale(地址锁存允许)信号将p0口(地址/数据总线)上的低8位锁存到外部地址锁存器中,从而为p0口接受数据作准备。在访问外部程序存储器(即执行movx)指令时,psen(外部程序存储器选通)信号有效,在访问外部数据存储器(即执行movx)指令时,由p3口自动产生读/写(/)信号,通过p0口对外部数据存储器单元进行读/写操作。3.2.3stc89c52rc系统电路设计单片机最小系统的正常工作需要有一个时钟电路和复位电路:(1)时钟电路89c52的时钟可以两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另一种方式为外部方式。本系统采用内部时钟电路。下面介绍内部时钟方式。图3.2.2 89c52rc片内振荡器电路图 图3.2.3 内部时钟方式的电路图内部有一个用于构成震荡器的高增益反相放大器,引脚xtal1和xtal2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。图3.2.2是89c52片内振荡器电路。89c52虽然有内部振荡电路,但要形成时钟,必须外接元件,图3.2.3是内部时钟方式的电路。外接晶体(在频率稳定性不高,而尽可能要求廉价时,可选用陶瓷谐振器)以及电容cx1和cx2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。晶体可在1.2mhz12mhz之间任选,电容cx1和cx2的典型值在20pf100pf之间选择,但在60pf70pf时振荡器有较高的频率稳定性。典型值通常选择为30pf左右。外接陶瓷谐振器时,cx1和cx2的典型值约为47pf。在设计印刷电路板时,晶体或陶瓷振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定和可靠地工作。为了提高温度稳定性,应采用温度稳定性能好的npo高频电容。本设计采用11.0592mhz的晶振。(2)复位电路89c52rc单片机的复位输入引脚ret(即reset)为单片机提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000h地址单元开始执行程序。在单片机的时钟电路工作后,只要在ret引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。只要ret保持高电平,则单片机循环复位。只有当ret由高电平变成低电平以后,单片机才从0000h地址开始执行程序。图3.2.4 单片机按键电平复位电路本系统的复位电路是采用按键复位的电路,如图3.2.4所示,是常用复位电路之一。当单片机的ale及psen两引脚输出高电平,ret引脚高电平到时,单片机复位。通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源,电容c相当于瞬间短路,+5v立即加到ret/vpd端,该高电平使单片机全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,则直接把+5v加到了ret/vpd端从而复位称为手动复位。复位后,p0到p3并行i/o口全为高电平,其它寄存器全部清零,只有sbuf寄存器状态不确定。3.3atmega128单片机硬件电路设计在本系统中,由于接收部分需要对sd卡、tft彩屏进行控制,对速度和flash有一定的要求,经过前面的方案论证与选择,采用avr单片机atmega128完成对接收部分的数据处理、蓝牙通信、tft彩屏显示和sd卡的读写等功能。本小节主要讲atmega128单片机的内部资源、工作原理和硬件电路设计等。3.3.1atmega128芯片介绍atmega128为基于avr risc结构的8位低功耗cmos微处理器。由于其先进的指令集以及单周期指令执行时间, atmega128 的数据吞吐率高达1 mips/mhz,从而可以缓减系统在功耗和处理速度之间的矛盾。avr 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(alu) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的复杂指令集微处理器高10 倍的数据吞吐率。atmega128是以atmel 的高密度非易失性内存技术生产的。片内 isp flash 可以通过spi 接口、通用编程器,或引导程序多次编程。引导程序可以使用任何接口来下载应用程序到应用flash存储器。在更新应用flash存储器时引导flash区的程序继续运行,实现rww操作。通过将8 位risc cpu 与系统内可编程的flash 集成在一个芯片内, atmega128 为许多嵌入式控制应用提供了灵活而低成本的方案。atmega128单片机的功能特点如下: 高性能、低功耗的avr 8位微处理器 先进的risc结构l 133条指令大多数可以在一个时钟周期内完成l 32x8 个通用工作寄存器+外设控制寄存器l 全静态工作l 工作于16 mhz 时性能高达16 mipsl 只需两个时钟周期的硬件乘法器 非易失性的程序和数据存储器l 128k 字节的系统内可编程flashl 寿命: 10,000 次写/ 擦除周期l 具有独立锁定位、可选择的启动代码区l 通过片内的启动程序实现系统内编程l 4k字节的eeproml 4k 字节的内部sraml 多达64k 字节的优化的外部存储器空间l 可以对锁定位进行编程以实现软件加密l 可以通过spi 实现系统内编程 jtag 接口( 与ieee 1149.1 标准兼容)l 遵循jtag 标准的边界扫描功能l 支持扩展的片内调试l 通过jtag 接口实现对flash, eeprom, 熔丝位和锁定位的编程 外设特点l 两个具有独立的预分频器和比较器功能的8 位定时器/ 计数器l 两个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器l 具有独立预分频器的实时时钟计数器l 两路8 位pwml 6路分辨率可编程(2 到16 位)的pwml 输出比较调制器l 8路10 位adcl 面向字节的两线接口l 两个可编程的串行usartl 可工作于主机/ 从机模式的spi 串行接口l 具有独立片内振荡器的可编程看门狗定时器l 片内模拟比较器 特殊的处理器特点l 上电复位以及可编程的掉电检测l 片内经过标定的rc 振荡器l 片内/ 片外中断源l 6种睡眠模式: 空闲模式、adc 噪声抑制模式、省电模式、掉电模式、standby 模式以及扩展的standby 模式l 可以通过软件进行选择的时钟频率l 通过熔丝位可以选择atmega103 兼容模式l 全局上拉禁止功能atmega128芯片有64个引脚,其中60个引脚具有i/o口功能,资源比较丰富,下面对atmega128的各个引脚做简单介绍:vcc:数字电路的电源。 gnd:接地。端口(pa7.pa0)、(pb7.pb0)、(pc7.pc0)、(pd7.pd0)、(pe7.pe0)、(pf7.pf0)、(pg4.pa0):为8 位双向i/o 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 为三态。这些端口在其他情况下有特殊功能,在此不一一列举。reset:复位输入引脚。超过最小门限时间的低电平将引起系统复位,低于此时间的脉冲不能保证可靠复位。xtal1:反向振荡器放大器及片内时钟操作电路的输入。xtal2:反向振荡器放大器的输出。avcc:avcc为端口f以及adc转换器的电源,需要与vcc相连接,即使没有使用adc也应该如此。使用adc 时应该通过一个低通滤波器与vcc 连接。aref :aref 为adc 的模拟基准输入引脚。pen :pen是spi串行下载的使能引脚。在上电复位时保持pen为低电平将使器件进入spi串行下载模式。在正常工作过程中pen 引脚没有其他功能。3.3.2atmega128内部结构atmega128内部具有很多的资源,主要包括cpu内核、存储器、系统时钟、系统控制和复位、i/o端口和定时器/计数器等。(1) cpu内核atmega128单片机采用了harvard结构,具有独立的数据和程序总线,程序存储器的指令通过一级流水线运行。(2) atmega128存储器avr结构具有三个线性存储空间:程序存储器、数据存储器和eeprom存储器。系统内有可编程的flash 程序存储器,atmega128具有128k字节的在线编程flash。因为所有的avr指令为16位或32位,故flash 组织成64k x 16 的形式。atmega128 还可以访问直到64k的外部数据sram,其起始紧跟在内部sram之后。atmega128包含4k字节的eeprom。它是作为一个独立的数据空间而存在的,可以按字节读写。eeprom 的寿命至少为100,000 次(擦除)。atmega128 的所有i/o 和外设都被放置在i/o 空间。在32个通用工作寄存器和i/o之间传输数据。(3) 系统时钟cpu时钟:cpu时钟与操作avr内核的子系统相连,如通用工作寄存器文件、状态寄存器以及保存堆栈指针的数据存储器。终止cpu时钟将使内核停止工作和计算。i/o时钟: i/o时钟用于主要的i/o 模块,如定时器/ 计数器、spi 和usart。i/o 时钟还用于外部中断模块。但是有些外部中断由异步逻辑检测,因此即使i/o 时钟停止了这些中断仍然可以得到监控。此外,twi 模块的地址识别功能在没有i/o时钟 的情况下也是异步实现的,使得这个功能在任何睡眠模式下都可以正常工作。flash时钟:flash时钟控制flash接口的操作。此时钟通常与cpu时钟是同步的。异步定时器时钟:异步定时器时钟允许异步定时器/ 计数器直接由外部32 khz 时钟晶体驱动,使得此定时器/ 计数器即使在睡眠模式下仍然可以为系统提供一个实时时钟。adc时钟:adc具有专门的时钟。这样可以在adc工作的时候停止cpu和i/o时钟以降低数字电路产生的噪声,从而提高adc 转换精度。(4) 系统控制和复位复位时所有的i/o 寄存器都被设置为初始值,程序从复位向量处开始执行。复位源生效时i/o 端口立即复位为初始值,不需要任何时钟的辅助。atmega128 有5个复位源:上电复位:当电源电压低于上电复位门限 (vpot) 时mcu 复位。外部复位:

温馨提示

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

评论

0/150

提交评论