对于需要经常进行数据流传输的系统数据,spi是首选,因为它拥有较快的时钟速率,速率可从几兆赫兹到几十兆赫兹。然而,对于系统管理活动,如读取温度传感器的读数和查询多个从器件的状态,或者需要多个主器件共存于同一系统总线上(系统冗余常会要求这一点),或者面向低功耗应用,这时i2c或smbus将是首选接口。
图1:数字温度传感器简化框图
下面几部分将介绍每种串行总线及其优缺点。
1. spi
spi 是一种四线制串行总线接口,为主/从结构,四条导线分别为串行时钟(sclk)、主出从入(mosi)、主入从出(miso)和从选(ss)信号。主器件为时钟提供者,可发起读从器件或写从器件操作。这时主器件将与一个从器件进行对话。当总线上存在多个从器件时,要发起一次传输,主器件将把该从器件选择线拉低,然后分别通过 mosi 和 miso 线启动数据发送或接收。
spi 时钟速度很快,范围可从几兆赫兹到几十兆赫兹,且没有系统开销。spi 在系统管理方面的缺点是缺乏流控机制,无论主器件还是从器件均不对消息进行确认,主器件无法知道从器件是否繁忙。因此,必须设计聪明的软件机制来处理确认问题。同时,spi 也没有多主器件协议,必须采用很复杂的软件和外部逻辑来实现多主器件架构。每个从器件需要一个单独的从选择信号。总信号数最终为 n+3 个,其中 n 是总线上从器件的数量。因此,导线的数量将随增加的从器件的数量按比例增长。同样,在 spi 总线上添加新的从器件也不方便。对于额外添加的每个从器件,都需要一条新的从器件选择线或解码逻辑。图 2 显示了典型的 spi 读/写周期。在地址或命令字节后面跟有一个读/写位。数据通过 mosi 信号写入从器件,通过 miso 信号自从器件中读出。图 3显示了 i2c总线/smbus以及spi的系统框图。
图2:spi 典型读/写周期
图3:(a)i2c总线/smbus系统接口;(b)spi 系统接口
2. i2c总线
i2c 是一种二线制串行总线接口,工作在主/从模式。二线通信信号分别为开漏 scl 和 sda 串行时钟和串行数据。主器件为时钟源。数据传输是双向的,其方向取决于读/写位的状态。每个从器件拥有一个唯一的 7 或 10 位地址。主器件通过一个起始位发起一次传输,通过一个停止位终止一次传输。起始位之后为唯一的从器件地址,再后为读/写位。
i2c总线速度为从0hz到3.4mhz。它没有spi 那样快,但对于系统管理器件如温度传感器来说则非常理想。i2c 存在系统开销,这些开销包括起始位/停止位、确认位和从地址位,但它因此拥有流控机制。主器件在完成接收来自从器件的数据时总是发送一个确认位,除非其准备终止传输。从器件在其接收到来自主器件的命令或数据时总是发送一个确认位。当从器件未准备好时,它可以保持或延展时钟,直到其再次准备好响应。
i2c允许多个主器件工作在同一总线上。多个主器件可以轻松同步其时钟,因此所有主器件均采用同一时钟进行传输。多个主器件可以通过数据仲裁检测哪一个主器件正在使用总线,从而避免数据破坏。由于 i2c总线只有两条导线,因此新从器件只需接入总线即可,而无需附加逻辑。
3. smbus
smbus是一种二线制串行总线,1996年第一版规范开始商用。它大部分基于i2c总线规范。和 i2c一样,smbus不需增加额外引脚,创建该总线主要是为了增加新的功能特性,但只工作在100khz且专门面向智能电池管理应用。它工作在主/从模式:主器件提供时钟,在其发起一次传输时提供一个起始位,在其终止一次传输时提供一个停止位;从器件拥有一个唯一的7或10位从器件地址。
smbus与i2c总线之间在时序特性上存在一些差别。首先,smbus需要一定数据保持时间,而 i2c总线则是从内部延长数据保持时间。smbus具有超时功能,因此当scl太低而超过35 ms时,从器件将复位正在进行的通信。相反,i2c采用硬件复位。smbus具有一种警报响应地址(ara),因此当从器件产生一个中断时,它不会马上清除中断,而是一直保持到其收到一个由主器件发送的含有其地址的ara为止。smbus只工作在从10khz到最高100khz。最低工作频率10khz是由smbus超时功能决定的。
总结
spi有较快的速度,但是只能单主多从,管理线比较复杂。
i2c等速度比较慢,数据比较臃余,但是主从管理好,也省电省控制管脚。
Chromebook笔记本AI加持,让一切更高效
DS3112 LRCLKx Low Speed Clock
2023年斯坦福AI Index公布:细数AI最新进展及年度发展趋势
python开源库之inlineCallbacks简介
DICOM标准在便携式医疗设备中的应用
数字温度传感器系统中每种串行总线的优缺点介绍
3D打印正在推动着航模制造的工艺革新和生产效率的提升
信步科技SV1-H312A嵌入式主板介绍
光传感器/检测器,光传感器/检测器是什么意思
Moortec推出基于台积电N5工艺技术的DTS,可最大限度地提高硅性能
苹果下一代iPad Pro到底有多强?
食品二氧化硫测定仪HM-R12的相关功能介绍
什么是轨到轨运放
5G与安全同步,好车要配好安全系统
昌河Q35怎么样?昌河Q35比MINI还漂亮的小型SUV,真是后悔买宝骏510了
电源开关电路的设计方案
快讯:苹果将投1300亿研发造车
3名职业玩家与英特尔随机访客的对抗
PCB设计阻抗不连续的解决办法
FPGA复位电路的实现——以cycloneIII系列芯片为例