嵌入式系统串口解析二进制数_串口基本原理详解

原标题:串口基本原理详解

有很多有过一定嵌入式开发工作经验的朋友在从事嵌入式开发的过程当中,主要在嵌入式软件,界面等方向做的研究较多,但经常也会用串口进行调试程序,只知道串口是用来传输数据用的。但串口具体怎么用来传输数据却不太清楚,对串口的工作原理也是一知半解。接下来分享下串口具体是怎么用来传输数据的。

串行通信的基本概念

•在通信领域内,有两种数据通信方式:并行通信和串行通信

•串行通信:

•计算机与I/O设备之间数据传输的各位是按顺序依次进行传送,通常数据在一根数据线上或者一对差分线上传输。

•并行通信:

•计算机与I/O设备之间通过多条传输线交换数据,数据的各位同时传送。

•串行速度慢,但是传输设备成本低,可利用现有的通信手段和通信设备进行远程通信。并行通信速度快,但是传输设备成本高,适合近距离数据传送。需要注意:一些差分串行通信总线(RS485,RS422,USB等)他们传输距离远,且抗干扰能力强,速度也比较快。

1.1.1 数据的串行和并行通信方式

串行通信好比是一列纵队,每个数据元素依次纵向排列。如图2-57所示,传输时一个比特一个比特的串行传输,每个时钟周期传输一个比特,这种传输方式相对比较简单,速度较慢,但是使用总线数较少,通常一根接收线,一根发送线即可实现串行通信。它的缺点是要增加额外的数据来控制一个数据帧的开始和结束。

并行通信好比一排横队,齐头并进同时传输。这种通信方式每个时钟周期传输的数据量和其总线宽度成正比,但是实现较为复杂。UART通信采用的是串行方式进行通信的。

图为串行数据通信与并行数据通信

•串口的数据传输是以串行方式进行的。串口在数据通信中,一次只传输一个比特的数据。串行数据的传输速度用bps或波特率来描述。

注意:

码元:在数字通信中常常用时间间隔相同的符号来表示数字。这样的时间间隔内的信号称为码元,这个间隔称为码元长度

比特率:是信息量传送速率单位,即每秒传输二进制代码位数。bit/s

所谓差分传输,就是发送端在两条信号线上传输幅值相等相位相反的电信号,接收端对接受的两条线信号作减法运算,这样获得幅值翻倍的信号。

串行通信涉及的常用术语

•单工、半双工和全双工

•单工(Simplex)

o特点:仅能进行一个方向的数据传送

•半双工(Half Duplex)

o特点:数据可以在两个方向上进行传送,但是这种传送绝不能同时进行。[双向,但不同时]

•全双工(Full Duplex)

o特点:能够在两个方向同时进行数据传送

•数据传输率

•每秒传输的二进制位数,单位为bps(bit per second)也称比特率。

•异步方式与同步方式

•同步通信方式(Synchronous)所用的数据格式没有起始位、停止位,一次传送的字符个数可变。在传送前,先按照一定的格式将各种信息装配成一个包,该包包括供接收方识别用的同步字符一个或两个,其后紧跟着要传送的n个字符,再后就是校验字符。

•异步方式(Asynchronous):也称“起止同步式”。

奇偶校验位

奇偶校验位 (Parity)是指偶数或者奇数或甚至对一个数字的性质。多被应用于计算机硬件的错误检测中。

奇偶校验位是一个表示给定位数的二进制数中 1 的个数是奇数还是偶数的二进制数。奇偶校验位是最简单的错误检测码。奇偶校验位有两种类型:偶校验位与奇校验位。

1.1.2 异步通信和同步通信

图2-56同步信号与异步信号

同步通信技术

在发送数据信号的时候,会同时送出一根同步时钟信号,用来同步发送方和接收方的数据采样频率。如图2-56所示,同步通信时,信号线1是一根同步时钟信号线,以固定的频率进行电平的切换,其频率周期为t,在每个电平的上升沿之后进行对同步送出的数据信号线2进行采样(高电平代表1,低电平代表0),根据采样数据电平高低取得输出数据信息。如果双方没有同步时钟的话,那么接收方就不知道采样周期,也就不能正常的取得数据信息。

图2-56同步信号与异步信号

同步通信技术

在发送数据信号的时候,会同时送出一根同步时钟信号,用来同步发送方和接收方的数据采样频率。如图2-56所示,同步通信时,信号线1是一根同步时钟信号线,以固定的频率进行电平的切换,其频率周期为t,在每个电平的上升沿之后进行对同步送出的数据信号线2进行采样(高电平代表1,低电平代表0),根据采样数据电平高低取得输出数据信息。如果双方没有同步时钟的话,那么接收方就不知道采样周期,也就不能正常的取得数据信息。

异步通信技术

在异步通信技术中,数据发送方和数据接收方没有同步时钟,只有数据信号线,只不过发送端和接收端会按照协商好的协议(固定频率)来进行数据采样。数据发送方以每秒钟57600bits的速度发送数据,接收方也以57600bits的速度去接收数据,这样就可以保证数据的有效和正确。通常异步通信中使用波特率(Baud-Rate)来规定双方传输速度,其单位为bps(bits per second每秒传输位数)。

1.1.3 数据通信传输模式

在数据通信过程中,发送方和接收方为了实现数据的正确发送和接收,通常会有一个状态寄存器来描述当前数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值