RS232 with DB9 connecter

 
1.RS232 (DB9) pin assignment

DCD: carrier detection. It is mainly used for Modem to inform the computer that it is in the online state, that is, the Modem is in the online state and can detect the dial tone.

RXD: this pin is used to receive data from external devices; When you use a Modem, you will find that the RXD indicator is flashing, indicating that the RXD pin has data entry.

TXD: this pin sends computer data to external devices; When you use a Modem, you will find the TXD indicator blinking, indicating that the computer is sending data through TXD pins.

DTR: data terminal ready; When this pin is high, the Modem can be informed to transmit data, and the computer is ready.

GND: signal ground; This position does not explain much.

DSR: data equipment ready; This pin high current, inform the computer Modem is ready, can carry on the data communication.

RTS: request to send; This foot is controlled by the computer to inform the Modem to transmit data to the computer immediately; Otherwise, the Modem will receive the data temporarily in the buffer.

CTS: clear send; The foot is controlled by the Modem to notify the computer to send the data to the Modem.

RI: the Modem notifies the computer that there is a call coming in and that the answering call is determined by the computer.

 

RS232C Serial communication connection method

Generally, there are 7 signal lines used in interface circuit, and the connection method is as follows:
GND————–GND
TXD————RXD
RXD————–TXD
RTS—————CTS
CTS————–RTS
DTR————–DSR
DSR————–DTR

 

2. Important parameters of serial communication.

通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是比特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配:

a,比特率BaudRate:

这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,就是指比特率,例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的比特率为14400,28800和36600。比特率可以远远大于这些值,但是波特率和距离成反比。高比特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

b,数据位DataBits:

这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语”包”指任何通信的情况。

c,停止位StopBits :

用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

d,奇偶校验位Parity:

在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

e, 流控制 协议Flow Controll

数据在传输过程中容易出现数据丢失的现象,例如:两台计算机通过串口传输数据时,或者台式机与单片机之间进行通信时,可能由于两端计算机的处理速度不同,出现接收端的数据缓冲区已满,而发送端依然继续发送数据,则导致数据丢失。流控制的出现就是为了解决这种数据丢失的问题。计算机中常用的两种流控制分别是硬件流控制(RTS/CTS、DTR/DSR等)和软件流控制(XON/XOFF)。