• 资料介绍
    • STM32L011 PA6 空片时端口状态
    • 问题分析
    • 测试结果
    • 结论
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

LAT1318 STM32L011在SPI bootloader模式下的PA6状态分析

03/22 15:05
330
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1318 STM32L011在SPI bootloader模式下的PA6状态分析

2.61 MB

STM32L011 PA6 空片时端口状态

客户反映 STM32L011 PA6 空片时进入 system memory 内部自带的 bootloader后,GPIO 的实际测试状态同 AN2606 中描述 push-pull pull-down 有出入,实际测试为高电平

问题分析

查看 AN2606 手册,发现 PA6 配置为 SPI 模式,GPIO 的配置为 push-pull pulldown 模式。

测试结果

SPI 脚位的电平是由于 SPI 协议决定的:

SPI 通信通过 CPOL(时钟极性)和 CPHA(时钟相位)来控制 SPI 设备的通信模式,具体如下:

时钟极性(CPOL)定义了 SCLK 时钟线空闲状态时的电平:

1.CPOL=0,即 SCLK=0,表示 SCLK 时钟信号线在空闲状态时的电平为低电平,因此有效状态为高电平。

2.CPOL=1,即 SCLK=1,表示 SCLK 时钟信号线在空闲状态时的电平为高电平,因此有效状态为低电平。

结论

GPIO 寄存器配置是对的,由于它的上拉或下拉是弱上拉或弱下拉,GPIO 口外部测得的电平是由 SPI 寄存器配置和将要发送到总线上的数据(针对 SPI_CR1. CPOL= 0,SPI_CR1. CPHA =0)来决定的。

不要盲目参考 AN2606 中的 GPIOA PA6 pull-pull pull-down, 以为 MISO 默认电平为 0 电平。还要参考 SPI 协议和 AN4286 中的 SPI bootloader 协议。

在 STM32L011 ISP 方式,系统内部自带的 bootloader 代码配置如下:

SPI_CR1. CPOL= 0, SPI_CR1. CPHA =0, 这种情况下,PA6 脚位脚位空闲状态是1 电平(0xA5 等待发送中)。(芯片内的 bootloader 代码的配置)

资料预览

点赞
收藏
评论
分享
加入交流群
举报

相关推荐