串行通信的基本概念
- 格式:doc
- 大小:26.50 KB
- 文档页数:2
串行通信基础知识本节简要概括了串行通信中的相关概念,为学习PC 机与MCU 的串行通信做准备。
1. 基本概念我们知道,“位”(bit )是二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0”和“1”表示。
在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(byte )。
串行通信的特点是:数据以字节为单位,按位的顺序从一条传输线上发送出去。
这里至少涉及到以下几个问题:第一,每个字节之间是如何区分的?第二,发送一位的持续时间是多少?第三,怎样知道传输是正确的?第四,可以传输多远?等等。
这些问题属于串行通信的基本概念。
串行通信分为异步通信与同步通信两种方式,本节主要给出异步串行通信的一些常用概念。
正确理解这些概念,对串行通信编程是有益的。
① 异步串行通信的格式在MCU 的英文芯片手册上,通常说SCI 采用的是NRZ 数据格式,英文全称是:“standard non-return-zero mark/space data format ”,可以译为:“标准不归零传号/空号数据格式”。
这是一个通信术语,“不归零”的最初含义是:用负电平表示一种二进制值,正电平表示另一种二进制值,不使用零电平。
“mark/space ”即“传号/空号”分别是表示两种状态的物理名称,逻辑名称记为“1/0”。
对学习嵌入式应用的读者而言,只要理解这种格式只有“1”、“0”两种逻辑值就可以了。
图3.3.1给出了8位数据、无校验情况的传送格式。
这种格式的空闲状态为“1”,发送器通过发送一个“0”表示一个字节传输的开始,随后是数据位(在MCU 中一般是8位或9位,可以包含校验位)。
最后,发送器发送1到2位的停止位,表示一个字节传送结束。
若继续发送下一字节,则重新发送开始位,开始一个新的字节传送。
若不发送新的字节,则维持“1”的状态,使发送数据线处于空闲。
从开始位到停止位结束的时间间隔称为一帧(frame )。
所以,也称这种格式为帧格式。
串行通信的基本概念1.串行通信与并行通信在微型计算机中,通信(数据交换)有两种方式:串行通信和并行通信。
串行通信——是指计算机与I/O设备之间仅通过一条传输线交换数据,数据的各位是按顺序依次一位接一位进行传送。
并行通信——是指计算机与I/O设备之间通过多条传输线交换数据,数据的各位同时进行传送。
应该理解所谓的并行和串行,仅是指I/O接口与I/O设备之间数据交换(通信)是并行或串行。
无论怎样CPU与I/O接口之间数据交换总是并行。
二者比较:串行通信的速度慢,但使用的传输设备成本低,可利用现有的通信手段和通信设备,适合于计算机的远程通信;并行通信的速度快,但使用的传输设备成本高,适合于近距离的数据传送。
2.异步串行方式的特点和字符格式(1)异步串行方式的特点所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。
异步串行通信的特点可以概括为:①以字符为单位传送信息。
②相邻两字符间的间隔是任意长。
③接收时钟和发送时钟只要相近就可以。
异步方式特点简单的说就是:字符间异步,字符内部各位同步。
(2)异步串行方式的数据格式(字符格式)异步串行通信的数据格式如图1所示,每个字符(每帧信息)由4个部分组成:①1位起始位,规定为低电0;②5~8位数据位,即要传送的有效信息;③1位奇偶校验位;④1~2位停止位,规定为高电平1。
图1 异步串行数据格式3.同步串行方式的特点和数据格式(1)同步串行方式的特点所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。
同步串行通信的特点可以概括为:①以数据块为单位传送信息。
②在一个数据块(信息帧)内,字符与字符间无间隔。
③接收时钟与发送进钟严格同步。
(2)同步、串行方式的数据格式同步串行通信的数据格式如图2所示,每个数据块(信息帧)由3个部分组成:①2个同步字符作为一个数据块(信息帧)的起始标志;②n个连续传送的数据③2个字节循环冗余校验码(CRC)图2 同步串行数据格式4.波特率、波特率因子与位周期波特率——是指单位时间传输二进制数据的位数,其单位为位/秒(B/S)或波特。
简述单片机串行通信的波特率摘要:一、单片机串行通信的基本概念二、波特率的定义及意义三、波特率的计算方法四、波特率与通信距离、数据速率的关系五、如何选择合适的波特率六、结论正文:一、单片机串行通信的基本概念单片机串行通信是指单片机通过串行接口与其他设备进行数据传输的过程。
在这个过程中,数据是一位一位地按照一定的时间间隔依次传输,从而实现数据的远程传输和控制。
串行通信在电子设备、计算机网络等领域有着广泛的应用。
二、波特率的定义及意义波特率(Baud Rate)是衡量串行通信数据传输速率的重要指标,它表示每秒钟传输的比特数。
波特率越高,数据传输速率越快。
在实际应用中,波特率决定了通信的稳定性和可靠性,因此选择合适的波特率至关重要。
三、波特率的计算方法波特率的计算公式为:波特率= 数据速率/ 传输位数。
其中,数据速率指的是单位时间内传输的比特数,传输位数指的是每个数据帧中数据的位数。
四、波特率与通信距离、数据速率的关系波特率与通信距离和数据速率之间存在一定的关系。
通信距离较远时,信号衰减较大,可能导致数据传输错误,此时应降低波特率以提高通信的可靠性。
而数据速率较高时,传输时间较短,可以适当提高波特率以提高传输效率。
五、如何选择合适的波特率选择波特率时,应综合考虑通信距离、数据速率、传输可靠性等因素。
在保证通信可靠性的前提下,尽量选择较高的波特率以提高传输效率。
此外,还需注意波特率与通信协议的兼容性,确保不同设备之间的顺畅通信。
六、结论单片机串行通信的波特率是衡量数据传输速率的重要指标,选择合适的波特率对保证通信的稳定性和可靠性具有重要意义。
串行通讯的基本概念:与外界的信息交换称为通讯。
基本的通讯方式有并行通讯和串行通讯两种。
一条信息的各位数据被同时传送的通讯方式称为并行通讯。
并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。
一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。
串行通讯的距离可以从几米到几千米。
根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。
串行通讯又分为异步通讯和同步通讯两种方式。
在单片机中,主要使用异步通讯方式。
MCS_51单片机有一个全双工串行口。
全双工的串行通讯只需要一根输出线和一根输入线。
数据的输出又称发送数据(TXD),数据的输入又称接收数据(RXD)。
串行通讯中主要有两个技术问题,一个是数据传送、另一个是数据转换。
数据传送主要解决传送中的标准、格式及工作方式等问题。
数据转换是指数据的串并行转换。
具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据。
单工、半双工和全双工的定义如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。
如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。
如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。
电话线就是二线全双工信道。
由于采用了回波抵消技术,双向的传输信号不致混淆不清。
双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。
--------> <--------> -------->A---------B A----------B A---------B<--------单工半双工全双工串口通讯—全双工和半双工方式在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。
串行通信实验原理序串行通信技术是一种基本的数字通信技术,它已经广泛地应用于现代的数字通信系统中。
与并行通信相比,串行通信在处理速度高、传输距离远、信号线使用少等方面具有很大的优势,因此在现代计算机内部以及计算机与外部设备之间的通信中应用广泛。
串行通信实验是理解串行通信原理和掌握串行通信应用的基本途径之一。
本文将介绍串行通信实验的原理、步骤以及注意事项,希望能够对读者在学习串行通信方面起到一定的帮助。
一、实验原理1.串行通信的基本概念串行通信是一种数据传输的方式,数据信号按照一个比特一个比特地顺序传输,每个比特之间通过同步信号进行分隔。
与之相对应的是并行通信,其数据信号在多根信号线上并行传输。
串行通信具有传输距离远、传输速度快、线路简单等优点,因此被广泛应用于各种数字通信系统中。
2.串行通信的实现串行通信的实现需要用到一些重要的电路,包括移位寄存器、同步信号发生器等。
移位寄存器用于将数据按照顺序存入、读出,并进行位移操作;同步信号发生器则用于发生用于分隔数据的同步信号,使得发送方和接收方的时序保持一致。
三、实验步骤本实验以ASM51单片机为例,演示了串行通信的应用过程。
1.硬件连接将示波器的通道1连接到P1.0引脚上,通道2连接到P3.0引脚上,波形分别对应发送数据和接收数据。
2.编写程序编写程序,对串行通信的数据发送、接收、位移等进行设置和控制,具体实现过程如下:(1) 设置移位寄存器,将需要发送的数据从高位开始存入。
(2) 设置同步信号发生器,发生用于分隔数据的同步信号。
(3) 控制寄存器进行位移操作,将数据按照顺序读出并发送。
(4) 在接收方,需要通过串行口中断方式对接收到的数据进行判断和处理。
3.实验操作按照编写的程序对硬件进行操作,发送一些测试数据,观察示波器上的波形变化,以及数据是否正确接收和处理。
四、实验注意事项1.串行通信实验需要耐心和细心,对硬件和程序进行仔细的连接和设置。
2.在传输数据时,需要保证发送方和接收方的时序保持一致,否则可能会导致数据发送失败或者数据接收错误,因此需要认真设置同步信号发生器。
串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。
串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。
串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。
1.串行通信在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8次,由低位到高位按顺序一位一位的进行传送。
串行通信的数据是逐位传输的,发送方发送的每一位都具有固定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。
不仅如此,接收方还必须能够确定一个信息组的开始和结束。
常用的两种基本串行通信方式包括同步通信和异步通信。
1.1串行同步通信同步通信(SYNC:synchronous data communication)是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这样就保证了通信双方在发送和接收数据时具有完全一致的定时关系。
同步通信把许多字符组成一个信息组(信息帧),每帧的开始用同步字符来指示,一次通信只传送一帧信息。
在传输数据的同时还需要传输时钟信号,以便接收方可以用时针信号来确定每个信息位。
同步通信的优点是传送信息的位数几乎不受限制,一次通信传输的数据有几十到几千个字节,通信效率较高。
同步通信的缺点是要求在通信中始终保持精确的同步时钟,即发送时钟和接收时钟要严格的同步(常用的做法是两个设备使用同一个时钟源)。
在后续的串口通信与编程中将只讨论异步通信方式,所以在这里就不对同步通信做过多的赘述了。
1.2串行异步通信异步通信(ASYNC:asynchronous data communication),又称为起止式异步通信,是以字符为单位进行传输的,字符之间没有固定的时间间隔要求,而每个字符中的各位则以固定的时间传送。
在异步通信中,收发双方取得同步是通过在字符格式中设置起始位和停止位的方法来实现的。
串行通信的基本概念000通过上一章的介绍,读者对我电子琴的设计已经有了完整的了解,下面我就对我的设计重要组成部分――串口通信模块UART作一下介绍。
首先我要简要介绍一下串口通信的一些概念和协议标准,然后再阐述我是如何用VHDL语言来实现串口通信模块设计的。
4.1串行通信的基本概念1.数据传送方式在串行通信中,数据在通信线路上的传送有三种方式:1)单工(Simplex)方式:数据只能按一个固定的方向传送。
2)半双工(Half-duplex)方式:数据可以分时在两个方向传输,但是不能同时双向传输。
3)全双工(Full-duplex)方式:数据可以同时在两个方向上传输。
2.波特率和收/发时钟1)波特率所谓波特率,系指单位时间内传送的二进制数据的位数,以位/秒为单位,所以有时也叫数据位率。
它是衡量串行数据传送速度快慢的重要指标和参量。
2)收/发时钟在串行通信中,无论是发送还是接收,都必须有时钟信号对传送的数据进行定位和同步控制。
通常收/发时钟频率与波特率之间有下列关系:收/发时钟频率=n×波特率一般n取1,16,32,64等。
对于异步通信,常采用n=16;对于同步通信,则必须取n=1。
3.误码率和串行通信中的差错控制1)误码率所谓误码率,是指数据经过传输后发生错误的位数(码元数)与总传输位数(总码元数)之比,其与通信线路质量、干扰大小及波特率等因素有关,一般要求误码率达到10-6数量级。
2)差错控制为了减小误码率,一方面要从硬件和软件两个面对通信系统进行可靠性设计,以达到尽量少出错的目的;另一方面就是对传输的信息采用一定的检错、纠错编码技术,以便发现和纠正传输过程中可能出现的差错。
常用的编码技术有:奇偶校验、循环冗余码校验、海明码校验、交叉奇偶校验等。
4.串行通信的基本方式串行通信的基本方式可分为两种:1)异步串行方式:通信的数据流中,字符间异步,字符内部各位间同步。
2)同步串行方式:通信的数据流中,字符间以及字符内部各位间都同步。
串行通信的基本概念
串行通信是指两个功能模块只通过一条或两条数据线进行数据交换。
发送方需要将数据分解成二进制位,一位、一位地分时经过单条数据线传送。
接受方需要一位一位地从单条数据线上接收数据,并且将它们重新组装成一个数据。
串行通信数据线路少,在远距离传送时比并行通信的造价低。
但是一个数据只有经过若干次以后才可以传送完,速度较慢。
串行通信时,需要解决以下问题:
●双方约定的发送与接受速率(波特率)。
●约定采用的数据格式(贞格式)。
●接受方怎样知道一批数据的开始、结束(贞同步)。
●接受方怎样从数据流中采样每位数据(位同步)。
●接受方怎样判断接收数据的正确性(数据校验),如何处理收发错误。
解决这些问题的方法大体有同步通信与异步通信两种。
(1)异步通信
异步通信以字符为单位传送,为了解决贞同步,每个字符都附加了一些控制信息,由4部分组成一位起始位(低电平)、5——8位数据位、一位奇偶校验位、1——2位停止位(高电平)。
两个字符之间的间隔是任意的,中间可以填充空闲位(高电平)。
只要接受方检测到数据线上出现了由高电平向低电平的跳变,并且低电平能持续一段时间,就表明已经就收到一桢数据的开始。
这时可以按照接受时钟从数据线上采样数据,直到接收到了停止位表明接受完一桢数据。
接收方还可以通过奇偶校验位判断数据传送过程中是否出现错误。
异步传送控制比较简单,对发送与接收时钟要求不很严格,不会造成错误累积,但是由于每个数据在传送时都要附加控制信息,约有20%的冗余,传送效率并不高,为50——9600波特之间。
(2)同步通信
同步通信以数据块为单位进行传颂,为了解决贞同步,在每一批数据流之前,附加同步信息(1——2个同步字符),最后以校验字符结束。
如果在数据传送过程中,发生数据断流(即发送方没有数据可发送)应以同步字符填充。
接收方检测到协议要求的1——2个同步字符后,就可以认为双方已经取得一致,之后就可以在严格的时钟控制下采样数据线接收数据。
当然同步通信可以根据校验字符判断所接收的一批字符是否在传送过程中出现错误。
同步通信的传送速率较高,在1——2个同步字符的带领下,就可以源源不断的发送接收。
但是同步通信对双方的时钟要求很严格,并且容易造成错误累积。
串行通信中的常用术语
(1)传送机制
穿行传送有单工、半双工、全双工三种传送方向。
单工是指发送方与接收方只有一条数据线路,而且这条数据线路永远只能进行余个方向的传输。
半双工是指发送方与接收方也只有一条数据线路,但这条数据线路可以在不同时刻进行两个方向的传输。
全双工是指发送方与接收方有两条数据线路,同一时刻可以利用这两条数据线路进行不同方向的数据传输。
(2)调制与解调
计算机内使用的是数字信号,要求的频带很宽,而一般的通信线路如电话线路的频带只有
300HZ——3400HZ。
为了能通过电话线传送数据,必须要把数字信号变成符合线
路要求的模拟信号,这就是调制。
常用的调制方法有调频、调相、调幅。
而将电话线路上的模拟信号变为计算机可以接受的数字信号就是解调。
(3)传输率
传输率是指每秒传送的二进制位的个数,通常与波特率相同。
但是严格地讲波特率是指每秒传送的离散信号的个数。
二者的概念不尽相同。
当采用调幅方式使二者在数值上相等。
计算机中常用的一些标准波特率系列为:110,150,300,600。
1200。
2400,4800,9600,19200。
通信是根据传送的波特率来确定发送和接收时钟的。
时钟频率和波特率之间的关系为:
时钟频率=N*波特率
这里的N为波特率系数,常为1,16,32,64。
一定的波特率系数可以避免假启动和噪声干扰。
串行通信过程中常见的错误
串行通信中常见的错误有奇偶校验错、溢出错、桢格式错。
奇偶校验错是指:接收方接受到的数据中1的个数与奇偶校验位不符,通常是由噪声干扰引起的,发生这种错误时接收方应该要求发送方重新发送。
溢出错是指接收方与发送方的速率不匹配,接受方没有来得及处理接受来的数据,发送方已经发送来下一个数据,造成数据丢失。
可以通过降低发送方的发送速率或者在接受方设置多机缓冲结构等方法来减少这种错误。
桢格式错是指接收方接阿收的字符格式与协议不符,这种错误多半是由双方协议不明确或噪声干扰引起的。