硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1217|回复: 4
收起左侧

请教一下spi的硬件crc

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-8-26 15:56:24 | 显示全部楼层 |阅读模式
f429的spi4做master使能硬件crc,SCK的GPIO速率设为medium时就一切正常,设为very_high的时候发送端计算出保存到txcrcr的crc值就会固定出错。
比如crc8 多项式0x7的情况,发0x1会固定计算出0x9,不明白GPIO速率是怎么会影响crc计算结果的,不知道有没有用过这个功能的大佬解惑下
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-8-26 16:05:30 | 显示全部楼层
试试使能SPI的内部上拉,看看是不是好点。

使用中等GPIO速度会降低IO噪声。对于SPI,中等配置基本可以满足SPI的最高速度。
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2024-8-26 17:35:36 | 显示全部楼层
eric2013 发表于 2024-8-26 16:05
试试使能SPI的内部上拉,看看是不是好点。

使用中等GPIO速度会降低IO噪声。对于SPI,中等配置基本可以满 ...

感谢大佬回复,我这边是已经使能上拉了的,但是在高速下还是百分之百算错。同一块板子的spi1却是在中等速度下crc全错,在very high却没问题。
主要是不太明白IO口速度还有外围电路是怎么影响发送端crc的计算的,按我理解crc应该是直接从DR中读取的字节吧?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-8-27 08:59:49 | 显示全部楼层
Dav1dY 发表于 2024-8-26 17:35
感谢大佬回复,我这边是已经使能上拉了的,但是在高速下还是百分之百算错。同一块板子的spi1却是在中等速 ...

配置不同SPI速度也测试下对比下效果,也许能发现更多问题。
回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2024-9-16 09:29:38 | 显示全部楼层
或许SPI的发送CRC计算是用管脚实际电平来运算的?硬件CRC计算实际是一个多项式移位,只需要一个输入bit,一个输出bit。不知道ST内部如何实现的,或许是从管脚而不是输出移位寄存器上接入CRC电路的呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 23:49 , Processed in 0.039669 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表