历史上的今天
返回首页

历史上的今天

今天是:2026年03月03日(星期二)

正在发生

2023年03月03日 | STM32G0技术详解 _ GPIO-EXTI-系统DMA

2023-03-03 来源:jdzj

STM32G0的复用率是很高的,更多的引脚可以被当做GPIO引脚来使用。

G0的GPIO模块与F0的类似,主要有以下区别


STM32F0系统架构




STM32G0系统架构


主要特性

双向操作最多达60个I/O引脚,从GPIOA~GPIOF共5个端口,每个端口最多16个I/O引脚,全部具有外部中断和唤醒功能,使用BSRR和BRR寄存器进行原子操作(置位和复位),每个端口独立配置。

GPIOx直接挂在IOPORT总线上。

大多数I/O引脚能够支持5V容忍。

引脚的基本结构


操作模式

输入模式:悬浮(无上下拉电阻),输入上拉/下拉,模拟输入模式。

输出模式:推挽,带有可选上拉/下拉的开漏。

可配置的输出斜率,速度可达80MHz。

复用功能模式:I/O可以用作不同引脚的配置,复用功能越灵活,用的时候越方便。

用于冻结I/O端口配置的锁定机制(GPIOx_LCKR)。

复用功能


多个集成外设共享相同的I/O引脚,包含USARTx_TX,TIMx_CHx,SPIx_MISO……

复用功能多路选择器选择连接到I/O引脚的外设,一次只有一个复用功能连接到特定的I/O引脚,通过GPIOx _AFRL和GPIOx_AFRH寄存器配置。


重定位GPIOs

PA10和PA9分别可以重映射PA12和PA11这两个GPIO口,为那些在封装上没有提供这些引脚但又想访问它们的引脚功能提供了可能,通过SYS_CFG寄存器重映射。


I/O引脚的特殊注意事项

在复位期间和复位后,复用功能是未激活状态,I/O引脚默认为模拟状态,在复位期间和复位后关闭施密特触发器以降低功耗。

只有SWD调试引脚保持为AF上拉/下拉的配置模式,PA13:SWDIO;PA14:SWCLK(BOOT0)。

I/O管脚在低功耗模式下的状态


中断

EXTI原理图


主要特性


从stop模式唤醒,生成中断和事件,独立的中断和事件屏蔽。

可配置事件:边沿选择;

专门的挂起标志;

可由软件触发;

连接到GPIO,PVD,COMPx。

直接事件:状态标志由相关外设提供;

连接到I2Cx,USARTx,UARTx,LPUARTx,SPIx。

GPIO MUX从STSCFG移到EXTI


EXTI线重映射


DMA

G0的DMA控制器与F0的类似,但是多了一个多路复用控制器DMAMUX。


G0 DMA特性

减少CPU负载,用于从内存映射源到内存映射目标的数据传输。

1x DMA控制器:可编程块传输,具有7个并发通道可以独立配置;

可编程通道优先级;

通过AHB主端口(连接到总线矩阵)传输数据;

1x 新DMA请求多路复用(DMAMUX):可编程映射DMA请求;

事件触发和同步的DMA请求生成。


DMAMUX+DMA的方式最先出现在H7,然后是L4+,好处是使DMA通道对应的外设更加灵活,不再受限。

STM32G0 DMA和DMAMUX示例



DMA特点


外设到内存,内存到外设,和内存到内存的数据传输。

DMA上有7个独立可配置的通道,每个通道要么分配给DMA硬件和外设请求,或者用在内存传输中的软件请求。DMA通道之间的数据传输优先级可配置为非常高、高、中、低。每个通道可各自配置不同的数据传输格式(数据格式、地址增量类型、起始地址、块大小)。各个通道拥有各自的标志位和(块)半传输,(块)传输完成,传输错误等中断。

在总线访问错误的情况下,会自动禁用故障通道。

用于批量数据传输的可编程功能。

DMAMUX结构


DMAMUX特性

DMAMUX是DMA请求多路复用器/路由器。

DMAMUX可将来自任何外设请求路由到7个DMA通道中任意一个中去。

另外的,有4个请求发生器,可配置由本身生成的DMA请求,触发输入及配置如下:

触发选择:EXTI0~15,LPTIM1/2 OUT,TIM14_OC,或4个生成的DMAMUX事

件中任一个。

触发事件:上升沿,下降沿或双边沿。

触发事件时生成的DMA请求数(在请求发生器内置了一个计数器)。

当下一个触发事件到来而之前由生成的DMA请求数尚未完成时,触发器溢中断会通知软件处理。

对于每个DMAMUX请求多路复用器,可以配置:

从外设或者从请求发生器中选择DMA的请求输入,该请求输出连接到DMA控制

器的给定通道。

可配置的同步输入:

同步选择:EXTI0~15,LPTIM1/2 OUT,TIM14_OC或4个生

成的DMAMUX事件中任一个。

同步时间:上升沿,下降沿或双边沿。

同步事件发生时允许通过的DMA请求数。

当下一个同步信号到来之前DMA请求数还没有全部通过时,将会产生溢出中断。

可选生成的DMAMUX事件输出(多路复用器内置了一个计数器),4个DMAMUX事件作为触发输入和同步输入环回到DMAMUX,应用基于DMA通道间链接的场合。

生成的DMA请求和DMAMUX事件



DMA中断

每个通道的中断事件:

半传输:当块数据的一半传输完成时置位;

传输完成:当块传输完成时置位;

传输错误:当数据传输出错时置位;

全局中断:每当半传输、传输完成或传输出错时置位;

DMAMUX中断

中断事件:

请求发生器触发溢出:当下一个触发输入事件到来而之前由DMAMUX生成的DMA请

求数尚未完成时,请求发生器触发溢出标志位会被置位。

请求多路复用器同步溢出:当下一个同步事件到来而之前由DMAMUX生成的DMA请

求数尚未完成时,请求多路复用器同步溢出标志位会被置

位。

低功耗模式下的DMA


互联矩阵

互联矩阵就是一个外设可以触发另一个外设工作,而CPU不用参与。


运用优势:时间可预测的操作;

降低了功耗;

减少了GPIO的使用。

主要特性

外围设备之间的直接自由连接:消除了软件处理方面的延时;

节省了CPU资源;

无需通过专用GPIO去搭建环回信号。

可以在低功耗模式下运行(取决于外设)。

源和目的

源外设

定时器:TIMx,LPTIMx,RTC

模拟IP:ADC,COMPx,DACx,Vreflnt,VBAT,Temp,Sensor

时钟:HSE,LSE,LSI,HSI16,MCO

EXTI

系统错误

目的外设

定时器: TIMx,LP TIMx,IRTIM

模拟IP:ADCx,COMPx,DACx

DMA


低功耗模式


所有互联均可在下述模式下工作:RUN,Sleep,Low-power run和Low-power sleep模式

从RTC,COMP1,COMP2到低功耗定时器的(LPTIM1/LPTIM2)的连接,也适用于stop 0,stop 1和stop 2(仅LPTIM1)模式。

运用示例

定时器同步或链接

触发ADC,DAC或COMP(通过定时器或EXTI)

触发DMA数据从内存到DAC(通过定时器)

校准HSI16/LSI时钟

温度和电压监控

保护定时器驱动的电源开关(定时器系统错误)

红外信号产生(定时器到IRTIM)

定时器同步示例

定时器2可以作为定时器2的预分频器


推荐阅读

史海拾趣

E-T-A [E-T-A Circuit Breakers]公司的发展小趣事

随着技术的不断进步和市场的日益成熟,E-T-A公司的产品线也逐渐扩展。公司不仅继续深耕断路器领域,还推出了包括保护控制器、流量和液位传感器等一系列新产品。同时,公司也开始积极拓展全球市场,通过设立分支机构和办事处,为全球客户提供更便捷的服务和支持。

Advanced_Linear_Devices_Inc.公司的发展小趣事

随着全球市场的不断扩大,ALD积极推进国际化战略。公司通过与全球各地的OEM制造商建立合作关系,将产品销往世界各地。同时,ALD还积极参与国际电子展会和论坛,展示其最新技术和产品,与全球同行交流合作。这些举措不仅提升了ALD的国际知名度,还为公司带来了更多的商机和发展空间。

EDSYN公司的发展小趣事

Econais公司自创立之初,就致力于研发超低功耗(ULP)的无线模块。随着物联网(IoT)和机器对机器(M2M)通信技术的兴起,市场对低功耗嵌入式模块的需求日益增长。Econais工程师团队凭借几十年的行业经验,成功研发出了一系列超低功耗Wi-Fi模块,这些模块不仅性能卓越,而且易于集成,为各种物联网应用提供了强大的技术支持。

CQR SECURITY公司的发展小趣事

CQR SECURITY公司在追求商业成功的同时,也积极履行社会责任。公司定期举办网络安全宣传活动,提高公众的网络安全意识。同时,CQR还积极参与社会公益事业,为弱势群体提供网络安全支持和帮助。这种积极履行社会责任的举措不仅提升了CQR的品牌形象,还为公司赢得了社会的广泛赞誉。

这些故事虽然虚构,但反映了电子安全公司可能经历的一些普遍发展路径和挑战。希望这些故事能够为您提供一些启发和参考。如果需要更多关于特定公司的信息,建议您查阅相关新闻报道、行业分析报告或公司官网等渠道。

Advanced Semiconductor, Inc.公司的发展小趣事

在半导体市场竞争日益激烈的背景下,ASI也面临着巨大的市场压力和挑战。为了应对市场波动和竞争压力,ASI不断调整战略方向,加大在研发和创新方面的投入。公司不断推出新产品、新技术,以满足市场的不断变化和客户需求。同时,ASI也注重提升产品质量和服务水平,赢得了客户的信任和好评。

COMPEX公司的发展小趣事

COMPEX公司深知客户需求的重要性,因此在生产过程中始终坚持灵活多变的原则。无论是小批量生产还是大规模定制,公司都能迅速调整生产线,满足客户的多样化需求。这种高度的生产灵活性,使得COMPEX在应对市场变化时能够迅速作出反应,抢占先机。

问答坊 | AI 解惑

NET+50单片机资料

这是我辛辛苦苦找到的资料,与大家分享…

查看全部问答>

电子狗方案分享

SKYLAB提供GPS雷达测速电子狗方案  性价比有优势 应用于定位设备的高性能GPS接收模块中国主要供应商深圳天工测控技术有限公司SKYLAB ,凭借其强大 的技术实力,对GPS模块进行二次开发,根据客户的要求提供GPS电子狗解决方案,具备以下 ...…

查看全部问答>

有什么好的wince培训,介绍一下

很想做嵌入式偏软方面的开发…

查看全部问答>

求解 EVC 的安装步骤 是这样吗???

我刚才 百度了一下 大概安装步骤是 1)       Microsoft ActiveSync 4.1 (2)       安装 Embedded Visual C++ 4.0 (3)       安装 Embedded Visual C++ 4.0 SP4 (4)  ...…

查看全部问答>

电平持续时间的问题

        IO0SET=en;         IO0CLR=en; 复制代码 arm7 用上面的程序得到一个上升沿和下降沿,请问高电平持续的时间是多少? 怎样计算?…

查看全部问答>

[51疑惑中]--w77e58给SBUF赋值TXD没反应,WHY?

自编测试代码如下: #include \"w77e58.h\" xdata unsigned char TxPnt; xdata unsigned char ComTxbyte[]={0x00,0x00,0xff,0xff}; xdata unsigned char aa; void Com1_INT(void) interrupt 4         {     & ...…

查看全部问答>

如何在Visual Studio 2005中安装与EVC4.0+SP4中一致的STANDARD_500_Emulator?

在Visual Studio 2005进行Smart Device相关的项目的开发,如何在Visual Studio 2005中安装与EVC4.0+SP4中一致的STANDARD_500_Emulator? Visual Studio 2005 default 安装备完成后,只有Pocket Pc 2003 SDK,Smartphone 2003 SDK…

查看全部问答>

基于芯片与封装的两种LED分选方法

人眼对于光的颜色及亮度的分辨率非常高,特别是对于颜色的差别和变化非常敏感。对于不同颜色波长的光人眼的敏感度是不同的。例如,对于波长是585nm光,当颜色变化大于1nm时,人眼就可以感觉到;而对于波长为650nm的红光,当颜色变化在3nm的时候,人 ...…

查看全部问答>

【求助】430用c编译器程序固定程序位置的问题!

各位DX:小弟在用430f149做用户终端,要实现远程升级的功能。这势必要固定某些程序的位置,试问430的IAR c编译器有没有这个功能。怎么去实现,请DX赐教!…

查看全部问答>