我们都知道,CPU要与外部模块通信,都是通过某种特定的总线,那么什么是串行通信?什么并行通信?什么是同步,什么是异步?TTL 与CMOS有什么区别?别在傻傻分不清楚,今天我们就来聊聊CPU与外部通信的方式,以及常见的电平标准。
一、首先我们看看什么通信方式的分类
这其中串行通信又有同步通信与异步通信之分,那他们之间又有什么区别呢?
那我们常用的板级串行总线又有那些呢,他们又各自有什么特点呢?首先看看常用的几种串行总线
1.UART
2.I2C
注意:
a.I2C总线的外围扩展器件都是CMOS器件,总线有足够的电流驱动能力,因此总线上扩展的节点数不由电流负载能力决定,而由电容负载确定。一般容抗要求小于400PF。
b.I2C总线接口内部为双向传输电路,总线端口输出为开漏结构,故总线上必须有上拉电阻。
c.每个挂在总线上的I2C器件都有一个唯一的地址,并通过软件寻址。
d.I2C总线上数据传递时,总线上传送的每一帧数据均为一个字节。但启动总线后,传送的字节数没有限制,只要求每传送一个字节后,对方回应一个应答位。在发送时,首先发送的是数据的最高位。每次传送开始有起始信号,结束时有停止信号。
3.SPI
注意:SPI的一个缺点即没有指定的流控制,没有应答机制确认是否接收到数据。
二、常见的电平标准
-
TTL电平
-
CMOS电平
-
RS485电平
-
RS232电平
-
LVTTL
6.ECL
7.LVDS
总结:本文主要是对一些工程师是日常工作中经常碰到的一些概念做了一个简单的梳理与总结,如果需要了解更加深入,理解得更加透彻,可以下载相关协议标准文档,仔细研读。