当前位置:首页 > 嵌入式 > 嵌入式硬件


无线通信在机动性要求较强的设备中或人们不方便随时到达现场的条件下得到了越来越广泛的应用,如无线数据采集、无线设备管理和监控、汽车仪表数据的无线读取等都是其典型应用。

微功率短距离无线通信技术作为无线通信实用技术,一般使用单片射频收发芯片,加上微控制器和少量外围器件构成专用或通用无线通信模块,通常射频芯片采用GFSK(高斯频移键控)调制方式,工作于ISM(工业、科学、医疗)频段,通信模块包含简单透明的数据传输协议或使用简单的加密协议,用户不必对无线通信原理和工作机制有较深的了解,只要依据命令字进行操作即可实现基本的数据无线传输功能,因其功率小、开发简单快速而在工业、民用等领域应用广泛。本文介绍利用ATmega16单片机和无线数据收发芯片nRF905构成的短距离无线数据传输设备,给出了硬件和软件设计方案。

1 系统硬件设计

1.1 系统结构

无线数据传输系统结构如图1所示。该系统由外部数据设备和无线数据传输模块组成,外部数据设备为PC机或数据采集等设备,我们设计的主要是无线数据传输模块。无线数据传输模块基于微功耗单片射频收发器nRF905设计,采用Atmel公司的高性能、低功耗8位处理器ATmega16为主处理芯片,完成数据的处理和控制。

1.2 ATmega16和nRF905

Atmel公司的ATmega16单片机具有先进的RISC(精简指令集计算机)结构、非易失性程序和数据存储器,16 kB可编程Flash存储器、512 B的EEPROM和1 kB片内SRAM,具有丰富的外设接口,其USART(通用同步和异步接收器和转发器)是一个高度灵活的串行通信设备,SPI(串行外设接口)允许ATmega16与外设或其他AVR器件进行高速的同步数据传输。

nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9 V~3.6 V,工作于433/868/915 MHz这3个ISM频段,频道转换时间小于650μs,最大数据速率为100 kbit/s。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和GFSK调制器组成,不需外加声表面滤波器,ShockBurstTM工作模式,自动处理字头和CRC(循环冗余检验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗很低,以-10 dBm输出功率发射时电流只有11 mA,工作于接收模式时的电流为12.5 mA,具有窄闲模式与关机模式,易于实现功率管理。

1.3 硬件电路

硬件电路主要由电源与复位电路、外部数据设备接口电路、单片机系统和nRF905应用电路等几部分组成。硬件电路如图2所示。

1.3.1 电源与复位电路

nRF905和单片机的典型工作电压为+3.3 V,而系统供电电源为+5V,所以采用低压差线性稳压器TPS7333实现+5 V~+3.3 V的线性稳压。为了实现稳定、可靠的复位,使用低电压工作的复位芯片TPS70733产生复位信号。

1.3.2 外部数据设备接口

无线数据传输模块与外部数据设备之间采用RS-232接口,ATmega16的PD0-PD1用于连接RS-232串口。通常,PC机与单片机用两根线方式进行全双工异步通信。由于AVR单片机输人输出为TTL电平,PC机配置的是RS-232标准串行接口,二者电气规范不一致,因此,使用ICL3221收发芯片实现串口电平转换。

数据传输速率在板可设置或通过外部数据设备设置。在板波特率利用ATmega16的PA7、PA6两位设置,可设置为9.6kbit/s、19.2 kbit/s、38.4kbit/s、115.2 kbit/s。利用外部数据设备设置波特率时,单片机的初始数据传输速率为9.6 kbit/s,PA7、PA6置为00状态,当单片机收到波特率没置命令后,数据传输速率调整为设定值。

1.3.3 单片机与nRF905接口电路

单片机与nRF905的接口电路很最要。nRF905内部有5个寄存器:状态寄存器、配置寄存器、发射地址寄存器、发射数据寄存器和接收数据寄存器。除了对寄存器读写外,还需对nRF905工作模式的切换进行控制。单片机与nRF905的信号连接见图3。

ATmega16与nRF905之间的双向数据传输使用SPI接口,单片机的PB7-PB4连接nRF905的SPI接口,PD2-PD7连接nRF905的控制信号和检测信号,用于nRF905的模式切换以及通信过程中必须的信号指示接口。

2 系统软件设计

2.1 数据传输过程

PC机(或其他外部设备)有数据传输或需设置设备参数时,通过串口将数据发送给单片机,单片机接收数据后,将需发送的数据(这里包括目标设备地址和所要发送的数据)通过SPI接口发送给nRF905,nRF905将数据加前导码和CRC码,将数据包发送。

当nRF905接收到有效数据后,DR置高,单片机检测到DR为高电平后,复位TRX_CE引脚,使nRF905进入空闲模式,通过SPI接口从nRF905中读出接收数据,然后通过USART传送给PC机或其他外部没备。

软件功能模块由CPU寄存器初始化、串行口初始化、串口收发送程序、SPI初始化、SPI收发送程序、I/O口初始化、nRF905配置寄存器操作、nRF905接收程序、发送程序、主程序模块组成。下面简要介绍主要的软件功能模块。

2.2 USART串口软件设计

AVR USART与AVR UART在寄存器位定义、波特率发生器、发送器操作、发送缓冲器的功能以及接收器操作等方面完全兼容,此外,接收缓冲器进行了两方面改进:增加了一个缓冲器;接收移位寄存器可以作为第3级缓冲。

2.2.1 串口数据帧格式

外部数据设备与无线数据传输设备间的双向数据传输使用相同的帧格式,帧格式由帧头、帧长、帧标志和数据组成。帧头为数据帧开始标志,固定为0FF81H,长度2字节。帧长指从帧标志开始至本帧结束的所有数据的字节数,不包括帧头、帧长本身,单位为字节,帧长占1字节。帧标志用以指示本帧数据的内容属性,长度为1字节。不同类型帧的数据长度和帧标志具体定义如表1所示。

数据指所传输的业务等内容,数据长度见表1,数据内容定义如下:

a) 波特率设置:01H~0AH对应波特率(单位为kbit/s)为2.4、4.8、9.6、14.4、19.2、28.8、38.4、57.6、76.8、115.2。

b) 设备地址设置:设备地址为00000000H~FFFFFFFFH。

c) 发射功率:00H为低功率;01H为高功率。

d) 工作频率:433 MHz频段,信道间隔100 kHz。

e) 发送数据:发送数据长度不定,最长不超过254字节。

2.2.2 USART初始化

初始化USART操作包括波特率设置、数据格式和UCSRB寄存器设置。USART的波特率寄存器UBRR和降序计数器相连接,一起构成可编程的预分频器或波特率发生器。UBRR值的计算由该公式完成:UBRR=fosc/(16baud)-1,其中Baud为波特率,fosc为系统时钟频率。通过设置UCSRC寄存器,设置数据格式为8位数据位和1位停止位。通过设置UCSRB寄存器,使能串口发送和接收,并响应接收完成中断。

2.2.3 数据发送和接收

数据发送采用查询方式。置位UCSRB寄存器的发送允许位TXEN将使能USART的数据发送,将需要发送的数据加载到发送缓冲区将启动数据发送,加载过程为CPU对UDR寄存器的写操作。发送数据时,按照帧格式在所需发送的数据前加上帧头、帧长、帧标志组帧发送。

数据接收采用中断方式。置位UCSRB寄存器的接收允许位RXEN将启动USART的数据接收器,通过读取UDR寄存器就可以获得接收缓冲器的内容。接收数据时,帧标志有效才能开始接收一帧数据,并根据读出的帧长信息完成接收规定长度的数据。

2.3 SPI接口软件设汁

本设计中SPI配置为主机模式,nRF905为从设备。SPI波特率最高可设置为1/2系统时钟,系统时钟为8 MHz,因此SPI速率可达4 MHz。此外,正确选择SPI的工作模式对SPI数据传输非常重要,AT-mega16的SCK的相位和极性有4种组合,SPI工作模式由CPOL、CPHA设置,根据nRF905的SPI读写时序,ATmega16的SPI工作模式应设置为模式0。

ATmega16与nRF905同时进行双向数据传输。ATmega16配置为SPI主机时,SPI接口不自动控制SS引脚,由用户软件来控制。ATmega16通过将从机的CSN引脚置低实现与从机的同步。SPI时钟由写入到SPI发送缓冲寄存器的数据启动,SPI MOSI引脚上的数据发送次序由寄存器SPCR的DORD位控制,置位时数据的LSB(最低位)首先发送,否则数据的MSB(最高位)首先发送。我们选择先发送MSB,同时接收到的数据传送到接收缓冲寄存器,CPU进行右对齐从接收缓冲器中读取接收到的数据。

应该注意,当需要从nRF905中读取多个数据时,即使nRF905并不需要ATmega16串行输出的数据,每读取一个数据前都要向SPI发送缓冲器写一个数据以启动SPI接口时钟。由于SPI系统的发送方向只有1个缓冲器,而在接收方向有2个缓冲器,所以在发送时一定要等到移位过程全部结束后,才能对SPI数据寄存器执行写操作;而在接收数据时,需要在下一个字节移位过程结束之前通过访问SPI数据寄存器读取当前接收到的数据,否则第1个数据丢失。

2.4 nRF905配置及收发流程

对nRF905寄存器的操作是一个很关键的问题,nRF905的所有配置都是通过SPI接口进行的。nRF905的SPI接口只有在掉电模式和standby模式是激活的。当CSN为低时,SPI接口开始等待一条指令,任何一条新指令均由CSN由高到低的转换开始。

nRF905发送模式工作过程如下:

a) 当ATmega16发送数据时,将接收设备地址和所要发送的数据通过SPI接口写入nRF905,SPI传输速率由初始化设置。

b) 置位TRX_CE、TX_EN,激活nRF905发送模式。

c) nRF905自动完成数据打包(加入前导码和CRC),包经过GFSK调制以100 kbit/s发送,当传输完毕DR置位。

d) 如果将AUTO_RETRAN位置高,nRF905将连续发送数据包,直至将TRX_CE引脚复位。

e) 当TRX_CE引脚被设置为低时,nRF905结束发送模式,并进入standby模式。

nRF905接收模式工作过程如下:

a) 将TRX_CE置位,TX_EN复位后650μs,nRF005进入接收模式等待数据到来。

b) 当nRF905在接收信号检测到载波,则CD(carrier detect)引脚置位;然后,如果接收到有效地址则AM(address match)置位,最后将接收到的有效数据包去掉前导码、地址,CRC正确后,将DR(data ready)引脚置位。

c) CPU复位TRX_CE引脚,使nRF905进入空闲模式,然后通过SPI接口读取数据。

d) 数据接收完毕后,nRF905 DR和AM引脚复位并准备进入下一个工作模式。

应该注意的是,在数据发送过程中无论将TRX_CE、TX_EN怎样设置,nRF905都会完成此次发送而不受影响,此后,进八所设置的工作模式。而在接收数据包的过程中TRX_CE或TX_EN状态改变,则nRF905会立即改变工作模式,丢失数据。

2.5 主程序流程

主程序流程图如图4所示。

3 结束语

我们采用 nRF905射频收发芯片和ATmega16微控制器设计了短距离无线数据传输设备,完成硬件电路和系统软件调试后,进行了无线数据收发实验。实验结果表明,在300 m通信距离,该无线传输设备工作稳定,能实现数据的高速有效传输,具有低功耗、抗干扰能力强等优点。

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

随着科技的飞速发展,电子设备间的连接与数据传输变得越来越重要。Type-C转接头作为连接各种设备的桥梁,其性能与标准也不断升级。本文将详细探讨Type-C转接头2.0与3.1之间的区别,帮助读者更好地理解和选择适合自己的...

关键字: 电子设备 数据传输 Type-C

随着科技的不断进步,移动通信技术也迎来了飞速的发展。从最初的2G时代到如今的5G时代,每一次技术的升级都为我们带来了更快捷、更便利的通信体验。作为最新一代的移动通信技术,5G以其超高速率、低时延和大连接数的特点,正逐步改...

关键字: 移动通信 数据传输 5G

往复泵是一种重要的流体输送设备,广泛应用于化工、石油、制药、冶金等领域。其工作原理基于活塞在泵缸内的往复运动,通过改变泵缸内的容积来实现液体的吸入和排出。本文将详细阐述往复泵的工作原理、结构特点、性能参数以及应用领域,以...

关键字: 往复泵 泵缸 设备

随着信息技术的飞速发展,数据通信作为连接世界的桥梁,其重要性日益凸显。为了确保数据通信的高效、稳定和可靠,我们需要关注一系列关键的技术指标。本文将深入解析数据通信的主要技术指标,并探讨其前沿发展。

关键字: 数据通信 数据传输

液相色谱法是一种高效、快速的分离分析技术,广泛应用于化学、生物、医药等领域。液相色谱仪作为实现液相色谱分析的设备,具有高效、高分辨率、高灵敏度等特点。本文将详细介绍液相色谱仪的操作步骤、原理以及应用。

关键字: 液相色谱法 分离分析技术 设备

漏电保护器是一种用于检测和切断漏电电流的设备,它对于保护人身安全和防止电气火灾具有重要作用。然而,在现实生活中,一些电工并不愿意安装漏电保护器,这背后有着多种原因。本文将探讨电工不愿意安装漏电保护的原因,并分析其背后的因...

关键字: 漏电保护器 检测 设备

工业主板,顾名思义,是专为工业级应用设计的电脑主板。它采用较耐用的元件和材料,以满足工业环境中对稳定性和可靠性的高要求。相比之下,普通主板主要是为个人电脑设计的,旨在满足一般日常使用需求。

关键字: 工业主板 电脑主板 设备

全新的卡片式设计:整个控制中心以卡片形式展现第三方连接状态,对应设备的相关功能以及其它硬件的终端设置,可在控制中心中进行统一管理。

关键字: 硬件 设备 终端

工业自动化系统设计是一项涉及多个领域和技术的综合性任务。它旨在通过自动化设备和系统的集成,提高生产效率、降低能耗、确保产品质量和增强企业竞争力。本文将详细探讨工业自动化系统设计的原则、方法和实践,以期为相关从业人员提供有...

关键字: 工业自动化 设备 系统

电机作为将电能转换为机械能的重要设备,被广泛应用于各种工业和民用领域。根据工作原理的不同,电机可以分为交流电机和直流电机两类。交流电机和直流电机在工作原理、结构和使用场景等方面存在显著的差异。本文将对交流电机和直流电机的...

关键字: 电机 设备 机械能
关闭
关闭