串口通信概念介绍1
一、串口通信的原理与应用
(1)通信的方式
处理器与外部设备之间或者处理器与处理器之间通信的方式分两种:串行通信和并行通信。
串行通信
* 传输原理:数据按位依次顺序传输(每一位占据固定的时间长度 MSB or LSB)
点击查看详细
* 优点:占用引脚资源少、成本低、传输距离远
* 缺点:速度慢
* 应用场合:常用于工控、测量设备,以及部分通信设备 如 USB、COM口
并行通信
* 传输原理:数据按位同时传输(按照字节或者字节的倍数去传输)
点击查看详细
* 优点:速度快
* 缺点:占用引脚多,成本高、传输距离近、抗干扰能力弱(串扰)
* 应用场合:一般适用数据量大、传输距离较近的场合 如计算机总线
(2)串行通信分类
如果按照数据的传送方向,可以分为3种
单工:
数据只能从一方传向另一方,而不能往反方向传输。这是根据应用的特点,对通信双方的软、硬件进行了简化。单向传输设备,如并行接口打印机就是通过单工的方式进行数据传输的。
半双工:
允许数据往两方传向传输,但只能交替进行,而不能同时进行的传输方式。常见应用如对讲机。
全双工:
数据支持同时在两个方向上传输,就相当于两个单工通信的结合 如移动电话
按照数据的同步方式,可以分为2种
同步通信:
- 指的是带时钟同步信号,如IIC接口和SPI接口都属于同步通信.
- 同步通信要求通信双方的时钟必须一致(发送数据的同时进行接收数据)。
- 同步通信是一种连续串行传输数据的通信方式,一次只传输一帧数据,相对于异步通信而言传输速率更高,
- 缺点是通信双方必须使用同一个时钟。
异步通信:
- 指的是不带时钟同步信号,如UART接口就属于异步通信。
- 要求通信双方必须具有接收器和发送器,但是接收器和发送器可以使用各自的时钟。
- 异步通信是以字符为单位去传输,由于异步通信工作是非同步的,所以接收器必须时刻做好接收数据的准备,所以每个字符都会使用起始位和停止位代表字符的开始和结束。
- 相比于同步通信而言设备成本低,但是缺点是信道利用率低。
注意:使用异步通信,通信双方要约定好的字符格式和通信速率,否则会导致数据丢失等问题出现
(3)串行接口扩展
点击查看详细
串行通信就是把数据按位进行顺序传输,在计算机传输的过程中是使用并行通信的,就涉及到串转并和并转串。可以利用软件实现,也可以用硬件实现。如果使用软件实现,会增大CPU的负担,通常使用硬件(串口)实现。
串口是计算机进行串行通信的物理接口,线路简单,串口是按位进行数据的收发,可以用一根线(TXD)发送数据的同时用另一根线接收(RXD)。
常用的串口接口有两种:9针串口(DB-9) 25针串口(DB-25) 每种都分为公头和母头
一般DB9串口有9个引脚,但是一般作为串口通信时只需要用到三个引脚,分别是RXD、TXD、GND,其他的线一般用于握手。
单片机如果打算和计算机进行串口通信,则需要注意串口的电平协议,单片机采用的是TTL电平,而计算机采用的RS232电平,所以单片机需要和计算机通信,则需要增加如MAX232电平转换芯片进行电气转换。
TTL电平协议 :采用正逻辑电平 +5V等价于逻辑1 0V等价于逻辑0
RS232电平协议 :采用负逻辑电平 -15V~-3V等价于逻辑1 +3V~+15V等价于逻辑0
为使通信顺利进行,由通信双方就如何交换信息所建立进来的一套规定,称为通信控制规程,网络术语中称为协议。另外,为统一接口和连接,规程中还有关于信号线功能、电气特性、机械特性等明确的规定,称之为接口标准。如RS-232、RS-485接口标准等。
RS-232是一个已制定很久的标准(RS表示推荐标准,232表示标识符),它描述了计算机及相关设备间较低速率的串行数据通信的物理接口及协议。它是由一个工业贸易组电子工业联合会(EIA)定义的,最初是为电传打印机设备而制定。RS-232是计算机用来与modem及其它串行设备交谈或交换数据的接口。
RS-232接口速率不会很高,线缆最长为15米。RS-232接口通常被用于将电脑信号输入控制,当通信距离较近时,可不需要Modem,通信双方可以直接连接,这种情况下,只需使用少数几根信号线,即TXD、RXD、GND。
RS-232采用负逻辑规定逻辑电平,-3V ~ -15V为逻辑“1”电平,+3V ~ +15V为逻辑“0”电平。这种信号电平与通常并行接口中使用的TTL电平不同,会常用一些电平转换芯片如MAX232。
现在个人计算机提供的串行端口终端的传输速度一般都可以达到115200bps甚至更高,标准串口能够提供的传输速度主要有以下波特率:1200bps、2400bps、4800bps、9600bps、19200bsp、38400bps、57600bps、115200bps等,在仪器仪表或工业控制场合,9600bps是最常见的传输速度,在传输距离较近时,使用最高传输速度也是可以的。传输距离和传输速度的关系成反比,适当地降低传输速度,可以延长RS-232的传输距离,提高通讯的稳定性。
但是对于目前来说,很多设备并不会集成DB-9串口,而是直接采用4针的串口(TXD、RXD、GND、VCC),然后通过CH340芯片进行转换,就可以直接通过USB口转串口的方式达到和计算机通信的目的。