




免费预览已结束,剩余22页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业设计本科生毕业设计(论文)论文题目远程测温无线传输系统的设计与实现学生姓名 学号 专业电子信息工程班级电子081指导教师 职称 远程测温无线传输系统的设计与实现摘 要温度在工农业生产、现代科学研究及高新技术开发过程中是一个极其普遍而重要的测量参数。随着无线传感器网络技术的发展和普及,各种测温系统也向无线化、智能化、低功耗方向发展。无线传感器网络技术综合了传感器技术、嵌入式计算技术、通信技术等,它的出现为随机性地研究数据提供了方便。传感器网络节点基本由四个单元构成:传感单元、处理单元(包括CPU、嵌入式操作系统等)、通信单元(无线通信模块)、电源。本设计中处理单元采用TI公司的低功耗单片机MSP430149,通信单元采用由低功耗CC1101无线通信模块,详细介绍了软硬件实现方法,重点介绍了MSP430单片机控制温度传感器处理数据、控制CC1101模块进行无线通信的软件设计,并通过实际测试验证了方案的可行性。采用无线传输方式既节省了布线,又可以迅速布局在需要测量的地方,是远程测温系统的一个很好的解决方案。关键词:温度,无线传感网络技术,MSP430,CC1101THE DESIGN AND REALIZATION OF TEMPERATURE WIRELESS TRANSMISSION SYSTEM BASED ON THE MSP430ABSTRACTTemperature in the industrial and agricultural production, modern scientific research and high-tech development process is an extremely common and important measurement parameter. With the development and popularity of wireless sensor network technology, a variety of temperature measurement systems go to the development of wireless, intelligent, low-power direction. WSN technology integrates sensor technology, embedded computing technology, communications technology, its emergence convenients the research of data at random.Sensor network is consisted of four units: sensing unit, processing unit (CPU, embedded operating system), the communication unit (wireless communication module), the power supply. Processing unit of this design uses TIs low-power microcontroller MSP430149, The communication unit adopts the low-power CC1101 wireless communication module.And the design details the hardware and software implementation, focuses on the MSP430s control of temperature sensor to process data, control of CC1101 module for wireless communications, software design, and tests the feasibility of the program. The wireless transmission not only saves wiring but also can quickly layout where measurement is.It is a good solution for remote temperature measurement system.Keywords: temperature,WSN, MSP430,CC1101目 录第一章 绪论-1 1.1 课题研究背景-11.2 无线传感网络技术发展及现状-1 1.3 MSP430单片机概述-11.3.1 MSP430系列单片机的特点-2 1.3.2 MSP430单片机的IAR开发环境-31.4 CC1101概述-31.5 本课题任务与意义-4第二章 硬件设计-52.1硬件系统整体结构-52.2电源设计-62.3 温度传感电路-62.3.1 DS18B20概述-72.3.1 温度传感电路设计-72.4 通信模块电路-8第三章 软件设计-11 3.1 温度传感器与430单片机之间软件编程-113.2 MSP430控制CC1101传输和接收-15 3.2.1 寄存器配置-163.2.2 读写操作-173.2.3 控制CC1101发射接收过程-183.3 MSP430控制液晶显示-19第四章 总结与展望-21 4.1 系统的可行性验证-214.2总结与展望-21参考文献-22致谢-23第一章 绪论1.1 课题研究背景温度是关于物体冷热程度的度量,是自然界主要的物理量之一。而温度的测量是工业、农业、国防和科研等部门最普遍的测量项目,温度测量仪现己广泛应用于农业实验室,工业,环保,卫生防疫,仓储运输,博物馆,温室等领域,因此温度测量技术的研究是一个很重要的课题。而面对一些特殊的测量对象,比如在发生故障时由于电流过大或其他原因引起温度上升而导致电器损坏的强电系统,需要监测炉内温度的的旋转炉,这些系统都不能用于有线数据传输。在某些环境恶劣的工业环境,以人工方式直接操作设置仪表温度也不现实,因此采用无线方式进行温度检测尤为必要。随着无线通讯技术的发展与广泛应用,远程传输技术正朝着低功耗、多功能化、微型化、智能化、网络化、无线化的方向发展。1.2 无线传感网络技术发展及现状无线传感网络技术是传感器技术、通信技术、嵌入式技术发展的产物,它将信息采集、传输和处理集于一体,为随机性地研究数据提供了方便,无线传感网络技术正成为现代信息技术中一个热门的研究领域,受到广泛关注。多年来经过不同领域研究人员的研究,无线传感网络技术在军事领域、精细农业、安全监控、环保监测、建筑领域、医疗监护、工业监控、智能交通、物流管理、自由空间探索、智能家居等领域的应用得到了充分的肯定和展示。在目前看来能量供给、可靠性、微型化是制约传感器网络技术应用的最大问题。传感器节点通常由自身携带的电池供电,能量有限,而且由于条件的限制,难以在使用过程中给节点更换电池,通过采用低频可以减少射频设备功耗,但频率越低对应天线尺寸越大而不便于节点微型化。能量获取与存储容量与设备体积呈正比,充足的能源与微型化设计之间的矛盾难于调和。这些技术问题还有待解决,相关的研究有待深入。而我国在这方面起步晚,无线传感网络技术方兴未艾,要想让其更好地为人们生活服务,不仅需要研究人员开展广泛的应用系统研究,更需要政府的引导,企业的积极参与。因此本课题的研究具有十分重要的意义。1.3 MSP430单片机概述MSP430系列单片机是德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。由于低功耗的特点该系列单片机多应用于需要电池供电的便携式仪器仪表中。本设计选用是TI公司最近推出的MSP430系列超低功耗微控制器中的MSP430F1491。 图1.1 MSP430F149内部结构图1.3.1 MSP430F149系列单片机的特点(1) 丰富的片内资源图1.1是MSP430X149单片机的内部结构图,从中可以看出MSP430F149单片机内部集成了12位模数转换器,内部温度传感器,16位定时器A和定时器B,串行异步通信端口UARTO和 UART 1(软件可选择UART/SPI模式),硬件乘法器,多达48位的通用IO端口,60KB的FLASH程序空间和2KB的数据空间等诸多外设,是MSP430系列单片机的典型代表。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器;12/14位硬件A/D转换器有较高的转换速率,最高可达200kbps,能够满足大多数数据采集应用;16 位定时器具有捕获、比较功能,大量的捕获、比较寄存器,可用于事件计数、时序发生、PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信的接口,可方便实现多机通信等应用;具有较多的I/O 端口,达48条I/O 口线;P1、P2端口能够接收外部上升沿或下降沿的中断输入;能直接驱动液晶多达160 段;硬件IIC串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输(DMA)模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便4。(2) 超低功耗MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。首先,MSP430 系列单片机的电源电压采用的是1.83.6V 电压。因而可使其在1MHz的时钟条件下运行时芯片的电流最低会在165A左右,RAM保持模式下的最低功耗只有0.1A。其次,独特的时钟系统设计。在MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768Hz),也可以使用两个晶体振荡器。由系统时钟产生CPU和各功能所需的时钟,并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制5。由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0LPM4)。在实时时钟模式下,可达2.5A,在RAM保持模式下,最低可达0.1A 。(3) 处理能力强、运算速度快相比于8位的51系列单片机,MSP430系列单片机是一个16位的单片机,数据处理更为有效。它采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编出高效率的源程序。MSP430 系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期,以及多功能的硬件乘法器(片内硬件乘法器支持四种乘法运算,能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT等)。(4) 适应能力强MSP430F149单片机的具有超宽电源电压范围:1.83.6V。功耗特别省,一颗电池可工作10年,在液晶显示时也能达到0.8A的低电源消耗。温度范围使用范围广:4085。 1.3.2 MSP430单片机的IAR开发环境MSP430 系列有OPT 型、FLASH 型和ROM 型三种类型的器件,这些器件的开发手段不同。对于OPT 型和ROM 型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有JTAG调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由JTAG 接口读取片内信息供设计者调试使用 5。而本设计中MSP430F149是Flash型器件,采用IAR软件开发环境,结合JTAG 接口技术,为本设计软件开发提供了方便。1.4 CC1101概述CC1100是全球首款可同时实现收发的射频芯片,以其独特的无线电唤醒技术而具有20uA的超低功耗,应用十分广泛。CC1100是一种低成本真正单片的UHF收发器,电路主要设计为315,433,868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以通过软件设置为300-348MHz, 400-464 MHz和800-928 MHz的其他频率。CC1101收发器集成了一个高度可配置的调制解调器,这个调制解调器支持不同的调制格式,CC1100数据速率支持1.2kbps500kbps的可编程控制,最高可达500kbps。通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。CC1100工作电压范围宽,在1.83.6 V之间均可正常工作,完全可以采用电池供电,功耗极低,发送模式时,仅需20mA(视发射功率而定),接收状态时仅需15mA。同时有很高的接收灵敏度(-110dBm/1.2kbps),CC1100在所有频段提供10dBm的输出功率,.输出功率多级可调,可以选择多种调试方式,链接性能较好,传输距离长。并且具有许多有用的功能:数据的自动组包与拆包、独立的发送/接收FIFO、空闲信道评估功能、自动唤醒功能、RSSI功能、自动的前向纠错(FEC), CRC校验、交织以及白化功能。高效的SPI接口:所有的寄存器能用一个“突发”转换器控制,可编程前导质量指示器及在随机噪声下改进的针对同步词汇侦测的保护,支持传输前自动清理信道访问(CCA),即载波侦听系统,这些功能非常适用于无线数据传输。CC1100的主要应用有:极低功率UHF无线收发器,315/433/868和915MHz ISM/SRD波段系统,AMR-自动仪表读数,电子消费产品,RKE-两路远程无键登录,低功率遥感勘测,住宅和建筑自动控制,无线警报和安全系统,工业监测和控制以及无线传感器网络2。本设计选用CC1101,CC1101在CC1100的基础上性能的主要改善部分有:改善杂散响应;更紧密的相位噪声,更好的改善邻道功率(ACP)的性能;饱和电平输入更高;更高效能的功率输出;连续频率波段的扩展。1.5 本课题任务与意义本课题的任务是通过MSP430F149单片机控制CC1101无线通信模块实现远距离温度传输,并且在接收端用1602液晶显示温度。基于无线传感网络技术向低功耗、微型化、智能化发展趋势的考虑,选用业界公认的低功耗器件MSP430F149单片机和CC1101芯片,合理利用了MSP430单片机的中断、运算等功能,借助于C语言编程,对耗能较低的CC1101模块进行收发控制,提高了电池的寿命,增加了系统可靠运行的时间。本设计完成的运程测温系统,经过进一步改善,能广泛应用于工业生产、物流运输、仓库管理、农业现代化管理等众多领域,因此本设计的研究具有十分重要的意义。第二章 硬件设计2.1 硬件系统的总体结构液晶显示CC1101通信模块模块CC1101通信模块模块MSP430单片机MSP430单片机温度传感器图2.1 系统结构图如图2.1是系统的结构方框图,系统由四个模块组成:温度传感模块、微处理器模块、无线通信模块、电源模块。温度传感器采集温度数据送至MSP430单片机处理,单片机将数据传送至CC1101发射模块并控制其发射,接收端通信模块将接收到的数据送至单片机,单片机经处理控制1602液晶显示温度数据。以下是发射接收模块电路原理图:图2.2 发射模块电路原理图图2.3 接收模块电路原理图2.2 电源设计本设计采用5V电池,而MSP430F149单片机与CC1101芯片的供电电压为1.83.6V,所以需要电平转换,采用8位的双向电平转换器件SN74LVC4245,支持3.3V与5V电平之间的双向转换。MCU与SN74LVC4245的连接关系示意图如图所示图2.4 电平转换电路2.3 温度传感电路2.3.1 DS18B20概述温度传感器正从模拟式向数字式、从集成化向智能化、网络化的方向发展。本设计采用的温度传感器是一线式数字温度传感器DS18B20,它具有以下特点:独特的单线接口方式: 如图所示是DS18B20的引脚图,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。图2.5 DS18B20的引脚图不需要任何外围元件:与传统的热敏电阻相比,DS18B20能够直接读出被侧温度,因此不需要AD转换电路。可用数据线供电,电压范围: +3.05.5V侧温范围:一55十125。固有测温分辨率为0.5。并且可根据实际要求通过简单的编实现912位的数字值读数方式。可以分别在93. 75 ms和750 ms内完成9位和12位的数字量。支持多点组网功能:多个DS18B20可以并联在惟一的三线上,实现多点侧温。负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2.3.2 温度传感电路设计图2.6为DS18B20与单片机的连接电路图,将MSP430F149单片机的P2.4端口与DS18B20的DQ端连接,通过在单片机的IO端口模拟1-Wire协议的时序实现对DS18B20的读写,硬件电路非常简洁。图2.6 DS18B20与单片机连接电路图DS18B20供电方法有两种,第一种是采用寄生电源的方法,即通过DQ引脚在I/O或VDD引脚处于高电平时“偷”能量,向DS18B20提供电源。寄生电源有两个好处:(1) 进行远距离测温时,无需本地电源,可以在没有常规电源的条件下读ROM。但是要想使DS1820能够进行精确的温度转换,I/O线必须在转换期间保证供电。由于DS1820的工作电流达到1mA,所以仅靠上拉电阻提供电源是不行的,当几只DS18B20挂在同一根I/O线上并想同时进行温度转换时,这个问题变得更加尖锐。另外,温度高于100 时不推荐使用寄生电源,因为DS18B20在这种温度下表现出的漏电流比较大,通讯可能无法进行。所以本设计采用的供电方法是从VDD引脚接入一个外部电源,见图2.6。由于DS18B20的单总线端口(I/O引脚)是漏极开路式的,单线总线上还需要一个约5K欧姆的上拉电阻。采用这种方法的好处是总线控制器不用在温度转换期间总保持高电平,这样在转换期间可以允许在单线总线上进行其他数据往来。另外,在单线总线上可以挂任意多片DS18B20,而且如果它们都使用外部电源的话,就可以先发一个Skip ROM命令,再接一个Convert T命令(见3.1节),让它们同时进行温度转换。2.4 通信模块电路图2.7为CC1101内部结构图,CC1101处在接收模式时,接收的RF信号先通过低噪声放大器(LNA)放大,然后通过混频器把输入信号转换为中频信号,中频信号被ADC转化为数字信号送入解调器,解调之后再进行前向纠错与数据包处理,然后再把收到的数据存入接收FIFO。CC1101的发送方式下的工作原理与接收类似,数据经过调制后被送到频率合成器,再经过90度的相移装置直接发送给信号放大器。图2.7 CC1101简化框图如图2.8是CC1101通信模块的电路原理图,其中偏阻器R171用来设置一个精确的偏电流。C131, C121, L121和L131形成一个平衡转换器,将CC1101上的微分RF端口转换成单端RF信号(C124也用在直流模块上)。信号在传输过程中,为实现信号的无反射传输或最大功率传输,要求电路连接实现阻抗匹配。阻抗匹配关系着系统的整体性能,尤其是高频电路中,要实现负载与传输线之间的匹配,使负载无反射。本设计阻抗匹配的方法是接入一个合适的LC网络,使输入阻抗与特性阻抗相等。LC网络由L123,C122,C123组成。 在实际应用中,为提高抗干扰能力必须在靠近电源引脚处加恰当地退藕电容。 图2.8 CC1101模块电路原理图第三章 软件设计MSP430单片机可以采用汇编语言或C语言进行程序设计。本设计用C语言来开发单片机系统,其最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等。本设计硬件开发工具采用利尔达公司的USB型仿真器LSD-FET430 UIF,它支持JTAG调试,并且适用于所有的Flash型MSP430单片机,大大降低了开发成本,也相对缩短了开发周期。软件采用IAR公司提供的Embedded Workbench 集成开发环境。此软件人机界面友好,易学易懂,能在线编程,单步调试,能很好地支持C语言开发。3.1 温度传感器与430单片机之间软件编程由图2.5知温度传感器DS18B20只通过一根接线与单片机通信,数据通过单线接口P2.4以串行方式传输。通过单线总线端口访问DS1820的协议如下: (1) 初始化通过单线总线的所有执行(处理)都从一个初始化序列开始。初始化序列包括一个由总线控制器发出的复位脉冲和跟在其后由从机发出的存在脉冲。存在脉冲让总线控制器知道DS18B20在总线上且己准备好操作。时序见图3.1,主机总线to时刻发送一复位脉冲(最短为480s的低电平信号),接着在t1时刻释放总线并进入接收状态,DS18B20在检测到总线的上升沿之后,等待15-60us,接着DS18B20在t2时刻发出存在脉冲(低电平,持续60-240s),如图中虚线所示。图3.1 DS18B20初始化时序图以下为初始化子函数,返回参数Error=0则初始化成功:uchar Init_18B20(void) uchar Error; DQ_out; /P2.4为输出 _DINT(); /关中断 DQ0; /P2.4输出为0 DelayNus(500); /延时500us DQ1; /P2.4输出1 DelayNus(55); /延时55us DQ_in; /p2.4为输入 _NOP(); if(DQ_val) /若DQ_val为高电平则初始化失败 Error = 1; /初始化失败 else Error = 0; /初始化成功 DQ_val为高电平,发出了存在脉冲 DQ_out; DQ1; _EINT(); DelayNus(400); return Error;(2) ROM操作命令一旦总线控制器探测到一个存在脉冲,它就可以发出5个ROM命令中的任一个。所有ROM操作命令都是8位长度。下面是这些命令:Read ROM 33h:允许总线控制器读到DS1820的8位系列编码、唯一的序列号和8位CRC码。Match ROM 55h:匹配ROM命令,后跟64位ROM序列,让总线控制器在多点总线上定位一只特定的DS18B20。Skip ROM CCh:这条命令允许总线控制器不用提供64位ROM编码就使用存储器操作命令,在单点总线情况下用以节省时间。如果总线上不止一个从机,在Skip ROM命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲突。Search ROM FOh:搜索ROM命令允许总线控制器用排除法识别总线上的所有从机的64位编码,从而知道单线总线上有多少器件或它们的64位ROM编码。Alarm Search ECh:只有在最近一次测温后遇到符合报警条件的情况,DS1820才会响应这条命令。报警条件定义为温度高于TH或低于TL。只要DS1820不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。(3) 存储器操作命令Write Scratchpad 4E:向暂存器的地址位置2和3写入数据(TH和TL温度报警触发)。Read Scratchpad BEh:读取暂存器和CRC字节。读取将从字节0开始,一直进行下去,直到第9(字节8, CRC)字节读完。Convert T 44h:启动一次温度转换。温度转换命令被执行,而后DS1820保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS1820又忙于做时间转换的话,DS1820将在总线上输出“0,若温度转换完成,则输出“1。如果使用寄生电源,总线控制器必须在发出这条命令后立即起动强上拉,并保持500ms。Copy Scratchpad 48h:把暂存器的内容拷贝到DS1820的E方存储器里Recall E B8h:把非易失性存储器里的值拷回暂存器。Read Power Supply B4h:标识DS18B20的供电模式。若把这条命令发给DS1820后发出读时间隙,器件会返回它的电源模式:“0”=寄生电源,“1”=外部电源。(4) 执行/数据所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收,数据和命令的传输都是低位在先。DS18B20的数据读写是通过时间隙处理位和命令字来确认信息交换的。写时间隙:当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙:写1时间隙和写0时间隙。所有写时间隙必须最少持续60s,包括两个写周期间,至少ls的恢复时间。I/O线电平变低后,DS18B20在一个15s到60s的时间内对I/0线采样。如果线上是高电平,就是写1,如果线上是低电平,就是写0。主机要生成一个写0时间隙必须把数据线拉到低电平然后释放,在写时间隙开始后的15s,必须把数据线拉到低电平并保持60s。以下是向DS18B20写入一个字节数据的程序:void Write_18B20(uchar wdata) uchar i; _DINT(); /关中断 for(i = 0; i = 1; DelayNus(50); /延时50s DQ1; DelayNus(10); /延时10s _EINT(); /开中断读时间隙:当从DS1820读取数据时,主机生成读时间隙。当主机把数据线从高电平拉到低电平时,写时间隙开始。数据线必须保持至少ls从DS18B20输出的数据在读时间隙的下降沿出现后15s内有效。因此,主机在读时间隙开始后必须停止把I/0脚驱动为低电平15s,以读取I/0脚状态。在读时间隙的结尾,I/0引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60s,包括两个读周期间至少ls的恢复时间。以下是从DS18B20读取一个字节数据的程序:uchar Read_18B20(void) uchar i; uchar temp = 0; _DINT(); /关中断 for(i = 0;i = 1; DQ0; DelayNus(6); /延时6us DQ1; DelayNus(8); /延时9us DQ_in; _NOP(); if(DQ_val) temp |= 0x80; DelayNus(45); /延时45us DQ_out; DQ1; DelayNus(10); /延时10s _EINT(); return temp;按照DS1820的协议并且对照表进行命令设置,图3.2为MSP430控制DS18B20成一次温度转换的流程图,首先对DS18B20进行初始化,再读取16位的温度数据。图3.2 温度转换流程图温度以16bit带符号位扩展的二进制补码形式读出,表3.1给出了温度值和输出数据的关系。对于串行接口上读取的16bit数据需要转换为实际温度值,并将实际温度值放在数组中。DS1820测温范围-55 +125,以0.5 递增。表3.1 DS18B20的数据与实际温度关系3.2 MSP430控制CC1101发送和接收CC1101需要与一个作为控制器件的单片机及若干被动组件一起使用,才能成为一个最简单的无线通信系统。对于无线通信模块,软件设计主要包括MSP430F149单片机的初始化和CCll01的初始化以及接收数据程序、发送数据程序,通过寄存器的配置实现其频率、信道、通信速率等的设置。图3.3 CC1101与单片机的接口电路如图3.3所示是CC1101与MSP430F149单片机的接口电路,CC1101通过4线SPI兼容接口(SI,SO,SCLK和CSn)进行配置,这些接口用做写和读缓存数据。SCLK是时钟输入引脚。SI、SO是数据输入、输出引脚。CSn引脚主要用来控制数据通信的同步性.。本设计采用软件模拟SPI接口技术的方式实现单片机对CC1101通信模块的控制。3.2.1 寄存器配置CC1101配置寄存器位于SPI地址从0x00到Ox2F之间的47个,所有的配置寄存器均能读和写。配置寄存器:对配置寄存器写入相应的设定值便可设定CC1101的工作状态。比如工作频率、波特率及通信带宽等。状态寄存器:读0X300X3F地址,可获得CC1101工作状态,如CCA 信息,RX 是否溢出等。命令滤波:向SPI 接口上写0X300X3F 的地址就可命令通信模块执行某个任务,如:芯片的重启、开启并校准频率合成器及设置工作模式等。CC1101有两个专用的配置引脚和一个共享引脚,能输出对控制软件有用的内部状态信息。专用引脚名为GDOO和GDO1。共享引脚为SPI接口上的SO脚。本设计使用了CC1101的通用数字输出引脚GDO0,通过适当配置,该引脚电平会在CC1101发送/接收完前导码时产生上升沿跳变,在整个发送/接收完成后产生下降沿跳变。可以通过查询GDO0引脚电平来判断数据报头是否已经发送以及数据报是否已经发送完成。根据需要再发送命令把CC1101置于空闲或休眠状态2。CC1101具有三种状态:IDEL(待机)、RX(接受)、TX(发送)。整体上看,它是一个具有三种状态的状态机,三种状态之间的转换,如图3.4所示:图3.4 CC1101状态转换图为了节约功耗,减少MSP430F149的活动时间,本设计采用外部中断方式,即使用GDO0引脚的电平跳变特点,当检测到前导码时,触发MSP430F149的P1.4端口(CC1101的GDO0引脚与单片机的P1.4相连)中断,在中断服务程序中进行了读取接收缓存RXFIFO等操作,从而让MSP430F149更多时间处于休眠状态,达到降低功耗的目的。3.2.2 读写操作在地址和数据转换期间,CSn脚(芯片选择引脚,低电平有效)必须保持为低电平。如果在过程中CSn变为高电平,则转换取消。当CSn变低,在开始转换头字节之前,MCU必须等待,直到SO脚变低。这表明电压调制器已经稳定,晶体正在运作中。除非芯片处在SLEEP或XOFF状态,SO脚在CSn变低之后总会立即变低。对于突发访问,不管是读访问还是写访问,必须通过设置CSn为高来终止。如图是配置寄存器的读写操作时序,当对寄存器进行写操作时,每当一个待写入的数据字节传输到SI脚时,状态字节将被送至SO脚。通过在地址头设置突发位,连续地址的寄存器能高效地被访问。这个地址在内部计数器内设置为起始地址,每增加一个新的字节(每8个时钟脉冲),计数器值增加1。图3.5 配置寄存器的读写操作时序以下是MSP430F149通过SPI接口与CC1101通信的代码。(1) 往CC1101 指定寄存器写入一个数值(8位)void SPIWriteReg(unsigned char addr, unsigned char value) P1OUT &=CSn_PIN; /CS=0 CS enable while (P1IN & SPI_SOMI); / Wait for CC1101 ready SPI_bitbang_out(addr); / Send address SPI_bitbang_out(value); / Send data P1OUT |= CSn_PIN; /CS=1 CS disable (2) 读单个寄存器值unsigned char SPIRead(unsigned char addr, unsigned char falg_read) unsigned char rTemp; P1OUT &=CSn_PIN; /CS=0 CS enable while (P1IN & SPI_SOMI); / Wait for CC1101 ready SPI_bitbang_out(addr | falg_read); / Send address rTemp = SPI_bitbang_in(); / Read data P1OUT |= CSn_PIN; /CS=1 CS disable return ( rTemp ); 3.2.3 控制CC1101发射接收过程如图3.6是发射接收流程图。系统上电后首先进行初始化配置,包括I/O端口输入、输出状态配置、串口配置、CC1101寄存器配置,以及无线传输数据格式的配置,使系统处于正常工作状态。进入发射状态时,调制器将根据寄存器MDMCFG2中的SYNC_MODE决定是否启动发送前导码,若允许发送,则其长度由MDMCFG1中的NUM_PREAMBLE决定。如果按指定方式检测到指定数量的前导码,CC1101的GDO0引脚电平会产生一个上升沿跳变,触发单片机产生外部中断,如果TX FIFO中有数据,则立即发送同步字;否则,调制器将重复发送前导码直到TX FIFO中有数据。单片机再给发射模块发送激活命令。CC1101立刻进入发送模式,并向其缓冲区中写入发送数据,然后无线发送出去。在整个发送完成后GDO0产生下降沿跳变,表示发送完成。在接收端同样也要初始化单片机与CC1101,使系统处于正常工作状态。在接收端把数据包中的数据放入Rx FIFO之前,会自动进行前导码、同步字过滤,对不满足要求的包,会自动丢弃,这大大减轻了单片机的负荷。而对于满足要求的数据包则会触发GDO0引脚电平产生一个上升沿跳变,单片机开始读取接收缓存,经长度、地址(可选)和CRC校验(可选)校验后把有用数据提取出来显示在液晶屏上,再清除缓冲区数据,等待下次接收。这里外部中断被用作无线数据接收成功的标志。 本设计在发送端采取了低功耗软件设计:将采集的温度是数据与上一次的进行比较,如果相等则继续处在空闲模式,如果不相等再发送数据,从而让MSP430F149有更多时间处于休眠状态,达到降低功耗的目的。 本设计通过函数void SPIWriteReg(unsigned char addr, unsigned char value)即实现配置CCll00的寄存器的功能。发送数据通过函数void TxData(unsigned length)实现,接收数据通过中断函数#pragma vector=PORT1_VECTOR _interrupt void p1_ISR(void)实现第 19 页 共 23页第 19 页 共 23 页 图3.6 发送接收流程图3.3 MSP430控制液晶显示如图3.7是1602液晶与单片机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 循环利用教科书管理制度
- 公司外部培训师管理制度
- 安全生产三同时管理制度
- 公司绿植标准化管理制度
- 公司小货车车辆管理制度
- 外国公路服务区管理制度
- 张楼镇村级财务管理制度
- 景区露天宾馆管理制度
- 智能店长售后管理制度
- 公司皮卡车用车管理制度
- 国开学前儿童科学教育活动指导形考1-4试题及答案
- 2023陕西省教师招聘考试《教育心理学》重点题型汇编
- 北京市工伤保险医疗费用手工报销申报表
- 2023年电池车间MES解决方案
- BSCI验厂全套程序文件
- 2022-2023学年苏教版高一数学新教材教学讲义第4章 指数与对数 单元综合测试卷
- 2023春国开个人与团队管理模拟测试1试题及答案
- 芜湖人教版七年级初一上册地理期末测试题及答案
- 中考说明文考点及答题技巧 【 知识精细梳理 】 中考语文提分必背
- 文化人类学教学大纲
- 地震学基础地震烈度课件
评论
0/150
提交评论