serial-port - 串行与 SPI

标签 serial-port hardware spi

SPI和串行有什么区别?在阅读有关处理器间通信的文章时,它指出串行接口(interface)正在被 SPI 取代以获得更好/更快的通信?究竟有什么区别?

最佳答案

“连续”这个词意义不大。但我假设您在谈论传统的串行通信标准。 SPI 的根本不同在于它是同步的。与 RS-232(一种异步信号标准)相反。

异步信令的一个重要属性是波特率,即发送字节中位的频率。接收器必须做额外的工作来恢复发送器使用的时钟。典型的 UART 通过以 16 倍波特率的速率对信号进行过采样来实现这一点。起始位很重要,它同步过采样时钟。字节之间的延迟可以是任意的,接收器为每个单独的字节重新同步。这种方案的问题是发射器和接收器时钟频率和时钟抖动之间的不匹配,有效地限制了波特率。

这不是 SPI 的问题,它有一条额外的信号线来传输时钟信号,因此发送器和接收器都使用完全相同的时钟。因此不受失配和抖动的影响,允许更高的传输速率。时钟频率完全没有稳定性要求,信号可以简单地在软件中生成。典型的四线接线如下所示:

enter image description here

SCLK 是时钟信号。 MOSI和MISO携带数据,SS是片选信号。假设有共同点。更多信息请参阅 Wikipedia article . electronics.stackexchange.com 是一个很好的网站,可以询问有关它的更多问题。

关于serial-port - 串行与 SPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15550737/

相关文章:

python - 在 python 中通过 RS232 到 USB 电缆读取秤数据

hardware - 如何确定嵌入式系统应用程序/软件的系统要求

audio - 有音频测试硬件吗?

perl - Win32::SerialPort 构造函数在给定引用变量时发生缓冲区溢出

c++ - 如何通过串行端口发送请求从目录中检索数据?

debugging - JTAG 如何用作调试器?

c - 终端输出不是逻辑分析仪得到的

spi - 我梦寐以求的 SPI 多路复用器在哪里?

c - STM32 HAL SPI 16 位发送

multithreading - 线程加工 AX 2012