rs232接口有啥用?rs232串口接线图 深入理解RS232串口,rs232串口 2024-03-08 11:30:54 0 0 描述 “串口”是串行通信接口的简称,所谓“串行通信”是指数据按位依次发送的通信方式。常见的串口有:RS232和RS485。虽然串口通信诞生的时间较早,但它仍然活跃在当今工业自动化控制领域。今天这篇文章,我们来深入介绍下RS232串口。本文包括如下几个主题: 1、RS232的历史 2、RS232的接口 3、RS232的电气信号 4、RS232的电平转换芯片 5、RS232的数据传输 1、RS232的历史 RS232是美国电子工业协会(Electronic Industries Association ,EIA)于1962年颁布的通信标准,其全称是:DTE和DCE的电气/机械接口标准。“DTE”是英文“Data Terminal Equipment ”的缩写,翻译为“数据终端设备”,比如计算机;“DCE”是英文“Data Circuit-terminating Equipment”的缩写,翻译为“数据电路端接设备”。也有将其写作“Data Communication Equipment”,翻译为“数据通信设备”,比如调制解调器。“RS232”名称中的“RS”是“Recommand Standard”的缩写,表示“推荐标准”。“232”是标识号。早期的RS232是为了实现计算机、程控电话、调制解调器之间通信而制定的标准,后来经过多次改版,成了一种通用的串行通信标准。RS232的改版信息如下: 1969年C版本(RS232-C); 1986年D版本(RS232-D); 1991年E版本(RS232-E); 1997年F版本(RS232-F); 目前,在工业自动化领域,RS232多用于触摸屏、读卡器、扫码枪、打印机等设备与PLC之间的通信。 2、RS232的接口 在F版本之前,RS232使用25针串行接口,分为公头(Male)和母头(Female)两种,公头用于DTE设备,母头用于DCE设备,如下图所示: 实物如下图所示: 针脚定义见下面的表格:编号名称缩写1Shield/ 屏蔽 2Transmitted Data/ 发送数据TxD3Received Data/ 接收数据RxD4Request To Send/ 请求发送RTS5Clear To Send/ 允许发送CTS6DCE Ready/Data Set Ready 数据集就绪DSR7Signal ground/common return 信号接地SG8Received line signal detector 9Reserved for data set testing/ 保留 10Reserved for data set testing/ 保留 11Unassigned/ 未分配 12Secondary received line signal detector 13Secondary Clear To Send(S)CTS14Secondary Transmitted Data(S)TxD15Transmission signal element timing 16Secondary Received Data(S)RxD17Receiver Signal Element Timing(DCE) 18Local Loopback 19Secondary Request To Send(S)RTS20DTE Ready/Data Terminal ReadyDTR21Remote Loopback/ Signal Quality Detector 22Ring IndicatorRI23Data Signal Rate Selector 24Transmit signal element timing (DTE) 25Test Mode 25针串口针脚太多,用起来比较繁琐。为了简化RS232串口,在F版本中定义了9针串口,同样包括公头(用于DTE)和母头(用于DCE)两种,如下图所示: 针脚定义见下面的表格:编号名称缩写1Data Carrier Detect/ 数据载波监测DCD2Received Data/ 接收数据RxD3Transmitted Data/ 发送数据TxD4Data Terminal Ready/ 数据终端就绪DTR5Ground/ 接地GND6Data Set Ready/ 数据集就绪DSR7Request To Send/ 请求发送RTS8Clear To Send/ 允许发送CTS9Ring Indicator/ 振铃提示RI PLC被视为DTE设备,其RS232串口为公头。比如S7-1200的串口模块CM1241 RS232其串口为公头,如下图所示: 对于DTE和DTC的通信,可以使用直连的方式,如下图所示: 对于两个DTE(比如PLC和扫码枪)之间的通信,应采用交叉连接的方式。可以将所有引脚相互连接,如下图所示: 可以采用最小连接的方式,仅使用三根线,将双方的TxD和RxD互连,GND互连,如下图所示: 这种DTE直接连接,不经过DCE的连接也称为“ null modem”连接,这类电缆称为“null modem”电缆或交叉电缆。 3、RS232的电气信号 RS232接收-发送端的电信号是相对于公共地线(GND)的电压信号。当电压差值在+3V~+15V之间表示逻辑“0”,当电压差值在-3V~-15V之间表示逻辑“1”,电压差值在-3V~+3V之间没有定义。3V是最小的可检测电压信号,实际使用时期望电压差的绝对值在5V~15V之间,即:发送数据时,发送端驱动器输出正电压信号+5V~+15V,表示逻辑“0”;负电压信号-5V~-15V表示逻辑1。接收数据时,只要是检测到大于3V的电信号,即将其视为有效信号。 4、RS232的电平转换芯片 单片机的引脚输出的是TTL电平,需要使用专用的转换芯片(TI公司的MAX3232或者ST公司的ST3232等)将其转换为RS232电平。详细内容请看我之前的文章:RS232电平和TTL电平有什么不同?如何转换? 5、RS232的数据传输 数据传输涉及的第一个概念是波特率。我们知道串行通信的传输是一位接着一位的,其传输单位为:位(bit)。因此,波特率的定义就是在单位时间内传输的位的个数。国际公用的单位时间为秒(s),因此波特率的单位为:bit/s(b/s),也写作bps(bit per second)。 波特率有一定的选择范围(并非任意值),常见的波特率有:9600,38400,56000,115200等。还有很多其它的值,通信双方约定好相同的波特率即可。 RS232是一种点对点的通信,其数据帧由起始位、数据位、校验位、停止位四部分组成。 起始位:长度1,数据值等于逻辑0,表示开始发送数据; 数据位:长度8或7,表示实际发送的数据; 校验位:长度0(无校验)或1(奇校验或偶校验); 停止位:长度1、1.5或者2,数据值等于逻辑1,表示数据帧发送结束; 假设某RS232通信设置数据位=7,奇校验,停止位=2,则帧和逻辑值如下图所示: 接下来我们做一个计算。 假设某RS232通信设置波特率=9600,数据位=8,无校验(=0),停止位=1。请问该通信参数下,每秒钟可传输多少个字节的数据? 答:根据参数可知,该通信的帧长度=1+8+1=10 位(bit),在该帧中传输了一个字节(8位)。因此对于9600的波特率,每秒钟最多可传输实际数据=9600/10=960字节。 关于数据传输还有流控制等内容。本文实在有点长,就留到后期介绍吧。我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》通信部分也对RS232有比较详细的介绍,感兴趣的话可以看看下面的链接: 审核编辑:汤梓红 收藏(0)