1.RS-232C介绍
在嵌入式系统中最常用的就是RS232C串口总线标准
,RS-232C是美国电子工业协议EIA(Electronic Industry Association)于1962年公布,并于1969年修订的一种串口总线标准,其各个名词的含义如下:
- RS:Recommend Standard,推荐标准;
- 232:该标准的标识号;
- C:最后一次修订;
RS-232C标准
对计算机系统的串行通信接口电路中使用的接插件规格、各引脚的名称和功能、信号电平等都做了统一的规定,是异步串行通信中使用最早、应用最广泛的串口总线标准。
RS-232总线
的传输距离较近,一般不超过15m。
2.RS-232C标准的物理层
2.1.电平标准
因为RS-232C标准早在TTL集成电路之前就发展起来了,所以RS-232C标准并没有采用现在大多数集成电路所使用的TTL逻辑电平标准,而是采用具有双极性、公共地的负逻辑电平——EIA电平
:
- “逻辑1”:-15V~-3V
- “逻辑0”:+15V~+3V
2.2.接插件规格
RS232-C标准规定的接插件规格为D型连接器
,有25芯和9芯两种规格,9芯规格(DB9接口)被大量应用在台式电脑上,如图:
其中,接线口以针式引出的称为公头,以孔式引出的称为母头,每个引脚对应的定义如下:
序号 | 符号 | 名称 |
---|---|---|
1 | DCD | 载波检测 |
2 | RXD | 接收数据 |
3 | TXD | 发送数据 |
4 | DTR | 数据终端就绪 |
5 | GND | 信号地 |
6 | DSR | 数据设备就绪 |
7 | RTS | 请求发送 |
8 | CTS | 允许发送 |
9 | RI | 响铃指示 |
3.RS-232C标准物理层在实际中的应用
RS-232C标准在嵌入式设备中被大量的应用,但是在当今这个技术飞跃进步的时代,其物理层标准所使用的电平标准和接插件规格实在是太麻烦了,而且现在大多数集成电路的I/O口非常珍贵,体积小型化是非常必要的条件,哪能直接给出来9个I/O口做串口通信使用呢?而且现在的集成电路都使用TTL电平,为什么要为了串口通信又增加额外的电路呢?所以现在的工程师根据情况进行了适当的裁剪,才得以被广泛的应用~
- 在现在的应用中,一般只使用
RXD
、TXD
、GND
三条信号线直接传输数据信号,其余的线都被裁剪掉了;
3.0.(补充知识)TTL电平
大多数集成电路所采用的TTL逻辑电平
如下:
- “逻辑1”:+2.4V~+5V;
- “逻辑0”:0V~0.8V;
同一个信号的TTL逻辑电平与EIA逻辑电平更加形象的对比图如下:
所以,两者之间的信号电平不匹配,在两者之间需要设置专门的电平转换电路,否则会导致TTL电路烧毁,一般使用的是MAX232
芯片。
3.1.集成电路与集成电路之间通信
3.2.集成电路与旧式电脑(DB9接口)之间通信
3.3.集成电路与电脑(无DB9接口)之间通信
因为现在大多数电脑没有DB9接口,所以一般使用USB转串口芯片(eg. CH340)
连接集成电路的串口和电脑的USB口:
4.RS-232C标准的协议层
RS-232C标准以字符为一个独立的信息单位,采用按位传送数据,字符出现在数据流中的时间可以是任意的,一个字符又称为一帧,一个数据帧的格式如下:
4.1.波特率
在通信之前,双方需要约定好波特率,波特率确定了每个码元的长度,以便对信号进行解码,图中虚线的一个就是码元长度。
常用的波特率有9600bit/s、115200bit/s。
4.2.数据帧每一位定义
数据帧从起始信号开始,直到停止信号结束:
起始信号
:1个逻辑0的数据位表示;数据位
:有效数据位的长度可以是5、6、7、8位,通常选择8位长度,刚好是一个字节;校验位
:可选;停止位
:可由0.5、1、1.5、2个逻辑1的数据位表示
4.3.校验位详解
由于数据通信相对容易受到外界干扰导致传输数据出现偏差,在有效数据之后有一个可选的校验位,用来提高传输数据的可靠性,校验位主要的校验方法有:
奇校验(odd)
:有效数据和校验位中“1”的个数为奇数;偶校验(even)
:有效数据和校验位中“1”的个数为偶数;0校验(space)
:不管有效数据是什么,校验位总为0;1校验(mark)
:不管有效数据是什么,校验位总为1;无校验(noparity)
:不使用校验位;
现在由于电子技术的提升,一般不使用校验位,选择无校验。