1、在网上看到一篇文章:用示波器测GPIO的速度,请问一下,这个速度就是指 GPIO的翻转速度吗 ?
翻转速度是不是可以这样理解:程序中往输出寄存器写0,然后再也写入1,信号传输到引脚上,在GPIO引脚检测从0变为1所经历的时间? 这个时间是不是就是指 信号从寄存器传输到引脚所经历的时间呢?
2、还有一个就是那个2M,10M,50M,这类速度指信号的响应速度,即是选择的驱动电路的响应速度。
能否这样理解: 驱动电路的响应速度就是 这个驱动电路多久可以驱动 外部电路一次?
3、信号的输出速度: 这个速度与程序有关,就是指在程序指定的多久输出一次信号,就好比多长时间点亮一次LED?
小弟对这几个概念比较迷糊,请帮解释指导下,不胜感激
本人也很迷惑
原因是:
1. GPIO 的时钟每个 IO 口有直接的时钟允许/禁止控制.
2. 关于 2M,10M,50M 的驱动. 却没有提到分频电路, 另外也通常不
本人也很迷惑
原因是:
1. GPIO 的时钟每个 IO 口有直接的时钟允许/禁止控制.
2. 关于 2M,10M,50M 的驱动. 却没有提到分频电路, 另外也通常不会这样分频, 而通常象 2,4,8 这样的分频比较多, 却很少 5,25 倍的分频. 另外这个驱动频率也没有提到 CPU 主频的影响
所以我推测, 这个频率不是真正的 IO 口驱动时钟, 而从其他的说法推测, 可能是驱动能力方面的指标. 也就是 2M,10M,50M 是三级驱动能力. 那么驱动能力为什么说成是频率呢, 我推测是相对于标称的引脚电容的. 这样驱动能力就能反映出驱动的电平变化速度了.
端口配置的2M、10M、50M选项表示端口的带宽设置。
请教香城主,端口的带宽速度 具体怎么理解呢? 最近看这个问题,也差了很多资料,依然迷糊。
我的理解:1,GPIO的速度应该是GPIO的翻转速度。应该是从低电平到高电平或高到低经历的时间倒数。
1)用示波器观察到的翻转时间是综合的时间,包括取指令的时间、指令执行的时间、指令执行后信号传递到寄存器的时间(这其中可能经过很多环节,比如AHB、APB、总线仲裁等),最后才是信号从寄存器传输到引脚所经历的时间。
2)端口配置的2M、10M、50M选项表示端口的带宽设置。带宽就是一个驱动电路可以不失真地通过信号的最大频率。如果信号频率为10MHz,而你配置了2MHz的带宽,则10MHz的方波很可能就变成了正弦波。
就好比是公路的设计时速,汽车速度低于设计时速时,可以平稳地运行,如果超过设计时速就会颠簸,甚至翻车。
为什么不默认设置成最高(50M)呢?
那设置成2M,10M有什么好处?
对于用示波器测量的翻转时间,既然这么多影响因素,那结果应该有不少的误差,网上看有朋友说达不到18MHz,也是这个原因吧, 对于手册上指出的最大翻转18MHz,ST 是怎么测出来了呢?~~
下面的引脚速度终于搞明白了,刚开始把带宽和速度没联系上,这里的带宽是一个频率范围。而手册上总说速度,没迷糊过来 呵呵
带宽就是指一个驱动电路通过信号不失真的最大频率,这句话一语中的!
非常感谢城主!
为什么不默认设置成最高(50M)呢?
那设置成2M,10M有什么好处?
带宽高的驱动器耗电大、噪声也大,带宽低的驱动器耗电小、噪声也小。使用合适的驱动器可以降低功耗和噪声。
7# 版主
对于用示波器测量的翻转时间,既然这么多影响因素,那结果应该有不少的误差,网上看有朋友说达不到18MHz,也是这个原因吧, 对于手册上指出的最大翻转18MHz,ST 是怎么测出来了呢?~~
下面的引脚速度终 ...
用示波器观察到的翻转时间是综合的时间,包括取指令的时间、指令执行的时间、指令执行后信号传递到寄存器的时间(这其中可能经过很多环节,比如AHB、APB、总线仲裁等),最后才是信号从寄存器传输到引脚所经历的时间。这么多影响因素之中,在一种时钟配置组合(CPUCLK, AHBCLK, APBCLK等)确定之后,只有总线仲裁是可变的,但如果没有DMA操作则总线仲裁时间也就不变了,所以手册上指出的最大翻转18MHz,是在所有时钟频率配置为规定的最大频率,同时没有DMA操作的时候得到的。
这个带宽室怎么控制和实现的呢?
airwill 发表于 2010-12-19 21:35
STM的芯片这方面介绍的确不够好。
关于这个频率也没有作介绍,还有I2C那个输入时钟频率同样让人不可理解。
一般用途直接用50M的就可以了
低带宽的抗干扰力更强,相当于加了一级低通滤波,干掉了高频毛刺
根据自己的需求来做决定吧
这是电路设计和芯片设计的问题,我也不知道,我只管使用,
这个驱动带宽是不是跟 GPIO 的端口结构有关那? 但是输出驱动结构中没有指明速度选择影响什么硬件....