rs-232接口符合美国电子工业联盟(eia)制定的串行数据通信的接口标准,原始编号全称是eia-rs-232(简称232,rs232)。它被广泛用于计算机串行接口外设连接。
rs-232是现在主流的串行通信接口之一。由于rs232接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片。rs232接口任何一条信号线的电压均为负逻辑关系。即:逻辑1为-3- -15v;逻辑0:+3- +15v ,噪声容限为2v。即要求接收器能识别高于+3v的信号作为逻辑0,低于-3v的信号作为逻辑1,ttl电平为5v为逻辑正,0为逻辑负 。与ttl电平不兼容故需使用电平转换电路方能与ttl电路连接。
(2)传输速率较低,在异步传输时,波特率为20kbps
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。
串口232有两种,第一种:db9;第二种:db25;下面分别介绍。
db9接口接线说明:
1 dcd 载波检测
2 rxd 接收数据
3 txd 发送数据
4 dtr 数据终端准备好
5 sgnd信号地线
6 dsr数据准备好
7 rts 请求发送
8 cts 清除发送
9 ri 振铃提示
db25接口接线说明:
1 屏蔽地线
2 txd 发送数据
3 rxd 接收数据
4 rts 请求发送
5 cts 允许发送
6 dsr 数据准备好
7 sg 信号地
8 dcd 载波检测
9 发送返回(+)
10 未定义
11 数据发送(-)
12~17 未定义
18 数据接收(+)
19 未定义
20 数据终端准备好 dtr
21 未定义
22 振铃 ri
23~24 未定义
25 接收返回
实际应用中使用最多的是db9接口,如果遇到db25接口后可以通过更改接线方法来转换。db25转db9的接线方法。
在rs-232标准中,字符是以一串行的比特串来一个接一个的串行(serial)方式传输,优点是传输线少,配线简单,传送距离可以较远。最常用的编码格式是异步起停(asynchronous start-stop)格式,它使用一个起始比特后面紧跟7或8 个数据比特(bit),然后是可选的奇偶校验比特,最后是一或两个停止比特。所以发送一个字符至少需要10比特,带来的一个好的效果是使全部的传输速率,发送信号的速率以10划分。一个最平常的代替异步起停方式的是使用高级数据链路控制协议(hdlc)。
在rs-232标准中定义了逻辑1和逻辑0电压级数,以及标准的传输速率和连接器类型。信号大小在正的和负的3-15v之间。rs-232规定接近0的电平是无效的,逻辑1规定为负电平,有效负电平的信号状态称为传号marking,它的功能意义为off,逻辑0规定为正电平,有效正电平的信号状态称为空号spacing,它的功能意义为on。根据设备供电电源的不同,±5、±10、±12和±15这样的电平都是可能的。
rs-232设计之初是用来连接调制解调器做传输之用,也因此它的脚位意义通常也和调制解调器传输有关。rs-232的设备可以分为数据终端设备(dte,data terminal equipment, for example, pc)和数据通信设备(dce,data communication equipment)两类,这种分类定义了不同的线路用来发送和接受信号。一般来说,计算机和终端设备有dte连接器,调制解调器和打印机有dce连接器。但是这么说并不是总是严格正确的,用配线分接器测试连接,或者用试误法来判断电缆是否工作,常常需要参考相关的文件说明。
串行通信在软件设置里需要做多项设置,最常见的设置包括波特率(baud rate)、奇偶校验(parity check)和停止位(stop bit)。
波特率(又称鲍率):是指从一设备发到另一设备的波特率,即每秒钟多少比特bits per second (bit/s)。典型的波特率是300, 1200, 2400, 9600, 15200, 19200等bit/s。一般通信两端设备都要设为相同的波特率,但有些设备也可以设置为自动检测波特率。
奇偶校验(parity:是用来验证数据的正确性。奇偶校验一般不使用,如果使用,那么既可以做奇校验(odd parity)也可以做偶校验(even parity)。奇偶校验是通过修改每一发送字节(也可以限制发送的字节)来工作的。如果不作奇偶校验,那么数据是不会被改变的。在偶校验中,因为奇偶校验位会被相应的置1或0(一般是最高位或最低位),所以数据会被改变以使得所有传送的数位(含字符的各数位和校验位)中1的个数为偶数;在奇校验中,所有传送的数位(含字符的各数位和校验位)中1的个数为奇数。奇偶校验可以用于接受方检查传输是否发送生错误--如果某一字节中1的个数发生了错误,那么这个字节在传输中一定有错误发生。如果奇偶校验是正确的,那么要么没有发生错误要么发生了偶数个的错误。如果用户选择数据长度为8位,则因为没有多余的比特可被用来作为同比特,因此就叫做无位元(non parity)。
停止位:是在每个字节传输之后发送的,它用来帮助接受信号方硬件重同步。
rs232读写时序图:
下面列举一下编程实例。因为rs232编程使用51单片机的历程太多了,所以我给大家分享一个由dsp编写的rs232通信例程。dsp由于库文件和头文件比较大,所以我只是把通信部分程序分享出来。如果需要完整项目,可以发送信息到公众号里。我们看到后会尽快回复并发送到你的邮箱里。
程序简要说明:开发环境ccs4.2,芯片tms320f2812,模式:中断方式读写
使用模块:scia模块
dsp串口通信与单片机串口通信是有很大区别的,但是基本的通信流程相同。首先是配置gpio(因模式较多所以需要配置,普通单片机不需要配置),配置完成后是通信参数设置,参数设置完成后就可以利用中断来发送和接收了。(发送也可以不使用中断,我只是写了一个历程,实际使用中要根据功能来写,我写的发送是一直在发数据),下面是程序。
原文标题:工业rs-232接口总线原理与应用方案
文章出处:【微信公众号:开源嵌入式】欢迎添加关注!文章转载请注明出处。
拆解一个简约纯粹但又不乏技术含量的环境监测设备
三星Galaxy S21+真机渲染图曝光
人工智能的未来是模拟的?用于扩展模拟 AI 芯片的新框架罢工
Oppo推出了其旗舰系列Oppo Reno 5系列
东芝拟出售集团7家上市企业股票以避免资不抵债
RS-232接口不足之处及编程实例
澜起科技即将上会 已布局研发DDR5内存接口芯片!
数字化尽头是轻量应用服务器,华为云耀云服务器 L 实例打开无限可能
飞凌嵌入式FET4418-C核心板规格
如何将多传感器无人机系统用于海上监视?
使用共模滤波器降低噪声的对策
工作组级服务器
数据传送药片:实时追踪消防队员体征参数
土壤养分速测仪研究植物生长缺少养分出现症状
如何用COMSOL软件对扬声器驱动器执行非线性失真分析
不断提升PCB技术有多么重要
控制阀安装方法及注意事项
西门子SCL建立功能块ACQUIRE的步骤
感应加热用中高频电源技术的新进展
什么是智能电网?智能电网在安全建设时有哪两个重点?