stm32无线传感器网络底层平台的深层研究

stm32无线传感器网络底层平台的深层研究

ID:33936759

大小:243.42 KB

页数:11页

时间:2019-03-01

stm32无线传感器网络底层平台的深层研究_第1页
stm32无线传感器网络底层平台的深层研究_第2页
stm32无线传感器网络底层平台的深层研究_第3页
stm32无线传感器网络底层平台的深层研究_第4页
stm32无线传感器网络底层平台的深层研究_第5页
资源描述:

《stm32无线传感器网络底层平台的深层研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、无线传感器网络底层平台的深层研究关键字:无线传感器网络底层图为:STM32物联网云应用开发板摘要:无线传感器网络应用一般需要无线操作系统的支撑,才能有效地管理和调度资源,提高系统的效率。无线传感器网络的底层平台是连接上层软件和底层硬件的桥梁,是无线操作系统研究的重要技术之一。合理的底层平台能够提高系统的兼容性、稳定性、可移植性和开发效率。本文主要研究了无线传感器网络操作系统的底层平台,对无线模块、USART、SPI、中断和定时器进行了详细介绍。关键词:无线传感器网络;底层平台;STM32;CC2520引言目前,对WSN(WirelessSensorNetwoek)的研究主要集中在协议栈

2、、定位算法、能耗管理以及体系结构设计上,而针对无线传感网络操作系统的研究却相对较少,尤其是对其底层平台的研究更少,所以针对无线传感网络操作系统底层平台的研究有十分广阔的空间。本论文针对意法半导体STM32系列MCU和TI公司的CC2520无线模块进行介绍。主要描述了操作系统底层平台的构建,以及硬件驱动程序的实现。本论文的底层硬件抽象层是针对CC2520无线射频模块的,包括了平台构建、相关寄存器,以及外围接口等各个部分。而硬件驱动程序主要是为完成无线通信所需的硬件驱动设计,这主要包括:相应异步事件的中断机制;和PC通信的USART驱动;连接MCU和CC2520的SPI驱动;完成超时计时的

3、定时器等。这些模块的有效组成,才能构成一个完整的无线传感器网络最小通信系统,完成节点间数据传输、数据处理,以及定位和导航等任务。STM32系列MCU采用ARM公司V7架构的Correx—M3内核。CC2520是第二代ZigBee/IEEE802.15.4收发器。1底层平台研究硬件抽象层的底层硬件模块有很多,本节只简单介绍和无线传感器网络相关的底层模块设计。1.1定时器STM32系列的CPU能提供8个定时器,其中TIM1和TIM8是高级定时器,可用于各种用途,包括测量输入信号的脉冲长度(输入捕捉)或产生输出波形(输出比较)等,它们的时钟由APB2提供。TIM2~TIM7是普通定时器,时钟

4、由APB1提拱。图1为STM32时钟树中有关定时器的部分。从图1可以看出,从系统设置的时钟源产生的时钟频率输入到AHB预分频器,进行分频处理,然后经过APB1预分频器和APB2预分频器给不同模块提供不同的时钟频率。下面以定时器2作为例子说明。当AHB预分频器输入频率为72MHz的时候,由于APB1支持的最大频率为36MHz,所以APB1预分频器,设置必须大于或等于2,假设设置为2,则在APB1倍频器中,频率被设置为72MHz(当APB1分频数=1的时候,APB1倍频器加倍系数为1,当APBl分频数>1的时候,APB1倍频器加倍系数为2),所以最终提供给定时器2~7的频率为72MHz。所

5、以只需要设置APB1预分频器和APB1倍频器的值,便可以提供不同频率的定时器。定时器采用计数溢出的方式触发定时器中断,因此想要使用定时器,必须先配置好定时器中断。1.2中断对STM32系列MCU的中断配置步骤如下:①系统初始化:如系统时钟初始化,使用固件模板中自带的SystemInit()函数即可,此函数把主频默认调整到72MHz。②GPIO配置:配置触发CPU中断的引脚,务必注意打开相应引脚的GPIO时钟和AFIO时钟。配置引脚的频率和输入模式,一般为浮空输入模式。③EXTI配置:首先指明当前系统中使用哪个引脚作为触发外部中断的引脚,然后清除中断标志位,配置中断请求和触发方式(上升沿

6、触发或下降沿触发)。④NVIC配置:主要配置中断对应的通道,并且设置优先级别,最后需要对通道使能。⑤编写中断服务程序:中断服务程序是发生中断时实际运行的程序,它打断了正在运行的程序,对相应中断事件进行相应处理。由于中断程序打断了现有程序的运行,而且需要对中断事件作出快速响应,所以要尽量短小,而且不能传递参数,没有返回值。1.3USARTUSART模块一般分为三大部分:数据发送器、数据接收器和时钟发生器。所有模块共享控制寄存器。时钟发生器由波特率发生器和同步逻辑电路组成。数据发送器部分由写入缓冲寄存器(USARTDR)、校验位发生器、串行移位寄存器和控制逻辑电路构成。使用写入缓冲寄存器,

7、可以连续快速地发送多帧数据。数据接收器是USART模块最复杂的部分最主要的是数据接收单元和时钟。数据接收单元用作异步数据的接收。数据接收器还包括移位寄存器、控制逻辑、校验位校验器和接收缓冲器。数据接收器支持与数据发送器相同的帧结构,同时支持数据溢出、帧错误和校验错误的检测。无线节点可以通过USART与PC通信。本文只实现了简单的USART功能。串口使用前需要完成初始化,主要设置字长、波特率、奇偶校验位、传输模式、数据位数、流控制、打开串口时钟和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。