蓝桥杯嵌入式CT117E-M4学习笔记02-STM32G431RBT6芯片学习
文章目录
- 前言
- 一、芯片简介
- 二、时钟学习
- 三、SRAM学习
- 四、总线矩阵学习
- 五、GPIO学习
- 总结
前言
首先学习了解一下蓝桥杯嵌入式CT117E-M4开发板的主控芯片STM32G431RBT6,本文仅为个人学习成果总结,如有错误,恳请指正。
一、芯片简介
上图为STM32CubeMX选型界面,如图可以看出STM32G431RBT6具有以下特点和硬件集成。
- 采用Cortex-M4 32位RISC核心架构,工作频率最高可达170Mhz。
- 128kBytes的FLASH,32kBytes的SRAM。
- 封装形式LQFP 64,引脚个数64pin,其中I/O个数52pin。
- CORDIC数学函数硬件加速,FMAC滤波函数硬件加速,CRC校验计算单元,RNG(Random Number Generator)随机数生成器。
- 2个12位的adc,4个比较器,3个运算放大器,4个DAC通道(2个外部和2个内部),1个内部电压参考缓冲器。
- 1个低功耗RTC(Real-Time Clock),1个通用32位定时器,2个16位PWM定时器(专用于电机控制),7个通用16位定时器,1个16位低功耗定时器。
- 1个FDCAN,3个I2C,3个SPI和2个I2S冲突复用(其中的2个I2S和SPI引脚冲突),1个SAI(Serial Audio Interface)音频接口。
- 3个USART,1个UART,1个低功耗UART,一个全速USB(12MBit/s),1个UCPD。
- 工作条件(略)
二、时钟学习
STM32G431时钟框图如下图所示。
1. STM32G431RBT6具有三个不同的时钟源可以提供SYSCLK系统时钟
- 4-48mhz高速振荡器与外部晶体或陶瓷谐振器(HSE)。它可以为系统锁相环提供时钟。HSE也可以配置为bypass,用于外部时钟。
- 16mhz高速内部RC振荡器(HSI16),可由软件微调。它可以为系统锁相环提供时钟
- 系统锁相环(PLL),最大输出频率170 MHz。它可以用HSE16或HSI16时钟送电。
2. 带时钟恢复系统的RC48 (HSI48):内部的HSIRC48 MHz时钟源可用于驱动USB或RNG外设。
3. 辅助时钟源:两个超低功耗的实时时钟源
- 32.768 kHz低速外接晶体振荡器(LSE),支持四种驱动能力模式。LSE也可以配置为bypass模式,使用外部时钟。
- 32 kHz低速内部RC振荡器(LSI),精度±5%,也用于时钟独立看门狗。
4. 外设时钟源:多个外设(I2S、USART、I2C、LPTimer、ADC、SAI、RNG)具有独立于系统时钟的时钟。
5. 时钟安全系统CSS (Clock security system):当HSE时钟发生故障时,系统时钟自动切换到HSI16,如果使能,则产生软件中断。也可以检测到LSE时钟故障并产生中断。
6. 时钟输出功能
- MCO:微控制器时钟输出:它输出一个内部时钟供外部应用程序使用
- LSCO:低速时钟输出:在所有低功耗模式下输出LSI或LSE
三、SRAM学习
stm32G431 x6/x8/xB系列具有32kBytes的SRAM,但是这32k的SRAM被分为三个部分。
- 首先是16kBytes的SRAM被映射到地址0x2000 0000(SRAM1),CPU可以通过系统总线(S-bus)进行控制,也可以通过指令/数据总线控制(I-but/O-but)(详见四、总线矩阵学习),SRAM1支持硬件奇偶校验。
- 其次是6Kbytes被映射到地址0x2000 4000 (SRAM2),CPU只能通过系统总线进行控制,SRAM2可以保持在停止和待机模式。
- 最后是10Kbytes被映射到地址0x1000 0000 (CCM SRAM),CPU主要通过指令/数据总线控制(I-but/O-but),以获取最大的性能,它的别名也是0x2000 5800地址,所有主节点(CPU、DMA1、DMA2)都可以通过S-bus访问,这些S-bus与SRAM1和SRAM2相邻)。CCM SRAM支持硬件奇偶校验,可以以1kbyte的粒度进行写保护。
- 内存可以在最大CPU时钟速度下读写,等待状态为0。
四、总线矩阵学习
STM32G431RBT6总线矩阵如下图所示。
- ICode/Bus 总线 ICode 中的 I 表示 Instruction,即指令。我们写好的程序编译之后都是一条条指令,存放在 FLASH 中,内核要读取这些指令来执行程序就必须通过 ICode 总线,它几乎每时每刻都需要被使用,它是专门用来取指令的。
- DCode/Bus 总线 DCode 中的 D 表示 Data,即数据,那说明这条总线是用来取数据的。我们在写程序的时候,数据有常量和变量两种,常量就是固定不变的,用 C 语言中的 const 关键字修饰,是放到内部的 FLASH 当中的,变量是可变的,不管是全局变量还是局部变量都放在SRAM中。因为数据可以被 Dcode 总线和 DMA 总线访问,所以为了避免访问冲突,在取数 的时候需要经过一个总线矩阵来仲裁,决定哪个总线在取数据。
- S-Bus 系统总线 系统总线主要是访问外设的寄存器,我们通常说的寄存器编程,即读写寄存器都是通过这根系统总线来完成的
- DMA总线(Direct Memory Access)即直接存储器访问。主要用来传输数据,这个数据可以是某个外设的数据寄存存器,可以在SRAM,可以在内部的FLASH。
- AHB总线 (Advanced High performance Bus)高级高性能总线,主要用于内部的处理器,DMA,RAM,CORDIC,FMAC,DAC,ADC,CRC,GPIO等。
- APB总线(Advanced Peripheral Bus)外围总线,主要用于定时器,比较器和各种通信接口等。
五、GPIO学习
STM32G431RBT6具有51个GPIO口可以进行使用。
GPIO可以配置为输出模式(推挽输出/开漏输出),输入模式(上拉/下拉),复用外围器件模式,
- 推挽输出和开漏输出的区别:学习链接 ,**总结来说就是推挽输出可以输出高低电平,但是驱动能力不行,开漏输出无法输出高电平,需要外接上拉电阻,驱动能力强。
- 输入模式:获取IO口的寄存器状态,通过配置上拉和下拉电阻,增强抗干扰能力。
- 复用模式:复用为某些外围电路的专用IO,比如硬件IIC的SCL和SDA。
总结
本次学习和了解了STM32G431RBT6芯片上的片内资源大概和基础的时钟、总线和GPIO知识,希望大家可以一起学习+进步。
鉴于官方开发板售价过高,本人自己制作了一款蓝桥杯嵌入式开发板,完全兼容官方的开发板,并且接下来会基于这款开发板进行学习和制作学习日志,到时候所拍实物图片会与官方开发板略有不同,如果有意向一起学习的同学也可以私聊我加群互相学习,ps:找我低价买块开发板自己学习也是可以的~ 。
蓝桥杯嵌入式CT117E-M4学习笔记02-STM32G431RBT6芯片学习相关推荐
- 蓝桥杯嵌入式CT117E硬件开发平台经验分享11 | 第九届蓝桥杯国赛题
基于 基于 CT117E 嵌入式竞赛板 嵌入式竞赛板 的 "电子秤"程序设计与调试 赛题硬件框图 由于赛题细节多,赛题PDF要求书放入了附件,链接后续加入.本文主要讲述本届题目的困 ...
- 蓝桥杯嵌入式CT117E硬件开发平台总结 | 最后的分享
最后一篇关于蓝桥杯的经验分享,即是总结从开始准备蓝桥杯以来的点点滴滴经验,并汇总成了简单的脑图结构方便查看,本文开源了蓝桥杯个人做的所有代码,仅供参考(勿扰). 脑图汇总了最后准备国赛时根据库函数进行 ...
- 关于蓝桥杯嵌入式CT117-M1(旧板)stm32f103芯片的coocox keil5 烧写办法
由于实验室只有嵌入式旧板,且stm32程序烧写,和单片机烧写完全不同.蓝桥杯嵌入式新板自带DAP仿真器下载器,旧板官方推荐只使用coocox.网上资源很多,但各有缺点,说coocox只能用keil4进 ...
- 【蓝桥杯单片机(9)】DS1302时钟芯片学习笔记
备赛目录 目录 1.DS1302简介 1.1功能 1.2通信方式 1.3电路连接图 2.DS1302通信时序 3.编写读取函数 3.1地址 3.2BCD码与十进制互换 4.DS1302时间读取实验 1 ...
- 【STM32G431RBT6】蓝桥杯嵌入式 ADC采样DMA传输配置
一.介绍 蓝桥杯嵌入式开发板使用的是STM32G431RBT6,这个G系列的mcu使用STM32cubemax配置的时候和普通的F系列不太一样. 二.原理图 同时开发板预留了两个adc采样通道,分别是 ...
- 蓝桥杯嵌入式G431学习之开关LED灯
蓝桥杯嵌入式G431学习之开关LED灯 1.直接开关LED灯 在/* USER CODE BEGIN 0 / 在此写入代码 / USER CODE END 0 */ /*PD2为LED锁存器控制引脚* ...
- 【蓝桥杯嵌入式】比赛笔记(2)根据固件库快速配置各模块初始化
[蓝桥杯嵌入式]比赛笔记(2)根据固件库快速配置各模块初始化 因为蓝桥杯比赛时间很短,并且如果自己去记忆各模块初始化的话,也难免有问题,所以这里给出一个通过固件库的快速初始化模块的方法. 比赛提供固件 ...
- stm32入门学什么板子_“蓝桥杯”嵌入式stm32开发入门(1)概述
声明:笔者绝不是给"蓝桥杯"打广告,而是笔者曾经参加过蓝桥杯嵌入式设计与开发比赛,想借此机会总结并分享自己的学习中的点点滴滴. 此系列教程将以蓝桥杯官方指定的开发板和接口板来深入浅 ...
- 【蓝桥杯嵌入式】【STM32】7_RTC之实时时间显示和硬件闹钟设置
文章目录 1.RTC的三个可用时钟源 2.RTC框图 3.写代码前需要知道的一些标志位 4.配置流程 5.源代码 6.关于设置闹钟这件事 6.1.配置流程 6.2.实验源代码 下载工程文件: ...
最新文章
- Apache2.4+Tomcat7集群搭建
- 再见,Teamviewer!这款国产轻量级远程桌面软件超牛逼!
- 数字原生,创新生长|企业如何打造数字创新的“飞天梦”?
- 荣获中国音视频产业大会「科技创新奖」,网易云信彰显行业领先水平
- MvvmLight学习心得三
- c语言printf到指定文件,急求如何将下列C语言程序数据存储到文件中?
- 雄安大学真的来了!占地总面积2550亩!
- 〖谷腾读书会GTC〗Digital economy
- IP 层收发报文简要剖析1-ip报文的输入
- NetBeans 时事通讯(刊号 # 120 - Oct 14, 2010)
- CISSP考试复习经历分享2020年12月
- NanoHttpd android客户端作为服务器使用
- matlab 分块 矩阵 对角 合并
- Unity Burst学习2
- 在家搭建 Minecraft 服务器,和远程小伙伴一起联机
- IE编程1(.net)——读取IE窗口信息
- 好听的音乐---飛魚樂園音樂專輯(Orchid Island)
- 卢克的HTML与CSS基础
- Oracle---SQL语句
- 如何从面试官中知道自己需要准备什么
热门文章
- 【Redis】Windows10 系统安装 Redis 教程
- 2020上半年总结及感悟
- leetcode1599. 经营摩天轮的最大利润(Python3、c++)
- 时间不等人,珍惜你所拥有的每分每秒
- 解决Office 2007每次打开都要出现 配置Microsoft Office Professional Plus 2007
- 微信小程序之书籍详情页
- jQuery如何实现滑入滑出效果(跟随鼠标滑入滑出蒙板)
- 【Web前端基础】实验4 图像与多媒体文件
- 使用阿里EasyExcel实现上传下载、导入导出Excel
- CentOS6.x 手动安装HAWQ 错误记录