当前位置:首页 > 通信技术 > 通信技术
[导读]阐述在低功耗应用中,利用MSP430和nRF905组成一种无线数据传输系统的设计方案。

摘  要:阐述在低功耗应用中,利用MSP430和nRF905组成一种无线数据传输系统的设计方案。首先对核心芯片的选型和关键使用方法进行简单说明,然后介绍系统硬件和软件的设计,其中着重介绍如何对nRF905进行控制,并给出相关程序源代码。
关键词:无线数据传输 低功耗 MSP430 nRF905


    在特殊环境的数据测控应用中,无线数据传输已经越来越广泛地被运用。MSP430+nRF905的组合特别适合于低功耗、短距离(1OO~200 m)、小数据量的无线数传系统。MSP430 CPU在低功耗应用方面有很大优势,nRF905无线收发芯片具有功耗低、控制简单、可自动处理字头和CRC校验的优点,两者结合组成的数传系统可以在很多产品中得到应用。


1 MSP430简介
    MSP430是TI公司新推出的16位系列单片机,在电池供电的低功耗应用中具有独特的优势。其工作电压在1.8~3.6 V之间,正常工作时功耗可控制在2OOμA左右,低功耗模式时可实现2μA甚至O.1μA的低功耗。MSP430具有非常高的集成度,通常在单个芯片上集成有12位的A/D、比较器、多个定时器、片内USART、看门狗、片内振荡器、大量的I/O端口及大容量的片内存储器,一般单片就可以满足大多数的应用需要。在低功耗应用中设计程序时,最好采用以下方法:CPU在初始化完成后,处于低功耗工作模式,在有外部事件发生时唤醒进入中断服务程序,完成后重新进入低功耗模式,照此循环往复,可以最大限度地降低功耗。较差等。上述问题经过精心设计是可以避免和解决的,所以基于GPRS的设计仍具有无可比拟的优势。


2 nRF905简介
    nRF905是挪威Nordik公司推出的单片射频收发器芯片,工作电压为1.9~3.6 V,32引脚QFN封装(5 mm×5 mm),工作于433/868/915 MHz 3个ISM频道(可以免费使用)。nRF905可以自动完成处理字头和CRC(循环冗余码校验)的工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口与微控制器通信,配置非常方便。其功耗非常低,以一10 dBm的输出功率发射时电流只有11 mA,在接收模式时电流为12.5 mA。nRF905传输数据时为非实时方式,即发送端发出数据,接收端收到后先暂存于芯片存储器内,外面的MCU可以在需要时再到芯片中去取。nRF905一次的数据传输量最多为32 B。

2.1 nRF905的工作模式及设置

    nRF905有两种工作模式和两种节能模式,分别为掉电模式、待机模式、ShockBurst TM接收模式和Shock—Burst TM发送模式。这几种模式由外界CPU通过控制nRF905的3个引脚PWR_UP、TRX_CE和TX_EN的高低电平来决定,如表1所列。


    外界MCU通过SPI总线配置nRF905的内部寄存器,读写数据时必须把其置为待机或掉电模式。nRF905在待机模式时功耗为40,μA,在掉电模式时功耗为2.5 μA。

2.2 nRF905的状态输出

    nRF905有3个引脚用于状态输出,分别是:CD(载波检测)、AM(地址匹配)和DR(数据就绪),均为高电平有效。nRF905在处于接收模式时,若检测到接收频率段的载波,就置CD为高;接着检测载波数据中的地址字节,若与本身已配置的接收地址相同,则置AM为高;若再检测到接收数据中的CRC校验正确,则存储有效数据字节,置DR为高。

    此外,nRF905还有一个时钟输出引脚uPCLK,供用户选择使用。通过配置内部寄存器,可改变其频率输出,这一点在调试时很有用。无线系统至少需要一发一收两个设备,调试时若出现问题很难判断是哪一方的故障。可以通过修改nRF905的寄存器,用示波器观察uPCLK输出是否变化的方法,来判断其硬件电路和CPU操作nRF905的程序是否正确,从而判断该设备是否工作正常。

2.3 nRF905的数据接口

    外围MCU通过SPI总线配置nRF905的内部寄存器和收发数据。nRF905的SPI总线包括4个引脚:CSN(SPI使能)、SCK(SPI时钟)、MISO(主人从出)和MOSI(主出从人)。这里nRF905为从机,其SPI的时钟范围很宽,可以从1 Hz~10 MFIz,因此MCU在写控制程序时不必苛求时间的准确度。

    SPI总线的每次操作都必须在使能引脚CSN的下降沿开始,CSN低电平有效,总线上的数据在时钟的上升沿有效。MCU对SPI总线的操作不外乎两种方式:读和写。在进行读操作时,先把CSN置低,然后在MOSI数据线上输出一个表示读命令的字节,与此同时,nRF905会在MISO数据线上输出一字节表示状态信息的数据,随后输出一地址字节,后面跟随有效数据。在进行写操作时比较简单,MCU先把CSN拉低,然后在MOSI线上输出写命令字节和数据字节即可。

2.4 nRF905的寄存器配置

    nRF905内部有5类寄存器:一是射频配置寄存器,共10个字节,包括中心频点、无线发送功率配置、接收灵敏度、收发数据的有效字节数、接收地址配置等重要信息;二是发送数据寄存器,共32字节,MCU要向外发的数据就需要写在这里;三是发送地址,共4个字节,一对收发设备要正常通信,就需要发送端的发送地址与接收端的接收地址配置相同;四是接收数据寄存器,共32字节,nRF905接收到的有效数据就存储在这些寄存器中,MCU可以在需要时到这里读取;五是状态寄存器,1个字节,含有地址匹配和数据就绪的信息,一般不用。

    MCU若要操作这些寄存器,需遵循nRF905规定的操作命令,常用的有以下7种,都是1个字节:写射频配置(OXH,“X”含4位二进制位,该字节表示要开始写的初始字节数)、读射频配置(1XH,“X”含4位二进制位,该字节表示要从哪个字节开始读)、写发送数据(20H)、读发送数据(2lH)、写发送地址(22H)、读发送地址(23H)和读接收数据(24H)。关于寄存器的详细信息可以参阅nRF905的数据手册。

2.5 nRF905的工作过程

    nRF905在正常工作前应由MCU先根据需要写好配置寄存罨,或是按照默认配置工作。其后的工作主要是两个:发送数据和接收数据。

    发送数据时,MCU应先把nRF、905置于待机模式(PWR_UP引脚为高、TRX_CE引脚为低),然后通过SPI总线把发送地址和待发送的数据都写入相应的寄存器中,之后把nRF905置于发送模式(PWR_UP、TRX_CE和TX_EN全置高),数据就会自动通过天线发送出去。若射频配置寄存器中的自动重发位(AuTO_RETRAN)设为有效,数据包就会重复不断地一直向外发,直到MCU把TRX_CE拉低,退出发送模式为止。为了数据更可靠地传输,建议多使用此种方式。

    接收数据时,MCU先在nRF905的待机模式中把射频配置寄存器中的接收地址写好,然后置其于接收模式(PWR_UP=1、TRX_CE=1、TX_EN=O),nRF905就会自动接收空中的载波。若收到地址匹配和校验正确的有效数据,DR引脚会自动置高,MCU在检测到这个信号后,可以改其为待机模式,通过SPI总线从接收数据寄存器中读出有效数据。


3 系统硬件设计
    MSP43O的USART模块可通过寄存器配置为通用异步串行口或SPI模块功能,这里配置为SPI模块。本系统选用的MCU是MSP430F133,在硬件设计时把MCU的SPI接口和nRF905的SPI接口相连即可,另外再选几个I/O口连接aRF905的输入输出信号,如图1所示。


    对于初次接触无线系统的设计者,因其射频部分的元件采购、焊接和调试比较麻烦,可以选用PTR8000模块。该模块内核使用nRF905,硬件电路已经焊好,使用起来相对方便一些。


4  控制程序设计
    本系统设计的重点是控制nRF905的程序设计,大致分两个阶段:首先是对nRF905进行初始配置,配置完成后按需要编写数据的发送或接收程序。

4.1  初始化配置

    第一阶段应完成初始化配置,分以下几项:
    ①MSP430的SPI接口设置。MSP430的异步串行接口和SPI接口用同一个uSART模块,这里需要用软件配置为SPI功能。本设计中SPI配置为主机模式、3线制和8位数据。程序源代码参见子程序“SPI_SET”。(编者注:程序源代码见本刊网站www.mesnet.com.cn。)
    ②初始化nRF905的射频配置寄存器。这些寄存器中有很多信息,必须根据实际情况进行配置,本设计中nRF905外接16 MHz晶体,“XOF”应配置为“011”;“PA_PWR”为发射功率,”RX_RED_PWR”为接收灵敏度,可根据需要配置;另外还有发送地址、接收地址、发送数据和接收数据的长度(字节数),可根据实际应用配置。注意这组寄存器中还有接收时的实际地址,而发送地址在其他单独寄存器中。
    ③配置nRF905的发送地址,最多4个字节(32位),发送端的发送地址应与接收端设备的接收地址相同。在实际工作中,nRF905可以自动滤除地址不相同的数据,只有地址匹配且校验正确的数据才会被接收,并存储在接收数据寄存器中。

4.2  发送数据

    使nRF905发送数据前,需要MSP430通过SPI总线在待机模式下先把待发数据填进发送数据寄存器中,一次最多32 B。然后把nRF905的“TRX_CE”、“TX_EN”引脚都置为高电平,数据就会自动发送出去。本设计在射频配置寄存器中选定了自动重发位,因此在“TRX_CE”被置高的时间内数据一直在重复不断地发。本程序中设计延时500 ms,之后拉低“TRX_CE”引脚,回到待机模式。

4.3  接收数据

    MSP30把nRF905的“TRX_CE”引脚置为高电平,“TX_EN”引脚拉为低电平后,就开始接收数据。本设计中CPU在设定的35 s内一直判断nRF905的“DR”引脚是否变高,若为高,则证明接收到了有效数据,可以退出接收模式,若一直没有接收到,待时间到时也退出接收模式。退出后在待机模式,CPU通过SPI总线把nRF905内部的接收数据寄存器中的数据读出,即接收到的有效数据。编写接收部分程序时,有一点应该注意,很多资料中都没有提到,就是CPU在“M0SI”信号线上发出读命令字节后,在“MISO)”信号线上nRF905会自动返回一字节数据,为本身的状态寄存器信息,后续的接收数据并不会自动跟着输出,只有CPU在“MOSI”上再输出一个字节(可以是随意值),nRF905才会在“MISO”上返回一个字节,CPU再发,nRF905再返回,直到读完为止。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

数字可编程变频电源是一种能够根据用户需求调整输出电压和频率的电源设备。它在工业生产和实验室研究等领域中被广泛使用。

关键字: 单片机 可编程电源 系统设计

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

太阳能供电应用系统的设计需要考虑多个方面,包括太阳能电池板、储能装置、控制模块等。本文将介绍一种基于太阳能供电的应用系统设计方法,并从这几个方面进行详细阐述。

关键字: 太阳能 系统设计

北京2023年8月15日 /美通社/ -- 日前,在第五届OCP China Day 2023(开放计算中国技术峰会)上,浪潮信息正式推出融合架构3.0原型系统,以开创性的系统架构设计实现了计算资源、存储资源、...

关键字: 系统设计 内存 软件定义 数据中心

北京2023年8月7日 /美通社/ -- 随着大模型智能水平的提升,AIGC所需要的算力在不断增长。大模型的参数量超过千亿,甚至突破万亿级别,预计智算中心将迎来更快发展。IDC预测,2022-2026年,全球AI计算市场...

关键字: CHINA 数据中心 AI 系统设计

无论温度怎么变化始终UCQ1=UCQ2,电路以两只管子集电极电位差作为输出,就克服了温漂 当u11=u12(共模信号)T1管和T2管所产生的电流变化相等;因此集电极电位的变化也相等。

关键字: 差分放大器 系统设计 电极电位

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

摘要:为了满足VLB1(甚长基线干涉测量)观测站的长期连续观测需求,实现对其电力系统的实时监测管理与快速故障排查,采用模块化设计方法,综合考虑精度、价格、通信、可靠性等因素,完成了观测站电力智能监测管理系统的硬件和软件设...

关键字: 无线数传 远程监测 通信

(全球TMT2022年8月30日讯)近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部件的最...

关键字: 系统设计 英特尔 数据中心 生态系统

北京2022年8月30日 /美通社/ -- 近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部...

关键字: 系统设计 英特尔 数据中心 电量
关闭
关闭