为嵌入式系统选择合适的多处理器(二)

时间:2023-06-29
串行总线

表1列出了MCU和外围器件使用的流行的通信总线。它列出了一些重要的标准,包括线路计算、速度和操作的类型。每个总线都有其优势和局限性。 
  I2C总线是一个使用两条线(数据线和时钟线)的中低速主从链接。信号是单极的,且为通信器件假定了一个公共的参考电源和参考地。多达127个从器件可以被连接到同一对线路上。
 
  通常,在每个通信之前,主处理器发送一个地址,只有指定地址的从处理器响应。I2C没有总线冲突,但是主处理器 必须从它的所有从处理器中选择一个获取信息。I2C允许主处理器建立从处理器和从处理器之间的通信,但也为多主处理器结构提供总线冲突解决方法。多节点总线(MDB)就简单了许多。

  它服从一个主从协议,但是只能有32个从处理器。它的总线也只包括地址和时钟线,但是,它的运行速度慢许多,这让它无需特殊硬件,就能很简单执行。串行外围设备接口(SPI)总线也是一个主从协议,但它不在一个地址领域开始它的数据传输。

  相反,它为每一个从处理器使用一个芯片选择线。理论上说,一个SPI主处理器可以按照它的需要配置多个从处理器。SPI上的总线信号速度可高达1 MHz,这可能需要对较长的连线进行屏蔽。标准RS-232是一个不需要总线的全双工通信链接,它只把一个给定的器件连接到另一个器件上。然而,RS-232(很多MCU上的通用接口)为多重处理提供了很多有用的特性。例如,它为从处理器提供了一个不用等待进入选择循环就能给主处理器发送信号的方法。另外一个好处就是,它是异步的,所以系统运行时没有时钟信号。然而,它的每个终端都需要本地时钟源。

选择一个总线

  为给定的多处理器设计选择一个的总线取决于每个特征的重要性。如果需要用很少的连接实现很多数据传输量,则SPI 或是RS-232可能比较好。如果传输量比较少,那么更简单的MDB可能是一个更便宜的选择。其它因素也可能影响对总线的选择,一个很重要的因素就是使用这些接口的器件的可用率。

  例如I2C被用于很多外围器件,如传感器和显示器,因此使用I2C接口的显示器,会减少对单独的从处理器显示器MCU的需求。与标准的行业实践保持一致是另一个因素。

  在这些情况下,一个给定总线的技术优势就有待讨论。例如,自动售货机行业把MDB标准化以控制其外围功能。商用钞票阅读器、硬币计算器和支付阅读器都依据这个标准,因此如果自动售货机执行这些预构建的器件,那它的设计必须使用这种总线。但是,MDB并不是VMC必须实现的接口总线。

  例如,键盘和显示器并不能使用MDB接口,因此它们必须由它们自己的总线。此时,I2C是一个恰当的选择,因为键盘和显示器单元都不用定制,都可以使用这个接口。

用MDB还是不用MDB?

  “设计简易”表明自动售货机要使用尽可能少的总线。在这个例子中,自动售货机已经有两个总线,因此两个还没有被定义单元——电机控制板和因特网接口——应该把MDB和I2C作为它们接口的主要选择。对于电机控制板的决定相对容易。VMC和电机控制板之间需要传输的为出售一个商品的命令,以及对系统温度和存储水平的状态。两个信号都没有实时性要求,所以MDB并不是决定因素。

  另一方面,使用MDB的电机控制板设计避免了对额外通讯总线和与相关软件的需要,电机控制功能仅仅是VMC投票循环开始的另一个入口。另一方面,与因特网连接需求更为苛刻。MDB的9600波特通信率对因特网信号已足够,但是总线要与速度很慢外围器件共享。

  如果它们都在同一条总线上,VMC必须在返回因特网连接之前选择所有的支付单元并读出MDB上电机控制状态,这大大降低了因特网通信的有效带宽。通信的MDB开销很多。主处理器必须发送一个包括地址和对外围器件简单命令的11位字,然而命令可能会大于一个字。外围器件需要5 ms的时间来响应,然后返回至少一个11位字。主处理器在进行新一轮交换之前必须发出一个确认信号。

  如表2所示,即使投票程序使用一个字节的命令和返回信号,每个外设的投票循环也需要花将近40ms时间。即使没有重要交互,三个支付单元加上总线上的电机控制命令意味着该循环需要160ms时间。如果因特网链接在同一条总线上,VMC一秒钟只能与其交互5次,这比有效的网络通信慢得多。
上一篇:SATA设计的挑战及新特性
下一篇:德州仪器新型收发器为RS-485及RS-422应用提供可靠接口

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料