1 / 18

基于 STM32 的嵌入式蓝牙与 WiFi 模块设计

基于 STM32 的嵌入式蓝牙与 WiFi 模块设计. 交通物联网应用技术. 教学目的. 介绍 32 位 ARM STM32 系统的硬件设计,分别介绍 I/O 口、中断、 DMA 、 UART 、 A/D 等接口的硬件设计要点和特性 掌握嵌入式系统中蓝牙、 WiFi 无线组网通讯模块的软硬件设计方法及应用. 32 位 ARM 处理器 STM32 简介. STM32 处理器的特点 STM32F103 系列微处理器是首款基于 ARMv7- M 体系结构的 32 位标准 RISC (精简指令集)处理器。

alissa
Download Presentation

基于 STM32 的嵌入式蓝牙与 WiFi 模块设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 基于STM32的嵌入式蓝牙与WiFi模块设计 交通物联网应用技术

  2. 教学目的 • 介绍32位ARM STM32系统的硬件设计,分别介绍I/O口、中断、DMA、UART、A/D等接口的硬件设计要点和特性 • 掌握嵌入式系统中蓝牙、WiFi无线组网通讯模块的软硬件设计方法及应用

  3. 32位ARM处理器STM32简介 • STM32处理器的特点 • STM32F103系列微处理器是首款基于ARMv7- M体系结构的32位标准RISC (精简指令集)处理器。 • 作为最新一代的嵌入式ARM 处理器,它为实现MCU 的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供了卓越的计算性能和先进的中断响应系统。

  4. 32位ARM处理器STM32简介 • STM32硬件接口外设 • 多达51个快速I /O 端口 • 2个12位模数转换器,多达16个外部输入通道 • 灵活的7路通用DMA 可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输 • 调试模式 • 内部包含多达7个定时器 • 含有丰富的通信接口

  5. 32位ARM处理器STM32简介 • STM32的时钟和电源管理 • 在STM32中,有五个时钟源 • HIS • HSE • LSI • LSE • PLL • STM32的电源组成,其主要由3个部分 • 独立的A/D供电电压和参考电压 • 备份电压 • 电压调节器。

  6. I/O口 • STM32的I/O口工作原理 • STM32的输入输出管脚有下面8种可能的配置 : • 浮空输入_IN_FLOATING • 带上拉输入_IPU • 带下拉输入_IPD • 模拟输入_AIN • 开漏输出_OUT_OD • 推挽输出_OUT_PP • 复用功能的推挽输出_AF_PP • 复用功能的开漏输出_AF_OD

  7. I/O口 • I/O口编程实例 • 函数GPIO_DeInit • 功能描述:将外设GPIOx寄存器重设为缺省值 • 函数GPIO_AFIODeInit • 功能描述:将复用功能(重映射事件控制和EXTI设置)重设为缺省值 • 函数GPIO_Init • 功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 • 函数GPIO_StructInit • 功能描述:把GPIO_InitStruct中的每一个参数按缺省值填入 • 函数GPIO_ReadInputDataBit • 功能描述:读取指定端口管脚的输入 • 函数GPIO_ReadInputData • 功能描述:读取指定的GPIO端口输入 • 函数GPIO_ReadOutputDataBit • 功能描述:读取指定端口管脚的输出

  8. 中断 • ARM的中断原理 • ARM cortex_m3 内核支持 256 个中断(16 个内核+240 外部)和可编程 256 级中断优先级的设置,与其相关的中断控制和中断优先级控制寄存器(NVIC、SYSTICK 等)也都属于cortex_m3 内核的部分。STM32 采用了cortex_m3 内核,所以这部分仍旧保留使用,但 STM32并没有使用 cortex_m3 内核全部的东西(如内存保护单元 MPU 等),因此它的 NVIC 是cortex_m3 内核的 NVIC 的子集。

  9. 中断 • STM32的中断控制器 • STM32 目前支持的中断共为 84个(16 个内核+68个外部),和16 级可编程中断优先级的设置。 • STM32 可以支持的 68 个外部中断通道,已经固定的分配给相应的外部设备 。

  10. 中断 • 中断编程实例

  11. UART • UART的工作原理 • UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。 • 在嵌入式设计中,UART用来与PC进行通信 • 其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送到串行设备

  12. UART • STM32的UART • STM32的可提供5路串口,有分数波特率发生器、支持单线光通信和半双工单线通讯、支持LIN、智能卡协议和IrDA SIR ENDEC规范(仅串口3支持)、具有DMA等

  13. A/D接口 • A/D接口原理 • 模数转换则是将模拟电量转换为数字量,使输出的数字量与输入的模拟电量成正比。 • 在A/D转换中,因为输入的模拟信号在时间上是连续的,而输出的数字信号是离散量,所以进行转换时只能按一定的时间间隔对输入的模拟信号进行采样,然后再把采样值转换为输出的数字量。通常A/D转换需要经过采样、保持量化、编码四个步骤。

  14. A/D接口 • STM32的A/D转换 • STM32处理器自带的12位ADC是一种逐次逼近型模拟数字转换器。他有18个通道,可测量16个外部和两个内部信号源。 • 各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐的方式存储在16位数据寄存器中。

  15. 基于STM32的蓝牙、WiFi模块设计 • 嵌入式蓝牙模块设计 • 设置主模块的PIO0为高或悬空,从模块的PIO0为低。 • 设置两个模块的PIO2、PIO3、PIO4、PIO5高低到对应的波特率,具体参考设置 • 串口通信波特率。 • 设置两个模块的PIO6、PIO7、PIO8、PIO9、PIO10、PIO11相同的通道,不能为通道64(即全高电平)。 • 模块上电,主模块则自动去查找该通道的从模块,此时主模块和从模块的PIO1脚都是输出为高低脉冲。若连接成功之后,主从模块的PIO1管脚输出为高电平,连接一个LED GREEN进行显示状态。 • 连接成功之后,两个模块两端就能进行串口数据全双工通信了。

  16. 基于STM32的蓝牙、WiFi模块设计 • 嵌入式WiFi模块设计

  17. STM32硬件接口、蓝牙和WiFi通讯实验 • STM32 LED灯控制实验 • STM32按键中断实验 • STM32 A\D转换实验 • 蓝牙组网配置实验 • WiFi组网配置实验

  18. 思考题 • STM32采用的是哪种CPU内核?实现了什么样的体系结构? • 简述STM32处理器的外设接口的特点? • STM32的中断控制器有多少个中断源? • S3TM32的A/D转换器的类型是什么? • 嵌入式蓝牙模块硬件接口如何设计? • 嵌入式WiFi模块硬件接口如何设计?

More Related