连接外围器件似乎是设计工程师必须面对的处理过程。在很多情况下,串行网络具有足够的性能来完成该工作并最小化器件间的连接。这对于器件间距离大于数厘米的情况非常重要。
目前已有多种方案可用。而许多其它的方案可以从现场总线、具有专利的接口和专用串行接口中选择。它们之间常常会有直接竞争关系,但是大部分方案都有其利基市场。
通常,一个串行互连包含的电线数目不会超过6根,其中可能包括电源线和地线(不过情况可能会有变化)。例如,像美信公司1-Wire这样的器件需要连接地线。这也是一个互连的多种参考设计在计算电线数目时没有将电源线计算在内的原因。
目前存在很多不同的架构和协议,对于单主机和多主机网络而言也存在这种情况。以太网、PCI Express和Serial RapidIO(SRIO)等诸多架构都需要一个交换结构。
当处理串行网络的集成接口时,性能和简易性往往都是问题。8位或性能更强微控制器必须支持I2C、串行外设接口(SPI)、控制器区域网络(CAN)、本地互连网络(LIN)和1-Wire接口。而多功能串行端口通常可支持上述接口以及类似RS-485的标准串行接口(虽然RS-485和CAN一般都需要采用外部收发芯片)。
大部分其它接口采用标准微控制器输出,并允许器件之间的直接连接。由NXP公司推出的I2C通信链路是可提供这类支持(图1)的一种双线解决方案。它不包含任何错误检查功能,但支持多主机 *** 作。
图1:一个I2C主器件提供时钟和初始地址。根据主器件R/W位的值决定是由主器件还是从器件传送数据,基于每字节来识别数据传送。最高有效位(MSB)位是最先被传送的位。
数据包包括一个用来指示主器件或从器件是否发送数据的地址和方向位。此外,I2C属于PMBus、SMBus和智能平台管理接口(IPMI)等功率管理和系统管理标准的一部分,以上标准可利用I2C的多主机模式。而且I2C没有版税问题。
I2C的主要对手是SPI(图2)。作为一种主/从器件的互连接口,SPI通常用于将外围芯片连接到主处理器上,其芯片选择架构的硬件和软件实现十分简单。SPI可提供比I2C更快的传输速率,但需要以采用更多电线为代价。在硬件端,仅需一个移位寄存器和一些逻辑门就可以实现。此外,SPI还可提供一个相对于I2C的基址寄存器寻址方式而言非常低级的接口。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)