STM32WU55蓝牙开发学习笔记(1)

STM32WU55蓝牙开发学习笔记(1)

前言

我在本科的时候主要是做机械结构的,参加过RM和RC,现在研究生在一个做传感器的课题组,直接转行做电控了,G。研究生阶段的第一个项目是,多通道采集肌电信号并通过无线传输的方式进行发送。一般来说在传感器领域都会使用蓝牙作为无线传输的方式,因为蓝牙相较于Wifi在功率上有很大的优势,要求无线传输的传感器一般也会使用电池供电,所以使用蓝牙可以有更好的持久性。而在使用了世面上的一些蓝牙模块后发现它们的实际吞吐量都很低,远远无法达到蓝牙的理论最大值。肌电信号的频率一般在500Hz以内(也有文献说是1000Hz以内,这边就按500Hz算),根据奈奎斯特采样定律实际的采样率应该在1000Hz,1000Hz采集8通道16bit的数据就要求蓝牙有128kbps的吞吐量(其实还有一些其他数据,所以要求更大的吞吐量)。买到的蓝牙模块要么就是吞吐量达不到要求,要么就是模块太大,不方面之后的柔性化电路。而且之前有一定的STM32开发基础,所以选择了使用STM32WB55CGU6这款芯片,这款芯片非常的小巧,加上贴片天线后也比一般的模块要小。

搞这个芯片三个月,发现这款芯片的资料不是很多,所以就记录一些学习的过程,方便想要学习使用STM32WB芯片的人学习吧。

笔记1就稍微介绍一下这个芯片和我学习过程中使用到的资料吧。

芯片介绍

我就按自己的理解写吧
STM32WB是ST公司开发的可以使用2.4G频段发射的蓝牙芯片,内置巴伦模块所以只有一个天线输出引脚。双核工作,一个是F4的内核用于处理用户的程序,一个是M0的核用于运行协议栈,协议栈只能使用固定的协议栈(我就只用蓝牙)。F4的核默认主频是32M,最高64M。这个芯片好是17年搞出来,19年开始可以在市面上买到?(这句话不一定准确)
具体的介绍随便百度一下就有,这里就不多bb了

学习资料

蓝牙基础知识

  • 蓝牙基础知识
    关于蓝牙协议可以看下面这篇。使用STM32WB芯片主要就是搞懂GAP、GATT两个协议。按我的理解,GAP就是创建连接的协议,用于使主设备(Master)和从设备(Slave)创建连接;GATT服务用于服务器(Server)和客户端(Client)之间进行数据交换。主设备不一定是服务器,也可以是客户端。两种说法是对应不同服务的,所以没有必然关系。
    蓝牙:蓝牙协议.

  • 蓝牙传输速率
    关于蓝牙的理论传输速率可以看下面两篇文章
    蓝牙5速度:如何为BLE应用程序实现最大吞吐量.
    蓝牙5最大速率分析报告.

stm32wb学习资料

  • 电堂科技
    视频教程链接.
    ↑↑↑↑↑↑↑↑↑↑↑↑↑这个视频我真的是反复看了无数遍,是为数不多的系统讲STM32WB系列芯片的教程(虽然感觉有些该讲的没讲到位,乱七八糟的东西讲了一大堆?),不管怎么说要用STM32WB芯片的话这个教程必看!

  • ST官网
    这个就不放链接了,
    我有用到的一些文档列一下吧
    AN5270 蓝牙无线接口:我感觉最重要的文档(还好有中文)
    AN5289 无线应用构建:讲了点框架
    剩下的就按这个文章找吧STM32WB蓝牙开发资料大汇集

  • 官方例程
    在STM32CubeMX安装芯片的固件包的时候可以在固件包中找到,网上程序少只能看官方例程了。

  • 其他一些资料
    STM32WB系列调试总结.:这篇文章后面附的代码给做了比较详细的中文注释,还是比较值得学习一下的

硬件学习资料

  • P-NUCLEO-WB55开发板
    要用STM32WB系列芯片的话真的建议买一块,至少可以验证你的代码能不能跑。我是现在开发板上把基本的代码搞的差不多了再自己画的板子。STM32WU55蓝牙开发学习笔记(1)_第1张图片

  • ST-LINK
    我之前玩其他芯片都是使用的比较便宜的jlink-ob,但STM32WB系列的芯片要烧协议栈,使用ST-LINK可以连接STM32CubeProgramming进行协议栈烧写,比较方便。

软件学习资料

  • Keil5 (或者IAR之类的)
    我是一直用Keil5的,所以就继续用Keil5喽

  • STM32CubeMX
    使用HAL库,方便配置代码,但CubeMX里面关于蓝牙的配置和FreeRTOS的配置不是很全面,所以后面具体的工程还会大量修改这些代码。

  • STM32CubeMonitor-FR
    在蓝牙的调试过程中可以显示一些指令和传输参数,可以方面蓝牙的调试(需要配和P-NUCLEO-WB55开发板使用)

  • STM32CubeProgramming
    烧写蓝牙协议栈时需要使用,也可以烧写正常的代码。

  • nRF connect
    手机上的蓝牙抓包软件,可以直接搜索到自己的蓝牙设备并查看信息,很方便
    STM32WU55蓝牙开发学习笔记(1)_第2张图片

之后有空了再写开发过程,先写点资料,有了这些资料应该也没问题了。

你可能感兴趣的:(stm32,单片机,学习)