|各种总线还分不清?硬核科普:SPI、I2C、UART、CAN...( 二 )


SPI、I2C和UART做个比较
SPI 和I2C这两种通信方式都是短距离的 , 芯片和芯片之间或者其他元器件如传感器和芯片之间的通信 。 SPI和IIC是板上通信IIC有时也会做板间通信不过距离甚短不过超过一米例如一些触摸屏手机液晶屏那些薄膜排线很多用IICI2C能用于替代标准的并行总线 , 能连接的各种集成电路和功能模块 。 I2C是多主控总线 , 所以任何一个设备都能像主控器一样工作 , 并控制总线 。 总线上每一个设备都有一个独一无二的地址 , 根据设备它们自己的能力 , 它们可以作为发射器或接收器工作 。 多路微控制器能在同一个I2C总线上共存这两种线属于低速传输 。
而UART是应用于两个设备之间的通信 , 如用单片机做好的设备和计算机的通信 。 这样的通信可以做长距离的 。 UART速度比上面两者者快最高达100K左右用与计算机与设备或者计算机和计算之间通信但有效范围不会很长约10米左右UART优点是支持面广程序设计结构很简单随着USB的发展UART也逐渐走向下坡 。
I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频 数据传输而制定的一种总线标准 。

I2S则大部分是3线的(除了时钟和数据外 , 还有一个左右声道的选择信号) , I2S主要用来传输音频信号 。 如STB、DVD、MP3等常用
I2S标准中 , 既规定了硬件接口规范 , 也规定了数字音频数据的格式 。 I2S有3个主要信号:1)串行时钟SCLK , 也叫位时钟(BCLK) , 即对应数字音频的每一位数据 , SCLK都有1个脉冲 。 SCLK的频率=2×采样频率×采样位数 。 2)帧时钟LRCK , (也称WS) , 用于切换左右声道的数据 。 LRCK为“1”表示正在传输的是左声道的数据 , 为“0”则表示正在传输的是右声道的数据 。 LRCK的频率等于采样频率 。 3) 串行数据SDATA , 就是用二进制补码表示的音频数据 。
有时为了使系统间能够更好地同步 , 还需要另外传输一个信号MCLK , 称为主时钟 , 也叫系统时钟(Sys Clock) , 是采样频率的256倍或384倍 。
GPIO (General Purpose Input Output 通用输入/输出)或总线扩展器 , 利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展 。
当微控制器或芯片组没有足够的I/O端口 , 或当系统 需要采用远端串行通信或控制时 , GPIO产品能够提供额外的控制和监视功能 。 每个GPIO端口可通过软件分别配置成输入或输出 。 Maxim的GPIO产品线包括8端口至28端口的GPIO , 提供推挽式输出或漏极开路输出 。 提供微型3mm x 3mm QFN封装 。
GPIO的优点(端口扩展器):
低功耗:GPIO具有更低的功率损耗(大约1μA , μC的工作电流则为100μA) 。
集成IIC从机接口:GPIO内置IIC从机接口 , 即使在待机模式下也能够全速工作 。
小封装:GPIO器件提供最小的封装尺寸 ― 3mm x 3mm QFN!
低成本:您不用为没有使用的功能买单!
快速上市:不需要编写额外的代码、文档 , 不需要任何维护工作!
灵活的灯光控制:内置多路高分辨率的PWM输出 。
可预先确定响应时间:缩短或确定外部事件与中断之间的响应时间 。
更好的灯光效果:匹配的电流输出确保均匀的显示亮度 。
布线简单:仅需使用2条IIC总线或3条SPI总线
SDIO CAN
SDIO是SD型的扩展接口 , 除了可以接SD卡外 , 还可以接支持SDIO接口的设备 , 插口的用途不止是插存储卡 。 支持 SDIO接口的PDA , 笔记本电脑等都可以连接象GPS接收器 , Wi-Fi或蓝牙适配器 , 调制解调器 , 局域网适配器 , 条型码读取器 , FM无线电 , 电视接收 器 , 射频身份认证读取器 , 或者数码相机等等采用SD标准接口的设备 。