STM32F4自带硬件随机数发生器(RNG),RNG处理器是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个32位的随机数。
两个连续的随机数的间隔为40个PLL48CLK时钟信号周期。
通过监控RNG熵来标识异常行为。可以禁止随机数发生器,来降低功耗。
STM32F4的三种低功耗模式:1、睡眠模式(内核停止、外设如NVIC,系统时钟Systick仍运行);2、停止模式(所有时钟都已停止,
1.8V内核电源工作,寄存器和SRAM内容保留);3、待机模式(1.8V内核电源关闭、只有备份寄存器和
待机电路维持供电、寄存器和SRAM内容全部丢失,实现最低功耗)。
进入 唤醒
睡眠模式 : WFI / WFE 任意中断 / 唤醒事件
停止模式: PDDS和LPDS位 + SLEEPDEEP位+WFI或WFE 任意EXIT线(在EXIT寄存器中配置内部线和外部线)
待机模式: PDDS和LPDS位 + SLEEPDEEP位+WFI或WFE WKUP引脚上升沿、RTC闹钟(闹钟A或闹钟B)、RTC唤醒事件、RTC入侵事件、RTC时间戳事件
NRST引脚外部复位、IWDG复位
STM32F4中ADC:
特点:1、可配置分辨率12位、10位、8位、6位;2、在转换的过程中会产生中断;3、单次和连续转换模式
有三个ADC,每个ADC有16个外部通道(有重复的),一共24个外部通道,正常运行的程序最多16个规则通道,4个注入通道。
执行模式:单次转换、连续转换、扫描(扫描一组模拟通道)、间断模式。
ADC时钟不能超过36MHz(0.42us)。
STM32F407有一个内部的温度传感器,ADCx_IN16,采样时间17.1us,精度较差为+-1.5°,多用来测相对温度。
STM32F407的DAC模块(数字 / 模拟转换模块)是12位数字输入。
DAC模块特点:1、2个DAC转换器,每个转换器对应1个输出通道;2、8位或者12位单调输出;3、12位模式下数据左对齐或者右对齐。
DAC_OUT1 ->PA4 DAC_out2 ->PA5
DMA(Direct Memory Access、直接存储器访问),DMA传输将数据从一个地址空间复制到另一个地址空间。
STM32F4最多有2个DMA控制器,2个DMA控制器总共有16个数据流(每个控制器8个),每个数据流最多有8个通道(请求),每个通道都有一个仲裁器,用于处理DMA请求间的优先级。
I2C,两线式串行总线。由数据线SDA和时钟线SCL构成的串行总线,可以发送和接受数据。在CPU与被控IC之间,IC与IC之间进行双向传送,
高速IIC总线一般可达400kbps以上。IIC是半双工通信方式。
I2C协议:1、空闲状态(两条线都为高电平),2、开始信号,3、停止信号,4、应答信号,5、数据有效性,6、数据传输
STM32的I2C不稳定,我们用模拟的方式来实现。
SPI,串行外围接口设备,高速、全双工、同步通信总线,实现主机(Master)和从机(Slave)中的两个移位寄存器中的内容交换,外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。8位或16位传输帧格式选择。
并且在芯片的管脚上只占有四根线(两根数据线(MISO、MOSI)、一根时钟线(SCLK)、一根片选线(CS)),节约了芯片的管脚,主要应用EEPROM、FLASH(W25Qxx)、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。
CAN(串行通信协议),特点:1、多主控制,有标识符决定优先级,总线仲裁;2、系统柔软性,没有类似“地址信息”;3、速度快、距离远;
4、错误检测、错误通知、错误恢复功能; 5、故障封闭;6、连接节点多。
can控制器根据CAN_L和CAN_H上的电位差来判断总线电平,总线电平分为:显性电平、隐性电平。
显性电平对应逻辑 0:CAN_H和CAN_L之差为2V左右;隐性电平对应逻辑 1:CAN_H和CAN_L之差为0V。
帧类型:1、数据帧;2、遥控帧;3、错误帧;4、过载帧;5、间隔帧。
数据帧和遥控帧有标准格式和扩展格式。标准格式有11位标识符(ID),拓展格式有29位ID。
数据帧有7个段:1、帧起始;2、仲裁段;3、控制段;4、数据段;5、CRC段;6、ACK段;7、帧结束
STM32自带了基本扩展CAN外设,又称bxCAN,特点:1、支持CAN协议2.0A和2.0B主动模式;2、波特率最高达1Mbps;3、支持时间触发通信;
3、具有3个发送邮箱;4、具有3级深度的2个接收FIFO;5、可变的筛选器组(过滤器组,
最多28个)
模式:1、工作模式;2、测试模式(静默模式、环回模式、环回静默模式);3、调试模式