BKP/RTC1. BKP1.1 BKP介绍BKP(backup register,备份寄存器)。备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。它们处在备份域里,当VDD电源被切断,它们仍然由VBAT维持供电。
当系统在待机模式下被唤醒,或系统复位或电源复位时,它们也不会被复位。
此外,BKP控制寄存器用来管理侵入检测和RTC校准功能。
复位后,对备份寄存器和RTC的访问被禁止,并且备份域被保护以防止可能存在的意外的写操作。执行以下操作可以使能对备份寄存器和RTC的访问:
通过设置寄存器RCC_APB1ENR的PWREN和BKPEN位来打开电源和后备接口的时钟。
电源控制寄存器(PWR_CR)的DBP位来使能对后备寄存器和RTC的访问。
1.2 侵入检测功能当TAMPER引脚上的信号从0变成1或者从1变成0(取决于备份控制寄存器BKP_CR的TPAL位),会产生一个侵入检测事件。侵入检测事件将所有数据备份寄存器内容清除。
设置BKP_CSR寄存器的TPIE位为1,当检测到侵入事件时就会产生一个中断。
1.3 RTC校准为方便测量,RTC时钟 ...
电源控制1. PWR介绍电源控制(PWR: Power Control)。电源对电子设备来说非常重要,它是保证系统稳定运行的基础。在保证系统能稳定运行的同时,对嵌入式设备一般又有低功耗的需求。
在一些应用场合中,对电子设备的功耗要求非常苛刻,如某些传感器信息采集设备,仅靠小型的电池提供电源,要求工作长达数年之久,且期间不需要任何维护;由于智慧穿戴设备的小型化要求,电池体积不能太大导致容量也比较小,所以也很有必要从控制功耗入手,提高设备的续行时间。
鉴于低功耗的需求,STM32 有专门的电源管理外设监控电源并管理设备的运行式,确保系统正常运行,并尽量降低器件的功耗。
2. 电源框图
2.1 VDDA供电区域主要负责模拟部分的供电。为了提高转换的精确度,ADC使用一个独立的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰。
主要给A/D转换器,温度传感器,复位模块,PLL等供电。
VDDA是正极,VSSA是负极。VREF+和VREF-是A/D转换器的参考电压,VREF-必须接到VSSA上。
对引脚比较少的芯片,没有VREF+和VREF-引脚,他们在芯片内部与ADC的电源 ...
CAN通讯1. CAN通讯介绍CAN(Controller Area Network 控制器局域网,简称CAN或者CAN bus)是一种功能丰富的车用总线标准。被设计用于在不需要主机(Host)的情况下,允许网络上的单片机和仪器相互通信。
它基于消息传递协议,设计之初在车辆上复用通信线缆,以降低铜线使用量,后来也被其他行业所使用。
CAN拥有了良好的弹性调整能力,可以在现有网络中增加节点而不用在软、硬件上做出调整。除此之外,消息的传递不基于特殊种类的节点,增加了升级网络的便利性。
2. 物理层CAN网络节点:
一个CAN控制器
一般MCU提供。STM32内部提供了1个CAN控制器。
一个CAN收发器
收发器一般需要专门芯片提供。
控制器与收发器之间通过 CAN_Tx及CAN_Rx信号线相连。
收发器与CAN总线之间使用CAN_High及CAN_Low 信号线相连。
CAN网络节点发数据:
当CAN节点需要发送数据时,控制器把要发送的二进制编码通过CAN_Tx线发送到收发器。
收发器把这个普通的逻辑电平信号转化成差分信号,通过差分线CAN_High和 CAN_L ...
FSMC1. FSMC概述MCU自带的FLASH和SRAM资源是十分有限的。一般情况下对于嵌入式应用够用,但避免不了一些大量消耗内存的应用, 比如说图像处理。对于这类对内存要求较高的应用,往往需要扩展一个FLASH或者SRAM。STM32提供的FSMC就是用来完成这项功能的。
FSMC(Flexible static memory controller,灵活的静态存储器控制器),STM32可以通过FSMC与SRAM、ROM、PSRAM、Nor Flash和NandFlash存储器的引脚相连,从而进行数据的交换。
FSMC 只能扩展静态的内存(S:static),不能是动态的内存,比如 SDRAM 就不能扩展。
FSMC把AHB总线上的数据转换为对应外设的通信协议,控制外设的访问时序,可以直接在程序中寻址访问。
2. FSMC组成
FSMC主要由4部分组成:
AHB总线接口(包括FSMC的配置寄存器)
NOR闪存/SRAM控制器
NAND闪存/PC卡控制器
外设接口四个部分构成
2.1 AHB总线接口AHB总线接口是CPU、DMA等AHB总线主设备访问FSMC ...
SPI1. SPI介绍Serial Peripheral interface(串行外围设备接口),是Motorola首先在其MC68HCXX系列处理器上定义的,是一种高速的,全双工,同步的串行通信总线。
SPI接口主要应用于EEPROM,FLASH,各种传感器,AD转换器等。
1个SPI设备一般有4条线 (SCK,MOSI,MISO,SS)
SCK:时钟信号线,用于通讯数据同步。
它由通讯主机(MCU)产生,决定了通讯的速率。
不同的设备支持的最高时钟频率不一样,如 STM32 的 SPI 时钟频率最大为 fpclk/2。
两个设备之间通讯时,通讯速率受限于低速设备。
MOSI:主设备输出/从设备输入引脚。
主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,
这条线上数据的方向为主机到从机。
MISO:主设备输入/从设备输出引脚。
主机从这条信号线读入数据,从机的数据由这条信号线输出到主机。
在这条线上数据的方向为从机到主机。
SS:片选线或者使能线。有时候也称NSS或CS。
SPI通信时各个设备是没有地址的
主机和哪个 ...
ADC1. ADC介绍Analog-to-Digital Converter(模拟数字转换器),用于将模拟信号转换为数字形式,以便在数字系统中进行处理。一般传感器会把观测的物理量转换为电压值,也就是所谓的模拟信号。ADC转换器就是把模拟的物理量(电压值)转换为计算机认识的数字量。
ADC有三种常见类型:
逐次逼近型(Successive Approximation)
这是最常见的ADC类型之一,通过逼近法逼近模拟信号的大小
STM32中的ADC通常采用这种类型。
Sigma-Delta型
通过比较信号的累积值和一个参考值,产生一个高精度的输出。
Flash型
通过一组比较器和编码器,以高速并行方式进行转换,适用于高速应用。
ADC建立了模拟量和数字量之间的联系。
STM32F103系列提供了3个ADC,精度为12位,每个ADC最多有16个通道和2个内部信号源。
STM32F103的ADC是一种逐次逼近型模拟数字转换器。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程 ...
DMA1. DMA介绍Direct memory access(直接存储器存取)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。
2个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。
DMA控制器和Cortex™-M3核心共享系统数据总线,执行直接存储器数据传输。当CPU和DMA同时访问相同的目标(RAM或外设)时,DMA请求会暂停CPU访问系统总线达若干个周期,总线仲裁器执行循环调度,以保证CPU至少可以得到一半的系统总线(存储器或外设)带宽。
DMA2只存在于大容量产品和互联型产品中。
2. DMA框图
2.1 DMA请求 如果外设要想通过DMA来传输数据,必须先给DMA控制器发送DMA请求,DMA控制器收到请求信号之后,控制器会给外设一个应答信号,当外设得到控制器的应答信号后,外设会立即释放它的请求。
DMA有DMA1和DMA2两个控制器,DMA1 ...
I2C1. I2C基础知识I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。
是一种简单的双向两线制总线协议标准,支持同步串行半双工通讯。
标准模式传输速率为 100kbit/s,快速模式为400kbit/s,高速模式下可达3.4Mbit/s,目前大多I2C设备尚不支持高速模式。
I2C总线广泛应用于各种设备和应用领域,例如传感器、存储器(如EEPROM)、显示屏、温度传感器、实时时钟(RTC)、扩展IO芯片等。
SCL:串行时钟总线,用于数据收发同步
SDA:串行数据总线,用高低电平表示数据
可连接多个I2C通讯设备,支持一主多从也支持多主多从。每个设备都有唯一的地址,主机通过这个地址与从机通信
总线通过上拉电阻接到电源。设备空闲时,输出高阻态,当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平
2. 工作原理
主从关系:
主器件用于启动总 ...
蓝牙1. 蓝牙概述蓝牙,是一种利用低功率无线电,支持设备短距离通信的无线电技术,能在包括移动电话、PDAQ、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换,蓝牙工作在全球通用的2.4 GHz(2.4 至 2.485 GH)ISM(即工业、科学、医学)频段,使用IEEE802.11协议。
2. 蓝牙发展历程自1994年由爱立信推出至今,蓝牙技术已经走过了30个岁月,发展为当前的状况。
第一代蓝牙:关于短距离通讯早期的探索,使用的是BR(Basic Rate)技术,此时蓝牙的理论传输速率,只能达到721.2Kbps。
第二代蓝牙:新增的EDR(Enhanced Data Rate)技术,使得蓝牙设备的传输率可达3Mbps。
第三代蓝牙:核心是AMP(Generic Alternate MAC/PHY),这是一种全新的交替射频技术,支持动态地选择正确射频,传输速率高达24Mbps。
第四代蓝牙:主推Low Energy低功耗,BLE(Bluetooth Low Energy)低功耗功能。
第五代蓝牙:开启物联网时代大门,在低功耗模式下具备更快更远的传输能力。
3. ...
串口通信1. 通讯基础1.1 并行通信与串行通信按数据传送的方式,通讯可分为串行通讯与并行通讯。
串行是按位传输,一次传输一位。
并行一般是多位同时传输。比如8位16位32位等。
并行通讯
串行通讯
通讯距离
低
远
抗干扰能力
弱
强
传输速率
高
低
成本
高
低
1.2 全双工、半双工及单工通信
单工通信:数据只能沿一个方向传输
半双工通信:数据可以沿两个方向传输,但需要分时进行
全双工通信:数据可以同时进行双向传输
1.3 同步通信与异步通信
同步
有时钟,发送和接收双方按照预定的时钟节拍进行数据的发送和接收,双方的操作严格同步。
异步
无时钟,双方不需要严格的时钟同步,每个数据块之间通过特定的起始位和停止位进行分隔,接收方可以
独立地识别每个数据块。
1.4 通信速率通信速率是指在通信系统中单位时间内传输的信息量,是评估通信系统性能的重要指标之一。
比特率(Bit rate):
定义:比特率是指在通信线路(或系统)中单位时间(每秒)内传输的信息量,即每秒能传输的二进制位数。它用单位时间内传输的二进制代码的有效位(bit)数 ...