历史上的今天
返回首页

历史上的今天

今天是:2024年12月14日(星期六)

2018年12月14日 | KST-STM32 学习之GPIO_Speed

2018-12-14 来源:eefocus

一、 GPIO模式配置


1、输入/输出模式(参考stm32手册)


2、GPIO输出模式下,几种速度的区别:


(1). GPIO 引脚速度: GPIO_Speed_2MHz (10MHz, 50MHz) ;


又称输出驱动电路的响应速度:(芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路,通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。


可理解为:输出驱动电路的带宽,即一个驱动电路可以不失真地通过信号的最大频率。 (如果一个信号的频率超过了驱动电路的响应速度,就有可能信号失真。)


eg:如果信号频率为10MHz,而你配置了2MHz的带宽,则10MHz的方波很可能就变成了正弦波。就好比是公路的设计时速,汽车速度低于设计时速时,可以平稳地运行,如果超过设计时速就会颠簸,甚至翻车。


关键是: GPIO的引脚速度跟应用相匹配,速度配置越高,噪声越大,功耗越大。


带宽速度高的驱动器耗电大、噪声也大,带宽低的驱动器耗电小、噪声也小。使用合适的驱动器可以降低功耗和噪声


比如:高频的驱动电路,噪声也高,当不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。当然如果要输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到失真的输出信号。关键是GPIO的引脚速度跟应用匹配(推荐10倍以上)。

比如:


① USART串口,若最大波特率只需115.2k,那用2M的速度就够了,既省电也噪声小。


② I2C接口,若使用400k波特率,若想把余量留大些,可以选用10M的GPIO引脚速度。


③ SPI接口,若使用18M或9M波特率,需要选用50M的GPIO的引脚速度。


(2). GPIO的翻转速度指:输入/输出寄存器的0 ,1 值反映到外部引脚(APB2上)高低电平的速度.手册上指出GPIO最大翻转速度可达18MHz。


@通过简单的程序测试,用示波器观察到的翻转时间: 是综合的时间,包括取指令的时间、指令执行的时间、指令执行后信号传递到寄存器的时间(这其中可能经过很多环节,比如AHB、APB、总线仲裁等),最后才是信号从寄存器传输到引脚所经历的时间。


如:有上拉电阻,其阻值越大,RC延时越大,即逻辑电平转换的速度越慢,功耗越大。


(3).GPIO 输出速度: 


1、与程序有关,(程序中写的多久输出一个信号)。


2、GPIO口设为输入时,输出驱动电路与端口是断开,所以输出速度配置无意义。


3、在复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式。


4、所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。


5、GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。


一般应用:


模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电。


浮空输入_IN_FLOATING ——可以做KEY识别,RX1


开漏输出_Out_OD——应用于I2C总线; (STM32开漏输出若外部不接上拉电阻只能输出0)


二. 管脚的复用功能 重映射


1、复用功能:内置外设是与I/O口共用引出管脚(不同的功能对应同一管脚)


STM32 所有内置外设的外部引脚都是与标准GPIO引脚复用的,如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。


2、重映射功能:复用功能的引出脚可以通过重映射,从不同的I/O管脚引出,即复用功 能的引出脚位是可通过程序改变到其他的引脚上!


直接好处:PCB电路板的设计人员可以在需要的情况下,不必把某些信号在板上绕一大圈完成联接,方便了PCB的设计同时潜在地减少了信号的交叉干扰。


如:USART1: 0: 没有重映像(TX/PA9,RX/PA10); 1: 重映像(TX/PB6,RX/PB7)。(参考AFIO_MAPR寄存器介绍)[0,1为一寄存器的bit值]


【注】 下述复用功能的引出脚具有重映射功能:


  • 晶体振荡器的引脚在不接晶体时,可以作为普通I/O口


  • CAN模块; - JTAG调试接口;- 大部分定时器的引出接口; - 大部分USART引出接口

I2C1的引出接口; - SPI1的引出接口;


举例:对于STM32F103VBT6,47引脚为PB10,它的复用功能是I2C2_SCL和 USART3_TX,表示在上电之后它的默认功能为PB10,而I2C2的SCL和USART3的TX为它的复用功能;另外在TIM2的引脚重映射后,TIM2_CH3也成为这个引脚的复用功能。


(1)要使用STM32F103VBT6的47、48脚的USART3功能,则需要配置47脚为复用推挽输出或复用开漏输出,配置48脚为某种输入模式,同时使能USART3并保持I2C2的非使能状态。


(2)使用STM32F103VBT6的47脚作为TIM2_CH3,则需要对TIM2进行重映射,然后再按复用功能的方式配置对应引脚.


推荐阅读

史海拾趣

Extech公司的发展小趣事

进入新世纪后,Extech公司迎来了新的发展机遇。2000年,公司成为国家第一批863/CIMS系统集成和咨询服务企业,同时也是国家863/CIMS示范应用工程的主流供应商。这一荣誉的获得不仅体现了公司在技术实力和服务能力方面的优势,也为公司未来的发展提供了更广阔的空间。

G-Mag Usa公司的发展小趣事

面对数字化转型的浪潮,G-Mag在2020年决定全面拥抱智能制造。公司投入巨资建设智能工厂和数字化管理平台,引入先进的自动化设备和人工智能技术优化生产流程和管理效率。通过数字化转型,G-Mag实现了生产过程的智能化、自动化和可视化监控,大大提高了生产效率和产品质量。同时,G-Mag还利用大数据和云计算技术分析市场需求和消费者行为,为产品研发和市场推广提供精准的数据支持。在数字化转型的推动下,G-Mag不仅提升了自身的竞争力,还为整个电子行业的智能化发展树立了标杆。

ECM [ECM Electronics Limited.]公司的发展小趣事

在竞争激烈的电子行业中,品质是企业生存和发展的关键。ECM Electronics Limited.深知这一点,始终将产品质量放在首位。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测、包装等各个环节都严格把关,确保每一件产品都符合高标准的质量要求。正是凭借过硬的产品品质,ECM赢得了客户的信赖和市场的认可。

光大芯业公司的发展小趣事

在公司的成长过程中,光大芯业始终坚持以技术为核心,不断寻求技术上的突破。他们积极与国内外知名科研院所开展技术合作,引进先进的技术和设备,提升自身的研发能力。其中,与浙江大学微电子研究所的合作,成功开发出了开关电源管理芯片SDC7500,这一成果不仅填补了国内市场的空白,也展示了光大芯业在技术创新方面的实力。

Etron公司的发展小趣事

1991年,台湾的电子行业正蓬勃发展,钰创科技(Etron)在这一时期应运而生,创始人凭借对市场敏锐的洞察力,决定专注于利基型缓冲记忆体产品与系统晶片的设计与生产。初创时期,公司面临着技术、资金和市场等多重挑战。然而,钰创科技凭借其团队的技术实力和创新精神,成功开发出了一系列具有竞争力的产品,逐渐在市场上崭露头角。

Altonics公司的发展小趣事

随着技术的不断进步,Altonics公司始终保持着对创新的热情。公司加大研发投入,引进高端技术人才,不断推出具有创新性和竞争力的新产品。其中,公司自主研发的一款智能传感器,凭借其高精度、高稳定性的特点,迅速占领市场份额,成为工业自动化领域的明星产品。

问答坊 | AI 解惑

飞思卡尔单片机_SDIDE软件

飞思卡尔单片机_SDIDE软件 …

查看全部问答>

如何推广EEWORLD

1.登陆EEWORLD论坛,进入旧版首页,在右上角找到“控制面板”,点击控制面板,如下图: 2.点击“访问推广”,进入如下图所示界面: 按照提示操作,将您的推广链接1或者2均可,发送给您的朋友,当您的朋友访问该链接,并注册成为新会员, ...…

查看全部问答>

如何获取已经打开的串口句柄?

    各位,如何获取已经打开的串口句柄?     望执教!…

查看全部问答>

ARM9外中断问题

U8 key; U8 Key_Scan( void ) {         Delay( 80 ) ;         if(      (rGPGDAT&(1…

查看全部问答>

驱动加载程序中,在StartService()后,通过GetLastError()返回3错误(〖3〗-系统找不到指定的路径。)

    驱动加载程序中,在StartService()后,通过GetLastError()返回3(〖3〗-系统找不到指定的路径。)    在虚拟机运行的,一开始是好的,暂停第二次打开 ,无论如何加载时运行到StartService()后的GetLastError()返回都是 ...…

查看全部问答>

寻:windows ce驱动及底层开发人员

现有一国外项目需要有windows ce驱动或底层开发经验的人, 有意者请msn或邮件联系:jackin_lau@hotmail.com…

查看全部问答>

也来秀一下DIY,160*80带触摸液晶模块做的多功能时钟~~~~~~

哈哈,其实这个屏是去年电赛的时候买的,正好也用上了,不过用得比较简单,感觉有点可惜了就干脆做了一个完整的模块,估计有的朋友还记得之前小弟发的第一次做PCB的帖子吧,就是给这个做的,这个是当时的链接 https://bbs.eeworld.com.cn/thre ...…

查看全部问答>

TL494制作的恒流限压充电器电路

      我按照图上的电路做了一个充电器(图中的r12,r20我改为两个0.1/5w的电阻了),充10AH/24V的镍氢动力电池,但是在试验中发现随着充电电压的升高,电流在慢慢下降,达不到恒流,例如:24v电池理论充电终止电压是29v,但是在电 ...…

查看全部问答>

micrf506

用起来比较麻烦,但不加PA情况下可以到450米(实测)。…

查看全部问答>