首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用SPI协议时,输出数据速率是否与波特率同义?

使用SPI协议时,输出数据速率是否与波特率同义?
EN

Stack Overflow用户
提问于 2018-05-30 08:38:50
回答 2查看 468关注 0票数 0

我正在尝试学习SPI协议是如何工作的,我正在做一个使用STM32F407G-Discovery板的基本项目。

该主板有一个内置的加速度计(LIS3DSH),并且它使用SPI协议。在用户手册中,它说明了以下内容:

LIS3DSH具有±2g/±4g/±6g/±8g/±16g全量程动态选择,能够以3.125 Hz至1.6 kHz的输出数据速率测量加速度。

此加速度计使用连接到APB2的SPI1。我使用STM32CubeMX生成初始化代码(包括时钟配置),看起来APB2外设时钟的默认值为84 Mhz。

这是否意味着我需要将APB2外设时钟配置为介于3.125 Hz和1.6 kHz之间的值?我无法想象这是真的,因为我无法在STM32CubeMX中获得足够低的值,因为如果我的值太低,它会抛出错误。

我还考虑了波特率控制SPI寄存器,它允许您将波特率控制到最低的f-PCLK/256

换句话说,我对使用哪种时钟频率和使用哪种波特率控制有点困惑。

我还在学习嵌入式编程,所以我的术语可能是不正确的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-30 09:12:39

这两者是没有关系的。最大SPI时钟速率为10 the (第14页)。3.125 an到1.6 The的输出速率是芯片进行加速转换的速度。在3.125 is下,每320ms就会有一个新的转换结果,在1.6 they下,每625us就会有一个新的转换结果。在转换率、功耗和准确性之间存在权衡。数据手册留下了很多漏洞,我建议阅读MMA7660数据手册,以更好地了解这些类型的芯片是如何工作的,然后返回到您的数据手册以了解实现细节。

票数 2
EN

Stack Overflow用户

发布于 2018-05-30 16:47:39

您可以使用高达10 the的SPI时钟频率从该芯片获取数据。(因此,16的预分频器和全速率(84 the ) APB2时钟就可以了)

SPI时钟决定了数据从芯片传输到控制器的速度,而不是芯片产生新结果的速度。

为了始终获得最新的数据,您可以使用芯片中的IRQ线路或使用计时器来触发与采样速率相对应的传输。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50594838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档