智能小车系统设计-基于STM32 课件 【ch10】实验8-电池电压检测实验_第1页
智能小车系统设计-基于STM32 课件 【ch10】实验8-电池电压检测实验_第2页
智能小车系统设计-基于STM32 课件 【ch10】实验8-电池电压检测实验_第3页
智能小车系统设计-基于STM32 课件 【ch10】实验8-电池电压检测实验_第4页
智能小车系统设计-基于STM32 课件 【ch10】实验8-电池电压检测实验_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验8电池电压检测实验智能小车系统设计——基于STM3201实验内容通过学习智能小车核心板上的电池电压测量电路原理图、STM32微控制器的ADC相功能和寄存器、DMA相关功能和寄存器及STM32的固件库函数,编写智能小车电池电压测驱动程序,将测量结果保存到Common模块中,并在OLED显示屏上显示出来。ADC(AnalogtoDigitalConverter)即模-数转换器。STM32F103RCT6芯片内嵌3个12位逐次逼近型ADC,每个ADC公用多达18个外部通道,可以实现单次或多次扫描转换。实验内容02实验原理电池电压测量电路原理图

电池电压测量电路原理图如图10-1所示,从图中可以看出,电池电压测量连接的STM32F103RCT6芯片引脚为PA1,对应STM32的ADC123通道1。与之对应的DMA通道为DMA1_Channel_1。实验原理电池电压测量电路原理图

电池电压测量电路原理图如图10-1所示,从图中可以看出,电池电压测量连接的STM32F103RCT6芯片引脚为PA1,对应STM32的ADC123通道1。与之对应的DMA通道为DMA1_Channel_1。实验原理电池电压测量电路原理图

在STM32系列微控制器中,对于引脚数量小于或等于64个的芯片,其VREF+(ADC参考电压)直接连接到VDDA(Pin13)上,引脚数量大于64个的芯片有专门的引脚用于输入ADC参考电压VREF+。智能小车采用的STM32F103RCT6微控制器有64个引脚,所以智能小车核心板上的ADC参考电压就是VDDA(基本等于3.3V电源)。实验原理电池电压测量电路原理图

STM32微控制器提供了一个芯片内部基准电压(该基准电压并非ADC参考电压),该基准电压位于ADC1的通道17,电压值的典型值是1.20V,最小值是1.16V,最大值是1.24V,该电压值不随外部供电电压的改变而改变。该电压计算公式为:VDDA×ADC值/4096=1.20,其中ADC值可以通过ADC采样获取,这样就可以大概推算出VDDA的实际值,然后用实际电压值代替VREF+,便可以在供电不足时准确测量电压。实验原理ADC功能框图图10-2是ADC的功能框图,该框图涵盖的内容非常全面,但绝大多数应用只涉及其中一部分,本实验也不例外。下面依次介绍ADC的电源与参考电压、ADC时钟及其转换时间、ADC输入通道、ADC触发源、模拟至数字转换器、数据寄存器。实验原理实验原理ADC功能框图1.ADC的电源与参考电压ADC的输入范围在VREp-和VREF+之间,VoDA和VssA分别是ADC的电源和地。ADC的参考电压也称为基准电压,如果没有基准电压,就无法确定被测信号的准确幅值。实验原理实验原理ADC功能框图2.ADC时钟及其转换时间(1)ADC时钟STM32的ADC输入时钟ADC_CLK由PCLK2经过分频产生,最大为14MHz。本实验中,PCLK2为72MHz,ADC_CLK为PCLK2的6分频,因此,ADC输入时钟为12MHz。实验原理ADC功能框图2.ADC时钟及其转换时间(2)ADC转换时间ADC使用若干ADC_CLK周期对输入电压采样,采样周期数目可以通过ADC_SMPR₁和ADC_SMPR2中的SMPx[2:0]位进行配置,当然,也可以通过ADC_RegularChannelConfig函数进行更改。实验原理ADC功能框图3.ADC输入通道STM32的ADC有多达18个通道,可以测量16个外部通道(ADCx_IN0~ADCx_IN15)和2个内部通道(温度传感器和VREFNr)。本实验用到的ADC通道是ADC1_IN1,该通道与PA1引脚相连接。实验原理实验原理ADC功能框图4.ADC触发源STM32的ADC支持外部事件触发转换,包括内部定时器触发和外部I/O触发。本实验使用TIM3进行触发,该触发源通过ADC控制寄存器2,即ADC_CR2的EXTSEL[2:0]进行选择,选择好该触发源后,还需要通过ADC_CR2的EXTTRIG对触发源进行使能。实验原理ADC功能框图5.模拟至数字转换器模拟至数字转换器是ADC的核心单元,模拟量在该单元中被转换为数字量。模拟至数字转换器有2个通道组,分别是规则通道组和注入通道组。规则通道组相当于正常运行的程序,而注入通道组相当于中断。本实验仅用到了规则通道组。实验原理ADC功能框图6.数据寄存器模拟量在模拟至数字转换器中被转换成数字量之后,规则通道组的数据存放在ADC_DR中,注入通道组的数据存放在ADC_JDRx中。由于本实验仅用到了规则通道组,因此,数字量存放在ADC_DR中,该寄存器是一个32位寄存器,仅低16位有效。然而,ADC的分辨DMA功能框图

1.DMA外设和存储器DMA数据传输支持从外设到存储器、从存储器到外设、从存储器到存储器。对于大容量TM32产品,DMA支持的外设包括APB1和APB2总线上的部分外设及SDIO,DMA支持的存储器包括片上SRAM和内部Flash。实验原理DMA功能框图

1.DMA外设和存储器DMA数据传输支持从外设到存储器、从存储器到外设、从存储器到存储器。对于大容量TM32产品,DMA支持的外设包括APB1和APB2总线上的部分外设及SDIO,DMA支持的存储器包括片上SRAM和内部Flash。实验原理DMA功能框图

2.DMA请求DMA数据传输需要通过DMA请求触发,其中,外设TIM1、TIM2、TIM3、TIM4、ADC1、SPI1、SPI/I²S2、I²C1、I²C2、USART1、USART2、USART3产生的7个请求通过逻辑或输入DMA1控制器,如图10-4所示,这意味着同时只能有一个DMA1请求有效。实验原理DMA功能框图

DMA1各通道的请求如表10-2所示。

外设TIM5、TIM6、TIM7、TIM8、ADC3、SPII²S3、UART4、DAC1、DAC2和SDIO产生的5个请求通过逻辑或输入DMA2控制器,如图10-5所示,同样意味着同时只能有一个DMA2请求有效。实验原理DMA功能框图

DMA1各通道的请求如表10-2所示。

外设TIM5、TIM6、TIM7、TIM8、ADC3、SPII²S3、UART4、DAC1、DAC2和SDIO产生的5个请求通过逻辑或输入DMA2控制器,如图10-5所示,同样意味着同时只能有一个DMA2请求有效。实验原理实验原理实验原理DMA功能框图

3.DMA控制器DMA控制器包含了DMA1控制器和DMA2控制器,其中,DMA1有7个通道,DMA2有5个通道,每个通道专门用来管理来自一个或多个外设的请求。如果同时有多个DMA请求,则最终的请求响应顺序由仲裁器决定。实验原理ADC部分寄存器本实验涉及的ADC寄存器包括控制寄存器1(ADC_CR1)、控制寄存器2(ADC_CR2)、采样时间寄存器1(ADC_SMPR1)、采样时间寄存器2(ADC_SMPR2)、规则序列寄存器1(ADC_SQR1)、规则序列寄存器2(ADC_SQR2)和规则序列寄存器3(ADC_SQR3)。实验原理ADC部分寄存器1.控制寄存器1(ADC_CR1)ADC_CR1的结构、偏移地址和复位值如图10-6所示,对部分位的解释说明如表10-4所示。实验原理实验原理实验原理ADC部分寄存器2.控制寄存器2(ADC_CR2)ADC_CR2的结构、偏移地址和复位值如图10-7所示,对部分位的解释说明如表10-5所示。实验原理ADC部分寄存器实验原理ADC部分寄存器3.采样时间寄存器1(ADC_SMPR1)ADC_SMPR1的结构、偏移地址和复位值如图10-8所示,对部分位的解释说明如表10-6所示。实验原理ADC部分寄存器实验原理ADC部分寄存器4.采样时间寄存器2(ADC_SMPR2)ADC_SMPR2的结构、偏移地址和复位值如图10-9所示,对部分位的解释说明如表10-7所示。实验原理ADC部分寄存器实验原理ADC部分寄存器5.规则序列寄存器1(ADC_SQR1)ADC_SQR1的结构、偏移地址和复位值如图10-10所示,对部分位的解释说明如表10-8所示。实验原理ADC部分寄存器ADC部分寄存器

6.规则序列寄存器2(ADC_SQR2)

ADC_SQR2的结构、偏移地址和复位值如图10-11所示,对部分位的解释说明如表10-9所示。7.规则序列寄存器3(ADC_SQR3)

ADC_SQR3的结构、偏移地址和复位值如图10-12所示,对部分位的解释说明如表10-10所示。实验原理ADC部分固件库函数1.ADC_Init2.ADC_RegularChannelConfig3.ADC_DMACmd4.ADC_ExternalTrig5.ADC_CmdConvCmd6.ADC_ResetCalibration7.ADC_GetResetCalibrationStatus9.ADC_GetCalibrationStatus实验原理DMA部分寄存器1.DMA中断状态寄存器(DMA_ISR)2.DMA中断标志清除寄存器(DMA_IFCR)3.DMA通道x配置寄存器(DMA_CCRx)(x=1,…,7)4.DMA通道x传输数量寄存器(DMA_CNDTRx)(x=1,…,7)5.DMA通道x外设地址寄存器(DMA_CPARx)(x=1,…,7)6.DMA通道x存储器地址寄存器(DMA_CMARx)(x=1,…,7)实验原理DMA部分固件库函数1.DMA_Init2.DMA_ITConfig3.DMA_Cmd4.DMA_ClearlTPendingBit实验原理多通道ADC采样原理STM32微控制器共有3组ADC,分别是ADC1、ADC2和ADC3,每组至多有18个通道,但是每组只有一个ADCx_DR寄存器(存放A/D转换结果)。这就带来一个问题,当多通道采样时,不同通道的A/D转换结果会相互覆盖。程序随机读ADCx_D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论