嵌入式串行通信方式基础概念

嵌入式串行通信方式基础概念

写这篇文章的目的

在日常工作中,经常被问到一些串口问题,由于对基础概念掌握的不够,经常会被问蒙,所以总结一下,随便借机会整理一下思路,本篇文章只整理基础的概念和一些逻辑上的一些东西,不会整理具体代码。

  1. 问题:串口收发乱码是怎么回事?
  2. 问题:usb转串口无法收发数据?
  3. 问题:485收发有概率出现错位?
  4. 问题:怎么扩展串口?都有哪些添加方式?
  5. 问题:485接口是否支持并联?
  6. 问题:spi测试程序配置的是500K,实际测试只有300K是怎么回事?

那么什么是串口呢,为什么要使用串口,串口有什么用呢?

串口出现的初期是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标和外置Modem以及老式摄像头和写字板等设备。

随着嵌入式的发展,越来越多的嵌入式设备功能越来越强大,越来越复杂,虽然数字芯片也集成了越来越多的的功能,单独一个芯片很难完成所有工作,就需要和其他芯片配合起来工作,所以就要使用总线把各个芯片连接起来,互相通信。如果我们把各个功能芯片想象成人体的各个功能器官的话,总线就是血脉和经络,通过这些路径,各个功能模块间才能进行有效的数据交换和协同工作。

串口,串行接口,又叫串行通信接口,嵌入式中所说的串行接口(Serial Interface)一般指的是com口,本篇文章所说的串行总线和“通用串行总线“(Universal Serial Bus, USB)还是有区别的。

串行接口与之相对应的另一种接口叫并口,并行接口,他们的区别打个比方,同样发送8位数据,串行接口在一根数据线上,分8次发送;而并行接口则需要8根数据线,一次发送8位数据。这样他们的优缺点也就很明显了。

目前串口多用于工控和测量设备以及部分通信设备中。

常见的串行通信方式

常见的串行通信方式有UART、SPI、IIC、CAN

这里可能会有疑问,为什么串行通信方式里面没有写TTL 、RS232、RS485。

我们在工作中习惯了把串行通信方式的接口叫成串口,其实串口、UART口、COM口、USB口都是指物理接口的形式,偏向具体硬件的叫法。

而TTL,232、485是指你的串口使用的电平标准

一般我们见到的是两种物理标准的COM口,D型9针插头,和4针杜邦线头两种。
D型9针插头
4针杜邦线头

串行通信方式的分类

在嵌入式系统中的通信方式主要有以下几种:

  1. 串行与并行通信
  2. 全双工、半双工和单工
  3. 同步和异步

我们经常使用到的总线根据数据传输方式的不同,可以分为并行总线和串行总线。本文主要介绍的是串行总线。

全双工、半双工、和单工


在串行通信中,数据通常是在两个设备之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。但单工目前已很少采用。

单工是指在通信过程的任意时刻,信息只能由一方A传到另一方B的单项传输;

半双工(half duplex)是指在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。

全双工( full duplex )就很好解释了,即指在任意时刻,信息既可由A传到B,又能由B传A的双向传输。

同步通信和异步通信


串行通信中又分为同步通信和异步通信

同步通信和异步通信的区别是:时钟线的有无。

同步通信有时钟线,收发双方通过统一的时钟来频率确定何时进行数据的传输,如I2C和SPI。

异步通信没有时钟线,可以任意时刻开始发送字符 但只能在数据的开始和尾加入标志位来区分不同的数据帧,即加上开始位和停止位,所传送的数据以字节为单位。每个字节前加上一位起始位,每个字节的后面加上停止位,接收数据之前也要预先知道波特率的大小,传输效率

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值