微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > SPI通信是怎么保证数据准确性的?

SPI通信是怎么保证数据准确性的?

时间:12-12 整理:3721RD 点击:
本身没有任何同步,应答机制
很多时候也不加校验(如spi flash)
但是却基本不会出错
这是怎么做到的?

这个...如果没有特殊情况,这种慢速的串行数据传输本身就不应该出错啊。。。就好比芯片内部两个register之间的连接一样
SPI本身好像是没有规定校验方式。。。应该需要tx rx 都有硬件支持吧,比如同时开crc32的校验,spi master 发完吐一个校验值,slave收完吐一个校验值。。。

对于这些低速接口,可以自己在帧格式里定义一些简单的例如CRC校验

一般都会在flash数据的后面加一个crc校验

SPI驱动信号强,不易受干扰。
你可以在上层再做一次校验。
你如果用过一些SPI的ADC, FLASK,就会知道它们也是有应答的。

可是主流的os都不对spi flash数据加crc

干扰还在其次,主要是数据丢失的情况
比如往SPI flash写数据的过程,就是master传过来512字节,然后就发命令写入,从来都不考虑device端由于某些原因无法完整接收这512字节的情况。那么是靠什么去保证这512字节的传输是正确的呢?

数据不多就读回来比较。

SPI NOR FLASH一般不加,因为可靠性高不容易出错。SPI NAND FLASH一般
内置ECC区域,某款芯片每页4K字节数据配256字节ECC。

正沿发负沿采,保证传输delay在半个周期内就没问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top