首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >I2C/SPI面试问题

I2C/SPI面试问题
EN

Stack Overflow用户
提问于 2013-11-09 05:02:25
回答 1查看 7.4K关注 1票数 1
  1. 当系统在I2C和SPI中运行(热交换)时,设备能被添加和删除吗?
  2. 使用I2C或SPI进行微处理器与DSP之间的数据通信是否更好?
  3. 使用I2C或SPI进行ADC的数据通信更好吗?
EN

回答 1

Stack Overflow用户

发布于 2013-11-09 05:52:45

( 1)当然,没有任何限制。

SPI将是最简单的,因为每个设备都有一个独立的芯片选择。您只需确保SPI设备不认为其芯片选择在连接/断开进程中的某个点处于活动状态,或者它可能会断言其MISO线路并导致争用。会有许多方法来排序电源或重置的SPI设备,以确保该部分的工作。

I2C会更棘手..。作为在传输过程中连接的设备,可能会将它在正在进行的传输中看到的第一个字节解释为一个命令,并且可能会做一些不好的事情。您可以在热交换的I2C设备前面放置一个双向电平移位器或缓冲区,其中可能还有一个触发器来锁定该启用,并在总线上空闲期间设置一个二级"bus_clear“消息以启用任何新的热交换缓冲区。会有很多方法来完成同样的事情。

( 2)和( 3)没有一般答案。

SPI可以跑得更快,所以如果你需要速度的话,那是最好的选择。微到DSP意味着。然而,一个是微型的,另一个是DSP,这一事实并不能告诉你任何事情,除非你开始假设。如果微程序只是从一组DSP中获取小的结果包,该怎么办?I2C会让这更容易。

同样,ADC可能需要速度,也可能不需要速度。如果它们很多,并且所需的数据速率很低,那么I2C也更有意义。

SPI几乎总是更简单的使用,所以如果没有太多的设备,这是一个好处。I2C使用的引脚较少。

很多时候,选择I2C还是SPI是基于您想要使用的部件作为接口。另一个非常重要的因素是在系统中还需要发生什么,以及对尽可能多的部件来说,什么总线是有意义的。

还有更多的:设计重用,奇怪的固件/RTOS限制,等等。有很多原因你不能说其中一个是“更好”在一般情况下。什么对你的设计更好只是没有那么简单。

我认为这些问题是“让你说话”的问题..。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19872541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档