2024年3月6日发(作者:汪平乐)
毕业设计(论文)
题 目:基于蓝牙的环境监测系统设计
学院名称: 电气工程学院
指导老师:
职 称:
班 级:通信工程专业2021级01班
学 号:
学生姓名:
2021年05月15日
1 / 38
目 录
1、
前言.................................................................................................................. 4
1.1
蓝牙技术的开展 .......................................................................................... 4
2、
系统设计.......................................................................................................... 6
2.1
设计思路 ...................................................................................................... 6
2.2
系统组成 ...................................................................................................... 6
2.3
系统方案论证与选择 .................................................................................. 7
控制器方案论证与选择.................................................................... 7
温度检测模块方案论证与选择........................................................ 8
湿度检测模块方案论证与选择........................................................ 9
人际交互界面方案论证与选择...................................................... 10
2.4
本章小结 .................................................................................................... 10
3、
系统硬件电路设计........................................................................................ 11
3.1
蓝牙硬件电路设计 .................................................................................... 11
蓝牙简介.......................................................................................... 11
蓝牙系统组成.................................................................................. 12
HC-05蓝牙模块 ............................................................................... 15
3.2
STC89C52RC单片机硬件电路设计 ........................................................... 17
STC89C52RC芯片介绍 .................................................................... 17
STC89C52RC内部构造 .................................................................... 20
STC89C52RC系统电路设计 ............................................................ 21
3.3
ATmega128单片机硬件电路设计 ............................................................ 23
ATmega128芯片介绍 ...................................................................... 23
ATmega128内部构造 ..................................................................... 26
ATmega128系统电路设计 .............................................................. 28
3.4
显示局部硬件电路设计 ............................................................................ 29
12864液晶硬件电路设计 .............................................................. 29
3.5寸TFT彩色液晶屏硬件电路设计 ............................................ 30
2 / 38
3.5
温度传感器DS18B20硬件电路设计 ....................................................... 32
3.6
湿度传感器DHT11硬件电路设计 ........................................................... 35
3.7
本章小结 .................................................................................................... 36
4、
软件设计........................................................................................................ 37
5、系统测试 ............................................................................................................... 38
6、总结 ....................................................................................................................... 38
参考文献...................................................................................................................... 38
谢辞.............................................................................................................................. 38
附录A:实物图片 ......................................................................................................... 38
附录B:程序清单 ...................................................................................................... 38
3 / 38
1、 前言
1.1 蓝牙技术的开展
蓝牙〔Bluetooth〕是一种全球统一开放式短间隔 无线连接技术。1998年5月,爱立信、诺基亚、东芝、IBM和英特尔公司等五家著名厂商,在结合开展短程无线通信技术的标准化活动时提出了蓝牙技术,其宗旨是提供一种短间隔 、低本钱的无线传输应用技术。这五家厂商还成立了蓝牙特别兴趣组,以使蓝牙技术可以成为将来的无线通信标准。芯片霸主Intel公司负责半导体芯片和传输软件的开发,爱立信负责无线射频和挪动 软件的开发,IBM和东芝负责笔记本电脑接口规格的开发。1999年下半年,著名的业界巨头微软、摩托罗拉、三康、朗讯与蓝牙特别小组的五家公司共同发起成立了蓝牙技术推广组织,从而在全球范围内掀起了一股“蓝牙〞热潮。全球业界即将开发一大批蓝牙技术的应用产品,使蓝牙技术呈现出极其广阔的市场前景,并预示着21世纪初将迎来波澜壮阔的全球无线通信浪潮。
产品的日益丰富以及价格程度的不断降低使蓝牙这项技术变得越来越有人缘。根据研究机构Millward Brown的一份最新调查结果显示:在全球消费者对于主流传输技术的认知程度和整体印象中,蓝牙以85%高居榜首,排在第二位和第三位的分别是57%的USB和53%的Wi-Fi。可见蓝牙已经完完全全融入我们的生活,并让我们的生活变得更加轻松。
蓝牙的数据传输技术在随着蓝牙的广泛应用在不断的开展,也应用在环境监测方面。传统的环境监测系统中,一般测试点到控制器的接线为点到点的方式,接线复杂、布线困难,存在抗干扰才能差、工作不稳定、系统测试精度低等问题。假如周边环境恶劣,会导致线缆的腐蚀和老化,从而降低了系统的可靠性和抗干扰性。环境中有一些分散的传感器,这些设备可能会随着环境的改变而调整,同时错综复杂的线缆也需要重新铺设,工作量较大,因此考虑应用蓝牙无线技术解决这类问题。
蓝牙无线技术对我国的信息化建立来说,既是挑战也是机遇。蓝牙无线4 / 38
技术可以允许手机 、便携设备、个人电脑、笔记本电脑和第三方的接入设备互相连接在一起。几乎每一种带有微控制器的产品都将有望提供蓝牙技术支持,每一部挪动 、每一台手持设备或计算机产品都将配置蓝牙接口。甚至车辆中也会装备数个蓝牙接口,以实现非接触式诊断、车辆遥控或被窃车辆跟踪等。可能应用的形式几乎可以深化到全球的各个角落和浸透到各个领域。
环境监测的核心目的是提供代表环境质量现状及变化趋势的数据,判断环境质量,评价当前主要环境问题,为环境管理效劳。环境监测是科学管理环境和环境执法监视的根底。环境监测是环境保护必不可少的根底性工作。它及时、准确、全面地反映环境质量及开展趋势,为环境规划与管理、环境影响与评价、污染控制及政府宏观决策提供科学根据。因此环境监测的意义重大。
5 / 38
2、 系统设计
2.1 设计思路
本系统以STC89C52RC和ATmega128两款单片机芯片作为发送和接收两局部的主控制器,发送局部实现对环境温度和湿度的数据采集,并通过蓝牙模块发送到接收机上。接收局部实现对蓝牙模块接收到的数据进展处理,并在3.2寸TFT上实时的显示温度和湿度曲线,同时完成TFT上的触摸菜单项选择择功能。
整个系统的通信方式有两种,一种是处理器和蓝牙之间的通信,比方将采集的数据经过处理发送给蓝牙模块传送出去;另外一种是不同型号的处理器之间的通信,在本系统中使用STC89C52RC和ATmega128两款不同型号的单片机之间的串口通信。系统的根本框图如下图:
温度采集
TFT曲线显示
湿度采集89C52RC
控制器
蓝牙蓝牙ATmega128
控制器
2.2 系统组成
系统主要分为发射和接收两大局部,发射局部的控制器主要实现对蓝牙发送AT指令设置其工作方式使其发送数据、对温度传感器DS18B20和湿度传感器DHT11进展读写操作和通过并行口完成对12864液晶的读写控制,使其将温湿度6 / 38
温湿度显示
TFT按键控制
发送局部
图2.1.1 系统根本框图
接收局部
实时地显示出来。温度传感器和湿度传感器主要根据对外界的温度、湿度进展检测,并在控制器发出数据采集指令后将采集的温湿度数据传送给单片机进展处理。接收局部的控制机主要实现对蓝牙发送AT指令设置其工作方式并接收发射端的数据、对TFT彩屏完成静态显示、刷屏、温湿度曲线显示等、对SD卡的读写和触摸屏的中断操作的功能。发射和接收局部的功能构造图如下图:
DHT11
湿度数据采集
DS18B20
温度数据采集
液晶显示
按键
串口通信
蓝牙数据传输
发射局部
接收局部
单片机
数据运算
SPI读写操作
按键处理
单片机
数据运算
SPI读写操作
中断设置
串口通信
SD卡读、写协议
TFT静态显示
TFT实时显示
TFT触摸屏菜单构造
蓝牙数据传输
图系统功能构造图
2.3 系统方案论证与选择
控制器方案论证与选择
方案一:采取FPGA或者CPLD控制。
近年来,可编程器件开展很快,在很多方面都得到了广泛的应用。采用大规模的可编程器件来完成系统的控制是一种很不错的解决方案,它具有体积小、改动灵敏的特点。用它们作为系统的“神经中枢〞,可以采用VHDL或者Verilog语言来描绘。但是一般来说,复杂可编程逻辑器件CPLD(Complex Programmable
Logic Device)集成的门数目不会很多。现场可编程门阵列FPGA(Field
Programmable Gate Array) 是新一代的可编程器件,但是需要外部的配置芯片,否那么断电后,保存在RAM中的程序会丧失。这个方案特别适用于大型、高7 / 38
速、复杂系统的控制,但是本系统中,考虑到本钱和制作难易程度,没有采用这个方案。
方案二:采取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作为接收局部的主控制器。
温度检测模块方案论证与选择
方案一:采用感温型电阻作为测温模块。
一般感温型电阻会随着环境温度的升高阻值会出现下降,因此测量他们的阻值可以在经过计算之后到达测温的目的。将系统电路中测出感温电阻两端的电压,再经过A/D转换器将电压值转换成数字值,根据电压和温度的关系表可以算出实8 / 38
际室温。由此可以看出,该方案设计复杂,而且精度不高,本钱也较高。
方案二:采用温度传感器DS18B20作为测温模块。
DS18B20是单线数字式温度传感器,可实现-55°C到+125°C范围内的温度测量,适应电压范围宽,由于DS18B20为IIC器件,每个传感器都有其独有的序号,故可以实现多点组网测温功能。可编程的分辨率为9~12位,最高精度为0.0625°C,转换速度快,操作简便,只需要将数据口连接到单片机上进展编程便可以实现测温的功能。
方案选择:综合比拟,选择方案二,使用温度传感器DS18B20作为测温模块,用STC89C52RC单片机对其编程。
湿度检测模块方案论证与选择
方案一:采用温湿度传感器DHT11作为湿度检测模块。
DHT11数字温湿度传感器是一款含有已校准熟悉信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰才能强、性价比极高等优点。每个DHT11传感器都在即为准确的湿度校验室中进展校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输间隔 可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最正确选择。产品为4针单排引脚封装,连接方便。
方案二:采用湿度传感器HS1100作为湿度检测模块的核心。
HS1100是基于独特工艺设计的电容元件,它在标准环境下不需校正,可以在长时间饱和下快速脱湿,对环境湿度很敏感,其制作是自动化焊接的,包括波峰焊或水浸,具有高可靠性与长时间稳定性,可用于线性电压或频率输出回炉,反响时间快,但是其制成的电路容易受到外界其他环境的影响以致影响精度,而且制作本钱较高。
9 / 38
方案选择:综合比拟,由于DHT11制作简便,不易受到温度等环境的影响,而且本钱较低,应选择方案一,采用温湿度传感器DHT11作为湿度检测模块。
人际交互界面方案论证与选择
方案一:使用数码管进展显示。
按键用于信息输入。可采用周立功公司消费的ZLG7290芯片来配合控制器对数码管和按键进展控制,该芯片具有I2C 串行接口,只需占用控制器3个管脚,便可方便地控制数码管显示和检测按键。但是该显示过于粗糙,人机交互界面不够友好。
方案二:使用TFT彩色液晶屏显示。
TFT的显示采用“背透视〞的照射方式,使其显示效果非常出色, 3.3~5宽电压范围供电,内部有ILI9325控制器来驱动TFT,TFT采用四线制电阻屏,刷屏速度快,带有触摸屏功能,可以省去按键电路的制作。人机交互界面机器友好,操作简便,可以实时的显示温度、湿度曲线,同时TFT模块集成有SD卡模块,可以通过对SD卡的读写在屏幕上显示不同的友好界面。
方案选择:数码管不能显示汉字,而TFT带触摸功能,可省去按键,更使画面生动有趣。故人机交互界面模块选择方案二,采用TFT彩色液晶屏显示。
2.4 本章小结
10 / 38
3、 系统硬件电路设计
3.1 蓝牙硬件电路设计
本系统中核心局部是蓝牙,蓝牙在整个系统中起着传输数据的作用,并且要求可以实现与不同型号的单片机通信。本小节主要介绍蓝牙的概念、蓝牙的系统组成、蓝牙协议和HC-05蓝牙模块电路等。
蓝牙简介
蓝牙,是一种支持设备短间隔 通信〔一般10m内〕的无线电技术。能在包括挪动 、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进展无线信息交换。利用“蓝牙〞技术,可以有效地简化挪动通信终端设备之间的通信,也可以成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络构造以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM〔即工业、科学、医学〕频段。其数据速率为1Mbps。采用时分双工传输方案实现全双工传输。
蓝牙〔Bluetooth〕是由东芝、爱立信、IBM、Intel和诺基亚于1998年5月共同提出的近间隔 无线数字通信的技术标准。 其目的是实现最高数据传输速度1Mb/s〔有效传输速度为721kb/s〕、最大传输间隔 为10米,用户不必经过申请便可利用2.4GHz的ISM〔工业、科学、医学〕频带,在其上设立79个带宽为1MHz的信道,用每秒钟切换1600次的频率、滚齿方式的频谱扩散技术来实现电波的收发。
在日常应用中,电子装置彼此可以透过蓝牙而连接起来,省去了传统的电线。透过芯片上的无线接收器,配有蓝牙技术的电子产品可以在十公尺的间隔 内彼此相通,传输速度可以到达每秒钟1兆字节。以往红外线接口的传输技术需要电子装置在视线之内的间隔 ,而如今有了蓝牙技术,这样的费事也可以免除了。
11 / 38
蓝牙技术的优势:支持语音和数据传输;采用无线电技术,传输范围大,可穿透不同物质以及在物质间扩散;采用跳频展频技术,抗干扰性强,不易窃听;使用在各国都不受限制的频谱,理论上说,不存在干扰问题;功耗低;本钱低。蓝牙的优势:传输速度慢。 蓝牙的技术性能参数:有效传输间隔 为10cm~10m,增加发射功率可到达100米,甚至更远。收发器工作频率为2.45GHz ,覆盖范围是相隔1MHz的79个通道〔从2.402GHz到2.480GHz 〕。数据传输技术使用短封包,跳频展频技术,1600次/秒,防止偷听和防止干扰;每次传送一个封包,封包的大小从126~287bit;封包的内容可以是包含数据或者语音等不同效劳的资料。数据传输带宽为同步连接可到达每个方向32.6Kbps,接近于10倍典型的56kb/s Modem的模拟连接速率,异步连接允许一个方向的数据传输速率到达721kb/s,用于上载或下载,这时相反方向的速率是57.6kb/s;数据传输通道为留出3条并发的同步语音通道,每条带宽64kb/s;语音与数据也可以混合在一个通道内,提供一个64kb/s同步语音连接和一个异步数据连接。网络连接使用加密技术,同时采用口令验证连接设备,可同时与其他7个以内的设备构成蓝牙微网〔Piconet〕,1个蓝牙设备可以同时参加8个不同的微网,每个微网分别有1Mb/s的传输频宽,当2个以上的设备共享一个Channel时,就可以构成一个蓝牙微网,并由其中的一个装置主导传输量,当设备尚未参加蓝牙微网时,它先进入待机状态。
蓝牙系统组成
蓝牙系统由无线单元、链路控制单元、链路管理组成:
(1) 无线单元
蓝牙是以无线LAN的IEEE802.11标准技术为根底的,使用2.45GHz ISM全球通自由波段。蓝牙天线属于微带天线,空中接口是建立在天线电平为0dBm根底上的,遵从FCC〔美国联邦通信委员会〕有关0dBm电平的ISM频段的标准。当采用扩频技术时,其发射功率可增加到100mW。
(2) 链路控制单元
链路控制单元〔即基带〕描绘了硬件——基带链路控制器的数字信号处理标12 / 38
准。基带链路控制器负责处理基带协议和其它一些低层常规协议。
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〕 链路管理器
13 / 38
链路管理器(LM)软件模块设计了链路的数据设置、鉴权、链路硬件配置和其它一些协议。链路管理器可以发现其它蓝牙设备的链路管理器,并通过链路管理协议(LMP)建立通信联络。链路管理器提供的效劳工程包括:发送和接收数据、设备号恳求〔LM可以有效地查询和报告名称或者长度最大可达16位的设备ID〕、链路地址查询、建立连接、验证、协商并建立连接方式、确定分组类型、设置保持方式及休眠方式。
〔4〕软件构造和协议体系
A.软件构造:蓝牙设备应具有互操作性,即任何蓝牙设备之间都应可以实现互通互连,这包括硬件和软件。对于某些设备,从无线电兼容模块和空中接口,直到应用层协议和对象交换格式,都要实现互操作性;而另外一些简单的设备〔如耳机〕的要求那么宽松得多。蓝牙方案的目的就是要确保任何带有蓝牙标记的设备都能进展互换性操作。软件的互操作性始于链路级协议的多路传输、设备和效劳的发现,以及分组的分段和重组。蓝牙设备必须可以彼此识别,并通过安装适宜的软件识别出彼此支持的高层功能。互操作性要求采用一样的应用层协议栈。不同类型的蓝牙设备对兼容性有不同的要求〔如用户不能奢望头戴式设备内含有地址簿〕。蓝牙的兼容性是指它具有无线电兼容性,有语音收发才能及发现其它蓝牙设备的才能,更多的功能那么要由手机、手持设备及笔记本电脑来完成。为实现这些功能,蓝牙软件构架必须利用现有的标准,而不是再去开发新的标准。设备的兼容性要求可以适应蓝牙标准和现有的协议。 软件构造的功能有:配置及故障诊断工具、自动识别其它蓝牙设备、电缆仿真、与外网设备的通信、音频通信与呼叫控制和商用卡的交易与号簿网络协议。 蓝牙的软件体系是一个独立的操作系统,不与任何操作系统捆绑。适用于几种不同商用操作系统的蓝牙标准正在完善中。蓝牙标准接口可以直接集成到蜂窝 、笔记本电脑等设备中,也可以通过PC卡或USB接口附加设备连接。
B.协议体系:设计协议和协议栈的主要原那么是尽可能地利用现有各种高层协议,保证现有协议与蓝牙技术的交融以及各种应用之间的互通性;充分利用兼容蓝牙技术标准的软硬件系统和蓝牙技术标准的开放性,便于开发新的应用。蓝牙标准包括Core和Profiles两大局部。Core是蓝牙的核心,主要定义蓝牙的技14 / 38
术细节;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。两个蓝牙设备必须具有一样的协议组成才能进展互相的通信。
HC-05蓝牙模块
在本系统中,采用的是广州汇承公司的HC-05蓝牙模块,其具有以下功能特点:
➢ 灵敏度〔误码率〕到达-80dB
➢ 简单的外围设计电路
➢ 蓝牙版本2.0,,带EDR,调制度为2Mbps-3Mbps
➢ 内置2.4GHz天线,用户无需调试天线
➢ 外置8Mbit的Flash
➢ 低电压3.3V工作
15 / 38
➢ RoHS制程
➢ 可选PIO控制
➢ 引脚半孔工艺
➢ 自适应跳频技术
线路处理的线路中
对,初始配对密码为1234。
➢ 蓝牙Class 2功率级别
➢ CSR BC04蓝牙芯片技术
➢ 2.4GHz无线数字发射与接收
➢ USB协议:Full Speed USB1.1
该模块的电路原理图如下列图所示:
➢ 标准HCI端口〔UART或者USB〕
➢ 协波干扰:2.4MHz,发射功率:3dB
➢ 误码率:0,但会在传输链路产生信号衰变,才有误码,如RS232和TTL厂时已经配置好主机和从机的参数,上电通过自动搜索即可完成主机和从机的配该蓝牙模块具有PIO0-PIO11、AIO0、AIO1、USB、PCM、UART及SPI接口,内置8MFlash,功能强大,用户可以自己定制软件,适用于各种蓝牙设备。在出图 HC-05蓝牙模块电路原理图
16 / 38
该蓝牙包括三个模块,由于单片机是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均为10μF的去耦滤波作用的瓷片电容,二极管D1具有稳压作用。
3.2 STC89C52RC单片机硬件电路设计
本系统中,发射局部采用的是比拟常见的STC89C52RC单片机,其价格廉价,但功能强大,在发射局部起着数据采集、数据处理、与蓝牙通信等作用,本小节主要介绍STC89C52RC单片机内部资源、工作原理、系统电路设计等。
STC89C52RC芯片介绍
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单片机的功能特点如下:
17 / 38
➢ 标准的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口作为第八位地址接收。
18 / 38
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制止,置位无效。
19 / 38
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA / VPP:当/EA保持低电平时,那么在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
STC89C52RC内部构造
单片机主要有中央处理器单元〔CPU〕、存储器〔ROM和RAM〕、I/O接口和总线组成,其内部构造如下图:
基准频率源
4KB/8KB
程序存储器
计数脉冲
128/256B
数据存储器
2个16位
定时/计数器
振荡器及
定时电路
CPU〔中央处理控制器器〕
内部中断
外部中断
64KB总线扩展控制
可编程
并行I/O口
可编程
串行I/O口
控制
P0、P1、P2、P3 串行输入、输出
图 STC89C52RC内部构造图
(1) CPU〔中央处理控制器〕
CPU〔中央处理控制器〕是单片机的核心部件。它由运算器和控制器等部件组成。
20 / 38
(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口自动产生读/写〔RD/WR〕信号,通过P0口对外部数据存储器单元进展读/写操作。
STC89C52RC系统电路设计
单片机最小系统的正常工作需要有一个时钟电路和复位电路:
〔1〕时钟电路
89C52的时钟可以两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另一种方式为外部方式。本系统采用内部时钟电路。下面介绍内部时钟方式。
21 / 38
图3.2.2 89C52RC片内振荡器电路图 图3.2.3 内部时钟方式的电路图
内部有一个用于构成震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反响元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。图3.2.2是89C52片内振荡器电路。89C52虽然有内部振荡电路,但要形成时钟,必须外接元件,图是内部时钟方式的电路。外接晶体〔在频率稳定性不高,而尽可能要求廉价时,可选用陶瓷谐振器〕以及电容CX1和CX2构成并联谐振电路,接在放大器的反响回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的上下,振荡器的稳定性,起振的快速性和温度的稳定性。晶体可在1.2MHz~12MHz之间任选,电容CX1和CX2的典型值在20pF~100pF之间选择,但在60pF~70pF时振荡器有较高的频率稳定性。典型值通常选择为30pF左右。外接陶瓷谐振器时,CX1和CX2的典型值约为47pF。在设计印刷电路板时,晶体或陶瓷振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定和可靠地工作。为了进步温度稳定性,应采用温度稳定性能好的NPO高频电容。本设计采用11.0592MHz的晶振。
〔2〕复位电路
89C52RC单片机的复位输入引脚RET〔即RESET〕为单片机提供了初始化的手段。有了它可以使程序从指定处开场执行,即从程序存储器中的0000H地址单元开场执行程序。在单片机的时钟电路工作后,只要在RET引脚上出现两个机器周期以上的高电平时,单片机内部那么初始复位。只要RET保持高电平,那么单片机循环复位。只有当RET由高电平变成低电平以后,单片机才从0000H地址开场执行程序。
22 / 38
图 单片机按键电平复位电路
本系统的复位电路是采用按键复位的电路,如图3.2.4所示,是常用复位电路之一。当单片机的ALE及PSEN两引脚输出高电平,RET引脚高电平到时,单片机复位。通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源,电容C相当于瞬间短路,+5V立即加到RET/VPD端,该高电平使单片机全机自动复位,这就是上电复位;假设运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,那么直接把+5V加到了RET/VPD端从而复位称为手动复位。复位后,P0到P3并行I/O口全为高电平,其它存放器全部清零,只有SBUF存放器状态不确定。
3.3 ATmega128单片机硬件电路设计
在本系统中,由于接收局部需要对SD卡、TFT彩屏进展控制,对速度和Flash有一定的要求,经过前面的方案论证与选择,采用AVR单片机ATmega128完成对接收局部的数据处理、蓝牙通信、TFT彩屏显示和SD卡的读写等功能。本小节主要讲ATmega128单片机的内部资源、工作原理和硬件电路设计等。
ATmega128芯片介绍
ATmega128为基于AVR RISC构造的8位低功耗CMOS微处理器。由于其先进的指令集以及单周期指令执行时间, ATmega128 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR 内核具有丰富的指令集和32 个通用工作存放器。所有的存放器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的存放器。这种构造大大进步了代码效率,并且具有比普通的复杂指令集微处理器高10 倍的数据吞吐率。23 / 38
ATmega128是以Atmel 的高密度非易失性内存技术消费的。片内 ISP Flash 可以通过SPI 接口、通用编程器,或引导程序屡次编程。引导程序可以使用任何接口来下载应用程序到应用Flash存储器。在更新应用Flash存储器时引导Flash区的程序继续运行,实现RWW操作。通过将8 位RISC CPU 与系统内可编程的Flash
集成在一个芯片内, ATmega128 为许多嵌入式控制应用提供了灵敏而低本钱的方案。
ATmega128单片机的功能特点如下:
➢ 高性能、低功耗的AVR 8位微处理器
➢ 先进的RISC构造
133条指令大多数可以在一个时钟周期内完成
32x8 个通用工作存放器+外设控制存放器
全静态工作
工作于16 MHz 时性能高达16 MIPS
只需两个时钟周期的硬件乘法器
➢ 非易失性的程序和数据存储器
128K 字节的系统内可编程Flash
寿命: 10,000 次写/ 擦除周期
具有独立锁定位、可选择的启动代码区
通过片内的启动程序实现系统内编程
4K字节的EEPROM
4K 字节的内部SRAM
多达64K 字节的优化的外部存储器空间
可以对锁定位进展编程以实现软件加密
可以通过SPI 实现系统内编程
➢ JTAG 接口( 与IEEE 1149.1 标准兼容)
遵循JTAG 标准的边界扫描功能
支持扩展的片内调试
通过JTAG 接口实现对Flash, EEPROM, 熔丝位和锁定位的编程
➢ 外设特点
24 / 38
两个具有独立的预分频器和比拟器功能的8 位定时器/ 计数器
两个具有预分频器、比拟功能和捕捉功能的16 位定时器/ 计数器
具有独立预分频器的实时时钟计数器
两路8 位PWM
6路分辨率可编程〔2 到16 位〕的PWM
输出比拟调制器
8路10 位ADC
面向字节的两线接口
两个可编程的串行USART
可工作于主机/ 从机形式的SPI 串行接口
具有独立片内振荡器的可编程看门狗定时器
片内模拟比拟器
➢ 特殊的处理器特点
上电复位以及可编程的掉电检测
片内经过标定的RC 振荡器
片内/ 片外中断源
6种睡眠形式: 空闲形式、ADC 噪声抑制形式、省电形式、掉电形式、Standby 形式以及扩展的Standby 形式
可以通过软件进展选择的时钟频率
通过熔丝位可以选择ATmega103 兼容形式
全局上拉制止功能
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 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,假设内部上拉电阻使能,那么端口被外部电路拉低时将输出电流。复位发生时端口 为三态。25 / 38
这些端口在其他情况下有特殊功能,在此不一一列举。
RESET:复位输入引脚。超过最小门限时间的低电平将引起系统复位,低于此时间的脉冲不能保证可靠复位。
XTAL1:反向振荡器放大器及片内时钟操作电路的输入。
XTAL2:反向振荡器放大器的输出。
AVCC:AVCC为端口F以及ADC转换器的电源,需要与VCC相连接,即使没有使用ADC也应该如此。使用ADC 时应该通过一个低通滤波器与VCC 连接。
AREF :AREF 为ADC 的模拟基准输入引脚。
PEN :PEN是SPI串行下载的使能引脚。在上电复位时保持PEN为低电平将使器件进入SPI串行下载形式。在正常工作过程中PEN 引脚没有其他功能。
ATmega128内部构造
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内核的子系统相连,如通用工作存放器文件、26 / 38
状态存放器以及保存堆栈指针的数据存储器。终止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 复位。
外部复位: 当复位引脚上的低电平持续时间大于最小脉冲宽度时MCU 复位。
看门狗复位:当看门狗使能并且看门狗定时器超时时复位发生。
掉电检测复位:当掉电检测复位功能使能,且电源电压低于掉电检测复位门限(VBOT) 时MCU 即复位。
JTAG AVR复位:当复位存放器为1 时MCU即复位。
(5) I/O端口
所有AVR I/O端口都具有真正的读-修改-写功能。有以下3个8位存放器用于控制I/O端口的设置:
端口方向控制存放器DDRx
27 / 38
数据存放器PORTx
输入引脚存放器PINx
(6) 定时器/计数器〔T/C〕
ATmega128内有四个定时器/计数器,其中包括8位的定时器/计数器0〔T/C0〕和定时器/计数器2〔T/C2〕、16位的定时器/计数器1〔T/C1〕和定时器/计数器3〔T/C3〕。
除以上主要资源外,ATmega128还输出比拟调制器、串行通信接口〔SPI〕、两线串行接口〔TWI〕、USART、模拟比拟器和数模转换器〔A/D〕等。
ATmega128系统电路设计
在本系统中,ATmega128控制板采用最小系统形式,包括ISP、JTAG仿真接口电路、USB供电及通信电和引脚扩展电路。晶振采用16MHz和8MHz两种形式,可以根据跳线的接法设置不同的晶振源,在本系统设计中晶振采用8MHz。系统采用供电和下载于一体的ISP〔在线系统编程〕接口,无需将存储芯片从设备上取出就能对其进展编程,其优点是:即使器件焊接在电路板上,仍可对其〔重新〕进展编程。系统也设置有JTAG仿真接口,它的编程方式是在线编程,利用边界扫描技术,设置快捷。在本系统中由于需要下载到存储器中,故采用ISP下载形式,其接口电路如下图:
图
ISP和JTAG接口电路
系统复位电路和晶振电路如下列图所示,晶振采用8MHz外接33pF电容构成并联谐振电路,复位电路与89C52单片机不同,ATmega128采用的是低电平复位,在VCC和GND之间接一个开关二极管4148,起着保护电路的作用,当按键28 / 38
按下时,ATmega128单片时机进入复位,默认状态下复位端为高电平。
图 ATmega128复位电路 图 ATmega128晶振电路
3.4 显示局部硬件电路设计
在本系统中,发射局部采用12864液晶来显示当前环境中的温度、湿度数据,接收局部采用3.5寸TFT彩色液晶屏来显示接收到的温度、湿度数据和曲线,并且完成触摸屏功能和SD卡内容显示。
12864液晶硬件电路设计
FYD12864是一种具有4位/8位并行、2线或者3线串行多种接口方式,内部含有国际一级、二级简码中文字库的点阵图形液晶显示模块;其显示分辨率128x64,内置8192个16x16点的汉字,和128个16x8点的ASCII字符集。利用该模块灵敏的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8x4行16x16点阵的汉字,也可以完成图形显示。由该模块构成的液晶显示方案与同类型的图形点阵相比,不管硬件电路构造或显示程序都要简介得多,其具有以下根本特性:
➢ 低电源电压〔VDD:+3.0 – +5.5V〕
➢ 显示分辨率:128x64点
➢ 内置汉字字库,提供8192个16x16点阵汉字〔简繁体可选〕
➢ 内置128个16x8点阵字符
➢ 2MHz时钟频率
29 / 38
➢ 显示方式:STN、半透、正显
➢ 驱动方式:1/32DUTY,1/5BIAS
➢ 视角方向:6点
➢ 通讯方式:串行、并行可选
➢ 内置DC-DC转换电路,无需外加负压
➢ 无需片选信号,简化软件设计
12864液晶共有40个管脚,其中接串口的时候只需将15脚〔PSB〕置低电平即可,第4脚〔CS〕为模组片选端,高电平有效。第5脚〔SID〕为串行数据输入端,第6脚为〔CLK〕为串行同步时钟,在上升沿是读取SID的数据。在做并行接口的时候7-14脚为并行数据端口,第4脚〔RS〕为数据和指令的选择端,RS为高时表示数据端口显示数据,RS为低时表示数据端口显示命令。第5脚〔R/W〕为数据的读写控制端,当R/W为高时数据被读到数据端口,当R/W为低时数据写到数据端口。第6脚〔E〕为高电平有效的液晶使能端。第15脚〔PSB〕此时应该设置为高电平,选择并行数据方式。
在本系统中采用发射端采用的是并行数据方式的12864液晶,电路图如下图,液晶的1、2脚接地和+5V电源,由于该液晶的比照度由第3脚的电压控制,故在第3脚接一个滑动变阻器以方便调节比照度,19、20脚接背光+5V电源和地。第17脚为驱动电压输出端,在本系统中不需要用到,故悬空。
图 12864液晶电路图
3.5寸TFT彩色液晶屏硬件电路设计
本系统接收局部的显示局部采用3.5寸TFT彩色液晶屏来完成人机交互的功30 / 38
能,彩色液晶屏可结合文字或2D 图形应用。其特有的BTE 功能,能让用户轻松完成各类图形文字处理功能,进步MCU 软件执行效率。并且该模块能支持8-bit 或16-bit 数据总线,类似单色屏的操作形式能让用户轻松晋级产品显示界面。其主要特点如下:
➢ 支持65K 色的320*240 单图层显示
➢ 最高支持2x16M 的FLASH 存储,可快速存储调用图片。
➢ 支持MCU界面:8-bit 或16-bit 数据总线,支持SPI 串口
➢ 支持程度和垂直区域卷动
➢ 支持2D 的BTE 引擎,可用于处理大量图形数据转换
➢ 支持PWM 背光亮度控制
➢ 支持几何图形加速绘图引擎
➢ 支持文字和绘图两种混和显示形式
本系统中的TFT模块可以直接由8位单片机驱动,但其接口安装方式目前一般采用排列比拟密集的柔性PCB电缆直接焊接方式,因此一般用户在将TFT模块和8位单片机连接的时候会遇到困难,为理解决这个问题,一般将TFT模块粘贴在一小块PCB板上,柔性PCB电缆也焊接在PCB上,并且通过2.54mm标准间距的插针引出,这样用户可以用杜邦线〔一种两头带2.54mm插头的软连接电线〕完成TFT模块和8位单片机的连接了,非常的方便,同时PCB板四角带有安装孔,安装也比拟方便。
31 / 38
异步中断的方式向单片机发送触摸电压信号。
接口,5个TFT控制接口和4个SD卡读写控制口。
图 液晶模块与ATmega128连接电路原理图
3.5 温度传感器DS18B20硬件电路设计
3.3V,模块中附带的SD卡与TFT别分开来,方便用户在编程时选择是否用到SD次逼近式比拟存放器ADC构架上集成了用于驱动触摸屏的低通阻抗开关,采用 TFT模块其数据和控制接口的电平都是3.3V,由于ATmega128单片机是5V出,因此从主机CPU到DSl820仅需一条数据线,DSl820的电源可以由数据线本身提供而不需要外部电源。每一个DSl820在出厂时已经给定了唯一的序号,因机连接电路图如下图,其中可操作的I/O口包括2个8位数据口,6个触摸控制逻辑电平,因此在液晶屏底板接了一个LMS1117-3.3稳压芯片,将5V电平降为卡。该模块有40个引脚,直接与ATmega128单片机相连,其与ATmega128单片系统的温度数据采集局部采用高精度的温度传感器DS18B20,其提供9位(二TFT彩色液晶屏内部由一个12位逐次逼近型A/D转换器,其在一个12位逐进制)温度读数,指示器件的温度。信息经过单线接口送入DSl820或从DSl820送32 / 38
此任意多个DSl820可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。DSl820的测量范围从-55℃到+125℃,增量值为0.5℃,可在l s(典型值)内把温度变换成数字。其主要有以下特点:
➢ 独特的单线接口,仅需一个端口引脚进展通信
➢ 简单的多点分布应用
➢ 无需外部器件
➢ 可通过数据线供电
➢ 零待机功耗
➢ 温度以9位数字量读出
➢ 温度数字量转换时间为200ms〔典型值〕
➢ 用户可定义的非易失性温度报警设置
➢ 报警搜索命令识别并标志超过程序限定温度的器件
➢ 应用包括温度控制、工业控制、消费品、温度计或任何热感检测系统
DS18B20内部构造如下图,主要由四局部组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置存放器。该装置信号线高的时候,内部电容器储存能量通由通信线路给芯片供电,而且在低电平期间为芯片供电直至下一个高电平的到来重新充电。其四局部工作原理如下:
(1) 64位光刻ROM
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开场8位〔28H〕是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码〔CRC=X8+X5+X4+1〕。光刻ROM的作用是使每一个DS18B20都各不一样,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2) 温度传感器
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
(3) 非挥发的温度报警触发器TH和TL
33 / 38
DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和构造存放器。
(4) 配置存放器
配置存放器是配置不同的位数来确定温度和数字的转化。
64位ROM和单线接
高速
缓存
存储器
高温触发器TH
低温触发器TL
存储器和控制器
温度灵敏元件
电源检测口
DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流缺乏的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否那么不能转换温度,读取的温度总是85 ℃。其与单片机相连接的电路如下图:
配置存放器
8位CRC生成器
图 DS18B20内部构造图
图 DS18B20与单片机连接电路图
34 / 38
3.6 湿度传感器DHT11硬件电路设计
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰才能强、性价比极高等优点。每个DHT11传感器都在极为准确的湿度校验室中进展校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输间隔 可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最正确选那么。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。DHT11具有以下特点:
➢ 相对湿度和温度测量
➢ 全部校准,数字输出
➢ 卓越的长期稳定性
➢ 无需额外部件
➢ 超长的信号传输间隔
➢ 超低能耗
➢ 4 引脚安装
➢ 完全互换
接口说明 :建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用适宜的上拉电阻
电源引脚 :DHT11的供电电压为 3-5.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚〔VDD,GND〕之间可增加一个100nF 的电容,用以去耦滤波。
串行接口〔单线双向〕:DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数局部和整数局部,详细格式在下面说明,当前小数局部用于以后扩展,现读出为零。
35 / 38
在本系统中,只用到DHT11的湿度特性,DHT11和DS18B20不同,不可以通过数据线来获得电源,因此要单独接+5V电源,同时在数据端口加一个4.7kΩ的上拉电阻用来增强驱动才能。其与单片机连接的电路图如下图:
图3.6.1 DHT11与单片机连接电路原理图
3.7 本章小结
本章主要介绍了蓝牙、STC89C52RC单片机、ATmega128单片机、显示局部、温度传感器和湿度传感器的硬件电路设计,详述了设计的原理、方法以及目的,为整个系统的设计提供了良好的设计思路。
36 / 38
4、 软件设计
37 / 38
5、系统测试
6、总结
参考文献
谢辞
附录A:实物图片
附录B:程序清单
38 / 38
2024年3月6日发(作者:汪平乐)
毕业设计(论文)
题 目:基于蓝牙的环境监测系统设计
学院名称: 电气工程学院
指导老师:
职 称:
班 级:通信工程专业2021级01班
学 号:
学生姓名:
2021年05月15日
1 / 38
目 录
1、
前言.................................................................................................................. 4
1.1
蓝牙技术的开展 .......................................................................................... 4
2、
系统设计.......................................................................................................... 6
2.1
设计思路 ...................................................................................................... 6
2.2
系统组成 ...................................................................................................... 6
2.3
系统方案论证与选择 .................................................................................. 7
控制器方案论证与选择.................................................................... 7
温度检测模块方案论证与选择........................................................ 8
湿度检测模块方案论证与选择........................................................ 9
人际交互界面方案论证与选择...................................................... 10
2.4
本章小结 .................................................................................................... 10
3、
系统硬件电路设计........................................................................................ 11
3.1
蓝牙硬件电路设计 .................................................................................... 11
蓝牙简介.......................................................................................... 11
蓝牙系统组成.................................................................................. 12
HC-05蓝牙模块 ............................................................................... 15
3.2
STC89C52RC单片机硬件电路设计 ........................................................... 17
STC89C52RC芯片介绍 .................................................................... 17
STC89C52RC内部构造 .................................................................... 20
STC89C52RC系统电路设计 ............................................................ 21
3.3
ATmega128单片机硬件电路设计 ............................................................ 23
ATmega128芯片介绍 ...................................................................... 23
ATmega128内部构造 ..................................................................... 26
ATmega128系统电路设计 .............................................................. 28
3.4
显示局部硬件电路设计 ............................................................................ 29
12864液晶硬件电路设计 .............................................................. 29
3.5寸TFT彩色液晶屏硬件电路设计 ............................................ 30
2 / 38
3.5
温度传感器DS18B20硬件电路设计 ....................................................... 32
3.6
湿度传感器DHT11硬件电路设计 ........................................................... 35
3.7
本章小结 .................................................................................................... 36
4、
软件设计........................................................................................................ 37
5、系统测试 ............................................................................................................... 38
6、总结 ....................................................................................................................... 38
参考文献...................................................................................................................... 38
谢辞.............................................................................................................................. 38
附录A:实物图片 ......................................................................................................... 38
附录B:程序清单 ...................................................................................................... 38
3 / 38
1、 前言
1.1 蓝牙技术的开展
蓝牙〔Bluetooth〕是一种全球统一开放式短间隔 无线连接技术。1998年5月,爱立信、诺基亚、东芝、IBM和英特尔公司等五家著名厂商,在结合开展短程无线通信技术的标准化活动时提出了蓝牙技术,其宗旨是提供一种短间隔 、低本钱的无线传输应用技术。这五家厂商还成立了蓝牙特别兴趣组,以使蓝牙技术可以成为将来的无线通信标准。芯片霸主Intel公司负责半导体芯片和传输软件的开发,爱立信负责无线射频和挪动 软件的开发,IBM和东芝负责笔记本电脑接口规格的开发。1999年下半年,著名的业界巨头微软、摩托罗拉、三康、朗讯与蓝牙特别小组的五家公司共同发起成立了蓝牙技术推广组织,从而在全球范围内掀起了一股“蓝牙〞热潮。全球业界即将开发一大批蓝牙技术的应用产品,使蓝牙技术呈现出极其广阔的市场前景,并预示着21世纪初将迎来波澜壮阔的全球无线通信浪潮。
产品的日益丰富以及价格程度的不断降低使蓝牙这项技术变得越来越有人缘。根据研究机构Millward Brown的一份最新调查结果显示:在全球消费者对于主流传输技术的认知程度和整体印象中,蓝牙以85%高居榜首,排在第二位和第三位的分别是57%的USB和53%的Wi-Fi。可见蓝牙已经完完全全融入我们的生活,并让我们的生活变得更加轻松。
蓝牙的数据传输技术在随着蓝牙的广泛应用在不断的开展,也应用在环境监测方面。传统的环境监测系统中,一般测试点到控制器的接线为点到点的方式,接线复杂、布线困难,存在抗干扰才能差、工作不稳定、系统测试精度低等问题。假如周边环境恶劣,会导致线缆的腐蚀和老化,从而降低了系统的可靠性和抗干扰性。环境中有一些分散的传感器,这些设备可能会随着环境的改变而调整,同时错综复杂的线缆也需要重新铺设,工作量较大,因此考虑应用蓝牙无线技术解决这类问题。
蓝牙无线技术对我国的信息化建立来说,既是挑战也是机遇。蓝牙无线4 / 38
技术可以允许手机 、便携设备、个人电脑、笔记本电脑和第三方的接入设备互相连接在一起。几乎每一种带有微控制器的产品都将有望提供蓝牙技术支持,每一部挪动 、每一台手持设备或计算机产品都将配置蓝牙接口。甚至车辆中也会装备数个蓝牙接口,以实现非接触式诊断、车辆遥控或被窃车辆跟踪等。可能应用的形式几乎可以深化到全球的各个角落和浸透到各个领域。
环境监测的核心目的是提供代表环境质量现状及变化趋势的数据,判断环境质量,评价当前主要环境问题,为环境管理效劳。环境监测是科学管理环境和环境执法监视的根底。环境监测是环境保护必不可少的根底性工作。它及时、准确、全面地反映环境质量及开展趋势,为环境规划与管理、环境影响与评价、污染控制及政府宏观决策提供科学根据。因此环境监测的意义重大。
5 / 38
2、 系统设计
2.1 设计思路
本系统以STC89C52RC和ATmega128两款单片机芯片作为发送和接收两局部的主控制器,发送局部实现对环境温度和湿度的数据采集,并通过蓝牙模块发送到接收机上。接收局部实现对蓝牙模块接收到的数据进展处理,并在3.2寸TFT上实时的显示温度和湿度曲线,同时完成TFT上的触摸菜单项选择择功能。
整个系统的通信方式有两种,一种是处理器和蓝牙之间的通信,比方将采集的数据经过处理发送给蓝牙模块传送出去;另外一种是不同型号的处理器之间的通信,在本系统中使用STC89C52RC和ATmega128两款不同型号的单片机之间的串口通信。系统的根本框图如下图:
温度采集
TFT曲线显示
湿度采集89C52RC
控制器
蓝牙蓝牙ATmega128
控制器
2.2 系统组成
系统主要分为发射和接收两大局部,发射局部的控制器主要实现对蓝牙发送AT指令设置其工作方式使其发送数据、对温度传感器DS18B20和湿度传感器DHT11进展读写操作和通过并行口完成对12864液晶的读写控制,使其将温湿度6 / 38
温湿度显示
TFT按键控制
发送局部
图2.1.1 系统根本框图
接收局部
实时地显示出来。温度传感器和湿度传感器主要根据对外界的温度、湿度进展检测,并在控制器发出数据采集指令后将采集的温湿度数据传送给单片机进展处理。接收局部的控制机主要实现对蓝牙发送AT指令设置其工作方式并接收发射端的数据、对TFT彩屏完成静态显示、刷屏、温湿度曲线显示等、对SD卡的读写和触摸屏的中断操作的功能。发射和接收局部的功能构造图如下图:
DHT11
湿度数据采集
DS18B20
温度数据采集
液晶显示
按键
串口通信
蓝牙数据传输
发射局部
接收局部
单片机
数据运算
SPI读写操作
按键处理
单片机
数据运算
SPI读写操作
中断设置
串口通信
SD卡读、写协议
TFT静态显示
TFT实时显示
TFT触摸屏菜单构造
蓝牙数据传输
图系统功能构造图
2.3 系统方案论证与选择
控制器方案论证与选择
方案一:采取FPGA或者CPLD控制。
近年来,可编程器件开展很快,在很多方面都得到了广泛的应用。采用大规模的可编程器件来完成系统的控制是一种很不错的解决方案,它具有体积小、改动灵敏的特点。用它们作为系统的“神经中枢〞,可以采用VHDL或者Verilog语言来描绘。但是一般来说,复杂可编程逻辑器件CPLD(Complex Programmable
Logic Device)集成的门数目不会很多。现场可编程门阵列FPGA(Field
Programmable Gate Array) 是新一代的可编程器件,但是需要外部的配置芯片,否那么断电后,保存在RAM中的程序会丧失。这个方案特别适用于大型、高7 / 38
速、复杂系统的控制,但是本系统中,考虑到本钱和制作难易程度,没有采用这个方案。
方案二:采取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作为接收局部的主控制器。
温度检测模块方案论证与选择
方案一:采用感温型电阻作为测温模块。
一般感温型电阻会随着环境温度的升高阻值会出现下降,因此测量他们的阻值可以在经过计算之后到达测温的目的。将系统电路中测出感温电阻两端的电压,再经过A/D转换器将电压值转换成数字值,根据电压和温度的关系表可以算出实8 / 38
际室温。由此可以看出,该方案设计复杂,而且精度不高,本钱也较高。
方案二:采用温度传感器DS18B20作为测温模块。
DS18B20是单线数字式温度传感器,可实现-55°C到+125°C范围内的温度测量,适应电压范围宽,由于DS18B20为IIC器件,每个传感器都有其独有的序号,故可以实现多点组网测温功能。可编程的分辨率为9~12位,最高精度为0.0625°C,转换速度快,操作简便,只需要将数据口连接到单片机上进展编程便可以实现测温的功能。
方案选择:综合比拟,选择方案二,使用温度传感器DS18B20作为测温模块,用STC89C52RC单片机对其编程。
湿度检测模块方案论证与选择
方案一:采用温湿度传感器DHT11作为湿度检测模块。
DHT11数字温湿度传感器是一款含有已校准熟悉信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰才能强、性价比极高等优点。每个DHT11传感器都在即为准确的湿度校验室中进展校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输间隔 可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最正确选择。产品为4针单排引脚封装,连接方便。
方案二:采用湿度传感器HS1100作为湿度检测模块的核心。
HS1100是基于独特工艺设计的电容元件,它在标准环境下不需校正,可以在长时间饱和下快速脱湿,对环境湿度很敏感,其制作是自动化焊接的,包括波峰焊或水浸,具有高可靠性与长时间稳定性,可用于线性电压或频率输出回炉,反响时间快,但是其制成的电路容易受到外界其他环境的影响以致影响精度,而且制作本钱较高。
9 / 38
方案选择:综合比拟,由于DHT11制作简便,不易受到温度等环境的影响,而且本钱较低,应选择方案一,采用温湿度传感器DHT11作为湿度检测模块。
人际交互界面方案论证与选择
方案一:使用数码管进展显示。
按键用于信息输入。可采用周立功公司消费的ZLG7290芯片来配合控制器对数码管和按键进展控制,该芯片具有I2C 串行接口,只需占用控制器3个管脚,便可方便地控制数码管显示和检测按键。但是该显示过于粗糙,人机交互界面不够友好。
方案二:使用TFT彩色液晶屏显示。
TFT的显示采用“背透视〞的照射方式,使其显示效果非常出色, 3.3~5宽电压范围供电,内部有ILI9325控制器来驱动TFT,TFT采用四线制电阻屏,刷屏速度快,带有触摸屏功能,可以省去按键电路的制作。人机交互界面机器友好,操作简便,可以实时的显示温度、湿度曲线,同时TFT模块集成有SD卡模块,可以通过对SD卡的读写在屏幕上显示不同的友好界面。
方案选择:数码管不能显示汉字,而TFT带触摸功能,可省去按键,更使画面生动有趣。故人机交互界面模块选择方案二,采用TFT彩色液晶屏显示。
2.4 本章小结
10 / 38
3、 系统硬件电路设计
3.1 蓝牙硬件电路设计
本系统中核心局部是蓝牙,蓝牙在整个系统中起着传输数据的作用,并且要求可以实现与不同型号的单片机通信。本小节主要介绍蓝牙的概念、蓝牙的系统组成、蓝牙协议和HC-05蓝牙模块电路等。
蓝牙简介
蓝牙,是一种支持设备短间隔 通信〔一般10m内〕的无线电技术。能在包括挪动 、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进展无线信息交换。利用“蓝牙〞技术,可以有效地简化挪动通信终端设备之间的通信,也可以成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络构造以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM〔即工业、科学、医学〕频段。其数据速率为1Mbps。采用时分双工传输方案实现全双工传输。
蓝牙〔Bluetooth〕是由东芝、爱立信、IBM、Intel和诺基亚于1998年5月共同提出的近间隔 无线数字通信的技术标准。 其目的是实现最高数据传输速度1Mb/s〔有效传输速度为721kb/s〕、最大传输间隔 为10米,用户不必经过申请便可利用2.4GHz的ISM〔工业、科学、医学〕频带,在其上设立79个带宽为1MHz的信道,用每秒钟切换1600次的频率、滚齿方式的频谱扩散技术来实现电波的收发。
在日常应用中,电子装置彼此可以透过蓝牙而连接起来,省去了传统的电线。透过芯片上的无线接收器,配有蓝牙技术的电子产品可以在十公尺的间隔 内彼此相通,传输速度可以到达每秒钟1兆字节。以往红外线接口的传输技术需要电子装置在视线之内的间隔 ,而如今有了蓝牙技术,这样的费事也可以免除了。
11 / 38
蓝牙技术的优势:支持语音和数据传输;采用无线电技术,传输范围大,可穿透不同物质以及在物质间扩散;采用跳频展频技术,抗干扰性强,不易窃听;使用在各国都不受限制的频谱,理论上说,不存在干扰问题;功耗低;本钱低。蓝牙的优势:传输速度慢。 蓝牙的技术性能参数:有效传输间隔 为10cm~10m,增加发射功率可到达100米,甚至更远。收发器工作频率为2.45GHz ,覆盖范围是相隔1MHz的79个通道〔从2.402GHz到2.480GHz 〕。数据传输技术使用短封包,跳频展频技术,1600次/秒,防止偷听和防止干扰;每次传送一个封包,封包的大小从126~287bit;封包的内容可以是包含数据或者语音等不同效劳的资料。数据传输带宽为同步连接可到达每个方向32.6Kbps,接近于10倍典型的56kb/s Modem的模拟连接速率,异步连接允许一个方向的数据传输速率到达721kb/s,用于上载或下载,这时相反方向的速率是57.6kb/s;数据传输通道为留出3条并发的同步语音通道,每条带宽64kb/s;语音与数据也可以混合在一个通道内,提供一个64kb/s同步语音连接和一个异步数据连接。网络连接使用加密技术,同时采用口令验证连接设备,可同时与其他7个以内的设备构成蓝牙微网〔Piconet〕,1个蓝牙设备可以同时参加8个不同的微网,每个微网分别有1Mb/s的传输频宽,当2个以上的设备共享一个Channel时,就可以构成一个蓝牙微网,并由其中的一个装置主导传输量,当设备尚未参加蓝牙微网时,它先进入待机状态。
蓝牙系统组成
蓝牙系统由无线单元、链路控制单元、链路管理组成:
(1) 无线单元
蓝牙是以无线LAN的IEEE802.11标准技术为根底的,使用2.45GHz ISM全球通自由波段。蓝牙天线属于微带天线,空中接口是建立在天线电平为0dBm根底上的,遵从FCC〔美国联邦通信委员会〕有关0dBm电平的ISM频段的标准。当采用扩频技术时,其发射功率可增加到100mW。
(2) 链路控制单元
链路控制单元〔即基带〕描绘了硬件——基带链路控制器的数字信号处理标12 / 38
准。基带链路控制器负责处理基带协议和其它一些低层常规协议。
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〕 链路管理器
13 / 38
链路管理器(LM)软件模块设计了链路的数据设置、鉴权、链路硬件配置和其它一些协议。链路管理器可以发现其它蓝牙设备的链路管理器,并通过链路管理协议(LMP)建立通信联络。链路管理器提供的效劳工程包括:发送和接收数据、设备号恳求〔LM可以有效地查询和报告名称或者长度最大可达16位的设备ID〕、链路地址查询、建立连接、验证、协商并建立连接方式、确定分组类型、设置保持方式及休眠方式。
〔4〕软件构造和协议体系
A.软件构造:蓝牙设备应具有互操作性,即任何蓝牙设备之间都应可以实现互通互连,这包括硬件和软件。对于某些设备,从无线电兼容模块和空中接口,直到应用层协议和对象交换格式,都要实现互操作性;而另外一些简单的设备〔如耳机〕的要求那么宽松得多。蓝牙方案的目的就是要确保任何带有蓝牙标记的设备都能进展互换性操作。软件的互操作性始于链路级协议的多路传输、设备和效劳的发现,以及分组的分段和重组。蓝牙设备必须可以彼此识别,并通过安装适宜的软件识别出彼此支持的高层功能。互操作性要求采用一样的应用层协议栈。不同类型的蓝牙设备对兼容性有不同的要求〔如用户不能奢望头戴式设备内含有地址簿〕。蓝牙的兼容性是指它具有无线电兼容性,有语音收发才能及发现其它蓝牙设备的才能,更多的功能那么要由手机、手持设备及笔记本电脑来完成。为实现这些功能,蓝牙软件构架必须利用现有的标准,而不是再去开发新的标准。设备的兼容性要求可以适应蓝牙标准和现有的协议。 软件构造的功能有:配置及故障诊断工具、自动识别其它蓝牙设备、电缆仿真、与外网设备的通信、音频通信与呼叫控制和商用卡的交易与号簿网络协议。 蓝牙的软件体系是一个独立的操作系统,不与任何操作系统捆绑。适用于几种不同商用操作系统的蓝牙标准正在完善中。蓝牙标准接口可以直接集成到蜂窝 、笔记本电脑等设备中,也可以通过PC卡或USB接口附加设备连接。
B.协议体系:设计协议和协议栈的主要原那么是尽可能地利用现有各种高层协议,保证现有协议与蓝牙技术的交融以及各种应用之间的互通性;充分利用兼容蓝牙技术标准的软硬件系统和蓝牙技术标准的开放性,便于开发新的应用。蓝牙标准包括Core和Profiles两大局部。Core是蓝牙的核心,主要定义蓝牙的技14 / 38
术细节;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。两个蓝牙设备必须具有一样的协议组成才能进展互相的通信。
HC-05蓝牙模块
在本系统中,采用的是广州汇承公司的HC-05蓝牙模块,其具有以下功能特点:
➢ 灵敏度〔误码率〕到达-80dB
➢ 简单的外围设计电路
➢ 蓝牙版本2.0,,带EDR,调制度为2Mbps-3Mbps
➢ 内置2.4GHz天线,用户无需调试天线
➢ 外置8Mbit的Flash
➢ 低电压3.3V工作
15 / 38
➢ RoHS制程
➢ 可选PIO控制
➢ 引脚半孔工艺
➢ 自适应跳频技术
线路处理的线路中
对,初始配对密码为1234。
➢ 蓝牙Class 2功率级别
➢ CSR BC04蓝牙芯片技术
➢ 2.4GHz无线数字发射与接收
➢ USB协议:Full Speed USB1.1
该模块的电路原理图如下列图所示:
➢ 标准HCI端口〔UART或者USB〕
➢ 协波干扰:2.4MHz,发射功率:3dB
➢ 误码率:0,但会在传输链路产生信号衰变,才有误码,如RS232和TTL厂时已经配置好主机和从机的参数,上电通过自动搜索即可完成主机和从机的配该蓝牙模块具有PIO0-PIO11、AIO0、AIO1、USB、PCM、UART及SPI接口,内置8MFlash,功能强大,用户可以自己定制软件,适用于各种蓝牙设备。在出图 HC-05蓝牙模块电路原理图
16 / 38
该蓝牙包括三个模块,由于单片机是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均为10μF的去耦滤波作用的瓷片电容,二极管D1具有稳压作用。
3.2 STC89C52RC单片机硬件电路设计
本系统中,发射局部采用的是比拟常见的STC89C52RC单片机,其价格廉价,但功能强大,在发射局部起着数据采集、数据处理、与蓝牙通信等作用,本小节主要介绍STC89C52RC单片机内部资源、工作原理、系统电路设计等。
STC89C52RC芯片介绍
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单片机的功能特点如下:
17 / 38
➢ 标准的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口作为第八位地址接收。
18 / 38
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制止,置位无效。
19 / 38
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA / VPP:当/EA保持低电平时,那么在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
STC89C52RC内部构造
单片机主要有中央处理器单元〔CPU〕、存储器〔ROM和RAM〕、I/O接口和总线组成,其内部构造如下图:
基准频率源
4KB/8KB
程序存储器
计数脉冲
128/256B
数据存储器
2个16位
定时/计数器
振荡器及
定时电路
CPU〔中央处理控制器器〕
内部中断
外部中断
64KB总线扩展控制
可编程
并行I/O口
可编程
串行I/O口
控制
P0、P1、P2、P3 串行输入、输出
图 STC89C52RC内部构造图
(1) CPU〔中央处理控制器〕
CPU〔中央处理控制器〕是单片机的核心部件。它由运算器和控制器等部件组成。
20 / 38
(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口自动产生读/写〔RD/WR〕信号,通过P0口对外部数据存储器单元进展读/写操作。
STC89C52RC系统电路设计
单片机最小系统的正常工作需要有一个时钟电路和复位电路:
〔1〕时钟电路
89C52的时钟可以两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另一种方式为外部方式。本系统采用内部时钟电路。下面介绍内部时钟方式。
21 / 38
图3.2.2 89C52RC片内振荡器电路图 图3.2.3 内部时钟方式的电路图
内部有一个用于构成震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反响元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。图3.2.2是89C52片内振荡器电路。89C52虽然有内部振荡电路,但要形成时钟,必须外接元件,图是内部时钟方式的电路。外接晶体〔在频率稳定性不高,而尽可能要求廉价时,可选用陶瓷谐振器〕以及电容CX1和CX2构成并联谐振电路,接在放大器的反响回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的上下,振荡器的稳定性,起振的快速性和温度的稳定性。晶体可在1.2MHz~12MHz之间任选,电容CX1和CX2的典型值在20pF~100pF之间选择,但在60pF~70pF时振荡器有较高的频率稳定性。典型值通常选择为30pF左右。外接陶瓷谐振器时,CX1和CX2的典型值约为47pF。在设计印刷电路板时,晶体或陶瓷振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定和可靠地工作。为了进步温度稳定性,应采用温度稳定性能好的NPO高频电容。本设计采用11.0592MHz的晶振。
〔2〕复位电路
89C52RC单片机的复位输入引脚RET〔即RESET〕为单片机提供了初始化的手段。有了它可以使程序从指定处开场执行,即从程序存储器中的0000H地址单元开场执行程序。在单片机的时钟电路工作后,只要在RET引脚上出现两个机器周期以上的高电平时,单片机内部那么初始复位。只要RET保持高电平,那么单片机循环复位。只有当RET由高电平变成低电平以后,单片机才从0000H地址开场执行程序。
22 / 38
图 单片机按键电平复位电路
本系统的复位电路是采用按键复位的电路,如图3.2.4所示,是常用复位电路之一。当单片机的ALE及PSEN两引脚输出高电平,RET引脚高电平到时,单片机复位。通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源,电容C相当于瞬间短路,+5V立即加到RET/VPD端,该高电平使单片机全机自动复位,这就是上电复位;假设运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,那么直接把+5V加到了RET/VPD端从而复位称为手动复位。复位后,P0到P3并行I/O口全为高电平,其它存放器全部清零,只有SBUF存放器状态不确定。
3.3 ATmega128单片机硬件电路设计
在本系统中,由于接收局部需要对SD卡、TFT彩屏进展控制,对速度和Flash有一定的要求,经过前面的方案论证与选择,采用AVR单片机ATmega128完成对接收局部的数据处理、蓝牙通信、TFT彩屏显示和SD卡的读写等功能。本小节主要讲ATmega128单片机的内部资源、工作原理和硬件电路设计等。
ATmega128芯片介绍
ATmega128为基于AVR RISC构造的8位低功耗CMOS微处理器。由于其先进的指令集以及单周期指令执行时间, ATmega128 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR 内核具有丰富的指令集和32 个通用工作存放器。所有的存放器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的存放器。这种构造大大进步了代码效率,并且具有比普通的复杂指令集微处理器高10 倍的数据吞吐率。23 / 38
ATmega128是以Atmel 的高密度非易失性内存技术消费的。片内 ISP Flash 可以通过SPI 接口、通用编程器,或引导程序屡次编程。引导程序可以使用任何接口来下载应用程序到应用Flash存储器。在更新应用Flash存储器时引导Flash区的程序继续运行,实现RWW操作。通过将8 位RISC CPU 与系统内可编程的Flash
集成在一个芯片内, ATmega128 为许多嵌入式控制应用提供了灵敏而低本钱的方案。
ATmega128单片机的功能特点如下:
➢ 高性能、低功耗的AVR 8位微处理器
➢ 先进的RISC构造
133条指令大多数可以在一个时钟周期内完成
32x8 个通用工作存放器+外设控制存放器
全静态工作
工作于16 MHz 时性能高达16 MIPS
只需两个时钟周期的硬件乘法器
➢ 非易失性的程序和数据存储器
128K 字节的系统内可编程Flash
寿命: 10,000 次写/ 擦除周期
具有独立锁定位、可选择的启动代码区
通过片内的启动程序实现系统内编程
4K字节的EEPROM
4K 字节的内部SRAM
多达64K 字节的优化的外部存储器空间
可以对锁定位进展编程以实现软件加密
可以通过SPI 实现系统内编程
➢ JTAG 接口( 与IEEE 1149.1 标准兼容)
遵循JTAG 标准的边界扫描功能
支持扩展的片内调试
通过JTAG 接口实现对Flash, EEPROM, 熔丝位和锁定位的编程
➢ 外设特点
24 / 38
两个具有独立的预分频器和比拟器功能的8 位定时器/ 计数器
两个具有预分频器、比拟功能和捕捉功能的16 位定时器/ 计数器
具有独立预分频器的实时时钟计数器
两路8 位PWM
6路分辨率可编程〔2 到16 位〕的PWM
输出比拟调制器
8路10 位ADC
面向字节的两线接口
两个可编程的串行USART
可工作于主机/ 从机形式的SPI 串行接口
具有独立片内振荡器的可编程看门狗定时器
片内模拟比拟器
➢ 特殊的处理器特点
上电复位以及可编程的掉电检测
片内经过标定的RC 振荡器
片内/ 片外中断源
6种睡眠形式: 空闲形式、ADC 噪声抑制形式、省电形式、掉电形式、Standby 形式以及扩展的Standby 形式
可以通过软件进展选择的时钟频率
通过熔丝位可以选择ATmega103 兼容形式
全局上拉制止功能
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 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,假设内部上拉电阻使能,那么端口被外部电路拉低时将输出电流。复位发生时端口 为三态。25 / 38
这些端口在其他情况下有特殊功能,在此不一一列举。
RESET:复位输入引脚。超过最小门限时间的低电平将引起系统复位,低于此时间的脉冲不能保证可靠复位。
XTAL1:反向振荡器放大器及片内时钟操作电路的输入。
XTAL2:反向振荡器放大器的输出。
AVCC:AVCC为端口F以及ADC转换器的电源,需要与VCC相连接,即使没有使用ADC也应该如此。使用ADC 时应该通过一个低通滤波器与VCC 连接。
AREF :AREF 为ADC 的模拟基准输入引脚。
PEN :PEN是SPI串行下载的使能引脚。在上电复位时保持PEN为低电平将使器件进入SPI串行下载形式。在正常工作过程中PEN 引脚没有其他功能。
ATmega128内部构造
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内核的子系统相连,如通用工作存放器文件、26 / 38
状态存放器以及保存堆栈指针的数据存储器。终止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 复位。
外部复位: 当复位引脚上的低电平持续时间大于最小脉冲宽度时MCU 复位。
看门狗复位:当看门狗使能并且看门狗定时器超时时复位发生。
掉电检测复位:当掉电检测复位功能使能,且电源电压低于掉电检测复位门限(VBOT) 时MCU 即复位。
JTAG AVR复位:当复位存放器为1 时MCU即复位。
(5) I/O端口
所有AVR I/O端口都具有真正的读-修改-写功能。有以下3个8位存放器用于控制I/O端口的设置:
端口方向控制存放器DDRx
27 / 38
数据存放器PORTx
输入引脚存放器PINx
(6) 定时器/计数器〔T/C〕
ATmega128内有四个定时器/计数器,其中包括8位的定时器/计数器0〔T/C0〕和定时器/计数器2〔T/C2〕、16位的定时器/计数器1〔T/C1〕和定时器/计数器3〔T/C3〕。
除以上主要资源外,ATmega128还输出比拟调制器、串行通信接口〔SPI〕、两线串行接口〔TWI〕、USART、模拟比拟器和数模转换器〔A/D〕等。
ATmega128系统电路设计
在本系统中,ATmega128控制板采用最小系统形式,包括ISP、JTAG仿真接口电路、USB供电及通信电和引脚扩展电路。晶振采用16MHz和8MHz两种形式,可以根据跳线的接法设置不同的晶振源,在本系统设计中晶振采用8MHz。系统采用供电和下载于一体的ISP〔在线系统编程〕接口,无需将存储芯片从设备上取出就能对其进展编程,其优点是:即使器件焊接在电路板上,仍可对其〔重新〕进展编程。系统也设置有JTAG仿真接口,它的编程方式是在线编程,利用边界扫描技术,设置快捷。在本系统中由于需要下载到存储器中,故采用ISP下载形式,其接口电路如下图:
图
ISP和JTAG接口电路
系统复位电路和晶振电路如下列图所示,晶振采用8MHz外接33pF电容构成并联谐振电路,复位电路与89C52单片机不同,ATmega128采用的是低电平复位,在VCC和GND之间接一个开关二极管4148,起着保护电路的作用,当按键28 / 38
按下时,ATmega128单片时机进入复位,默认状态下复位端为高电平。
图 ATmega128复位电路 图 ATmega128晶振电路
3.4 显示局部硬件电路设计
在本系统中,发射局部采用12864液晶来显示当前环境中的温度、湿度数据,接收局部采用3.5寸TFT彩色液晶屏来显示接收到的温度、湿度数据和曲线,并且完成触摸屏功能和SD卡内容显示。
12864液晶硬件电路设计
FYD12864是一种具有4位/8位并行、2线或者3线串行多种接口方式,内部含有国际一级、二级简码中文字库的点阵图形液晶显示模块;其显示分辨率128x64,内置8192个16x16点的汉字,和128个16x8点的ASCII字符集。利用该模块灵敏的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8x4行16x16点阵的汉字,也可以完成图形显示。由该模块构成的液晶显示方案与同类型的图形点阵相比,不管硬件电路构造或显示程序都要简介得多,其具有以下根本特性:
➢ 低电源电压〔VDD:+3.0 – +5.5V〕
➢ 显示分辨率:128x64点
➢ 内置汉字字库,提供8192个16x16点阵汉字〔简繁体可选〕
➢ 内置128个16x8点阵字符
➢ 2MHz时钟频率
29 / 38
➢ 显示方式:STN、半透、正显
➢ 驱动方式:1/32DUTY,1/5BIAS
➢ 视角方向:6点
➢ 通讯方式:串行、并行可选
➢ 内置DC-DC转换电路,无需外加负压
➢ 无需片选信号,简化软件设计
12864液晶共有40个管脚,其中接串口的时候只需将15脚〔PSB〕置低电平即可,第4脚〔CS〕为模组片选端,高电平有效。第5脚〔SID〕为串行数据输入端,第6脚为〔CLK〕为串行同步时钟,在上升沿是读取SID的数据。在做并行接口的时候7-14脚为并行数据端口,第4脚〔RS〕为数据和指令的选择端,RS为高时表示数据端口显示数据,RS为低时表示数据端口显示命令。第5脚〔R/W〕为数据的读写控制端,当R/W为高时数据被读到数据端口,当R/W为低时数据写到数据端口。第6脚〔E〕为高电平有效的液晶使能端。第15脚〔PSB〕此时应该设置为高电平,选择并行数据方式。
在本系统中采用发射端采用的是并行数据方式的12864液晶,电路图如下图,液晶的1、2脚接地和+5V电源,由于该液晶的比照度由第3脚的电压控制,故在第3脚接一个滑动变阻器以方便调节比照度,19、20脚接背光+5V电源和地。第17脚为驱动电压输出端,在本系统中不需要用到,故悬空。
图 12864液晶电路图
3.5寸TFT彩色液晶屏硬件电路设计
本系统接收局部的显示局部采用3.5寸TFT彩色液晶屏来完成人机交互的功30 / 38
能,彩色液晶屏可结合文字或2D 图形应用。其特有的BTE 功能,能让用户轻松完成各类图形文字处理功能,进步MCU 软件执行效率。并且该模块能支持8-bit 或16-bit 数据总线,类似单色屏的操作形式能让用户轻松晋级产品显示界面。其主要特点如下:
➢ 支持65K 色的320*240 单图层显示
➢ 最高支持2x16M 的FLASH 存储,可快速存储调用图片。
➢ 支持MCU界面:8-bit 或16-bit 数据总线,支持SPI 串口
➢ 支持程度和垂直区域卷动
➢ 支持2D 的BTE 引擎,可用于处理大量图形数据转换
➢ 支持PWM 背光亮度控制
➢ 支持几何图形加速绘图引擎
➢ 支持文字和绘图两种混和显示形式
本系统中的TFT模块可以直接由8位单片机驱动,但其接口安装方式目前一般采用排列比拟密集的柔性PCB电缆直接焊接方式,因此一般用户在将TFT模块和8位单片机连接的时候会遇到困难,为理解决这个问题,一般将TFT模块粘贴在一小块PCB板上,柔性PCB电缆也焊接在PCB上,并且通过2.54mm标准间距的插针引出,这样用户可以用杜邦线〔一种两头带2.54mm插头的软连接电线〕完成TFT模块和8位单片机的连接了,非常的方便,同时PCB板四角带有安装孔,安装也比拟方便。
31 / 38
异步中断的方式向单片机发送触摸电压信号。
接口,5个TFT控制接口和4个SD卡读写控制口。
图 液晶模块与ATmega128连接电路原理图
3.5 温度传感器DS18B20硬件电路设计
3.3V,模块中附带的SD卡与TFT别分开来,方便用户在编程时选择是否用到SD次逼近式比拟存放器ADC构架上集成了用于驱动触摸屏的低通阻抗开关,采用 TFT模块其数据和控制接口的电平都是3.3V,由于ATmega128单片机是5V出,因此从主机CPU到DSl820仅需一条数据线,DSl820的电源可以由数据线本身提供而不需要外部电源。每一个DSl820在出厂时已经给定了唯一的序号,因机连接电路图如下图,其中可操作的I/O口包括2个8位数据口,6个触摸控制逻辑电平,因此在液晶屏底板接了一个LMS1117-3.3稳压芯片,将5V电平降为卡。该模块有40个引脚,直接与ATmega128单片机相连,其与ATmega128单片系统的温度数据采集局部采用高精度的温度传感器DS18B20,其提供9位(二TFT彩色液晶屏内部由一个12位逐次逼近型A/D转换器,其在一个12位逐进制)温度读数,指示器件的温度。信息经过单线接口送入DSl820或从DSl820送32 / 38
此任意多个DSl820可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。DSl820的测量范围从-55℃到+125℃,增量值为0.5℃,可在l s(典型值)内把温度变换成数字。其主要有以下特点:
➢ 独特的单线接口,仅需一个端口引脚进展通信
➢ 简单的多点分布应用
➢ 无需外部器件
➢ 可通过数据线供电
➢ 零待机功耗
➢ 温度以9位数字量读出
➢ 温度数字量转换时间为200ms〔典型值〕
➢ 用户可定义的非易失性温度报警设置
➢ 报警搜索命令识别并标志超过程序限定温度的器件
➢ 应用包括温度控制、工业控制、消费品、温度计或任何热感检测系统
DS18B20内部构造如下图,主要由四局部组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置存放器。该装置信号线高的时候,内部电容器储存能量通由通信线路给芯片供电,而且在低电平期间为芯片供电直至下一个高电平的到来重新充电。其四局部工作原理如下:
(1) 64位光刻ROM
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开场8位〔28H〕是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码〔CRC=X8+X5+X4+1〕。光刻ROM的作用是使每一个DS18B20都各不一样,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2) 温度传感器
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
(3) 非挥发的温度报警触发器TH和TL
33 / 38
DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和构造存放器。
(4) 配置存放器
配置存放器是配置不同的位数来确定温度和数字的转化。
64位ROM和单线接
高速
缓存
存储器
高温触发器TH
低温触发器TL
存储器和控制器
温度灵敏元件
电源检测口
DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流缺乏的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否那么不能转换温度,读取的温度总是85 ℃。其与单片机相连接的电路如下图:
配置存放器
8位CRC生成器
图 DS18B20内部构造图
图 DS18B20与单片机连接电路图
34 / 38
3.6 湿度传感器DHT11硬件电路设计
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰才能强、性价比极高等优点。每个DHT11传感器都在极为准确的湿度校验室中进展校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输间隔 可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最正确选那么。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。DHT11具有以下特点:
➢ 相对湿度和温度测量
➢ 全部校准,数字输出
➢ 卓越的长期稳定性
➢ 无需额外部件
➢ 超长的信号传输间隔
➢ 超低能耗
➢ 4 引脚安装
➢ 完全互换
接口说明 :建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用适宜的上拉电阻
电源引脚 :DHT11的供电电压为 3-5.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚〔VDD,GND〕之间可增加一个100nF 的电容,用以去耦滤波。
串行接口〔单线双向〕:DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数局部和整数局部,详细格式在下面说明,当前小数局部用于以后扩展,现读出为零。
35 / 38
在本系统中,只用到DHT11的湿度特性,DHT11和DS18B20不同,不可以通过数据线来获得电源,因此要单独接+5V电源,同时在数据端口加一个4.7kΩ的上拉电阻用来增强驱动才能。其与单片机连接的电路图如下图:
图3.6.1 DHT11与单片机连接电路原理图
3.7 本章小结
本章主要介绍了蓝牙、STC89C52RC单片机、ATmega128单片机、显示局部、温度传感器和湿度传感器的硬件电路设计,详述了设计的原理、方法以及目的,为整个系统的设计提供了良好的设计思路。
36 / 38
4、 软件设计
37 / 38
5、系统测试
6、总结
参考文献
谢辞
附录A:实物图片
附录B:程序清单
38 / 38