1、毕业论文开题报告信息与计算科学基于单片机的无线病房呼叫器的研制一、选题的意义医院能够最好的为病人服务是特别重要的,但是要让一个护士每时每刻陪护在病人旁边,则极为浪费资源,也没有必要。临床求助呼叫器是提高医院服务质量必不可少的设备之一,它能简单地实现病人与医生之间的联系,让医生及时得知病人的情况,让病人及时得到医生的治疗。目前我国传统的病房呼叫设备多为有线传输,明线会影响美观,而且布线施工复杂,维修不方便费用高。为解决以上不足,可以采用无线的传输方式,利用无线射频芯片和单片机,控制信号的传输,这样就不会破坏区域的美观,安装也会变得简单,维修时也就不会破坏墙面了。这样就能够进一步提高医疗服务水平,
2、并与现代化社会进步相协调。本课题的选择,不仅可以让我学习硬件电路的设计、软件设计,从而加强自己的动手能力,进一步巩固学科知识,还可以让我学会无线通信方面的知识,进一步了解编码译码知识,及实际中的应用。二、研究的主要内容,拟解决的主要问题研究的主要内容1信号的无线发送、接收技术;2信号的处理、显示方法。拟解决的主要问题1主控制芯片的选择单片机的种类多种多样,在实际的应用过程中,不能单纯考虑单片机的性能高低,还要考虑实际应用能力,价格是否合理、能源消耗多少、使用是否方便。综合考虑上述因素,选择最合理的主控制芯片。2无线传输方式的选择市场上的无线传输方式有很多,主要有红外、27MHZ射频、调频、蓝牙
3、、24G五种,我们需要对比这几种无线传输方式,选择最适合自己课题的一种传输方式进行研究与设计。3如何实现主机与分机的无线呼叫无线传输中最主要的问题就是怎样传输的,了解传输方式后,还需要查找资料,掌握在程序中怎样实现信号的编译码,然后应用与自己的课题中。4多主机多分机的情况下,如何实现对应机子的呼叫在实际的医疗应用领域,不同的科室有不同的护士站,此时,我们要知道我们分机的呼叫信号是传给哪个护士站。同样不同的病房需要有不同的分机,在应用时,护士站需要及时了解由哪个病房传来的呼叫信号,并且把反馈信号给相对应的分机,这样才能保证呼叫信号的准确可靠性。三、工作步骤、方法及措施工作步骤1确定课题,根据任务
4、书的内容,与指导老师进行交流,讨论出课题的注意点。2收集资料,找出与课题相关的资料,阅读资料,撰写开题报告。3设计硬件电路,找老师审阅,设计更加完善的电路。4编写相关程序,分模块进行仿真。5制作PCB板并焊接。6调试,进一步完善程序,尽可能实现任务要求。7做好总结,写好论文,等待答辩。工作方法及措施查找资料,阅读文献,整理出与课题相关的知识,选择最合适的方法设计本课题的系统,遇到问题力求自己查找资料解决,无法完成时向他人请教,或者像指导老师求教,力争举一反三,不断完善自己的知识,提高自己的动手动脑能力。四、毕业论文提纲1绪论介绍无线传输的发展及选题意义。2硬件设计介绍系统的硬件电路。3程序设计
5、介绍系统各部分的程序设计。4调试与分析介绍该设计的调试方式,以及介绍调试过程中遇到的问题及注意事项。5总结介绍自己的做完课题的感受。五、主要参考文献1陈新岗,赵阳阳,李太鑫等基于单片机的无线病房呼叫器J重庆工学学院学报自然科学,2008,22102郭红霞,刘磊,杜超病房呼叫器设计J数字技术与应用,2010,93倪伟病房智能呼叫系统的研究与开发J电气自动化,2004,2624王月爱单片机控制的多路呼叫系统设计J现代电子技术,2010,105谢彪带有“反馈”信号的病房呼叫器J电子世界,2002,86宋素萍,胡亚楠基于单片机的通信系统研究J毕节学院学报,2009,2787欧伟明基于NRF401和AT
6、89C51的无线数字通信系统J世界电子元器件,2006,108彭祥新,郭泓,乔梁基于NRF401的无线呼叫服务系统设计J电子工程师,2005,3179MADHUCREDDY,WANDAPRATT,DAVIDWMCDONALDCHALLENGESTOPHYSICIANSUSEOFAWIRELESSALERTPAGERJAMIAANNUSYMPPROC,200810STUARTAEISENSTADT,MS,MICHAELMWAGNERMD,WILLIAMRHOGAN,MOBILEWORKERSINHEALTHCAREANDTHEIRINFORMATIONNEEDSARE2WAYPAGERSTHEA
7、NSWERJPROCAMIASYMP,2007毕业论文文献综述信息与计算科学24G无线传输技术一、无线技术的发展社会的不断发展,无线的优点已经逐步显现。如无线通信覆盖范围大,几乎不受地理环境限制;无线通信可以随时架设,随时增加链路,安装、扩容方便;无线通信可以迅速(数十分钟内)组建起通信链路,实现临时、应急、抗灾通信的目的;而有线通信则有地理的限制、较长的响应时间。无线通信在可靠性、可用性和抗毁性等方面超出了传统的有线通信方式,尤其在一些特殊的地理环境下,更能体现其优越性1。随着无线技术的成熟,工业、医疗等行业也开始越来越多地使用24G通信。24G无线技术的频段处于2400MHZ2525MHZ
8、之间,主要应用与科学、医药、农业等。该频段是国际规定的免费频段,无需任何费用,这就为24G无线技术的可发展性提供了有利的条件。24G无线技术不同于之前的27MHZ无线技术,它的工作方式是全双工模式传输,在抗干扰性能上要比27MHZ有着绝对的优势2。这个优势决定了它的超强抗干扰性以及最大可达10米的传输距离。此外24G无线技术还拥有理论上2M的数据传输速率,比蓝牙的1M理论传输速率提高了一倍。这就为以后的应用层提高了可靠的保障。各种无线传输技术对比如表1所示。表1各种无线传输的对比红外红外的特点是有效接收距离短,且无法支持多方位传输;电力消耗大,抗干扰能力差。27MHZ射频接收距离短,传输速率较
9、低,抗干扰能力一般,只能进行单向信号传递,容易出现信号中断和无线频段互相干扰的现象。调频传输距离较长,可全方位接收信号,抗干扰能力较高,仅支持单向信号传递。蓝牙在传输距离、速度等方面具有绝对优势,但在微处理器和协议使用许可方面的高要求,使得产品价格一直居高不下,对国内大部分消费者来说还是难以承受的。24G传输速率可媲美蓝牙,功耗却大大降低;采用完全开放式的网络协议,在价格上具有绝对优势;传输距离可达10米,虽然小于蓝牙,但是足够日常的音乐欣赏了。二、NRF24L01无线射频芯片NRF24L01是现在市场上最典型的,利用24G无线技术开发设计而成的芯片,它是一款新型单片射频收发器件,工作于24G
10、HZ25GHZISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型SHOCKBURST技术,其中输出功率和通信频道可通过程序进行配置。NRF24L01功耗低,在以6DBM的功率发射时,工作电流也只有9MA;接收时,工作电流只有123MA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便3。1NRF24L01的工作原理发射数据时,首先将NRF24L01配置为发射模式接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入NRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电
11、平并保持至少10S,延迟130S后发射数据若自动应答开启,那么NRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)5。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TXFIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TXFIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则NRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据
12、且CE为高,则进入空闲模式2。接收数据时,首先将NRF24L01配置为接收模式,接着延迟130S进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RXFIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据7,6。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则NRF24L01进入空闲模式1。2NRF24L0L的配置字NRF24L0L的配置寄存器共有25个,所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问8。SPI口为同步串行通信接口,最大传输速率为10MB/S,传输时先传送低位字节
13、,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由NRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。3NRF24L0L的防干扰能力由于24G频段没有使用授权限制,目前家用电器、手机、无线网络都集中在此频段,干扰问题难以避免。而NRF24L0L芯片采用的调频技术有效的解决了频段干扰问题。跳频技术FREQUENCYHOPPINGSPREADSPECTRUM;FHSS9是在24GHZ频带以一定的频宽将其划分为若干个无线电频率信道(RADIOFREQUENCYCHANNEL;RF10C),并且以使用接收和发送两端一样的
14、频率跳跃模式(FREQUENCYHOPPING)来接发讯号及防止数据撷取。其工作原理是,收发双方传输信号的载波按照预定规律进行离散变化。以达到避开干扰,完成传输。简单的说,FHSS不是抑制干扰而是容忍干扰。三、总结利用NRF24L01芯片进行无线传输,容易实现小尺寸、高稳定性的无线数据传输系统,125个可选工作频段可根据需要进行选择。增强型的SHOCKBURST功能、自动应答及自动重发功能、地址及CRC检验功能,让系统的使用更方便,准确率更高,应用领域更为广泛。四、参考文献1陈新岗,赵阳阳,李太鑫等基于单片机的无线病房呼叫器J重庆工学学院学报自然科学,2008,22101261303荚庆,王代
15、华,张志杰基于NRF24L01的无线数据传输系统J现代电子技术,2008,768824刘志平,赵国良基于NRF24L01的近距离无线数据传输J应用科技,2008,35355585倪伟病房智能呼叫系统的研究与开发J电气自动化,2004,26242466宋素萍,胡亚楠基于单片机的通信系统研究J毕节学院学报,2009,278991017欧伟明基于NRF401和AT89C51的无线数字通信系统J世界电子元器件,2006,1065678彭祥新,郭泓,乔梁基于NRF401的无线呼叫服务系统设计J电子工程师,2005,31716179MADHUCREDDY,WANDAPRATT,DAVIDWMCDONALD
16、CHALLENGESTOPHYSICIANSUSEOFAWIRELESSALERTPAGERJAMIAANNUSYMPPROC,200854454810STUARTAEISENSTADT,MS,MICHAELMWAGNERMD,WILLIAMRHOGAN,MOBILEWORKERSINHEALTHCAREANDTHEIRINFORMATIONNEEDSARE2WAYPAGERSTHEANSWERJPROCAMIASYMP,2007135139(20_届)本科毕业设计信息与计算科学基于单片机的无线病房呼叫器的研制目录第一章绪论1111选题意义1112本设计的总体思想11第二章硬件系统设计1221
17、分机电路设计12211分机号码设定电路12212分机指示电路13213分机AT89C2051与NRF24L01的连接电路1422主机电路设计14221主机显示电路14222主机报警电路15223主机按键电路16224主机AT89S52与NRF24L01的连接电路1623NRF24L01的无线收发模块介绍16231NRF24L01芯片外部端口介绍17232NRF24L01的工作模式介绍8233通讯方式22234SPI协议22第三章程序设计2531分机主程序设计2532主机主程序设计2633发送接收部分程序设计27331发送部分程序设计27332接收部分程序设计27第四章调试与分析2841调试步骤
18、2842调试过程中出现的问题及解决方案29第五章总结30参考文献31致谢错误未定义书签。附录A基于单片机的无线病房呼叫器的研制元器件清单32附录B基于单片机的无线病房呼叫器的研制分机原理图34附录基于单片机的无线病房呼叫器的研制主机原理图36附录D基于单片机的无线病房呼叫器的研制分机PCB图38附录E基于单片机的无线病房呼叫器的研制主机PCB图39附录F基于单片机的无线病房呼叫器的研制分机程序40附录G基于单片机的无线病房呼叫器的研制主机程序4811第一章绪论11选题意义在如今的大小医院中,我们看到的病房呼叫器,大部分是镶嵌在墙上的一个按键,他们基本上都是采用有线的方式与主机相连。这种方式在短
19、距离的传输上有一定的优势,线路较短,布线相对不为复杂。但是在一个医院,每个病房都需要数个按键,每个按键对应一条电线,整个医院来说,单纯买线的成本就相当大,在布线时,还要考虑美观因素,一般选择暗埋的方式布线,但是这种方法容易受到医院坏境的限制而且对日后更换电线也造成一定的麻烦,所以在组建时要充分考虑到日后的问题1。相对与有线传输的布线复杂,改线难问题,本设计的采用的是无线的传输方式。该方式无需考虑布线问题,仅仅需要给每个病房提供一个分机,每个病人按照自己的需要按对应的病房号就可以,操作简单,老少兼能用。此外,分机仅需要一节3V的电源就能供电,使用方便且安全指数高。另外有人可能想到无线传输没有保障
20、的问题,不知道自己发送的数据,是否在总台接收到了,本设计在分机特别设置了两个指示灯,一个用来表示发送完成,一个用来表示主机接收成功,如果主机接收到分机发送的信号,分机的接收指示灯就会被点亮,若分机没有收到主机发来的信号,指示灯不会被点亮,用户可以重新发送数据。总的来说该无线病房呼叫器操作简单,安全可靠,经济实惠,稍加改动还可以变成无线抢答器、遥控器等,适用范围广。12本设计的总体思路本设计分为主机和分机,分机负责编辑床位号,主机负责接收显示并且报警,并进行记录翻查和删除,总体设计思想如框图11和12所示。12第二章硬件系统设计系统分为呼叫主机和接收分机两种,分机用来呼叫,通过单片机进行编码,然
21、后通过射频模块NRF24L01进行发射。当分机接收到主机的回复信号时,分机接收并通过射频模块把信号传输给单片机,单片机解码后,接收指示灯点亮。在一般情况下,主机和分机都处于待机状态,收到发送指令后,接收数据到单片机,然后单片机指示外围硬件作出相应的反应,当接收到接收数据指令后,也同样接收数据到单片机,然后单片机做出相应的回应。21分机电路设计分机主要用来设定呼叫号码,编码并且发送呼叫信息,点亮发送完成指示灯,以及接收主机的回复信息,并进行解码操作,点亮回复指示灯。分机的设计框图2,如图21所示。211分机号码设定电路本设计实物中,设置的号码只有三个按键,分别代表1,2,3,可以按出的病床号分别
22、为10,11,12,13,20,21,22,23,30,31,32,33,其中10,20,30是由于程序内部本身的初始值为0决定的。为了方便设计,本设计只用了三个按键,在实际中可以添加按键,以适应实际需要。分机按键接口电路,如图22所示。接收发送控制器AT89C2051接收指示灯射频模块发送与接收发送指示灯号码设定键盘输入图21分机的设计框图编辑床位号发射控制芯片图11分机基本设计思路控制芯片接收报警记录翻查删除图12主机基本设计思路13按键部分,K1表示数字“1”,K2表示数字“2”,K3表示数字“3”,ENTER为发送按键,若要发送病床号23,则先按K2,再按K3,然后按发送按键ENTER
23、,这样就把我们所需的病床号发送给主机了。程序内部发送的初始值都为0,在不按任何数字键,只按发送的情况下,我们发送的数字为00,按下的第一个数字,代表的是要发送的最高位,所以当只按了一个数字,比如说“1”时,主机接收到的数据是“10”,因为按一个数字键,只改变了最高位。同样的道理,在实际应用中,我们需要完善数字键,需要能发送09,10个数字,这样就能发送所有我们所需要的号码了。为什么要使用拉电阻一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。数字电路有三种状态高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,
24、可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定3一般说的是I/O端口,有的可以设置,有的不可以设置,有的是内置,有的是需要外接,I/O端口的输出类似于一个三极管的C,当C接通过一个电阻和电源连接在一起的时候,该电阻成为上C拉电阻,也就是说,如果该端口正常时为高电平,C通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻,使该端口平时为低电平,作用比如当一个接有上拉电阻的端口设为输如状态时,他的常态就为高电平,用于检测低电平的输入。本设计中10K的上拉电阻可用可不用。用了有节约功耗的作用。212分机指示电路分机在发送了一个病床号后,分机的发送指示灯会被点亮,这样可以让病人确定
25、自己已经发送了自己的信息,从而不会有不必要的担忧,同样在主机在接收到所发送的数据后,会回复给分机一个信号,表明自己已经接收到了分机所发送的信号,这样进一步的确认,让系统更加完善。分机指示电路4如图23所示。其中P11与P10分别为单片机AT89C2051的IO口。VCCP35P34P33P32K1K3K2ENTERGNDR110KR310KR410KR210K图22分机按键接口电路AT89C205114213分机AT89C2051与NRF24L01的连接电路NRF24L01芯片分为四种工作状态收发模式、配置模式、待机模式、掉电模式。这四种工作模式的切换由PWR_UP、PRIM_RX、CE的状态
26、确定。单片机与收发模块的接口电路,如图24所示。NRF24L01芯片的各个管脚与单片机接口的连接51VCC脚接电压范围为19V36V之间,不能在这个区间之外,超过36V将会烧毁模块。推荐电压33V左右。2除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。当然对3V左右的单片机更加适用了。3硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口就可以了,当然用串口也可以了。49脚接地脚,需要和母板的逻辑地连接起来;2脚和9脚悬空。22主机电路设计主机主要用来接收分机所发送的病床号信息,主机控
27、制芯片AT89S52不断检验是否有信号接收到。一旦接收到信息,主机就会对信息进行解码,然后将解码出来的数据分别存放在十位和个位所在的寄存器,然后在数码管中显示这个病床号。同时分机在接收到信号后会自发报警,提示护士有病人呼叫,与此同时,主机会发送一个确认信号给分机,确认主机已经成功接收到分机所发出的信号。同时主机还具有上翻下翻,查找之前收到的病床号的作用,防止多个分机同时发送数据导致显示速度时间过短,而忽略病床号的问题。本机的存储量为30,到超出30条信息时,前面的信息被覆盖,所以需要人即使查看消息,并且删除消息。主机设计框图,如图25所示。221主机显示电路接收射频模块发送与接收主控制器AT8
28、9S52报警显示电路上翻下翻删除发送图25主机设计框图P12P13P17R61KVCCP11R51KP10图23分机指示电路图24单片机与收发模块的接口电路ENIRQCSNMOSIR101KR111KR121KP16P14P15VCCCESCKMISOVDDR71KR81KR91KGND收发芯片NRF24L01GNDGND15本设计中使用单片机AT89S52的P26和P27分别控制数码管的个位和十位,当相应的端口变成低电平时,相应的三极管导通,5V的电源通过驱动三极管给数码管的对应的位供电,此时只要给数码管相应段选端口赋予低电平,就能点亮数码管的相应段。因为要显示几位不同的数字,所以数码管必须
29、用动态扫描的方式来实现7。本系统采用LED共阳接法,采用动态显示,首先将要显示的数据分别放在数组A30和数组B30里,然后逐个取出进行显示。为了防止闪烁,每位LED显示12MS。为了防止重影,当一位显示完毕后立刻将其关闭,然后进行下一位的显示。LED显示电路,如图26所示。123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE22MAY2011SHEETOFFILEE毕业毕业设计基于单片机的无线医院呼叫器电路图基于单片机的无线医院呼叫器DDBDRAWNBYQ2PNPR191KR181KR171KR161KR151KR141KR131K5VR147KP2
30、7ABFCGDEDPY45710832ABCDEFG9DPDP1DIG1ABFCGDEDP6DIG2DS二位数码管Q1PNPP26R247KR2210KR2410KR2610KR2810KR2710KR2310KR2510K5VP07P06P03P05P04P02P01图26LED显示电路222主机报警电路当主机接收到分机的呼叫信号后,主机单片机触发报警端口,报警端口置1,产生报警信号,通知办公室值班人员,报警电路用单片机AT89S52的P35口输出1KHZ的音频信号经放大后驱动扬声器,发出报警信号,报警发声电路如图27所示。16123456ABCD654321DCBATITLENUMBERR
31、EVISIONSIZEBDATE22MAY2011SHEETOFFILEE毕业毕业设计基于单片机的无线医院呼叫器电路图基于单片机的无线医院呼叫器DDBDRAWNBYLSSPEAKERC4001UFC50047UFVS6OUT5GAIN1GAIN8IN3IN2BYPASS7GND4LS1LM386R21105VP35RW110KC7220UFC6220UF123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE22MAY2011SHEETOFFILEE毕业毕业设计基于单片机的无线医院呼叫器电路图基于单片机的无线医院呼叫器DDBDRAWNBYK1UPK2DO
32、WNR510K5VK4CLOK3DELR410KR610KR310KP22P23P21P20图27报警发声电路图28按键电路223主机按键电路本设计具有四个按键,通过上拉电阻与单片机AT89S52的IO口相连,作用分别为上翻、下翻、删除及编辑,主要用于对呼叫记录的翻查,及删除,以防止忽略了某些呼叫的号码。其中K1为上翻按键,按下K1后,即可对存储的已呼叫过的号码进行上翻操作。K2为下翻按键,按下K2即可对存储号码进行下翻操作。K3为删除按键,按下K3,即可对已经存储的号码进行删除操作,不过要在编辑状态下才可进行删除操作。K4为编辑按键,按下K4后,数码管会闪烁,表示已经进入编辑状态,此时可以完
33、成删除操作。第二次按下K4按键后,退出编辑状态,数码管正常显示。按键电路如图28所示。224主机AT89S52与NRF24L01的连接电路主机单片机AT89S52与射频模块的连接与分机相类似,只要射频模块的几个端口与单片机的普通IO口串联1K的电阻后相连即可,在这里不作重复说明。23NRF24L01的无线收发模块介绍17NRF24L01是一款工作在2425GHZ世界通用ISM频段的单片无线收发器芯片。无线收发器包括频率发生器、增强型SCHOCKBURSTTM模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI接口进行设置。极低的电流消耗当工作在发射模
34、式下发射功率为6DBM时电流消耗为9MA,接收模式时为123MA5。掉电模式和待机模式下电流消耗更低。快速参考数据见表1。表21NRF24L01快速参考数据参考数值单位最低供电电压19V最大发射功率0DBM最大数据传输率2000KBPS发射模式下,电流消耗(0DBM)113MA接收模式下,电流消耗(2000KBPS)123MA温度范围4080数据传输率为1000KBPS下的灵敏度85DBM掉电模式下电流消耗900NA231NRF24L01芯片外部端口介绍NRF24L01及外部接口见图29所示。图29NRF24L01及外部接口引脚及其功能见表22。表22NRF24L01引脚及其功能引脚名称引脚功
35、能描述181CE数字输入RX或TX模式选择2CSN数字输入SPI片选信号3SCK数字输入SPI时钟4MOSI数字输入从SPI数据输入脚5MISO数字输出从SPI数据输出脚6IRQ数字输出可屏蔽中断脚7VDD电源电源(3V)8VSS电源接地(0V)9XC2模拟输出晶体震荡器2脚10XC1模拟输入晶体震荡器1脚/外部时钟输入脚11VDD_PA电源输出给RF的功率放大器提供18V电源12ANT1天线天线接口113ANT2天线天线接口214VSS电源接地(0V)15VDD电源电源(3V)16IREF模拟输入参考电流17VSS电源接地(0V)18VDD电源电源(3V)19DVDD电源输入去耦电路电源正极
36、端20VSS电源接地(0V)232NRF24L01的工作模式介绍NRF24L01的工作模式见表23。表23NRF24L01的工作模式模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111发送模式101数据在TXFIFO寄存器中发送模式1010停留在发送模式,直至数据发送完待机模式101TXFIFO为空待机模式10无数据传输掉电模式0NRF24L01在不同模式下的引脚功能如表24。表24NRF24L01不同模式下的引脚功能19引脚名称方向发送模式接收模式待机模式掉电模式CE输入高电平10US高电平低电平CSN输入SPI片选使能,低电平使能SCK输入SPI时钟MOSI输入SPI串行输入
37、MISO三态输入SPI串行输出IRQ输出中断,低电平使能NRF24L01各种功能模式介绍一、待机模式待机模式I在保证快速启动的同时减少系统平均消耗电流。在待机模式I下,晶振正常工作。在待机模式II下部分时钟缓冲器处在工作模式。当发送端TX_FIFO寄存器为空并且CE为高电平时进入待机模式II。在待机模式期间,寄存器配置字内容保持不变。二、掉电模式在掉电模式下,NRF24L01各功能关闭,保持电流消耗最小。进入掉电模式后,NRF24L01停止工作,但寄存器内容保持不变。掉电模式由寄存器中PWR_UP位来控制。NRF24L01有如下几种数据包处理方式一、SHOCKBURSTTM;二、增强型SHOC
38、KBURSTTM模式。一、SHOCKBURSTTM模式SHOCKBURST模式下NRF24L01可以与成本较低的低速MCU相连。高速信号处理是由芯片内部的射频协议处理的,NRF24L01提供SPI接口,数据率取决于单片机本身接口速度。SHOCKBURST模式通过允许与单片机低速通信而无线部分高速通信,减小了通信的平均消耗电流。在SHOCKBURSTTM接收模式下,当接收到有效的地址和数据时IRQ通知MCU,随后MCU可将接收到的数据从RXFIFO寄存器中读出。在SHOCKBURSTTM发送模式下,NRF24L01自动生成前导码及CRC校验。数据发送完毕后IRQ通知MCU。减少了MCU的查询时间
39、,也就意味着减少了MCU的工作量同时减少了软件的开发时间。NRF24L01内部有三个不同的RX_FIFO寄存器(6个通道共享此寄存器)和三个不同的TX_FIFO寄存器。在掉电模式下、待机模式下和数据传输的过程中MCU可以随时访问FIFO寄存器。这就允许SPI接口可以以低速进行数据传送,并且可以应用于MCU硬件上没有SPI接口的情况下。二、增强型的SHOCKBURSTTM模式增强型SHOCKBURSTTM模式可以使得双向链接协议执行起来更为容易、有效。典型的双向链接为发送方要求终端设备在接收到数据后有应答信号,以便于发送方检测有无数据丢失。一旦数据丢失,则通过重新发送功能将丢失的数据恢复。增强型
40、的SHOCKBURSTTM模式可以同时控制应答及重发功能而无需增加MCU工作量。20NRF24L01在接收模式下可以接收6路不同通道的数据。每一个数据通道使用不同的地址,但是共用相同的频道。也就是说6个不同的NRF24L01设置为发送模式后可以与同一个设置为接收模式的NRF24L01进行通讯,而设置为接收模式的NRF24L01可以对这6个发射端进行识别。数据通道0是唯一的一个可以配置为40位自身地址的数据通道。15数据通道都为8位自身地址和32位公用地址。所有的数据通道都可以设置为增强型SHOCKBURST模式。NRF24L01在确认收到数据后记录地址,并以此地址为目标地址发送应答信号。在发送
41、端,数据通道0被用做接收应答信号,因此,数据通道0的接收地址要与发送端地址相等以确保接收到正确的应答信号。NRF24L01配置为增强型的SHOCKBURSTTM发送模式下时,只要MCU有数据要发送,NRF24L01就会启动SHOCKBURSTTM模式来发送数据。在发送完数据后NRF24L01转到接收模式并等待终端的应答信号。如果没有收到应答信号,NRF24L01将重发相同的数据包,直到收到应答信号或重发次数超过SETUP_RETR_ARC寄存器中设置的值为止,如果重发次数超过了设定值,则产生MAX_RT中断。只要收到确认信号,NRF24L01就认为最后一包数据已经发送成功(接收方已经收到数据)
42、,把TX_FIFO中的数据清除掉并产生TX_DS中断(IRQ引脚置高)。在增强型SHOCKBURSTTM模式下,NRF24L01有如下的特征()当工作在应答模式时,快速的空中传输及启动时间,极大的降低了电流消耗。()低成本。NRF24L01集成了所有高速链路层操作,比如重发丢失数据包和产生应答信号。无需单片机硬件上一定有SPI口与其相连。SPI接口可以利用单片机通用I/O口进行模拟。()由于空中传输时间很短,极大的降低了无线传输中的碰撞现象。()由于链路层完全集成在芯片上,非常便于软硬件的开发。增强型SHOCKBURSTTM发送模式()配置寄存器位PRIM_RX为低。()当MCU有数据要发送时
43、,接收节点地址(TX_ADDR)和有效数据TX_PLD通过SPI接口写入NRF24L01。发送数据的长度以字节计数从MCU写入TX_FIFO。当CSN为低时数据被不断的写入。发送端发送完数据后,将通道0设置为接收模式来接收应答信号,其接收地址RX_ADDR_P0与接收端地址。TX_ADDR相同。例数据通道5的发送端TX5及接收端RX地址设置如下TX5TX_ADDR0XB3B4B5B605TX5RX_ADDR_P00XB3B4B5B605RXRX_ADDR_P50XB3B4B5B605()设置CE为高,启动发射。CE高电平持续时间最小为10US。()NRF24L01SHOCKBURSTTM模式2
44、1无线系统上电启动内部16MHZ时钟无线发送数据打包高速发送数据(由MCU设定为1MBPS或2MBPS)()如果启动了自动应答模式(自动重发计数器不等于0,ENAA_P01),无线芯片立即进入接收模式。如果在有效应答时间范围内收到应答信号,则认为数据成功发送到了接收端,此时状态寄存器的TX_DS位置高并把数据从TXFIFO中清除掉。如果在设定时间范围内没有接收到应答信号,则重新发送数据。如果自动重发计数器(ARC_CNT)溢出(超过了编程设定的值),则状态寄存器的MAX_RT位置高。不清除TXFIFO中的数据。当MAX_RT或TX_DS为高电平时IRQ引脚产生中断。IRQ中断通过写状态寄存器来
45、复位。如果重发次数在达到设定的最大重发次数时还没有收到应答信号的话,在MAX_RX中断清除之前不会重发数据包。数据包丢失计数器(PLOS_CNT在每次产生MAX_RT中断后加一。也就是说重发计数器ARC_CNT计算重发数据包次数,PLOS_CNT计算在达到最大允许重发次数时仍没有发送成功的数据包个数。()如果CE置低,则系统进入待机模式I。如果不设置CE为低,则系统会发送TXFIFO寄存器中下一包数据。如果TXFIFO寄存器为空并且CE为高则系统进入待机模式II。()如果系统在待机模式II,当CE置低后系统立即进入待机模式I。增强型SHOCKBURSTTM接收模式()SHOCKBURST接收模
46、式是通过设置寄存器中PRIM_RX位为高来选择的。准备接收数据的通道必须被使能(EN_RXADDR寄存器),所有工作在增强型SHOCKBURSTTM模式下的数据通道的自动应答功能是由(EN_AA寄存器)来使能的,有效数据宽度是由RX_PW_PX寄存器来设置的。地址的建立过程见增强型SHOCKBURSTTM发送章节。()接收模式由设置CE为高来启动。()130US后NRF24L01开始检测空中信息。()接收到有效的数据包后(地址匹配、CRC检验正确),数据存储在RX_FIFO中,同时RX_DR位置高,并产生中断。状态寄存器中RX_P_NO位显示数据是由哪个通道接收到的。()如果使能自动确认信号,
47、则发送确认信号。()MCU设置CE脚为低,进入待机模式I低功耗模式)。()MCU将数据以合适的速率通过SPI口将数据读出。()芯片准备好进入发送模式、接收模式或掉电模式。22233通讯方式一、两种数据双方向的通讯方式如果想要数据在双方向上通讯,PRIM_RX寄存器必须紧随芯片工作模式的变化而变化。处理器必须保证PTX和PRX端的同步性。在RX_FIFO和TX_FIFO寄存器中可能同时存有数据。1自动应答(RX)自动应答功能减少了外部MCU的工作量,并且在鼠标/键盘等应用中也可以不要求硬件一定有SPI接口,因此降低成本减少电流消耗。自动重应答功能可以通过SPI口对不同的数据通道分别进行配置。在自
48、动应答模式使能的情况下,收到有效的数据包后,系统将进入发送模式并发送确认信号。发送完确认信号后,系统进入正常工作模式(工作模式由PRIM_RX位和CE引脚决定)。2自动重发功能(ART)TX自动重发功能是针对自动应答系统的发送方。SETUP_RETR寄存器设置启动重发数据的时间长度。在每次发送结束后系统都会进入接收模式并在设定的时间范围内等待应答信号。接收到应答信号后,系统转入正常发送模式。如果TX_FIFO中没有待发送的数据且CE脚电平为低,则系统将进入待机模式I。如果没有收到确认信号,则系统返回到发送模式并重发数据直到收到确认信号或重发次数超过设定值(达到最大的重发次数)。有新的数据发送或
49、PRIM_RX寄存器配置改变时丢包计数器复位。二、数据包识别和CRC校验应用于增强型SHOCKBURSTTM模式下每一包数据都包括两位的PID(数据包识别)来识别接收的数据是新数据包还是重发的数据包。PID识别可以防止接收端同一数据包多次送入MCU。在发送方每从MCU取得一包新数据后PID值加一。PID和CRC校验应用在接收方识别接收的数据是重发的数据包还是新数据包。如果在链接中有一些数据丢失了,则PID值与上一包数据的PID值相同。如果一包数据拥有与上一包数据相同的PID值,NRF24L01将对两包数据的CRC值进行比较。如果CRC值也相同的话就认为后面一包是前一包的重发数据包而被舍弃。1接收方接收方对新接收数据包的PID值与上一包进行比较。如果PID值不同,则认为接收的数据包是新数据包。如果PID值与上一包相同,则新接收的数据包有可能与前一包相同。接收方必须确认CRC值是否相等,如果CRC值与前一包数据的CRC值相等,则认为是同一包数据并将其舍弃。2发送方每发送一包新的数据则发送方的PID值加一。234SPI协议SPI接口SPI接口是标准的SPI接口,其最大数据传输率为10MBPS。大多数寄存器是23可读的。SPI指令设置SPI接口可能用到的指令在下面有