多种工业应用串行总线特性及比较(SPI_UART_IIC_CAN).doc

上传人:hw****26 文档编号:3099809 上传时间:2019-05-21 格式:DOC 页数:10 大小:195.50KB
下载 相关 举报
多种工业应用串行总线特性及比较(SPI_UART_IIC_CAN).doc_第1页
第1页 / 共10页
多种工业应用串行总线特性及比较(SPI_UART_IIC_CAN).doc_第2页
第2页 / 共10页
多种工业应用串行总线特性及比较(SPI_UART_IIC_CAN).doc_第3页
第3页 / 共10页
多种工业应用串行总线特性及比较(SPI_UART_IIC_CAN).doc_第4页
第4页 / 共10页
多种工业应用串行总线特性及比较(SPI_UART_IIC_CAN).doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、For Internal Use Only 多种工业应用串行总线特性及比较由于在消费类电子产品、计算机外设、汽车和工业应用中增加了嵌入式功能,对低成本、高速和高可靠通信介质的要求也不断增长以满足这些应用,其结果是越来越多的处理器和控制器用不同类型的总线集成在一起,实现与 PC 软件、开发系统 (如仿真器)或网络中的其它设备进行通信。目前流行的通信一般采用串行或并行模式,而串行模式应用更广泛。 微处理器中常用的集成串行总线是通用异步接收器传输总线、串行通信接口、同步外设接口(SPI)、内部集成电路(I 2C) 和通用串行总线,以及车用串行总线,包括控制器区域网(CAN) 和本地互连网(LIN)。

2、这些总线在速度、物理接口要求和通信方法学上都有所不同。本文将对嵌入式系统设计的串行总线、驱动器和物理接口这些要求提供一个总体介绍,为选择最优总线提供指导并给出一个比较图表(表 1)。为了说明方便起见,本文的阐述是基于微处理器的设计。 串行与并行相比串行相比于并行的主要优点是要求的线数较少。例如,用在汽车工业中的 LIN 串行总线只需要一根线来与从属器件进行通信,Dallas 公司的 1-Wire 总线只使用一根线来输送信号和电源。较少的线意味着所需要的控制器引脚较少。集成在一个微控制器中的并行总线一般需要 8 条或更多的线,线数的多少取决于设计中地址和数据的宽度,所以集成一个并行总线的芯片至少

3、需要 8 个引脚来与外部器件接口,这增加了芯片的总体尺寸。相反地,使用串行总线可以将同样的芯片集成在一个较小的封装中。 另外,在 PCB 板设计中并行总线需要更多的线来与其它外设接口,使 PCB 板面积更大、更复杂,从而增加了硬件成本。此外,工程师还可以很容易地将一个新器件加到一个串行网络中去,而且不会影响网络中的其它器件。例如,可以很容易地去掉总线上旧器件并用新的来替代。 For Internal Use Only 串行总线的故障自诊断和调试也非常简单,可以很容易地跟踪网络中一个有故障的器件并用新器件替换而不会干扰网络。但另一方面,并行总线比串行速度快。例如,Rambus 公司的“Redwo

4、od”总线速度可高达 6.4GHz,而最高的串行速度不会超过几个兆赫。 在工业和汽车应用中常用的串行协议 1.UART UART 是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART 用来与 PC 进行通信,包括与监控调试器和其它器件,如 EEPROM 通信。 1-1、UART 通信 UART 首先将接收到的并行数据转换成串行数据来传输。消息帧从一个低位起始位开始,后面是 7 个或 8 个数据位,一个可用的奇偶位和一个或几个高位停止位。接收器发现开始位时它就知道数据准备发送,并尝试与发送器时钟频率同步。如果选择了奇偶,UART 就在数据位后面

5、加上奇偶位。奇偶位可用来帮助错误校验。 在接收过程中,UART 从消息帧中去掉起始位和结束位,对进来的字节进行奇偶校验,并将数据字节从串行转换成并行。UART 也产生额外的信号来指示发送和接收的状态。例如,如果产生一个奇偶错误,UART 就置位奇偶标志。 For Internal Use Only 1-2、数据方向和通信速度 数据传输可以首先从最低有效位(LSB)开始。然而,有些 UART 允许灵活选择先发送最低有效位或最高有效位(MSB)。 微控制器中的 UART 传送数据的速度范围为每秒几百位到 1.5Mb。例如,嵌入在 ElanSC520微控制器中的高速 UART 通信的速度可以高达 1

6、.1152Mbps。UART 波特率还受发送和接收线对距离(线长度)的影响。 目前,市场上有只支持异步通信和同时支持异步与同步通信的两种硬件可用于 UART。前者就是 UART 名字本身的含义,在摩托罗拉微控制器中被称为串行通信接口(SCI) ;Microchip 微控制器中的通用同步异步收发器(USART)和在富士通微控制器中的 UART 是后者的两个典型例子。 1-3、计算机中的 UART UART 是计算机中串行通信端口的关键部分。在计算机中,UART 相连于产生兼容 RS232规范信号的电路。RS232 标准定义逻辑“1” 信号相对于地为 3 到 25 伏,而逻辑“0” 相对于地为-3

7、 到-25 伏。所以,当一个微控制器中的 UART 相连于 PC 时,它需要一个 RS232 驱动器来转换电平。 For Internal Use Only 2. 同步外设接口 同步外设接口(SPI)是由摩托罗拉公司开发的全双工同步串行总线,该总线大量用在与 EEPROM、ADC、FRAM 和显示驱动器之类的慢速外设器件通信。 2-1、SPI 通信 该总线通信基于主-从配置。它有以下 4 个信号: MOSI:主出/从入 MISO:主入/从出 SCK:串行时钟 SS:从属选择 芯片上“从属选择”(slave-select) 的引脚数决定了可连到总线上的器件数量。 在 SPI 传输中,数据是同步进

8、行发送和接收的。数据传输的时钟基于来自主处理器的时钟脉冲,摩托罗拉没有定义任何通用 SPI 的时钟规范。然而,最常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA) 两个参数,CPOL 定义 SPI 串行时钟的活动状态,而 CPHA 定义相对于SO-数据位的时钟相位。CPOL 和 CPHA 的设置决定了数据取样的时钟沿。 2-2、数据方向和通信速度 SPI 传输串行数据时首先传输最高位。波特率可以高达 5Mbps,具体速度大小取决于 SPI 硬件。例如,Xicor 公司的 SPI 串行器件传输速度能达到 5MHz。 2-3、SPI 与 UART 比较 SPI 通信快于 UART 通信,

9、两者都可以用在中等速度外设的通信中,例如非易失性 EEPROM 存储器。然而,SPI 更常用于 EEPROM 或数模变换器的通信中。 有些 UART 能支持 SPI 通信,在这种情况下,会用一个通用 IO 作为从属选择引脚。 3. I2C 总线 I2C 是由飞利浦公司开发的双线同步总线。像 SPI 一样,该总线可用来与 EEPROM、ADC、DAC 和 LCD 这类慢速器件进行通信。 3-1、I 2C 通信 For Internal Use Only I2C 是一个半双工、多主总线,该总线网络有一个或几个主控器件和很多个从器件。信息由两条串行线传输:串行数据线(SDA)和串行时钟线(SCL)。

10、图 1 显示了使用两个主控和三个从器件相连接的例子。 网络中的每一个器件都预指定一个 7 位或 10 位的地址。飞利浦会给器件制造商分配地址,也有一个特定的地址用于高速通信,以及一个通用呼叫地址用于与网络中所有器件的通信。10位寻址的优点是允许更多的器件(高达 1024 个) 布置在网络中。然而,总线中器件的数目取决于总线的电容量,必须限制在 400pF 以内。 主控器件发起数据传送,并提供用于通信的时钟信号。通信开始于 SCL 为高电平时 SDA 由高到低的转换,紧接着是一个 7 位或 10 位的从地址,一个数据方向位(R/W),一个应答位和停止状态。停止状态定义为在时钟信号为高时数据线电平

11、由低到高的转换。每一个数据字节长度为 8 位,单次传送的字节数并没有限制。 由于 I2C 是一个多主总线,因此可能有两个或更多的主控器件同时试图访问总线,在时钟信号为高电平时在总线上置“1”的主控器件赢得总线仲裁。 I2C 有三种不同的运行模式:标准、快速和高速模式。在使用快速和高速模式时,可能某个从属器件不能像主控器件那么快地处理数据。此时,从属器件会将 SCL 线拉至低电平来保持总线,这迫使主控器件进入等待状态,直至从属器件准备就绪。 3-2、数据方向和通信速度 数据传输首先从最高位开始。I 2C 总线设计用于三种数据传输速度,每个都向下兼容性: 低速,数据传输率为 0 到 100kbps

12、;快速,数据传输率可以高达 400kbps;高速,数据传输率可以高达 3.4Mbps。 3-3、I 2C 与 SPI 比较 I2C 和 SPI 都能用于低速器件的通信,而 SPI 的数据传输速率高于 I2C。此外,SPI 具有一个内在地址功能,不需要设计一个额外的寄存器来测试地址,从而减少软件和硬件的设计开销。 4. 控制器区域网络 控制器区域网络(CAN)是一个多主异步串行总线。由于它具有优良的错误处理机制及可靠的数据传送性能,该总线在汽车工业中非常普遍,在高安全系数要求的医疗行业中也正在得到普及。 For Internal Use Only CAN 最初由德国的 Robert Bosch

13、公司开发,提供给汽车电子系统所用的低成本通信总线,现在已经成为国际标准,被采用为高速应用的 ISO11898 标准和用于低速应用的 ISO11519 标准。 4-1、CAN 通信 当总线空闲时,任何 CAN 节点都可以开始数据发送。如果两个或更多的节点同时开始发送,就使用标识符来进行按位仲裁以解决访问冲突。CAN 是一个广播类型的总线,所有节点都接收总线上的数据,硬件上的过滤机制决定消息是否提供给该接点用。 4-2、四种消息帧的类型 数据帧:该帧从一个发送器承载数据到一个接收器。根据 CAN 规范有两种数据帧格式,它们的唯一本质区别在于标识符的长度:CAN 标准帧,也称为 CAN2.0A,支持

14、 11 位长度的标识符;另一个是 CAN 扩展帧,也称为 CAN2.0B,支持 29 位长度的标识符。图 2 显示了两种规范的 CAN 数据帧。 远程帧:此帧由一个接收 CAN 节点发送,用来请求带有远程帧中规定的标识符的数据帧。 错误帧:此帧将任何总线错误通知其它单元,在接收到这个帧时发送器会自动进行消息重发。 超载帧:超载帧由一个忙的 CAN 节点送出,以请求在前后数据帧之间增加一个额外的延迟。 4-3、CAN 硬件术语 基本 CAN(Basic CAN)控制器:这是一种廉价的 CAN 控制器,具有有限的发送/接收消息缓冲器,以及有限的 CAN 消息过滤机制。 完全 CAN(Full CA

15、N)控制器:完全 CAN 是一个高成本、高性能的 CAN 控制器,具有能缓冲 8 个或更多消息的缓冲器用于接收和发送。例如,富士通的集成 CAN 微控制器能提供 16 个消息缓冲器用于接收和发送。此外,富士通的 MB90443 微控制器能灵活地将两个 CAN 控制器的消息缓冲器组合在一个中,以形成能缓冲 32 个消息的缓冲器。 标准 CAN 控制器:该 CAN 控制器能够处理仅有 11 位标识符的消息。 扩展 CAN 控制器:该控制器能够处理含有 11 位和 29 位标识符的消息。 时间触发 CAN(TTCAN)控制器:该 CAN 控制器根据时间和事件的触发来安排 CAN 消息,增强了 CAN

16、 网络的总体性能和行为的确定性。 For Internal Use Only 4-4、数据方向和通信速度 数据字节的传输首先从最高位开始。一个 8 位的数据字节能在一次发送中进行传输,最大的CAN 总线速度是 1Mbps。 4-5、CAN 在汽车中的应用 图 3 的例子显示了 CAN 网络是如何通过富士通的 16 位 CAN 微控制器在汽车中应用。 4-6、物理接口 大多数 CAN 微控制器需要一个外部收发器来连接物理总线。目前市场上提供以下一些收发器: 高速 CAN 收发器有飞利浦的 82C251,TI 的 SN65/75LBC031,Bosch 的 CF150,C250,Unitrode

17、的 UC5350; 低速 CAN 收发器有飞利浦 82C252、TJA1053,西门子 TLE 6252G; 单线 CAN 收发器有飞利浦 AU5790,英飞凌 TLE 6255,Delphi DK166153。 5.本地互连网络 For Internal Use Only 本地互连网络(LIN)是一个低成本、单线串行总线,能执行全双工串行通信。LIN 用在汽车的分布式电子系统中,例如与智能传感器和传动器的通信。LIN 协议能采用低成本的 UART/SCI接口来实现,几乎所有的微控制器都提供这些接口。 5-1、LIN 通信 LIN 网络由一个主控和多个从器件组成,主控器件发起所有的通信。 所有

18、节点执行包括发送和接收任务在内的从属通信任务。此外,主节点执行主控发送任务,主控任务能决定什么时候、哪一个帧将在总线上传输。在该方式中,没有总线仲裁,并且在最坏情况下每个消息的时间很容易计算。当一个消息帧发送时,在接收和过滤标识符后,仅有一个从器件得到激活。 总线上的所有消息以帧的形式发送,帧由一个帧头和响应字段(response field)组成。主控器件始终在总线上发送帧头,帧头至少由一个 13 位字段、一个同步字节和一个 6 位标识符组成,该标识符的范围为 0 到 63。响应字段由两个、四个和八个数据字节和具有倒置 8 位和的校验和字段,以及所有的数据字节和标识符组成。 图 4 显示了在

19、一个消息帧上所有字段的排列顺序。 5-2、数据方向和通信速度数据字节的传送首先从 LSB 开始,LIN 总线的最大速度是 20kbps。 5-3、物理接口 只有很少微控制器集成有专用的 LIN 硬件,大多数供应商用 SCI 或 UART 来提供支持。因为 LIN 物理层是一个从汽车自诊断用 ISO9141 标准引出的单线 12V 总线,所以需要一个外部For Internal Use Only LIN 收发器来转换电平。例如当前市场上已有供货的摩托罗拉 IMC33689 LIN 和英飞凌公司的TLE6259-2G 收发器。 5-4、CAN 与 LIN 的比较CAN 和 LIN 两者都使用在汽车

20、工业中。CAN 用于汽车中的高速和低速网络,而 LIN 仅用于低速网络,如门控制单元。在很多方面,CAN 比 LIN 更贵也更可靠,必需在可靠性和为设计硬件与软件支付额外成本之间进行权衡。由于 LIN 的成本较低且容易在 UART 中实现,故在低速网络应用方面 LIN 有望替代 CAN。 6. 其它通用串行总线 用在微控制器工业中的其它总线有 RS422、RS485、USB 和 Microwire. RS422 和 RS485 通信可以用一个 UART 来执行。因此,在用于这些总线时微控制器中不需要增加另外的硬件。 USB 总线的普及性极大地鼓舞了微控制器制造商把 USB 控制器集成到他们的微

21、控制器中。将外围器件加到 USB 总线中是很容易的,并不需要重自举系统。Cypress 半导体公司和其它业界主导厂商都提供各种系列 USB 芯片来满足市场的需要。 国家半导体公司(NSC)开发的单线总线 Microwire 用在许多微控制器和像 EEPROM 这类非易失性存储器,以及 ADC 中。该总线能像 SPI 一样提供同步通信,可用在使用 SPI 的地方。有些微控制器供应商通过使用 UART 来支持 Microwire 总线。 FlexRay 是一种在汽车工业中即将推出的新型总线,可用在使用 CAN 总线的地方,该总线的速度是 CAN 总线的 10 倍,可以达到 10Mbps。目前微控制

22、器制造商正在努力开发具有 FlexRay 总线的器件。 总线选择准则 不同的应用在选择总线的标准方面并不同,下面是一些进行总线选择的通用参考准则: 1. 评估使用不同串行总线在网络上连接各种器件的系统成本。例如,在汽车应用中,一个只需要控制功能的系统可以用像 LIN 这类低成本的串行总线来管理。 2. 在效率、速度和可靠性方面确定对你最重要的性能。例如,对于一个安全关键系统来讲,可靠性是极为重要的,故而 CAN 是较好的选择。 3. 确定在网络上将连接多少器件,以及总线将可能具有的电容量。有些串行总线对连在网络上的器件数目有限制。 For Internal Use Only 4. 注意器件间的距离,有些串行总线只支持短距离通信。 5. 如果用在汽车中,CAN 或 LIN 是较好的选择。它们具有较强的容故障能力和传输可靠性。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。