CAN、I2S、I2C、SPI、SSP 总线简介 一、SPI 总线说明 串行外围设备接口 SPI(serial peripheral interface)总线技术是 Motorola 公司推出的一种同步串行接口,Motorola 公司生产的绝大多数 MCU(微控制器)都配有 SPI 硬件接口,如 68 系列 MCU。SPI 用于 CPU与各种外围器件进行全双工、同步串行通讯。SPI 可以同时发出和接收串行数据。它只需四条线就可以完成 MCU 与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线 CS。这些外围器件可以是简单的 TTL 移位寄存器,复杂的 LCD 显示驱动器,A/D、D/A 转换子系统或其他的 MCU。当 SPI 工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。主 SPI 的时钟信号(SCK)使传输同步。其典型系统框图如下图所示。 SPI 主要特点有: 可以同时发出和接收串行数据; 可以当作主机或从机工作; 提供频率可编程时钟; 发送结束中断标志; 写冲突保护; 总线竞争保护等。 图 2 示出 SPI 总线工作的四种方式,其中使用的最为广泛的是 SPI0 和 SPI3 方式(实线表示): SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果 CPOL=0,串行同步时钟的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果 CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI 主模块和与之通信的外设音时钟相位和极性应该一致。SPI 总线接口时序如图所示。 什么是CAN 总线? =========================== CAN 全称为Controller Area Netw ork,即控制器局域网,由德国Bosch 公司最先提出,是国际上应用最广泛的现场总线之一。CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、高抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传输距离达 10Km 时 CAN 仍可提供高达 50Kbit/s 的数据传输速率。CAN 具有十分优...