串口通信的原理是什么?Uart串口与RS232串口有什么区别?
扫描二维码
随时随地手机看文章
串口通信的原理是采用串行异步通信协议,以字符帧作为数据传输单位,通过串口按位依次传输字符帧的每个位,完成数据的传输。在串口通信中,字符帧由起始位、数据位、可选的校验位和停止位组成。起始位用于标识字符帧的开始,占1位;数据位用于传输信息,可配置为5~8位;校验位用于校验数据位的正确性,可配置为奇校验、偶校验或无校验,占1位;停止位用于标识字符帧的结束,占1/1.5/2位。串口通信使用3根线完成传输:地线、发送和接收。由于串口通信是异步的,因此端口能够在同一时间间隔内用一根线发送数据同时在另一根线上接收数据。常用的波特率如9600、115200,指的是字符帧中数据位的传输速率,通信双方需要使用相同的波特率才能正常通信。同时,串口通信协议也广泛应用于仪器仪表设备通用的通信协议以及获取远程采集设备的数据。
串口通信规定参数是计算机与外设设备(比如单片机、传感器等)进行串口通信时所必须遵循的一系列参数规定,其中包括波特率、数据位数、校验位和停止位等。以下是这些规定参数的详细介绍:
波特率:
波特率表示信息传送的速率,是计算机与外设设备进行通信的重要参数。通俗地说,波特率描述的是单位时间内传输的比特数。波特率一般用“bps”来表示,它的单位为位/秒。串口常用的波特率有9600、115200、38400等,常用于MCU与计算机之间的通信。通信设备使用串口通信时,波特率必须相同,否则会导致数据传输出错。
数据位数:
数据位数表示接收和发送的数据字节数。一般情况下,常用的数据位数为7位或8位,而在通常的情况下默认使用8位数据位数。数据位数的选择取决于所传输的数据格式以及传输需要的准确度和速度。
校验位:
校验位是为了保证接收到的数据的准确性而设置的一个位。校验位主要有三种方式,分别为奇校验、偶校验和无校验。奇校验是指在数据位数上奇数的传输信息完成后,将其全部加起来,如果结果为奇数则校验位为0,否则为1。偶校验则是将其全部加起来,如果结果为偶数,则校验位为0,否则为1。无校验是指在数据传输后不对数据进行任何的校验位检验。
停止位:
停止位指的是数据传输完成后发送器发送的一位信号。其目的是告诉接收器,本次数据传输已经结束。例如,对于8位数据加一位停止位,停止位为1,这样就能够表示出本次的数据传输已经结束。
UART和RS232虽然都是串行通信协议,但是在细节上存在一些差异。
UART是一种异步串行通信的方式,没有具体的物理接口形式(硬件),只是一种电路实现。它使用TTL电平进行通信,有4个引脚(VCC、GND、RX、TX),使用的是相对较低的电平标准,比如0V代表0,3.3V或以上代表1。
RS232则是一种物理层的电气接口要求,与UART不同,它有具体的接口形式(硬件)。RS232也使用串行通信方式,但它使用的是一种不同的电平标准。例如,RS232规定电压在-3V到+3V之间表示0,在+3V到+12V之间表示1。
也就是说,尽管它们都是在两个设备之间通过一条数据线逐比特地发送数据,但UART更注重电路和信号的实现,而RS232更关注接口和连接。
UART和RS232在信号传输速度方面的主要区别如下:UART是一种以固定的速率(例如1200bps,9600bps,115200bps等)进行串行传输的方法。它每次只能传输一个比特位(因此被称为串行传输),并且通信双方必须以约定的通信协议和通信速率进行通信。
而RS232接口标准由于出现较早,其传输速率较低,大约为20Kbps,传输距离也较短,大约为15米左右。UART和RS232在信号传输速度方面因不同的使用环境和要求而有区别。