收藏 分销(赏)

基于arm的仓库温湿度无线监控系统.doc

上传人:快乐****生活 文档编号:2159424 上传时间:2024-05-21 格式:DOC 页数:35 大小:1.03MB
下载 相关 举报
基于arm的仓库温湿度无线监控系统.doc_第1页
第1页 / 共35页
基于arm的仓库温湿度无线监控系统.doc_第2页
第2页 / 共35页
基于arm的仓库温湿度无线监控系统.doc_第3页
第3页 / 共35页
基于arm的仓库温湿度无线监控系统.doc_第4页
第4页 / 共35页
基于arm的仓库温湿度无线监控系统.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、摘 要 在仓库的货物的管理中,防潮、防霉、防腐、防爆是衡量仓库管理质量的重要指标,它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,我们需要实时知道温湿度的具体变化,因此首要问题就是加强仓库内温度和湿度的监测工作。人工测试方法费时费力、效率低、测试的温度湿度误差大随机性大,而且库区的面积越来越大,因此我们需要一种造价低廉、使用方便、测量准确、传输能力强和通信距离远的监控系统来有效地对仓库货物进行监管。本课题是在ARM控制系统的基础上,利用DS18B20温度传感器、HS1101湿度传感器、AY-nRF905和S3C44B0,通过SPI总线方式进行AY-nRF905与S3C44

2、B0的数据通信。同时,通过DS18B20温度传感器和HS1101湿度传感器在嵌入式系统的控制下来实现工业现场温度和湿度数据的采集,将该温度和湿度数据送到AY-nRF905无线收发模块予以发射出去。在远程进行接收并实现报警、显示温度和湿度以及被送到上位机。关键词:ARM DS18B20 HS1101 NRF905 监控系统AbstractIn the management of warehouse goods ,moisture, mildew, corrosion, explosion are important indicators to measure the quality of war

3、ehouse-management. They directly affect the life and reliability of the stockpile. In order to ensure the daily work is carried out smoothly, we need to know the real-time and specific changes of temperature and humidity . So the first problem is to strengthen the monitoring of temperature and humid

4、ity inside the warehouse. Manual testing method is time-consuming and low efficiency, large randomness of the test temperature and humidity errors, and the area of the reservoir area is more and more large. Therefore, we need a low cost, easy to use, accurate measurement, transmission capability and

5、 the communication distance monitoring system to effectively regulate the storage of goods. This topic is about how to use the DS18B20 temperature sensor, the HS1101 humidity sensor, the AY-nRF905 and S3C44B0 and AY-nRF905 S3C44B0 data communication through SPI bus based on the ARM control system. D

6、S18B20 emperature sensor and HS1101 humidity sensor in the control of embedded systems down industrial site temperature and humidity data collection, the temperature and humidity data to the AY- nRF905 wireless transceiver module to be transmitted out. Receive and display the temperature and humidit

7、y as well as being sent to the host computer in the remoteKeywords : ARM DS18B20 HS1101 NRF905 Monitoring system目 录摘要IAbstractII绪论11 温湿度采集系统的硬件设计21.1 S3C44B0X21.1.1 S3C44B0X硬件资源21.1.2 I/O功能概述31.2 温度传感器部分51.2.1 DS18B20简介51.2.2 DS18B20的主要特性及引脚功能61.2.3 DS18B20的内部结构及工作原理61.3 湿度传感器部分81.3.1 HS1101的特点81.3.

8、2 HS1101的参数特性91.4 无线传输技术101.4.1 AY-nRF905无线收发模块简介101.4.2 AY-nRF905的管脚排列111.4.3 AY-nRF905的工作模式121.4.4 AY-nRF905的配置过程142 温湿度采集系统软件设计172.1 DS18B20程序的设计172.1.1 DS18B20初始化程序设计172.1.2 DS18B20读程序设计172.1.3 DS18B20的写程序设计182.2 nRF905控制程序192.2.1 nRF905寄存器配置程序192.2.2 SPI写操作代码192.2.3 SPI读操作代码202.2.4 主机与nRF905通信2

9、12.2.5 使用nRF905发送数据213 调试部分243.1 使用CodeWarrior 建立工程并进行编译243.2 使用超级终端进行测试26结论28致谢29参考文献3031绪 论嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。 嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务、环境工程与自然等。本课题就是把嵌入式系统的优势利用到仓库的温湿度监控系统

10、中。 在仓库的货物的管理中,防潮、防霉、防腐、防爆是衡量仓库管理质量的重要指标,它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,我们需要实时知道温湿度的具体变化,因此首要问题就是加强仓库内温度和湿度的监测工作。传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行监测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低、测试的温度湿度误差大随机性大,而且库区的面积越来越大,因此我们需要一种造价低廉、使用方便、测量准确、传输能力强和通信距离远的监控系统来有效地对仓库货物进行监管。 本课题的目的就是利用ARM

11、控制器来实现工业现场温度、湿度的采集和无线传输,在远程可以显示温度和被送到上位机。1 温湿度采集系统的硬件设计本系统以嵌入式系统为核心即S3C44B0X,组成一个集温度的采集、处理、无线传输、显示、远程报警为一体的温度采集系统。系统硬件主要由温度传感器DS18B20、湿度传感器HS1101、嵌入式系统S3C44B0X、AY-nRF905模块组成。其系统框图见下图:数码管显示 S3C44B0XDS18B20温度采集AY-NRF905HS1101湿度采集图1-1 系统框图该系统的工作流程是,通过DS18B20温度传感器在嵌入式系统的控制下采集温度数据,将该温度数据送与AY-nRF905无线收发模块

12、予以发射出去。这个过程是温度数据的发射。同时,该无线数据采集系统也具备接收并显示温度数据的功能。通过AY-nRF905无线收发模块接收数据,并送显示2。1.1 S3C44B0XS3C44B0微处理器片内集成ARM7TDMI核,采用0.25um CMOS工艺制造。ARM7TDMI是ARM公司最早为业界普遍认可且得到了广泛应用的处理器核,特别是在手机和PDA中,随着ARM技术的发展,它已是目前最低端的ARM核。ARM7TDMI是从最早实现了32位地址空间编程模式的ARM6核发展而来的,可稳定地在低于5V的电源电压下可靠的工作;增加了64位乘法指令、支持片上调试、Thumb指令集和EmbededIC

13、E片上断点和观察点。此开发板在如上功能的基础上集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统1。1.1.1 S3C44B0X硬件资源(1) 在ARM7TDMI基础上增加8KB的Cache;(2) 外部扩充存储器控制器(FP/EDO/SDRAM控制,片选逻辑);(3) LCD控制器(最大支持256色的DSTN),并带有1个LCD专用DMA通道;(4) 2个通用DMA通道/2个带外部请求引脚的DMA通道;(5) 2个带有握手协议的UART,1个SIO;(6) 1个多主的IIC总线控制器;(7) 1个IIS总线控制器;(8) 5个PWM定时器及一个内部定时器;(9) 看门狗定时器;(10)

14、71个通用可编程I/O口,8个外部中断源;(11) 功耗控制模式:正常、低、休眠和停止;(12) 8路10位ADC;(13) 具有日历功能的RTC(实时时钟);(14) PLL时钟发生器。1.1.2 I/O功能概述三星开发板44B0拥有71个通用可编程多功能输入/输出引脚,可分为以下7类端口:(1) 两个9位输入/输出端口(PortE和PortF);(2) 两个8位输入/输出端口(PortD和PortG);(3) 一个16位输入/输出端口(PortC);(4) 一个10位输出端口(PortA);(5) 一个11位输出端口(PortB)。每个端口都可通过软件设置来满足各种各样的系统设置和设计要求

15、。每个端口的功能通常都要在主程序开始前被定义3。如果一个引脚的多功能没有使用,那么这个引脚将被设置为I/O端口。在引脚配置之前,需要对引脚的初始化状态进行设定,以避免一些问题的出现。I/O端口的各种功能主要是通过对端口各个寄存器进行设置而实现的,下面通过对各个寄存器的说明来分别介绍I/O端口所能实现的功能。(1) 端口配置寄存器(PCONAG)在44B0中,大多数引脚都是多功能引脚。因此,应为每个引脚选择功能。端口控制寄存器(PCONn)决定了每一个引脚的功能。如果PG0PG7在掉电模式下被用作唤醒信号,则在中断模式下这些端口必须被设定。(2) 端口数据寄存器(PDATAG)如果这些端口被设定

16、为输出端口,则输出数据可被写入PDATn相应位;如果被设定为输入端口,则输入数据可被独到PDATn相应位。(3) 端口上拉寄存器(PUPCG)端口上拉寄存器控制着每一个端口组的上拉寄存器的使能端。当相应的位被设为0时,引脚接上拉电阻;当相应的位被设为1时,引脚不接上拉电阻。(4) 特殊的上拉电阻控制寄存器(SPUCR)数据线D15:0引脚的上拉电阻能够通过SPUCR寄存器来控制。在STOP/SL-IDLE模式,数据线(D31:16或D15:0)处于高阻状态(Hi-zState)。由于I/O端口的特征,在STOP/SL-IDLE模式,数据在线拉电阻可降低功耗。D31:16引脚的上拉电阻能够通过P

17、UPC寄存器来控制;D15:0引脚的上拉电阻能够通过SPUCR寄存器来控制。在STOP模式,为使寄存器不出现错误功能(Mal-function),存储器控制信号通过在特殊的上拉电阻控制寄存器里设置HZSTOP区域来选择高阻状态(Hi-zState)或先前的状态。外部中断控制寄存器8个外部中断可用各种信号来请求。外部中断寄存器为外部中断设置了信号触发方法选择位,也设置了触发信号的极性选择位。外部中断请求信号触发的方法有以下几种:低电平触发、高电平触发、下降沿触发、上升沿触发及双沿触发。因为每个外部中断引脚都有一个数字滤波器,这使中断控制器能够识别长于3个时钟周期的请求信号。外部中断挂起寄存器(E

18、XTINTPND)外部中断请求(4/5/6/7)对于中断控制器来说是“或”的关系。EINT4、EIN5、EIN6、EIN7共享在中断控制器里同一个中断请求队列。如果外部中断请求的4位中的任何一位被启动,那么EXTINTPNDn将会被设置为1。外部挂起条件清除以后,中断服务程序必须清除中断挂起状态。可通过EXTINTPND对应位写1来清除挂起条件。1.2 温度传感器部分图1-2 S3C44B0X与DS18B20的接口电路图 DS18B20的I/O口是数据输入输出端它属于漏极开路输出,外接上拉电阻后,常态下呈高电平,它与S3C44B0X的GPF4相连,DS18B20的接地端(GND)和VDD分别与

19、S3C44B0X的接地端和VDD相连接。1.2.1 DS18B20简介DS18B20 是美国半导体公司继之后最新推出的一种数字化单总线器件,属于新一代适配微处理器的改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线界面)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。同时其“

20、一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。DS18B20“一线总线”数字化温度传感器支持“一线总线”界面,测量温度范围为55125,在10 +85 范围内,精度为0.5。现场温度直接以“一线总线”的数字方式传输,用符号扩展的16位数字量方式串行输出,大大提高了系统的抗干扰性。因此,数字化单总线器件DS18B20适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。它在测温精度、转换时间、传输距离、分辨率等方面较都有了很大的改进,给用户带来了更方便和更令人满意的效果。可广泛用于工业、民用、军事等领域的温度测量及控制仪器

21、、测控系统和大型设备中10-11。1.2.2 DS18B20的主要特性及引脚功能(1) DS18B20的主要特性:全数字温度转换及输出。先进的单总线数据通信。最高12位分辨率,精度可达0.5摄氏度。可选择寄生工作方式。检测温度范围为-55+125(-67+257)。内置EEPROM,限温报警功能。64位光刻ROM,内置产品序列号,方便多级挂接。多样封装形式,适应不同硬件系统。负压特性,即具有电源反接保护电路。当电源电压的极性反接时,能保护DS18B20不会因为发热而烧毁。但此时芯片无法正常工作。(2) DS18B20引脚功能:DS18B20采用两种封装结构分别为PR-35封装和SOS封装。I/

22、O为数据输入输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。GND 电压地 DQ 单数据总线 VDD 电源电压 NC 空引脚。DS18B20的封装图如下图1-3所示。图1-3 DS18B20封装图1.2.3 DS18B20的内部结构及工作原理DS18B20的内部结构框图见下图1-4。它主要包括7个部分:1、寄生电源;2、温度传感器;3、64 位激光(loser)ROM 与单线界面;4、高速暂存器,即便筏式RAM,用于存放中间数据;5、TH 触发寄存器和TL 触发寄存器,分别用来存储用户设定的温度上下限值;6、存储和控制逻辑;7、8 位循环冗余校验码(CRC)发生器。

23、图1-4 DS18B20的内部结构框图DS18B20的测温原理如下图1-5所示:图1-5 DS18B20的内部测温原理图图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振的振荡频率随温度变化而明显改变,所产生的信号作为减法计数器2 的脉冲输入。图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1 和温度寄存器中,减法计数器1 和温度寄存器被预置在-55所对应的一个基数值。减法计数器1

24、 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1 的预置值减到0 时温度寄存器的值将加1,减法计数器1 的预置将重新被装入,减法计数器1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2 计数到0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2-3 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20 的测温原理。1.3 湿度传感器部分 测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性

25、质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏元件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变而进行湿度测量的12-15。下面介绍HS1101湿度传感器及其应用。 图1-6 S3C44B0X与HS1101的接口电路图HS1101的I/O口只进行读操作,不进行写操作,也就是将采集到的湿度读出并通过S3C44B0X的GPF3口送入CPU中进行处理。1.3.1 HS1101的特点 图1-7 HS1101实物图不需要校准的完全互换性;高可靠性和长期稳定性;快速响应时间;专利设计的固态聚合物结构;有顶端接触(HS1100)和侧面接触(HS1101)两种封

26、装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。1.3.2 HS1101的参数特性相对湿度在0%100%RH范围内;电容量由162pF变到200pF,其误差不大于2%RH;响应时间小于5s;温度系统为0.04pF/。可见其精度是较高的。其湿度电容响应曲线如图1-8: 20 40 60 80 100 相对湿度% 200 190 180 170 电容F 图1-8 HS1101湿度电容响应曲线电容拟和曲线公式: C(PF)=C55%RH*(1.25*10 -7 *RH 3 -1.36*10 -5 *RH 2 +2.19*10 -3 *RH+9.0*10 -

27、1 ) 频率影响:参数表中,所有数据均在 10KHz 下取得。 HS1100/1101 可以工作在 5KHz 到 100KHz 之间,频率对电容值的影响如下:CfKHz ( 1.027-1.01185*1n ( fKHz )极性:测量中,为得到更好的重复性,将管脚 2 接地。(管脚 2 在帽头远端) 表1-1 HS1101常用参数参数符号参数值单位工作温度Ta-40100储存温度Tstg-40125供电电压Vs10Vac湿度范围RH0100%RH焊接时间=260t10S拟和曲线公式如下:F mes(Hz) =F 55(Hz) (1.1038-1.9368*10 -3 *RH+3.0114*10

28、 -6 *RH 2 -3.4403*10 -8 *RH 3 ) 1.4 AY-NRF905无线收发模块部分随着我国国际地位和科研水平的不断提高,无需导线连接的无线数据系统对用户有着极大的吸引力。无线数据系统采用了能在局域范围内无线传输信息的数字网络,在不改动原有设施的前提下,将有效的数据信息准确、快速和安全地传送给与会者。因此,无线数据系统设备的设计得到了国内外相关领域厂商的广泛关注,未来,无线数据系统很有可能代替现有的有线数据系统,成为今后数据传输的主流。NRF905与S3C44B0X的接口电路图如图1-9所示: 图1-9 NRF905与S3C44B0X的接口电路图1.4.1 AY-nRF9

29、05无线收发模块简介nRF905是一种单片射频收发器,工作电压为1.93.6V,工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器,ShockBurst工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI界面与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。1.4.2 AY-nRF905的管脚排列AY-nRF905的管脚

30、排列如下图1-10所示:图1-10 nRF905的管脚排列(1) VCC脚接电压范围为3.33.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。推荐电压3.3V左右。(2) 除电源VCC和接地端,其余脚都可以直接和普通的5V单片机I/O口直接相连,无需电平转换。当然对3V左右的单片机更加适用了。(3) 硬件上面没有SPI的单片机也可以控制本模块,用普通单片机I/O口模拟SPI不需要单片机SPI模块介入,只需添加代码模拟SPI时序即可。(4) 13脚、14脚为接地脚,需要和母板得逻辑地连接起来。(5) 排列间距为100mil,标准DIP插针。(6) 与51系列单片机P0口连接时候,需要外

31、加10K的上拉电阻,与其余口连接不需要。具体管脚说明见下表:表1-2 nRF905管脚说明管脚名称管教说明说明1VCC电源电源+3.33.6V DC2TX_EN数字输入TX_EN=1 TX 模式 TX_EN=0 RX 模式3TRX_CE数字输入使能芯片发射或接收4PWR_UP数字输入芯片上电5uCLK时钟输出本模块该脚废弃不用,向后兼容6CD数字输出载波检测7AM数字输出地址匹配8DR数字输出接收或发射数据完成9MISOSPI 界面SPI 输出10MOSISPI 界面SPI 输入11SCKSPI 时钟SPI 时钟12CSNSPI 使能SPI 使能13GND地接地14GND地接地1.4.3 AY

32、-nRF905的工作模式AY-nRF905一共有四种工作模式,其中有两种活动RX/TX模式和两种节电模式。分别为活动模式:ShockBurst RX和ShockBurst TX,节电模式:掉电和SPI编程、Standby和SPI模式。其工作模式由TRX_CE、TX_EN、PWR_UP的设置来设定。具体见下表:表1-3 nRF905的工作模式PWR_UPTRX_CETX_EN工作模式0XX掉电和SPI编程10XStandby和SPI编程110ShockBurst RX111ShockBurst TX(1) ShockBurst模式ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据

33、低速从微控制器送入,但高速发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能、低的系统费用(低速微处理器也能进行高速射频发送)、数据在空停留时间短,抗干扰性高。ShockBurstTM技术同时也减小了整个系统的平均工作电流。在ShockBurstTM收发模式下,RF905自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,DR引脚通知微处理器数据发送完毕。 ShockBurstTX发送流程典型的RF905发送流程

34、分以下几步:A. 当微控制器有数据要发送时,通过SPI界面,按时序把接收机的地址和要发送的数据送传给RF905,SPI界面的速率在通信协议和器件配置时确定;B. 微控制器置高TRX_CE和TX_EN,激发RF905的ShockBurstTM发送模式;C. RF905的ShockBurstTM发送:(1) 射频寄存器自动开启;(2) 数据打包(加字头和CRC校验码);(3) 发送数据包;(4) 当数据发送完成时,数据准备好引脚被置高;D. AUTO_RETRAN被置高,RF905不断重发,直到TRX_CE被置低;E. 当TRX_CE被置低,RF905发送过程完成,自动进入空闲模式。注意:Shoc

35、kBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,RF905才能接受下一个发送数据包。 ShockBurstRX接受流程接收流程分以下几步:A. 当TRX_CE为高、TX_EN为低时,RF905进入ShockBurstTM接收模式;B. 650us后,RF905不断监测,等待接收数据;C. 当RF905检测到同一频段的载波时,载波检测引脚被置高;D. 当接收到一个相匹配的地址,AM引脚被置高;E. 当一个正确的数据包接收完毕,RF905自动移去字头、地址和CRC校验位,然后把DR引脚置高;F. 微

36、控制器把TRX_CE置低,RF905进入空闲模式;G. 微控制器通过SPI口,以一定的速率把数据移到微控制器内;H. 当所有的数据接收完毕,RF905把DR引脚和AM引脚置低;I. nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。注意:当正在接收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,RF905立即把其工作模式改变,数据包则丢失。当微处理器接到AM引脚的信号之后,其就知道RF905正在接收数据包,其可以决定是让RF905继续接收该数据包还是进入另一个工作模式。(2) 节能模式RF905的节能模式包括关机模式和节能模式。在关

37、机模式,RF905的工作电流最小,一般为2.5uA。进入关机模式后,RF905保持配置字中的内容,但不会接收或发送任何数据。空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,RF905内部的部分晶体振荡器处于工作状态。1.4.4 AY-nRF905的配置过程所有配置字都是通过SPI界面送给RF905。SPI界面的工作方式可通过SPI指令进行设置。当RF905处于空闲模式或关机模式时,SPI界面可以保持在工作状态。(1) SPI界面寄存器配置SPI界面由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器

38、包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。SPI界面由5个内部寄存器组成执行寄存器的回读模式来确认寄存器的内容。其SPI界面和内部结构图如下图1-11所示:图1-11 SPI界面和5个内部寄存器状态寄存器Status-Register寄存器包含数据就绪DR和地址匹配AM状态;RF配置寄存器RF-Configuration Register寄存器包含收发器的频率,输出功率等配置信息;发送地址T

39、X-Address寄存器包含目标器件地址,字节长度由配置寄存器设置;发送有效数据TX-Payload寄存器包含发送的有效ShockBurst数据包,数据字节长度由配置寄存器设置;接收有效数据TX-Payload寄存器包含接收到的有效ShockBurst数据包,数据字节长度由配置寄存器设置,在寄存器中的有效数据由数据准备就绪DR指示;(2) SPI指令设置当CSN为低时,SPI界面开始等待一条指令。任何一条新指令均由CSN的由高到底的转换开始。用于SPI界面的有用命令见下表:表1-4 SPI串行界面占领设置指令名称指令格式操作W_CONFIG(WC)0000AAAA写配置寄存器AAAA 指出写操

40、作的开始字节 字节数量取决于AAAA指出的开始地址_CONFIG (RC)0001AAAA读配置寄存器AAAA 指出读操作的开始字节 字节数量取决于AAAA指出的开始地址W_TX_PAYLOA D (WTP) 00100000写TX 有效数据1-32字节 写操作全部从字节0开始R_TX_PAYLOA D (RTP)00100001读TX 有效数据1-32字节 读操作全部从字节0开始W_TX_ADDRES S (WTA)00100010写TX 地址1-4 字节写操作全部从字节0开始R_TX_ADDRES S (RTA)00100011读TX 地址1-4 字节读操作全部从字节0开始R_RX_PAY

41、LOA D (RRP)00100100读RX 有效数据1-32字节 读操作全部从字节0开始CHANNEL_CONFIG (CC)1000pphccccccccc快速设置配置寄存器中CH_NO HFREQ_PLL和PA_PWR的专用命令CH_NO=cccccccc HFREQ_PLL=h PA_PWR=pp2 温湿度采集系统软件设计2.1 DS18B20 程序的设计2.1.1 DS18B20 初始化程序设计主机总线t0时刻发送一复位脉冲(最短为480us的低电平信号)接着在 tl 时刻释放总线并进入接收状态DSl8B20 在检测到总线的上升沿之后 等待 15-60us接着 DS18B20 在 t

42、2 时刻发出存在脉冲(低电平持续60-240us)。程序:Init_DS18B20(void)/初始化ds1820 DQ = 1; /DQ复位 DQ = 0; /将DQ拉低,发出复位脉冲(要求480us960us) Delay(70); /精确延时566us DQ = 1; /拉高总线(要求1660us) Delay(5); /延时46us presence = DQ; /如果=0则初始化成功 =1则初始化失败 Delay(25); DQ = 1; return(presence); /返回信号,0=presence,1= no presence2.1.2 DS18B20 读程序设计主机总线t

43、0时刻从高拉至低电平时总线只须保持低电平15us之后也就是说t2时刻前主机必须完成读位并在t2后的60us一120us内释放总线读位子程序,程序:ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(4);return(dat);2.1.3 DS18B20的写程序设计当主机总线t0时刻从高拉至低电平时就产生写时间隙从t0时刻开始15us之内应将所需写的位送到总线DSl8B20在t1为15-60us间对总线采样 若低电平写入的位是0见若高电平写入的位是连续写2位间的间隙应大于1us。程序:void write (uchar dat) /写一个字节到 DS18B20 int i; char j; bit testb; for(j=1;j1; if(testb) / 写 1 部分 DS=0; i+;i+; DS=1; i=8; while(i0) i-; else

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服