UART通用异步收发器,UART是通用的异步传输模式,在它这种基础上加上其他接口或者解码器就衍生出多种异步传输模式,比如232,485,红外线等。这就好像脚上穿高跟鞋,跑鞋,皮鞋等,虽然走路方式不一样,但是其原理都是脚在向前走。自己对异步和同步的理解,异步传输就好像写信一样。假如每个信件里面写一个字符,我发送3个字符三封信,那么对方收到三封信之间的间隔可以是随意的。而同步通信则好像打电话一样。它要实时的监控着整个发送过程。从这两种方式上可以看出异步传输当发送完数据就可以干别的事情,而不必关心对方是否收到,就像给多个人写信,发了就可以给另外一个人发而不管上一封是否收到。而同步则不行,不能同时和两个以上的人通电话吧,怎么也得挂了一个再打另外一个。
同步通信(SPI和IIC):
SPI和IIC是最常用也是最基础的两种同步传输方式。
SPI的连接一般有四根:时钟,发送,接收和片选。
IIC的连线有两根:时钟和数据。在这从通信过程对照的说下这两种总线。
1、发送数据首先要知道目标地址。在这里SPI使用的片选线,只要把连接对应目标设备上片选线拉低就可以了,不需要目标响应,比较霸道一点。而IIC是要先把目标地址发送出去来寻找目标设备就像在人群中喊一个人姓名一样,如果是目标则会响应你。其实这两种方法可以认为一个是硬件的方法一个是软件的方法。所以他们也有这两种方法的特征。前者的优点是速度快,效率高。缺点是布线复杂了连接多个设备得多个片选线。而后者正好相反。
2、在发送的过程中,SPI和IIC的方式也有很大的区别。SPI有三种规则(TI,飞思卡尔,MICROWIRE),他们都采取的是无应答的方式。虽然他们的开始信号等定义规则不同,但是道理一样,尤其是用TI库函数操作时,可以忽略一些。SPI在开始信号过后,在主机的CLK下,快速的发送数据。用记电话号码举例:甲是主,乙是从。甲在接通乙后,按自己说话的速度告诉一遍电话号码,中间没有任何停顿和重复,说完OK。乙得马上记下所说的号码。这样的优点就是速度快。而缺点也是明显的。第一,也许乙记的号码是错误的,而甲是不知道的。第二,对乙要求要高一些,道理很简单,如果说号码的人语速非常快,我们必须得反应非常快。这也许就是LM3S,SPI模块做主时,速度可达系统时钟的1/2,而作从机只能达1/12的原因。
再说下IIC总线,首先肯定有一个开始信号,开始信号过后,根据CLK发送数据,在这与SPI有一个比较大的区别是每发送一个数据,必须等待从机的响应,如果从机不响应,主机是发不了数据的。同理用电话号码举例,甲每读一个数字,就得等乙答应一声。这种方式的缺点是传输速度慢。而优点也易见,一是传送的数据准确,因为有了乙的反馈。二是对从机要求低一点,如果从机速度比较慢也没事,因为此时主机一般得等着。
3、IIC是真正意义上的多主,可以类比公司的电话分机的关系。而SPI不是。