用户工具

站点工具


标准:bus:spi:start

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
标准:bus:spi:start [2025/03/15 21:00] – [参考文献] hwwiki标准:bus:spi:start [2025/03/23 17:59] (当前版本) – [Transmission Formats] hwwiki
行 25: 行 25:
 |  MISO  |Master in, slave out. A.k.a. main in, subnode out. The selected slave can drive this line to send data to the master.| |  MISO  |Master in, slave out. A.k.a. main in, subnode out. The selected slave can drive this line to send data to the master.|
  
 +{{:标准:bus:spi:basicspi.png?600|}}
  
 +上图为四线的Basic SPI,另有几种变体:
 +  - Master没有nCS片选信号,单个Slave的片选直接拉低为常开状态
 +  - MOSI和MISO共用一个信号线,通过分时的方法实现输入和输出
 +  - Master只用到了nCS SCLK和MOSI/MISO其中一个共三根线,只需接收或发射,单发射如MCU对接SPI的LCD显示屏。
  
- 
-{{:标准:bus:spi:basicspi.png?600|}} 
  
 ==== Dual SPI ==== ==== Dual SPI ====
行 48: 行 51:
 空闲时时钟电平为0对应CPOL = 0,1对应CPOL = 1。 空闲时时钟电平为0对应CPOL = 0,1对应CPOL = 1。
  
-第一个时边缘采样对应CPHA = 0,第二个则对应CPHA = 1。+第一个时边缘采样对应CPHA = 0,第二个则对应CPHA = 1。
  
 不是每个芯片都支持这四种模式,一般均支持0和3,Master和Slave设备需要设定成同一个模式。 不是每个芯片都支持这四种模式,一般均支持0和3,Master和Slave设备需要设定成同一个模式。
行 79: 行 82:
  
 {{:标准:bus:spi:spi_three_slaves_daisy_chained.svg.png?600|}} {{:标准:bus:spi:spi_three_slaves_daisy_chained.svg.png?600|}}
 +
 +===== 设计要求 =====
 +
 +  - Master和Slave需要支持同一种版本的SPI(Baisc Dual or Quad SPI),对于Basic SPI还需看支持同一种SPI Mode。
 +  - SPI的时钟频率不同的芯片差异很大,从几十kHz到几百MHz,Master和Slave只能按照两者中较低的频率进行通讯。
 +  - SPI的时钟如果大于50MHz,PCB需要按照高速线要求布线,如做阻抗控制和阻抗匹配,考虑串扰和干扰等。
 +  - SPI为非标准协议, 一定要确认芯片Datasheet中的具体要求。
 +  - SPI的信号电平一般有1.8V和3.3V两种,Master和Slave信号电平需要一致,不一致的需要做电平转换,如果频率高于1M,需要用专用的转换芯片,详见TI文档{{ :元器件:ic:logic:translators_level-shifters:ti_voltage_translation_buying_guide.pdf | ti_voltage_translation_buying_guide}}
 +
  
 ===== 参考文献===== ===== 参考文献=====
标准/bus/spi/start.1742043635.txt.gz · 最后更改: 2025/03/15 21:00 由 hwwiki