原创 数字接口系列文章:SPI 总线

2010-6-4 02:14 2026 6 7 分类: 通信

解这种基本的四线全双工总线的结构与运行特点


作者:Thomas Kugelstadt,德州仪器 (TI) 高级应用工程师


串行外设接口 (SPI) 总线是一种运行于全双工模式下的同步串行数据链路。用于在单个主节点和一个或多个从节点之间交换数据。SPI 总线实施简单,仅使用四条数据信号线和控制信号线(请参见图 1)。


3_201002202254591P83t.gif


图 1 基本的 SPI 总线


尽管表 1 中的引脚名称取自 Motorola 公司的 SPI 标准,但特殊集成电路的 SPI 端口名称通常与图 1 中所标示的名称有所不同。


点击看大图


表 1 SPI 引脚名称分配


SPI 数据速率通常介于 1 到 70 MHz 之间,字节长度范围从 8 位和 12 位到这些数值的倍数位。


数据传输通常会包含一次数据交换。当主节点向从节点发送数据时,从节点也会向主节点发送数据。为此,主节点的内部移位寄存器和从节点被设置成环形(请参见图 2)。


3_201002202254593i521.gif


图 2 两个移位寄存器形成一个内部芯片环形缓冲器


在数据交换之前,主节点和从节点使其内部移位寄存器加载存储器数据。产生时钟信号时,主节点会通过 MOSI 线同步输出其移位寄存器。同时,从节点在 SIMO 处从主节点读取第一位,并将其存储到存储器中,然后通过 SOMI 输出 MSB。主节点会在 MISO 处读取从节点的第一位,并将其存储到存储器中以待稍后处理。整个过程将一直持续,直至交换完所有数据位,然后主节点使时钟空闲并通过 /SS 禁用从节点。


除设置时钟频率之外,主节点还会配置相对于数据的时钟极性和时钟相位。这两个选项分别称作 CPOL 和 CPHA,能够允许时钟信号实现 180 度相移且数据延迟半个时钟周期。图 3 显示了相应的时序图。


3_201002202254594PqTD.gif


图 3 时钟极性和相位的时序图


CPOL = 0 时,时钟在逻辑 0 处空闲:



  • 如果 CPHA = 0,数据会在 SCK 的上升沿上读取,在下降沿上变化。
  • 如果 CPHA = 1,数据会在 SCK 的下降沿上读取,在上升沿上变化。

CPOL = 1时,时钟在逻辑高电平处空闲:



  • 如果 CPHA = 0,数据会在 SCK的下降沿上读取,在上升沿上变化。
  • 如果 CPHA = 1,数据会在 SCK 的上升沿上读取,在下降沿上变化。

3_201002202254595886a.gif


图 4 主节点与独立从节点(左)以及菊花链式从节点(右)进行通信


从节点独立寻址时,主节点必须提供多个从选择信号。该结构一般用在数据采集系统中,其中的多个模数转换器 (ADC) 和数模转换器 (DAC) 都必须单独接入。


菊花链式从节点需要主节点提供唯一的从选择信号,因此该结构要求同时启用所有从节点,以确保菊花链内通过所有移位寄存器的数据流不会中断。典型的应用为工业级 I/O 模块中的级联多通道输入串行器和输出驱动器。


作者简介



3_201002202254596cVz3.gif


Thomas Kugelstadt 现任 TI 高级系统工程师,主要负责定义新型高性能模拟产品以及探测和调节工业系统中低电平模拟信号的完整系统解决方案开发工作。


在 TI 工作的 20 年间,他曾被派往欧洲、亚洲以及美国担任过各种国际应用职位。 Thomas 毕业于法兰克福应用技术大学 (Frankfurt University of Applied Science),一毕业就成为一名见习工程师 (Graduate Engineer)。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户24167 2016-5-15 21:37

学习了,一直希望有准确一点的说明。
相关推荐阅读
fuxiao123_401762695 2013-07-28 10:39
《TMS320F2833x DSP应用开发与实践》一书已上市,欢迎大家捧场
  《TMS320F2833x DSP应用开发与实践》一书已上市,欢迎大家捧场,谢谢! 亚马逊:http://www.amazon.cn/dp/B00DVGQ28Y/ref=cm_s...
fuxiao123_401762695 2012-01-11 19:50
我竟然是05年6月就注册了eetcn。。。
我竟然是05年6月就注册了eetcn。。。...
fuxiao123_401762695 2011-07-30 10:55
亚洲最大风电场辉腾格勒见闻
 真是一望无际的大草原啊  ...
fuxiao123_401762695 2011-03-17 21:39
赛灵思和Synopsys联手推出业界首部开发方法手册
专门针对SoC设计中的FPGA原型设计开发 手册收录了原型设计的最佳实践方案 2011 年 3 月10 日,中国北京——全球可编程逻辑解决方案领先厂商赛灵思公司(NASDAQ:XLNX))今日宣布...
fuxiao123_401762695 2011-03-04 16:11
system generator硬件协同仿真时序不收敛的简单解决办法
system generator硬件协同仿真时,一些很简单的电路也无法达到时序收敛,这个问题困扰了我很久。在读了《Verilog HDL高级数字设计》一段时间之后,突然明白,原来就败在模块的laten...
fuxiao123_401762695 2011-03-03 16:03
ISE13.1调用Modelsim10.0出现的一点小问题及解决过程
ISE13.1调用Modelsim10.0出现的一点小问题及解决过程软件环境:ISE13.1+System GeneratorMatlab2010bModelsim SE 10.0已编译Xilinx器...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条