APP下载

基于STM32和nRF24l01的智能车无线监控平台设计

2014-11-10赫玉莹

科技创新导报 2014年13期
关键词:无线通信监控

赫玉莹

摘 要:在飞思卡尔智能车竞赛的基础上,设计了基于STM32和nrf24l01的智能车监控平台,可实现无线数据接收、远程遥控,触屏控制,具备可靠性、灵活性、便捷性,方便智能车的调试。该文针对其主要功能模块详细介绍了其实现方法和软件设计流程。

关键词:STM32 nRF24l01 无线通信 监控

中图分类号:TN92 文献标识码:A 文章编号:1674-098X(2014)05(a)-0074-01

在进行智能车的开发和调试过程中,需要不断地验证程序和算法的有效性,从而调节智能车的各项参数。大多数参赛队员都是采用和电脑相连接的方法进行调试,这种方法一是无法显示车辆高速行驶过程中的实时状况,二是调试监控十分不便,因此,开发一种上位机进行无线监视和控制成为一种必然趋势和选择。

目前比较成熟的短距离无线传输网络的技术有:蓝牙、wifi、超带宽技术、Zigbee技术等,但是上述技术开发起来较为复杂,开发周期较长、成本较高[1]。因此,本设计选用stm32和nRF24l01进行模块开发,并能很好地实现相应功能。

1 系统的结构设计

本设计采用nRF24l01以无线通信方式与附近的其他模块或系统进行数据交换,其基本原理如图1所示。

XS128单片机采集智能车参数,如传感器数据信息、舵机打角、行驶速度等。然后将信息传输到车载nrf24l01中,以人为设置的固定匹配波特率发送出去,在这一端,将以相同的波特率进行接收。同时,采用stm32上的配套触摸液晶屏可进行实时显示。通过对传输的数据进行分析,可根据预想情况进行控制,通过触摸屏和机械按键的结合,可更改设置参数并控制小车的启动和运行状况。

2 系统实现分析

STM32通过SPI与外部MCU通信,最大SPI速度可以达到10 MHz。又nRF24l01具有自动应答功能,能够实现可靠传输。

智能车主控芯片将采集到的数据以机器语言(即二进制)的形式传递给车载nRF24l01发送端,然后以数据包的形式发送出去。接收端接收到数据后,将接收到的数据传送给STM32进行解码,并检测数据是否有效,若有效,则通过LCD显示屏将数据以特定的形式显示出来。与此同时,接收端在收到数据之后,会返回一个反馈信号[2]。因此,通过设置发送缓冲区中的数值,可改变反馈信号,即改变车载主控芯片的接收数据,实现控制。

对于无线模块的详细接收过程,首先配置nRF24L01为接收模式,延迟130 μs后进入接收状态,等待数据的到来。当检测到有效的地址和CRC时,就将数据包存储在接收缓冲区RXFIFO中,同时将中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。开启自动应答,接收方同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式。

3 软件设计流程

(1)根据24l01的技术手册,写其驱动函数,设计应用程序实现收发功能[3]。设置nRF24l01的数据包处理方式为增强型ShockBurst模式,该模式要求接收方在接收到数据之后进行自动应答,以便于发送方检测是否丢失了数据。如果数据丢失,则自动重新发射,当重发次数达到上限之后,产生中断通知MCU。

(2)液晶屏显示。设置STM32与TFTLCD模块相连接的IO口,初始化LCD模块,书写相关的描点、显示数字、字符、字符串等函数,设计显示界面。然后通过函数将字符和数字显示到TFTLCD上。

(3)触摸切换界面。要通过液晶屏显示足够的信息,单个界面显然是不够的。我们一般液晶所用的触摸屏,最多的是电阻式触摸屏,通过压力感应进行控制。本设计采用XPT2046控制芯片。首先要进行屏幕校准,因为由于技术原理的原因,并不能保证同一点触摸每一次采样数据相同,不能保证绝对坐标定位,因此需要将物理坐标转换为像素坐标,再赋给POS结构[4]。然后再主函数中可书写touch()函数,检测触摸屏是否按下,若有,则关闭中断,读取像素坐标,执行相应操作,再开启中断。

(4)数据处理显示,由于接收到的数据是机器语言即二进制数,所以需要将接收到的数据进行处理,如转换为浮点数等。本设计将得到的舵机打角、PWM波占空比、车辆速度变化以及传感器信息在坐标系中实时显示,通过波形的上升或下降将能够更加清晰直观地观测出车辆行驶状况,方便调试。

4 实验效果图

该上位机模块外观图设计,其将数据信息快速、准确、直观地显示出来,大大加快了智能车的调试进度。不足之处在于,由于液晶显示屏大小限制,绘制的坐标系横坐标受到一定限制。若将分度值加大,则影响观测的数据精度,若将分度值减小,则观测范围受到影响。但总体来说,已可以满足需求。

参考文献

[1] 程良明.ZIGBEE无线串口通信设备在高速公路站级电子显示屏上的应用[J].中国交通信息化,2012(2):109-111.

[2] 张伟.基于GSM的设备检测数据无线传输系统的设计[J].信息通道,2011(6):61-62.

[3] 李辉,宋诗,周健江.基于ARM和nRF24l01的无线数据传输系统[J].电子设计工程,2008(12):44-46.

[4] 侯殿有.嵌入式控制系统人机界面设计[M].北京:北京航空航天大学出版社,2011.endprint

摘 要:在飞思卡尔智能车竞赛的基础上,设计了基于STM32和nrf24l01的智能车监控平台,可实现无线数据接收、远程遥控,触屏控制,具备可靠性、灵活性、便捷性,方便智能车的调试。该文针对其主要功能模块详细介绍了其实现方法和软件设计流程。

关键词:STM32 nRF24l01 无线通信 监控

中图分类号:TN92 文献标识码:A 文章编号:1674-098X(2014)05(a)-0074-01

在进行智能车的开发和调试过程中,需要不断地验证程序和算法的有效性,从而调节智能车的各项参数。大多数参赛队员都是采用和电脑相连接的方法进行调试,这种方法一是无法显示车辆高速行驶过程中的实时状况,二是调试监控十分不便,因此,开发一种上位机进行无线监视和控制成为一种必然趋势和选择。

目前比较成熟的短距离无线传输网络的技术有:蓝牙、wifi、超带宽技术、Zigbee技术等,但是上述技术开发起来较为复杂,开发周期较长、成本较高[1]。因此,本设计选用stm32和nRF24l01进行模块开发,并能很好地实现相应功能。

1 系统的结构设计

本设计采用nRF24l01以无线通信方式与附近的其他模块或系统进行数据交换,其基本原理如图1所示。

XS128单片机采集智能车参数,如传感器数据信息、舵机打角、行驶速度等。然后将信息传输到车载nrf24l01中,以人为设置的固定匹配波特率发送出去,在这一端,将以相同的波特率进行接收。同时,采用stm32上的配套触摸液晶屏可进行实时显示。通过对传输的数据进行分析,可根据预想情况进行控制,通过触摸屏和机械按键的结合,可更改设置参数并控制小车的启动和运行状况。

2 系统实现分析

STM32通过SPI与外部MCU通信,最大SPI速度可以达到10 MHz。又nRF24l01具有自动应答功能,能够实现可靠传输。

智能车主控芯片将采集到的数据以机器语言(即二进制)的形式传递给车载nRF24l01发送端,然后以数据包的形式发送出去。接收端接收到数据后,将接收到的数据传送给STM32进行解码,并检测数据是否有效,若有效,则通过LCD显示屏将数据以特定的形式显示出来。与此同时,接收端在收到数据之后,会返回一个反馈信号[2]。因此,通过设置发送缓冲区中的数值,可改变反馈信号,即改变车载主控芯片的接收数据,实现控制。

对于无线模块的详细接收过程,首先配置nRF24L01为接收模式,延迟130 μs后进入接收状态,等待数据的到来。当检测到有效的地址和CRC时,就将数据包存储在接收缓冲区RXFIFO中,同时将中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。开启自动应答,接收方同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式。

3 软件设计流程

(1)根据24l01的技术手册,写其驱动函数,设计应用程序实现收发功能[3]。设置nRF24l01的数据包处理方式为增强型ShockBurst模式,该模式要求接收方在接收到数据之后进行自动应答,以便于发送方检测是否丢失了数据。如果数据丢失,则自动重新发射,当重发次数达到上限之后,产生中断通知MCU。

(2)液晶屏显示。设置STM32与TFTLCD模块相连接的IO口,初始化LCD模块,书写相关的描点、显示数字、字符、字符串等函数,设计显示界面。然后通过函数将字符和数字显示到TFTLCD上。

(3)触摸切换界面。要通过液晶屏显示足够的信息,单个界面显然是不够的。我们一般液晶所用的触摸屏,最多的是电阻式触摸屏,通过压力感应进行控制。本设计采用XPT2046控制芯片。首先要进行屏幕校准,因为由于技术原理的原因,并不能保证同一点触摸每一次采样数据相同,不能保证绝对坐标定位,因此需要将物理坐标转换为像素坐标,再赋给POS结构[4]。然后再主函数中可书写touch()函数,检测触摸屏是否按下,若有,则关闭中断,读取像素坐标,执行相应操作,再开启中断。

(4)数据处理显示,由于接收到的数据是机器语言即二进制数,所以需要将接收到的数据进行处理,如转换为浮点数等。本设计将得到的舵机打角、PWM波占空比、车辆速度变化以及传感器信息在坐标系中实时显示,通过波形的上升或下降将能够更加清晰直观地观测出车辆行驶状况,方便调试。

4 实验效果图

该上位机模块外观图设计,其将数据信息快速、准确、直观地显示出来,大大加快了智能车的调试进度。不足之处在于,由于液晶显示屏大小限制,绘制的坐标系横坐标受到一定限制。若将分度值加大,则影响观测的数据精度,若将分度值减小,则观测范围受到影响。但总体来说,已可以满足需求。

参考文献

[1] 程良明.ZIGBEE无线串口通信设备在高速公路站级电子显示屏上的应用[J].中国交通信息化,2012(2):109-111.

[2] 张伟.基于GSM的设备检测数据无线传输系统的设计[J].信息通道,2011(6):61-62.

[3] 李辉,宋诗,周健江.基于ARM和nRF24l01的无线数据传输系统[J].电子设计工程,2008(12):44-46.

[4] 侯殿有.嵌入式控制系统人机界面设计[M].北京:北京航空航天大学出版社,2011.endprint

摘 要:在飞思卡尔智能车竞赛的基础上,设计了基于STM32和nrf24l01的智能车监控平台,可实现无线数据接收、远程遥控,触屏控制,具备可靠性、灵活性、便捷性,方便智能车的调试。该文针对其主要功能模块详细介绍了其实现方法和软件设计流程。

关键词:STM32 nRF24l01 无线通信 监控

中图分类号:TN92 文献标识码:A 文章编号:1674-098X(2014)05(a)-0074-01

在进行智能车的开发和调试过程中,需要不断地验证程序和算法的有效性,从而调节智能车的各项参数。大多数参赛队员都是采用和电脑相连接的方法进行调试,这种方法一是无法显示车辆高速行驶过程中的实时状况,二是调试监控十分不便,因此,开发一种上位机进行无线监视和控制成为一种必然趋势和选择。

目前比较成熟的短距离无线传输网络的技术有:蓝牙、wifi、超带宽技术、Zigbee技术等,但是上述技术开发起来较为复杂,开发周期较长、成本较高[1]。因此,本设计选用stm32和nRF24l01进行模块开发,并能很好地实现相应功能。

1 系统的结构设计

本设计采用nRF24l01以无线通信方式与附近的其他模块或系统进行数据交换,其基本原理如图1所示。

XS128单片机采集智能车参数,如传感器数据信息、舵机打角、行驶速度等。然后将信息传输到车载nrf24l01中,以人为设置的固定匹配波特率发送出去,在这一端,将以相同的波特率进行接收。同时,采用stm32上的配套触摸液晶屏可进行实时显示。通过对传输的数据进行分析,可根据预想情况进行控制,通过触摸屏和机械按键的结合,可更改设置参数并控制小车的启动和运行状况。

2 系统实现分析

STM32通过SPI与外部MCU通信,最大SPI速度可以达到10 MHz。又nRF24l01具有自动应答功能,能够实现可靠传输。

智能车主控芯片将采集到的数据以机器语言(即二进制)的形式传递给车载nRF24l01发送端,然后以数据包的形式发送出去。接收端接收到数据后,将接收到的数据传送给STM32进行解码,并检测数据是否有效,若有效,则通过LCD显示屏将数据以特定的形式显示出来。与此同时,接收端在收到数据之后,会返回一个反馈信号[2]。因此,通过设置发送缓冲区中的数值,可改变反馈信号,即改变车载主控芯片的接收数据,实现控制。

对于无线模块的详细接收过程,首先配置nRF24L01为接收模式,延迟130 μs后进入接收状态,等待数据的到来。当检测到有效的地址和CRC时,就将数据包存储在接收缓冲区RXFIFO中,同时将中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。开启自动应答,接收方同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式。

3 软件设计流程

(1)根据24l01的技术手册,写其驱动函数,设计应用程序实现收发功能[3]。设置nRF24l01的数据包处理方式为增强型ShockBurst模式,该模式要求接收方在接收到数据之后进行自动应答,以便于发送方检测是否丢失了数据。如果数据丢失,则自动重新发射,当重发次数达到上限之后,产生中断通知MCU。

(2)液晶屏显示。设置STM32与TFTLCD模块相连接的IO口,初始化LCD模块,书写相关的描点、显示数字、字符、字符串等函数,设计显示界面。然后通过函数将字符和数字显示到TFTLCD上。

(3)触摸切换界面。要通过液晶屏显示足够的信息,单个界面显然是不够的。我们一般液晶所用的触摸屏,最多的是电阻式触摸屏,通过压力感应进行控制。本设计采用XPT2046控制芯片。首先要进行屏幕校准,因为由于技术原理的原因,并不能保证同一点触摸每一次采样数据相同,不能保证绝对坐标定位,因此需要将物理坐标转换为像素坐标,再赋给POS结构[4]。然后再主函数中可书写touch()函数,检测触摸屏是否按下,若有,则关闭中断,读取像素坐标,执行相应操作,再开启中断。

(4)数据处理显示,由于接收到的数据是机器语言即二进制数,所以需要将接收到的数据进行处理,如转换为浮点数等。本设计将得到的舵机打角、PWM波占空比、车辆速度变化以及传感器信息在坐标系中实时显示,通过波形的上升或下降将能够更加清晰直观地观测出车辆行驶状况,方便调试。

4 实验效果图

该上位机模块外观图设计,其将数据信息快速、准确、直观地显示出来,大大加快了智能车的调试进度。不足之处在于,由于液晶显示屏大小限制,绘制的坐标系横坐标受到一定限制。若将分度值加大,则影响观测的数据精度,若将分度值减小,则观测范围受到影响。但总体来说,已可以满足需求。

参考文献

[1] 程良明.ZIGBEE无线串口通信设备在高速公路站级电子显示屏上的应用[J].中国交通信息化,2012(2):109-111.

[2] 张伟.基于GSM的设备检测数据无线传输系统的设计[J].信息通道,2011(6):61-62.

[3] 李辉,宋诗,周健江.基于ARM和nRF24l01的无线数据传输系统[J].电子设计工程,2008(12):44-46.

[4] 侯殿有.嵌入式控制系统人机界面设计[M].北京:北京航空航天大学出版社,2011.endprint

猜你喜欢

无线通信监控
The Great Barrier Reef shows coral comeback
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
无线通信技术在测绘工程中的应用分析
PDCA循环法在多重耐药菌感染监控中的应用