串行通信以波特率来表示其传输速率,波特率指信号每秒传输的位数。
串行通信包括异步通信和同步通信两种通信方式。
异步通信以一个起始位表示一个字符的开始,以停止位表示其结束。其传输格式如图1所示。
图1 异步通信的格式
从图中可以看出,起始位占用1位,数据为5~8位,其长度取决于传输数据的类型,先传输低位,后传输高位。数据后面为校验位,如设置为偶校验,则数据及校验位的1的个数为偶数。如设置为奇校验,则数据及校验位的1的个数为奇数。最后是停止位,停止位可根据需要设置为1位、1 位或2位。在异步通信中,每一位占用的时间是数据传输速率(波特率)的倒数。如果传输波特率为 2400,则每一位的时间为1/2400S,即0.416 ms。如果传输一个ASCII码,数据占7位,起始位、校验位、停止位各占1位,则传送一个ASCII码占用10位。用2400的波特率,每秒能传输240个ASCII码。异步通信常用的传输波特率为150~38400。
异步通信在发送时,以起始位表示字符的开始,以停止位表示字符的结束。接收端则利用这些分隔符把一个串行数据变换为并行数据。这种通信方式易于实现,即使在传输过程中不连续发送,也不会产生不同步的问题。但由于每传送一个字符都要加上2~3位用于同步,使其传输效率降低。
与异步通信不同,同步通信一次发送一个完整的数据组,在发送前,双方要发出专门的同步符号。同步通信的传输效率较高,其通信协调较复杂,而且需要同步时钟。