硬件篇:接口与总线

硬件篇:接口与总线

1.串口
RS-232、RS-422 与 RS-485 都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的。RS-422 改进了 RS-232 通信距离短、速率低的缺点。
1983年在 RS-422 的基础上制定了 RS-485 标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,并扩展了总线共模范围,被命名为 TIA/EIA-485-A 标准。
硬件篇:接口与总线2.I2C
I2C(内置集成电路)总线是由 Philips 公司开发的两线式串行总线,产生于 20 世纪 80 年
代,用于连接微控制器及其外围设备。I2C 总线简单而有效,占用的 PCB(印制电路板)空间 很小,芯片引脚数量少,设计成本低。I2C总线支持多主控(Multi-Mastering)模式,任何能够进行发送和接收的设备
都可以成为主设备。主控能够控制数据的传输和时钟频率,在任意 时刻只能有一个主控。 组成 I 2 C 总线的两个信号为数据线 SDA和时钟 SCL。

为了避免总线信号的混乱,要求各 设备连接到总线的输出端必须是开漏输出或集电极开路输出的结构。总线空闲时,上拉电阻 使SDA 和 SCL 线都保持高电平。根据开漏输出或集电极开路输出信号的“线与”逻辑,I 2 C总线上任意器件输出低电平都会使相应总线上的信号线变低。

I 2 C 设备上的串行数据线 SDA 接口电路是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。同样地,串行时钟线 SCL 也是双向的,作为控制总线数据传送的主机要通过 SCL 输出电路发送时钟信号,并检测总线上 SCL 上的电平以决定什么时候发下一个时钟脉冲电平;作为接收主机命令的从设备需按总线上 SCL 的信号发送或接收SDA 上的信号,它也可以向 SCL 线发出低电平信号以延长总线时钟信号周期。

当 SCL 稳定在高电平时,SDA 由高到低的变化将产生一个开始位,而由低到高的变化则产生一个停止位开始位和停止位都由 I 2 C 主设备产生。在选择从设备时,如果从设备采用 7 位地址,则主设备在发起传输过程前,需先发送 1 字节的地址信息,前 7 位为设备地址,最后 1 位为读写标志。之后,每次传输的数据也是 1 字节,从 MSB 开始传输。每个字节传完后,在 SCL的第 9 个上升沿到来之前,接收方应该发出 1 个 ACK 位。SCL 上的时钟脉冲由 I 2 C 主控方发出,在第 8 个时钟周期之后,主控方应该释放 SDA,I 2 C 总线的时序如图 2.11 所示。
硬件篇:接口与总线3.SPI
SPI(Serial Peripheral Interface,串行外设接口)总线系统是一种同步串行外设接口,它可以使 CPU 与各种外围设备以串行方式进行 通 信 以 交 换 信 息。 一 般 主 控 SoC 作 为SPI 的“主”,而外设作为 SPI 的“从”。

SPI 接 口 一 般 使 用 4 条 线: 串 行 时 钟线(SCLK)、 主 机 输 入 / 从 机 输 出 数 据 线MISO、主机输出 / 从机输入数据线 MOSI和低电平有效的从机选择线 SS(在不同的文献里,也常称为 nCS、CS、CSB、CSN、nSS、STE、SYNC 等)。 图 2.12 演 示 了 1个主机连接 3 个 SPI 外设的硬件连图。

特别要注意 SPI 从设备支持的 SPI总线最高时钟频率(决定了 SCK 的频率)以及外设的 CPHA、CPOL 模式,这决定了数据与时钟之间的偏移、采样的时刻以及触发的边沿是上升沿还是下降沿。

SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性(CPOL)和相位(CPHA)可以进行配置。如果 CPOL= 0,串行同步时钟的空闲状态为低电平;如果 CPOL= 1,串行同步时钟的空闲状态为高电平。如果 CPHA= 0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果 CPHA = 1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样
硬件篇:接口与总线