UART(通用异步接收发送器): 线: 主机到从机至少三根,TX、RX和GND 数据协议: A.TX to B.RX,刚开始时B.RX保持1,A.TX发送0作为起始位来告诉B.RX要发送数据了,然后开始发送,发送完后,A.TX给到B.RX一个1,告诉发完了,如果还需要继续发送,就再发送一个0作为起始位。 全双工: 是 应用: 在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。 附加: 可以添加两条额外的线,RTS和CTS来进行握手,其中RTS还可以进行供电。 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: IIC (集成电路总线): 线: 两根,时钟线SCL,数据线SDA 数据协议: A.SCL to B.SCL. A.SDA to B.SDA,初始时SDA和SCL都为高电平,A将SDA拉低,等SDA为低电平时(延时一段时间),再将SCL拉低,此时SDA就可以发送数据了。SCL需要发送脉冲:SDA在SCL为高电平时保持有效,在SCL为低电平时发送下一位(SCL在上升沿对SDA进行采样),一次需传8位数据,传输完后释放SDA,SCL在发送第九个脉冲,出发SDA置为低电平表示确认(ACK),随后SCL和SDA依次置1. 全双工: 否,半双工 应用: 由于串行总线的连线少,结构简单,往往不用专门的母板和插座而直接用导线连接各个设备。因此,采用串行线可大大简化系统的硬件设计。PHILIPS公司早在十几年前就推出了I2C串行总线,利用该总线可实现多主机系统所需的裁决和高低速设备同步等功能。因此,这是一种高性能的串行总线。 附加: IIC总线(即SDA和SCL)上的每个设备都有唯一地址,数 包传输时先发送地址位,接着才是数据。一个地址字节由7个地址位(可以挂128个设备)和1个指示位组成(7位寻址模式)。指示位是0表示写, 1表示读。 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: //起始信号:
Void I2CStart(void)
{ SDA = 1;
SomeNop( );
SCL = 1;
SomeNop( );
SDA = 0;
SomeNop( );
}
//终止信号
void I2cStop(void)
{
SDA = 0;
SomeNop( );
SCL = 1;
SomeNop( );
SDA = 1;
SomeNop( );
}
SPI(同步外设接口): 线: MOSI(主动设备输出/从动设备输入)、MISO(主动设备输入/从动设备输出)、SCLK(连续时钟)和CS(片选) 数据协议: CS决定了唯一的与主设备通信的从设备,片选信号低电平有效。如没有CS信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由SDO输出,SDI输入,数据在时钟的上升或下降沿由SDO输出,在紧接着的下降或上升沿由SDI读入,这样经过8/16次时钟的改变,完成8/16位数据的传输。 全双工: 是 应用: SPI是一种高速、高效率的串行接口技术。通常由一个主模块和一个或多个从模块组成,主模块选择一个从模块进行同步通信,从而完成数据的交换。SPI是一个环形结构,通信时需要至少4根线(事实上在单向传输时3根线也可以)。 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: SPI和IIC的对比: 关于UART、IIC和SPIUART(通用异步接收发送器):IIC (集成电路总线):SPI(同步外设接口):SPI和IIC的对比: