基于单片机的公交车监控系统的本科毕业论文设计.doc_第1页
基于单片机的公交车监控系统的本科毕业论文设计.doc_第2页
基于单片机的公交车监控系统的本科毕业论文设计.doc_第3页
基于单片机的公交车监控系统的本科毕业论文设计.doc_第4页
基于单片机的公交车监控系统的本科毕业论文设计.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

本 科 毕 业 设 计论文题目: 公交车监控系统的设计 学生姓名: 訚 专业年级:电子信息科学与技术 指导教师: 职称: 2008年 6 月 2 日目 录摘 要I1 前言11.1系统开发的目的11.2系统开发的意义12系统功能概述12.1方案论证13系统硬件设计23.1系统硬件总体思路23.2系统各个模块的设计33.2.1 AT89LV51单片机介绍33.2.2 振荡器特性43.2.3可编程时钟输出43.2.4 复位53.2.5 低功耗模式53.2.6 定时器0和1的操作63.2.2 CRM905ANC无线收发模块93.2.2.1 CRM905ANC简介93.2.2.2 CRM905ANC的特性103.2.2.3管脚定义及电气参数说明113.2.2.4 工作方式123.2.2.5 配置CRM905ANC模块143.2.3 时钟芯片DS1302183.2.3.1时钟芯片DS1302的简介183.2.3.2性能指标183.2.3.3 管脚排列及功能183.2.3.4 DS1302数据操作原理193.2.3.5 数据输入输出(I/O)203.2.3.6 DS1302的寄存器203.2.4 信息存储AT24C64213.2.4.1 AT24C64的简介213.2.4.2 管脚配置及功能描述213.2.4.4 AT24C64的几个操作223.2.5 液晶显示模块243.2.5.1 液晶显示模块概述243.2.5.2 模块引脚253.2.5.3 模块时序253.2.6 I2C总线协议263.2.7 键盘硬件设计284 系统软件设计284.1各功能模块的软件设计284.1.1总体系统软件设计284.1.2时钟模块软件设计284.1.3 存储模块软件设计294.1.4 无线收发模块软件设计294.1.4.1配置编程294.1.5液晶显示模块软件设计305总结31参考文献31致 谢31附录一 系统总体原理图33附录二 流程图35附录三 程序清单40II吉林农业大学本科毕业设计公交车监控系统设计学生:訚忠均 专业:电子信息科学与技术 指导教师:宫鹤摘 要:公交车监控系统与人们的生活息息相关。该系统的设计随着技术的进步而不断趋于人性化,本文介绍一种利用单片机为核心,CRM905ANC无线收发模块实现数据的无线收发,时钟芯片DS1302来实现时钟的控制,同时,将时钟数据通过存储模块AT24C64存储起来,液晶显示用来显示当前时间,实现对公交车行驶过程的监控。关键词:单片机;无线收发;时钟芯片;信息存储;液晶显示The Design of Bus Monitoring System Name:Yin Zhongjun Major:Electronics Information Science and Technology Tutor:Gong HeAbstract:Bus monitoring systems closely related to peoples lives. The design of these systemsused as the technology advanced become more humane, this paper introduced that using of a microcontroller as the core, CRM905ANC wireless transceiver modules for data wireless transceiver, the clock chip DS1302 is used to achieve clock control, meanwile, the clock data is stored through storage memory modules, clock AT24C64.The liquid crystal in order to display the current time and realize the monitoring of the process of the running bus. Key words:SCM; wireless transceiver; clock chip, information storage; LCD581 前言1.1系统开发的目的 随着城市人口的迅猛增加和面积的不断扩大,城市公交车的数量在不断增加,公交线路日益增多;给人们的交通带来了很大的方便。但在公交系统的管理上,与之相关的管理设备和手段大都处于落后的手工操作上,与其快速发展步伐不相适应。其中,在城市里的每一路公交车线路都有调度员,调度员的一个重要的职责的监控每一班公交车在运行过程中的到站情况,如到站时间、地点、公交车号和驾驶员等数据。目前,这些数据都是手工完成,在管理上存在极大漏洞,如夜间收班车,往往某些驾驶员未到终点站抛客调头,造成极坏影响。但在此基础上,本文介绍一种公交车线路监控系统设计和实现的方法。1.2系统开发的意义 公交车监控系统是一种安装在公交车上实现类似于飞机“黑匣子”功能的一种设备,它可以全程记录公交车行驶数据,并通过对所记录的行驶信息数据进行分析从而对车辆的各种状况予以精确的掌控,利用它可以有效的预防驾驶员违章驾驶,遏制重大交通事故。 本文利用51单片机实现对公交车行驶状态的控制,该系统将公交车的行驶信息存储在存储设备上,为运输企业和管理部门监控车辆的运行状态提供了保障。2系统功能概述2.1方案论证 利用51单片机实现公交车监控系统的电路比较简单,易懂。各个模块使用起来也比较方便,比较适用于初学者单片机并学习软件编程和硬件搭接。其中,时钟芯片DS1302是一种比较常见的芯片,它能够实现对时钟的控制,信息存储模块AT24C64存储车辆到每个站点的时间。另外,液晶显示当前的时间,时刻提醒司机车辆的运行状态,51单片机作为整个系统的核心器件,对各个模块进行控制。整个系统比较简单,人性化,它基本能够实现对车辆运行状态的控制。方案一:采用有线传输数据的方式,这种方式目前见于大多数公交车监控系统中,当公交车到站后,乘务员拿着记载着该车信息的IC卡到站台进行刷卡,也就是我们常见的刷卡形式。这种方式比较简单,而且易于实现,但是,这种方式有非常大的缺点:首先,它需要人工操作,在繁华的马路上,乘务员下车需要下车打卡,所以存在很大的安全隐患,其次,这种方式对公交车根本起不到监控的作用,驾驶员可以随便找个人在站点上替它打卡,至于车什么时候到,完全取决与驾驶员。方案二:使用无线传输方式,它不需要人工操作,当公交车到站后,装在公交车上和站点上的无线收发模块进行数据传输,自动记录到站时间、地点,对线路运行情况进行自动数据库管理,提高工作效率和透明度。 因此,本系统采用了第二种方式。3系统硬件设计3.1系统硬件总体思路 在整个系统的设计过程中,系统需要对信息进行处理、显示、存储。系统的总体设计如图3-1(Fig. 3-1)和图3-2(Fig. 3-2)所示。主机模块:AT89LV51无线发射接收模块键盘输入液晶显示时钟模块信息存储 图3-1 Fig. 3-1AT89LV51无线发射接收模块 从机模块:图3-2 Fig. 3-2在图中,单片机系统是整个系统的核心,通过硬件和内部软件的配合控制整个系统的运行。 无线收发模块是指到公交车到站时站点上发送模块发送数据给公交车上的接受模块。 时钟芯片DS1302是指提供系统的工作时间,以便驾驶员时刻掌握公交车的运行状况,同时也提供公交车的到站时间。 信息存储是指单片机系统将公交车到站的时间信息经过处理后存储到存储芯片AT24C64上,运营企业和管理部门可以通过存储的时间信息了解车辆的运营状态,对违章的进行处理。 键盘输入和液晶显示是常用的单片机输入输出模块,为用户提供友好方便的人机操作界面,用户可以输入特定的信息,也可以看到当前的时间,可以做出实时判断。3.2系统各个模块的设计 3.2.1 AT89LV51单片机介绍 本设计由于采用了无线收发模nRF905, nRF905的工作电压为3.0V,所以采用了AT89LV51136.AT89LV51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。工作电压范围可达2.7V-6.0V,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的内部随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89LV51微处理器可为您提供许多高性价比的应用场合。AT89LV51引脚兼容80C51系列芯片,40个引脚,32个外部双向输入/输出(I/O)端口,2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,其将通用的微处理器和Flash存储器结合在一起,可有效地降低开发成本。同时该芯片还具有PDIP、TQFP及PLCC等三种封装形式,以适应不同产品的需求。此外,AT89LV51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。主要功能特性: 标准MCS-51内核和指令系统 4kB内部ROM(外部可扩展至64kB) 32个可编程双向I/O口 128x8bit内部RAM(可扩充64kB外部存器) 2个16位可编程定时/计数器 时钟频率0-16MHz 5个中断源 5.0V工作电压 可编程全双工串行通信口 布尔处理器 2层优先级中断结构 电源空闲和掉电模式 快速脉冲编程 2层程序加密位 PDIP和PLCC封装形式 图3-3 兼容TTL和CMOS逻辑电平 Fig. 3-33.2.2 振荡器特性XTAL1和XTAL2为输入和输出,可分别作为一个反相放大器的输入和输出。此管脚可配置为使用内部振荡器。要使用外部时钟源驱动器件时,XTAL2可以不连接而由XTAL1驱动,外部时钟信号无占空比的要求,因为时钟通过触发器二分频输入到内部时钟电路。但高低电平的最长和最短时间必须符合手册的规定。3.2.3可编程时钟输出可从P1.0编程输出50%占空比的时钟信号。P1.0除了作为常规I/O口外,还有两个可选功能。它可编程为:1. 用于定时/计数器2的外部时钟输入;2. 使用16MHz操作频率时,12时钟模式下输出50%占空比的61Hz-4MHz时钟信号(6时钟模式时为122Hz-8MHz)。要将定时/计数器2配置为时钟发生器,C/T2(T2CON.1)必须清零,而T2MOD中的T20E位必须置位。要启动定时器2还必须将TR2(T2CON.2)置位。时钟输出频率由振荡器频率和定时器2捕获寄存器的重新装入值确定,公式如下:振荡器频率n(65536RCAP2H,RCAP2L)此处n = 16(6时钟模式)或32(12时钟模式)(RCAP2H,RCAP2L)= RCAP2H和RCAP2L的内容作为一个16位无符号整数。在时钟输出模式中,定时器2的翻转将不会产生中断。这和它作为波特率发生器时相似。定时器2可同时作为波特率发生器和时钟发生器。但需要注意的是,波特率和时钟输出频率相同。3.2.4 复位在振荡器工作时,将RST脚保持至少两个机器周期高电平(12时钟模式为24个振荡器周期,6时钟模式为12振荡器周期)可实现复位。为了保证上电复位的可靠,RST保持高电平的时间至少为振荡器启动时间(通常为几个毫秒)再加上两个机器周期。复位后,振荡器以12时钟模式运行(当已通过并行编程器设置为6时钟模式时除外)。3.2.5 低功耗模式3.2.5.1 时钟停止模式静态设计使时钟频率可以降至0MHz(停止)。当振荡器停振时,RAM和SFR的值保持不变。该模式允许逐步应用并可将时钟频率降至任意值以实现系统功耗的降低。如要实现最低功耗则建议使用掉电模式。3.2.5.2 空闲模式空闲模式见表3-1( Table 3-1)中,CPU进入睡眠状态,但片内的外围电路仍然保持工作状态。正常操作模式的最后一条指令执行进入空闲模式。空闲模式下,CPU 内容、片内RAM和所有SFR保持原来的值。任何被使能的中断(此时,程序从中断服务程序处恢复并继续执行)或硬件复位(与上电复位使用相同的方式启动处理器)均可终止空闲模式。3.2.5.3 掉电模式为了进一步降低功耗,通过软件可实现掉电模式见表3-1( Table 3-1)。该模式中,振荡器停振并且在最后一条指令执行进入掉电模式。降到2.0V时,片内RAM和SFR保持原值,在退出掉电模式之前Vcc必须升至规定的最低操作电压。硬件复位或外部中断均可结束掉电模式。硬件复位使所有的SFR重新设置,但不改变片内RAM的值。外部中断允许SFR和片内RAM都保持原值。WUPD(AUXR1.3从掉电唤醒)使能或禁止通过外部中断唤醒掉电。WUPD=0 禁止;WUPD=1 使能要正确退出掉电模式,在Vcc恢复到正常操作电压范围之后,复位或外部中断开始执行并且要保持足够长的时间(通常小于10ms)以使振荡器重新启动并稳定下来。使用外部中断退出掉电模式时,INT0和INT1必须使能且配置为电平触发。将管脚电平拉低使振荡器重新启动,退出掉电模式后将管脚恢复为高电平。一旦中断被响应,RETI之后所执行的是进入掉电模式指令的后一条指令。表3-1 空闲模式和掉电模式时外部管脚的状态Table 3-1 Power-down mode and idle mode when the status of the external pin模式程序存储器ALEPSEN口0口1口2口3空闲内部11数据数据数据数据空闲外部11悬浮数据地址数据掉电内部00数据数据数据数据掉电外部00悬浮数据数据数据3.2.6 定时器0和1的操作定时和计数功能由特殊功能寄存器TMOD的控制位C/T进行选择。这两个定时/计数器有4种操作模式,通过TMOD的M1和M0选择。两个定时/计数器的模式0、1和2都相同,模式3不同。如下所述:3.2.6.1 模式0将定时器设置成模式0时类似8048定时器,即8位计数器带32分频的预分频器。图2.2所示为模式0工作方式。此模式下,定时器寄存器配置为13位寄存器。当计数从权为“1”翻转为全为“0”时,定时器中断标志位TFn置位。当TRn=1同时GATE=0或INTn=1时定时器计数。置位GATE时允许由外部输入INTn控制定时器,这样可实现脉宽测量。TRn为TCON寄存器内的控制位(图2.3)。该13位寄存器包含THn全部8个位及TLn的低5位。TLn的高3位不定,可将其忽略。置位运行标志(TRn)不能清零此寄存器。模式0的操作对于定时器0及定时器1都是相同的。两个不同的GATE位(TMOD.7和TMOD.3)分别分配给定时器0及定时器1。3.2.6.2 模式1模式1除了使用了THn及TLn全部16位外,其它与模式0相同。3.2.6.3 模式2此模式下定时器寄存器作为可自动重装的8位计数器(TLn),如图3.5所示。TLn的溢出不仅置位TFn,而且将THn内容重新装入TLn,THn内容由软件预置。重装时THn内容不变。模式2的操作对于定时器0及定时器1是相同的。3.2.6.4 模式3在模式3中,定时器1停止计数,效果与将TR1设置为0相同。此模式下定时器0的TL0及TH0作为两个独立的8位计数器。图3.6为模式3时的定时器0逻辑。TL0占用定时器0的控制位:C/T,GATE,TR0,INT0及TF0。TH0限定为定时器功能(计数器周期),占用定时器1的TR1及TF1。此时TH0控制“定时器1”中断。模式3可用于需要一个额外的8位定时器的场合。定时器0工作于模式3时,AT89LV51看似有3个定时器/计数器,当定时器0工作于模式3时,定时器1可通过开关进入/退出模式3,它仍可用作串行端口的波特率发生器,或者应用于任何不要求中断的场合。下图3.4(Fig3.4) 定时器/计数器控制寄存器(TCON)。 图3.4Fig. 3.4图3.5 定时/计数器0/1的模式2:8位自动重装Fig. 3.5 Timing / Counter 0 / 1 in the 2:8 mode automatically reload 图3.6 定时/计数器0的模式3:双8位计数器Fig. 3.6 Timing / Counter 0 Mode 3: Two-8 Counter图3.7单片机的硬件实现原理图Fig.3.7 the hardware schematics of SCM3.2.2 CRM905ANC无线收发模块3.2.2.1 CRM905ANC简介 CRM905ANC无线收发模块由单片无线收发一体芯片nRF905开发设计而成,nRF905是挪威NordicVLSI公司推出的单片射频收发器,工作电压为1.93.6V,32引脚QFN封装(55mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器,ShockBurst工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905适用于无线数据通信、无线报警及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域2。 nRF905片内集成了电源管理、晶体振荡器、低噪声放大器、频率合成器功率放大器等模块,曼彻斯特编码/解码由片内硬件完成,无需用户对数据进行曼彻斯特编码,因此使用非常方便。nRF905的详细结构如图3.8(Fig3.8)所示。 图3.8Fig .3.8图3.9由nRF905组成的高频头用户接口Fig .3.9 NRF905 from the first high-frequency components of the user interface3.2.2.2 CRM905ANC的特性l GFSK 调制收发合一l ShockBurstTM 收发模式特适用于低功耗应用l 多频道应用兼容ETSI/FCC,频道切换时间小于650usl 最大输出功率10dBm 可调,接收灵敏度高达-100dBml 需外接433MHz 50天线l 载波监听( for”Listen before Transmit”protocols)功能有效防止RF 传输碰撞l 成功收发数据包信号提示使您能有效的控制数据收发时机l 接收数据包自动地址匹配便利于点对多和多对多传输l 发送数据包自动重传l 自动生成数据包报头及CRC 校验码l 数据传输速率高达100kbpsl RF 与MCU 之间使用SPI 串行可编程接口协议传输数据简单易用l 16 脚双排接口,可直接与TTL/COMS 模式MCU 引脚连接l 工作电压:1.9-3.6Vl 工作电流:接收:12.5 mA发射:11 mA -10 dBm RF 输出功率;30mA+10dBm RF 输出功率待机:2.5uA3.2.2.3管脚定义及电气参数说明产品图片如下图3.10 CRM905ANCFig.3.10 CRM905ANC表3-2管脚说明Table3-2管脚名称描述1GND电源地2VCC系统电源3TRX_CE使能芯片接收和发送4TX-EN收发状态选择:TXEN=1 发射状态;TXEN=0 接收状态5uPCLK系统时钟分频输出6PWR_UP工作状态控制:PWR=1 正常工作状态;PWR=0 待机微功耗状态7GND电源地8GND电源地9AM地址匹配10CD载波监听11MISOSPI 输出,MCU 由此口从RF 芯片读入数据12DR接收或发送就绪13SCKSPI 时钟14MOSISPI 输入,MCU 由此口向RF 芯片写入数据15GND电源地16CSNSPI 使能,低激活 CRM905ANC单片无线收发器工作在433/868/915MHZ 的ISM 频段由一个完全集成的频率调制器一个带解调器的接收器一个功率放大器一个晶体震荡器和一个调节器组成ShockBurst 工作模式的特点是自动产生前导码 和 CRC 可以很容易通过SPI 接口进行编程配置电流消耗很低在发射功率为10dBm 时发射电流为30mA 接收电流为12.5mA. 进入POWERDOWN 模式可以很容易实现节电. 3.2.2.4 工作方式 CRM905ANC一共有四种工作模式, 其中有两种活动RX/TX 模式和两种节电模式。 活动模式 ShockBurst RX ShockBurst TX 节电模式 掉电 和 SPI编程 STANDBY 和 SPI编程 nRF905 工作模式由TRX_CE、TX_EN、PWR_UP 的设置来设定。表3-3Table3-3PWR_UP TRX_CE TX_EN 工作模式 0 X X 掉电和SPI 编程 1 0 X Standby 和SPI 编程 1 1 0 ShockBurst RX 1 1 1 ShockBurst TX ShockBurst 模式 ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。ShockBurstTM技术同时也减小了整个系统的平均工作电流。 在ShockBurstTM收发模式下, RF905自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,DR引脚通知微处理器数据发射完毕。 ShockBurst TX 发送流程 典型的RF905发送流程分以下几步: 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发送过程完成,自动进入空闲模式。 注意:ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,RF905才能接受下一个发送数据包。 ShockBurst RX 接收流程 A. 当TRX_CE为高、TX_EN为低时,RF905进入ShockBurstTM接收模式; B. 650us后,RF905不断监测,等待接收数据; C. 当RF905检测到同一频段的载波时,载波检测引脚被置高; D. 当接收到一个相匹配的地址,AM引脚被置高; E. 当一个正确的数据包接收完毕, RF905自动移去字头、地址和CRC校验位,然后把DR引脚置高 F. 微控制器把TRX_CE置低,nRF905进入空闲模式;G. 微控制器通过SPI口,以一定的速率把数据移到微控制器内; H. 当所有的数据接收完毕,nRF905把DR引脚和AM引脚置低; I. nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。 当正在接收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,RF905立即把其工作模式改变,数据包则丢失。当微处理器接到AM引脚的信号之后, 其就知道RF905正在接收数据包,其可以决定是让RF905继续接收该数据包还是进入另一个工作模式。 节能模式 RF905的节能模式包括关机模式和节能模式。 在关机模式,RF905的工作电流最小,一般为2.5uA。进入关机模式后,RF905保持配置字中的内容,但不会接收或发送任何数据。 空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,RF905内部的部分晶体振荡器处于工作状态。 3.2.2.5 配置CRM905ANC模块所有配置字都是通过SPI接口送给RF905。SPI接口的工作方式可通过SPI指令进行设置。当RF905处于空闲模式或关机模式时,SPI接口可以保持在工作状态。 A. SPI接口寄存器配置 SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。 SPI 接口由5 个内部寄存器组成执行寄存器的回读模式来确认寄存器的内容 表3.4 SPI接口和5个内部寄存器Table3-4 The interface of SPI and five inside register寄存器名称内容状态寄存器Status-Register寄存器包含数据就绪DR 和地址匹配AM 状态 RF 配置寄存器RF-Configuration Register 寄存器包含收发器的频率,输出功率等配置信息发送地址TX-Address寄存器包含目标器件地址字节长度由配置寄存器设置 发送有效数据TX-Payload 寄存器包含发送的有效ShockBurst 数据包数据字节长度由配置寄存器设置 接收有效数据RX-Payload寄存器包含接收到的有效ShockBurst 数据包数据字节长度由配置寄存器设置在寄存器中的有效数据由数据准备就绪DR 指示 B. SPI 指令设置 当CSN 为低时, SPI接口开始等待一条指令。任何一条新指令均由CSN 的由高到低的转换开始。用于SPI 接口的有用命令见下表:表3-5Table3-5 SPI 串行接口指令指令名称 指令格式 操作 W_CONFIG (WC) 0000AAAA 写配置寄存器AAAA 指出写操作的开始字节字节数量取决于AAAA 指出的开始地址 R_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_PAYLOA D (RRP) 00100100 读RX 有效数据1-32 字节读操作全部从字节0 开始 CHANNEL_CON FIG (CC) 1000pphc cccccccc 快速设置配置寄存器中CH_NO HFREQ_PLL 和PA_PWR 的专用命令CH_NO=ccccccccc HFREQ_PLL=h PA_PWR=pp C. SPI 时序 图3.11 SPI读操作Fig.3.11 SPI read operate图3.12 SPI 写操作Fig.3.12 SPI write operate D. 配置寄存器RF-Configuration-Register 说明表3-5Table3-5参数 位宽 说明CH_NO 9 同HFREQ_PLL 一起设置中心频率默认值=001101100b=180d FRF= 422.4+ CH_NOd/10 *(1+ HFREQ_PLLd)MHZ HFREQ_ PLL 1 设置PLL 在433 或868/915MHZ 模式默认值=0 0 -器件工作在433MHZ 频段1 -器件工作在868/915MHZ 频段 PA_PWR 2 输出功率默认值=00 00 -10dBm 01 -2dBm 10 +6dBm 11 +10dBm RX_RED_ PWR 1 降低接收模式电流消耗至1.6mA 灵敏度降低默认值=0 0 -正常模式1 -低功耗模式 AUTO_ RETRAN 1 重发数据如果TX 寄存器的TRX_CE 和TX_EN 被设置为高默认值=0 0 -不重发数据1 -重发数据包 RX_AWF 3 RX 地址宽度默认值=100 001 -1 字节RX 地址宽度100 -4字节RX 地址宽度 TX_AWF 3 TX 地址宽度默认值=100 001 -1 字节TX 地址宽度100 -4 字节TX 地址宽度 RX_PW 6 RX 接收有效数据宽度默认值=100000 000001 -1 字节RX 有效数据宽度000010 -2 字节RX 有效数据宽度100000 -32 字节RX 有效数据宽度 TX_PW 6 TX 有效数据宽度默认值=100000 000001 -1 字节TX 有效数据宽度000010 -2 字节TX 有效数据宽度100000 -32 字节TX 有效数据宽度 RX_ ADDRESS 32 RX 地址使用字节依赖于RX_AFW 默认值=E7E7E7E7h UP_CLK_ FREQ 2 输出时钟频率默认值=11 00 -4MHZ 01 -2MHZ 10 -1MHZ 11 -500KHZ UP_CLK_EN 1 输出时钟使能默认值=1 0 -没有外部时钟1 -外部时钟信号使能 XOF 3 晶体振荡器频率必须依据外部晶体的标称频率设置默认值=100 000 -4MHZ 001 -8MHZ 010 -12MHZ 011 -16MHZ 100 -20MHZ CRC_EN 1 CRC 校验允许默认值=1 0 -不允许1 -允许 CRC_ MODE 1 CRC 模式默认值=1 0 -8 位CRC 校验位1 -16 位CRC 校验位 表3-6 配置寄存器内容Table3-6 The content Configuration registerRF-Configuration-Register( R/W)字节 内容位7 0 MSB=BIT7 初始化值 0 Bit7 0 0110_1100 1 Bit7:6没用 AUTO_RETRAN RX_RED_PWR PA_PWR1:0 HFREQ_PLL CH_NO 8 0000_0000 2 Bit7 没用 TX_AFW2:0 Bit3 没用 RX_AFW2:0 0100_0100 3 Bit7:6没用 RX_PWR5:0 0010_0000 4 Bit7:6没用 TX_PWR5:0 0010_0000 5 RX 地址0 字节 E7 6 RX 地址1 字节 E7 7 RX 地址2 字节 E7 8 RX 地址3 字节 E7 9 CRC_ 模式 CRC 校验允许X OF2:0 UP_CLK_EN UP_CLK_FREQ1:0 1110_0111 射频寄存器的各位的长度是固定的。然而,在ShockBurstTM收发过程中,TX_PAYLOAD、RX_PAYLOAD、TX_ADDRESS和RX_ADDRESS 4个寄存器使用字节数由配置字决定。RF905进入关机模式或空闲模式时,寄存器中的内容保持不变。 图3.12 NRF905原理图Fig.3.12 The Schematic of NRF9053.2.3 时钟芯片DS13023.2.3.1时钟芯片DS1302的简介DS13028 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW。 DS1302 是由DS1202 改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1 为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域。3.2.3.2性能指标l 实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力还有闰年调整的能力l 31X 8 位暂存数据存储RAMl 串行I/O 口方式使得管脚数量最少l 宽范围工作电压2.0-5.5Vl 工作电流2.0V 时,小于300nAl 读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式l 8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配l 简单3 线接口l 与TTL 兼容Vcc=5Vl 可选工业级温度范围-40+85l 与DS1202 兼容l 在DS1202 基础上增加的特性对Vcc1 有可选的涓流充电能力双电源管用于主电源和备份电源供应备份电源管脚可由电池或大容量电容输入附加的7 字节暂存存储器3.2.3.3 管脚排列及功能DS1302的管脚排列如图3.13(Fig 3.13)所示。 图 3.13Fig .3.13管脚描述X1 X2 32.768KHz 晶振管脚GND 地RST 复位脚I/O 数据输入/输出引脚SCLK 串行时钟Vcc1,Vcc2 电源供电管脚DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK始终是输入端。3.2.3.4 DS1302数据操作原理DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个将被访问。在开始8个周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据,时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数。如果在传送过程中置RST脚为低电平,则将会终止本次数据传送,并且I/O引脚变为高组态。上电运行时,在VCC2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302控制字节76543210 1RAMCKA4A3A2A1A0RAMK DS1302 的控制字如图所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。3.2.3.5 数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。3.2.3.6 DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表3-7(Table3-7)。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。表3-7内部寄存器地址和内容Table 3-7 Internal register address and content寄存器名命令字节取值范围寄存器内容写读76543210秒寄存器80H81H0059CH10sSEC分寄存器82H83H0059010minMIN小时寄存器84H85H0023或011212/24010A/PHRHR日寄存器86H87H01310010DATEDATE月寄存器88H89H011200010MMONTH周寄存器8AH8BH010700000

温馨提示

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

评论

0/150

提交评论