串口基本知识
一、什么是串口通讯?
举个例子,人与人之间的沟通可通过书面文件,语音或视频来交换信息。那么设备和计算机之间用来交换信息的桥梁是什么呢?那就是串口通讯。串口通信是以串行数字二进制形式用不同方法交换数据的方式。
二、 传输模式的分类
传输模式可分为单工,半双工和全双工。每种传输模式都有一个源(也称为发送器)和目的地(也称为接收器)。
在单工模式下,只有一个客户端(发送方或接收方一次处于活动状态)。如果发送者发送,接收者只能接收。例如:无线电和电视传输。
在半双工模式下,发送方和接收方都是活动的但不是一次,即如果发送方发送,接收方可以接收但不能发送。比如互联网,如果客户端(电脑)发送网页请求,则Web服务器处理该应用程序并发回该信息。
在全双工模式下,发送方和接收方都可以同时发送和接收。最常用的就是智能手机。
三、串行和并行通信之间的区别
串行通信一次只发送一位,需要更少的I/ O线。因此,占用更少的空间并且更能抵抗串扰。串行通信的主要优点是整个嵌入式系统的成本变得便宜并且可以长距离传输信息。串行传输用于DCE(数据通信设备)设备,如调制解调器。
并行通信一次发送一块数据(8,16或32位)。因此,每个数据位都需要一个单独的物理I/ O线。并行通信的优点是速度快,缺点是用了更多的I/O线。并行传输用于PC(个人计算机),用于互连CPU(中央处理单元),RAM(随机存取存储器),调制解调器,音频,视频和网络硬件。
四、 同步串行接口和异步串行接口
为了有效地处理串行设备,时钟是主要来源。每个串行设备的时钟信号不同,它分为同步协议和异步协议。
①同步串行接口
同步串行接口上的所有设备都使用单CPU总线来共享时钟和数据,数据传输更快。优点是波特率不会失配。此外,接口组件需要更少的I / O线。例如I2C,SPI和CAN等。
I2C协议
I2C(内部集成电路)是一种双线双向协议,用于在同一总线上的不同设备之间交换数据。I2c使用7位或10位地址,允许最多连接1024个设备。但是,它需要时钟信号来产生启动和停止条件。其优点是它提供400 kbps的数据传输。它适用于车载通信。
SPI协议
SPI(串行外设接口)协议以连续的流方式发送和接收数据,不会中断。建议该协议用于高速数据通信。它可以提供的最大速度是10 Mbps。
与i2c不同,SPI有4条线。它们是MOSI(主输出从机),MISO(主机输出),时钟和从机选择信号。从理论上讲,我们可以连接无限数量的从设备,实际上它取决于总线的负载电容。
CAN协议
该协议专用于车辆系统或汽车。它是一种面向消息的协议,用于多路电线以节省铜。它是一种多主多串行总线,用于车辆自动启动/停止,防撞系统等应用。
②异步串行接口
异步通信是以字符为单位进行传输,字符之间没有固定的时间间隔要求,而每个字符中的各位则以固定的时间传送。 收发双方取得同步是通过在字符格式中设置起始位和停止位的方法来实现。
具体来讲,在一个有效字符正式发送之前,发送器先发送一个起始位,然后发送有效字符位,在字符结束时再发送一个停止位,起始位至停止位构成一帧。停止位至下一个起始位之间是不定长的空闲位,并且规定起始位为低电平(逻辑值为0),停止位和空闲位都是高电平(逻辑值为1),这样就保证了起始位开始处一定会有一个下降沿,由此就可以标志一个字符传输的起始。而根据起始位和停止位也就很容易的实现了字符的界定和同步。
所以,采用异步通信时,发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,可以互不同步。
异步串口通讯的数据格式
一个字节的数据要分8次传输,由低位LSB到高位按顺序一个字符一个字符地传输。
传输一个字符时,总是以“起始位(低电平0)”开始,提示接收器数据传输即将开始;
数据位一般为8位一个字节的数据(也有6、7位的情况);
校验位用来判断接收的数据位有无错误。分为无校验位/奇校验/偶校验;
以“停止位(高电平1)”结束,停止位后面是不定长的空闲位,停止位和校验位都规定为高电平。
异步协议适用于稳定通信。这些用于长距离应用。异步协议的示例是RS-232,RS-422和RS-485。
五、名词理解
1.什么是波特率?
波特率是以每秒比特数的形式从发送器向接收器传输数据的速度。一些标准波特率是1200,2400,4800,9600,57600,115200。
设备的两端必须设置相同的波特率(移动和笔记本电脑)。
波特率越高,可以在更短的时间内传输更多数据。
但由于接收器端的采样频率不匹配,建议使用最多115200作为安全限制。
赞 (0)