通讯简介

本文介绍了嵌入式开发中的通讯基础知识,包括并行通讯与串行通讯的区别,全双工、半双工和单双工的特性,同步通讯与异步通讯的比较,以及波特率和比特率的概念。通过这些内容,帮助读者理解通讯在嵌入式系统中的重要性和基本工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在进行嵌入式开发中,通讯是非常重要的,其是整个系统的神经网络,而算法便是整个系统的大脑。只有利用各种适用的通讯协议,我们才能实现系统之间以及系统与外部环境之间的数据传输、信息交换等功能,大脑才能获得各种其需要的信息。所以,本文对通讯进行简单的介绍,由于本人并非科班出生,所以难免有理解错误的地方,还望各位读者可以不吝指正,谢谢!

并行通讯与串行通讯

基本特点

顾名思义,并行通讯方式则每次可以传输多位数据,而对于串行传输方式,则每次只能传输一位数据

两者的特性

特性串行通讯并行通讯
距离较远较近
抗干扰能力较强较弱
传输速率较低较高
成本较低较高
数据线一条多条

全双工、半双工和单双工

按照通讯的方向,通讯的方式又被分为全双工半双工单双工

全双工

同一时刻,两个设备之间能够同时收发数据

半双工

两个设备之间均可以发送和接收数据,但是不能同时收发数据。

单双工

一个设备只能发送数据,另一个设备只能接收数据

同步通讯和异步通讯

同步通讯

需要时钟信号进行同步的通讯方式,并且需要指定在什么时候开始对数据进行传输或者采样。比如:SPI协议SDIO协议

异步通讯

不需要时钟信号进行同步的通讯方式。比如:I2C协议USART协议,它们依靠特殊的数据位信息,对数据进行处理。

同步与异步通讯比较

使用同步通讯方式的一帧数据中的大部分都是有效数据,而异步通讯方式的数据包含各种标识符,比如:起始位、停止位、校验位等信息,所以一帧数据中的有效数据较少
但是,同步通讯对时钟的要求更高,所以控制起来更加繁琐。

通讯速率

通讯协议中的通讯速率是衡量通讯性能的一个非常重的要参数。在实际应用中,通常以比特率来表示通讯速率,单位为bit/s,即每秒钟传输的数据位数。既然说到比特率,那么不得不提到另一个概念—波特率。对于我这样的入门选手而言,真的是很容易将两个概念混淆。
比特率指的是每秒钟传输的码元数量,而码元是通讯信号调制的概念:利用官方的语言来说:
在数字通信中常常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为(二进制)码元”。 而这个间隔被称为码元长度。单位为"波特",常用符号"Baud"表示,简写为"B"。
通俗的说就是,就是可以用多少Bit的数据表示一种状态。比如:我们用0V表示数字0,用3.3V表示数字1,那么一个码元可以表示两种状态,即0和1,此时,一个码元等于一个二进制比特位。这个时候,波特率和比特率在数值上是相等的。
再比如:我们用0V、2V、 4V 以及 6V 分别表示二进制数 00、 01、 10、 11,那么每个码元可以表示四种状态,即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的一半了。

总结

本文是我在学习STM32开发板的过程中进行总结的一些笔记,并不涉及具体的开发过程,只是作为一个简单的总结,希望可以让和我一样的童鞋对通讯有一个简单的了解,大家可以一起进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值