【正点原子FPGA连载】第十四章串口通信实验-摘自【正点原子】新起点之FPGA开发指南_V2.1

【正点原⼦FPGA连载】第⼗四章串⼝通信实验-摘⾃【正点原⼦】新起点
之FPGA开发指南_V2.1
本章节我们来学习STM32MP1的串⼝使⽤⽅法,并通过串⼝发送和接收数据。
本章将分为如下⼏个⼩节:
14.1、串⼝简介;
14.2、STM32MP1串⼝简介;
14.3、HAL库中串⼝相关的API;
14.4、串⼝中断接收回显实验;
14.5、章节⼩结;
14.1 串⼝简介
在学习串⼝前,我们先来了解⼀下数据通信的⼀些基础概念。
14.1.1 数据通信的基础概念
在单⽚机的应⽤中,数据通信是必不可少的⼀部分,⽐如:单⽚机和上位机、单⽚机和外围器件之间,它们都有数据通信的需求。由于设备之间的电⽓特性、传输速率、可靠性要求各不相同,于是就有了各种通信类型、通信协议,我们最常见的有:USART、IIC、SPI、CAN、USB等。下⾯,我们先来学习数据通信的⼀些基础概念。
1. 数据通信⽅式
按数据通信⽅式分类,可分为串⾏通信和并⾏通信两种。串⾏和并⾏的对⽐如下图所⽰:
图14.1.1. 1数据传输⽅式
串⾏通信的基本特征是数据逐位顺序依次传输,最少只需⼀根传输线即可完成,所需传输线少成本低,但每次只能传送1bit的信号,⽐如
四氯化碳萃取碘1Byte的信号需要8次才能发完,传输速率低。串⾏通讯抗⼲扰能⼒强,可⽤于远距离传输,传输距离可以从⼏⽶到⼏千⽶。
并⾏通信是数据各位可以通过多条线同时传输,⼀次传送8bit、16bit、32bit甚⾄更⾼的位数,相应地就需要8根、16根、32根甚⾄更多的信号线,优点是传输速率⾼,缺点就是线多成本就⾼了,抗⼲扰能⼒差,因⽽适⽤于短距离、⾼速率的通信。
2. 数据传输⽅向
根据数据传输⽅向,通信⼜可分为全双⼯、半双⼯和单⼯通信,它们的⽐较如下图所⽰:
图14.1.1. 2数据传输⽅式
金山快译怎么用
单⼯是指数据传输仅能沿⼀个⽅向,不能实现反⽅向传输;
半双⼯是指数据传输可以沿着两个⽅向,但是需要分时进⾏;
全双⼯是指数据可以同时进⾏双向传输;
这⾥注意全双⼯和半双⼯通信的区别:半双⼯通信是共⽤⼀条线路实现双向通信(分时进⾏),⽽全双⼯是利⽤两条线路,⼀条⽤于发送数据,另⼀条⽤于接收数据。
3. 数据同步⽅式
根据数据同步⽅式,通信⼜可分为同步通信和异步通信。同步通信和异步通信⽐较如下图所⽰:
图14.1.1. 3数据同步⽅式
同步通信要求通信双⽅共⽤同⼀时钟信号,在总线上保持统⼀的时序和周期完成信息传输。其优点是:
bind9
可以实现⾼速率、⼤容量的数据传输,以及点对多点传输。缺点是:要求发⽣时钟和接收时钟保持严格同步,收发双⽅时钟允许的误差较⼩,同时硬件复杂。
异步通信不需要时钟信号,⽽是在传输的数据信号中加⼊起始位和停⽌位等⼀些同步信号,以使接收端能够正确地将每⼀个字符接收下来,某些通信中还需要双⽅约定传输速率。其优点是:没有时钟信号硬件简单,双⽅时钟可允许⼀定误差。缺点是:通信速率较低,只适⽤点对点传输。
4. 通信速率
在数字通信系统中,通信速率(传输速率)指数据在信道中传输的速度,它分为两种:传信率和传码率。
传信率(Rb):每秒钟传输的信息量,即每秒钟传输的⼆进制位数,通常⽤Rb表⽰,单位为bit/s(即⽐特每秒),因⽽⼜称为⽐特率。传码率(RB):每秒钟传输的码元个数,通常⽤RB表⽰,单位为Bd或Baud(即波特每秒),因⽽⼜称为波特率。
⽐特率和波特率这两个概念⼜常常被⼈们混淆。⽐特率很好理解,我们看看波特率。波特率被传输的是码元,码元是信息被调制后的概念,⼀个码元可以被表⽰成多个⼆进制的⽐特信息。它们的关系可以⽤公式Rb=RBlog2M表⽰,M表⽰M进制码元。
在⼆进制系统中,波特率在数值上和⽐特率相等,但是其意义上不同。例如:以每秒50个⼆进制位数的速率传输时,传信率为50bit/s,传码率也为50Bd。这是在⽆调制的情况下,⽐特率和波特率的数值相等。代⼊公式:Rb=RBlog2M=RB,M=2。
如果码元是在⼗六进制系统的话,即使⽤调制技术的情况下,代⼊公式:Rb=RBlog2M=4RB,M=16。⽐如波特率为100Bd,在⼆进制系统中,⽐特率为100 bit/s;那么在四进制系统中,⽐特率为400 bit/s,即1个⼗六进制码元表⽰4个⼆进制数,可见⼀个码元可以表⽰多个⽐特。
注:⽐特率的单位也常⽤bps来表⽰,表⽰每秒传输的⽐特数(bit per second)。波特率的单位是波特(Baud)
14.1.2 串⼝通信接⼝标准
常⽤的串⾏通信接⼝标准中,有RS-232、RS-422和RS-485接⼝。
1. 接⼝
(1)RS-232
电脑机箱后⾯⼀般会有2个9芯或者25芯的接⼝,也分别叫DB9和DB25连接器,它们是符合RS-232C
标准的串⾏接⼝,可⽤于连接MODEM设备或者⼯业仪器仪表等,实现设备与电脑相互通迅。我们先来看看RS232接⼝,下图是DB9针的连接头,左边公头的1脚接的母头的1脚,其它脚也按数字对应相连。
图14.1.2. 1 RS232接⼝
RS-232C定义了数据终端设备(DTE)和数据通信设备(DCE)之间串⾏⼆进制数据交换接⼝技术标准,我们以DB9连接器为例,此标准接⼝的主要引脚定义如下表:
表14.1.2. 1 RS232接⼝引脚信号云南基层网络党建
使⽤RS-232,对于⼀般双⼯通信,仅需要⼀条发送线、⼀条接收线和⼀条地线就可以实现,这3根线构成共地传输,容易产⽣共模⼲扰,抗噪声抗⼲扰性弱,所以使⽤RS-232最⼤通信距离为⼀般为15m。RS-232只允许⼀对⼀通信,以两个计算机通信为例,如果是近距离通信,两个接⼝可以直连:
图14.1.2. 2两台设备近距离通信
如果是长距离通信,则需要通过数据通信设备,如调制解调器来实现。调制解调器是实现数字信号和模拟信号相互转换的设备。当计算机通过电话线连⼊互联⽹时,发送⽅的计算机发出的数字信号,通过调制解调器转换成模拟信号在电话⽹上传输;接收⽅的计算机通过调制解调器将传输过来的模拟信号转换成数字信号。通过调制解调器,两台电脑实现通信。
图14.1.2. 3两台设备远距离通信
钻井泥浆材料(2)RS-422girls kingdom
RS-422采⽤4线(2根发送、2根接收,如加上地线就5根)、差分⽅式传输,通过两对双绞线可以实现全双⼯⼯作收发。RS-422是⼀种单机发送、多机接收的双向、平衡传输,即总线上只允许⼀个主设备,可以有多个从设备,从设备之间不能通信。RS-422输出驱动器为双端平衡驱动器,具有电压放⼤的作⽤,且差分电路具有较强的抗⼲扰能⼒,所以RS-422的传输距离较长,可达⼏⼗⽶到上千⽶。
(3)RS-485
RS-485是RS-422的变形,RS-485使⽤的是⼀对双绞线,可实现半双⼯⼯作,不过,随着技术的发展,
RS-485已经有4线⽅式的了,4线的通信和RS-422⼀样具有实现多点、双向通信的能⼒。RS-485采⽤平衡发送和差分接收的⽅式,抗噪声⼲扰性好,传输距离可以达⼏⼗⽶到上千⽶。
图14.1.2. 4 RS485通信
下表中列出RS-232、RS-422和RS-485的对⽐:
表14.1.2. 2 RS-232、RS-422和RS-485通信对⽐
2. 电⽓标准
在电⼦设计中,要保证不同设备的信号之间的通讯,就会涉及到通信协议以及电平标准,电平标准有很多,常见的电平标准有TTL、
RS232、RS485、COMS和LVDS等。TT(Transistor-Transistor Logic),即晶体管逻辑集成电路,TTL电平是数字电路的⼀种通⽤接⼝电平标准,TTL电平信号直接与集成电路连接,下⾯我们以⼀张表格来区分串⾏通信的电平标准。
表14.1.2. 3电⽓标准
14.1.3 串⼝通信协议简介
串⼝通信是⼀种设备间常⽤的串⾏通信⽅式,串⼝按位(bit)发送和按位接收字节,⼀个字节(Byte)有8位,串⼝必须把这8位依次发送出去才可以完成⼀个字节的发送,⽐起按字节发送的并⾏通信速率要慢,效率较低,但是所需的线少,成本低,通信较稳定。

本文发布于:2024-09-22 19:43:55,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/46390.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:传输   设备   实现   接收   特率   时钟   信号
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议