通信基础知识

1.1 接口技术

1.1.1 接口

我们知道CPU的作用是对数据进行处理,那它又是如何与内存或其他外设(芯片)进行数据交换的呢?接口就是CPU与外部世界的连接部件,它是CPU与外界进行信息交换的中转站。

1.1.2 并行接口

对于大数据量的交换一般会使用很多数据线来进行并行数据收发,有些甚至还有独立的地址线来进行寻址,这种接口我们叫做并行接口。嵌入式中比较典型的就是内存和Nandflash 所用的接口,如下图所示:

1.1.3 串行接口

然而大部分其它外设并没有这么频繁、这么大的数据量进行交换,使用这么多的引脚通信就会导致芯片面积比较大,这时更多的只是用一根或几根数据线来进行串行的数据交换,这种通信方式的接口叫做串行接口。
UART就是一种非常典型的串行接口。

1.1.4 四个接口技术

在嵌入式软件开发过程中,使用得最多、必须熟练掌握的接口技术包括:
1根线通信:1-Wire/W1/一线协议,典型代表DS18B20温度传感器、DHT11温湿度传感器;
2根线通信:I2C/IIC协议,典型代表SHT30温湿度传感器、OLED显示屏、RTC、触摸屏等;
3根线通信:UART/RS232/串口协议,典型代表GPS、GPRS/3G/4G、NB-IoT、串口蓝牙、WiFi 等;
4根线通信:SPI 协议,典型代表NFC芯片、SPI以太网、LoRa 等;

1.2 计算机通信

假设现在CPU需要给某个外设芯片发送字符串“Hello”,那他们是如何发送出去的呢?我们知道字符串是由字符组成的,这样“Hello”这个字符串就可以按顺序分5次发送出去,即:‘H’、‘e’、‘l’、‘1’、‘o’。而字符又是以ASCII值的形式存储的,所以这5个字符也就是以字节的形式发送的,即:0x48、0x65、Ox6C、0x6C、Ox6F。
我们知道计算机所能处理的是0、1、0、1这样的数字信号,表现在物理硬件上就是高、低电平,另外一个字节(Byte)由8个位(bit)组成,这样每个字节的数据就可以通过8个连续的高、低电平发送给对方了。

1.3 LSB与MSB

在之前学习C语言时,我们了解了存储时的大端字节序(MSB,Most Significant Bit,最高有效位)与小端字节序(LSB,Least Significant Bit,最低有效位)问题,如果低字节存储在低地址位、高字节存储在高地址上,这种存储方式称为小端字节序(LSB),反之则称为为MSB。
在这里插入图片描述

在通信协议中我们也会经常见到MSB与LSB,这是指在通信的时候,要发送一个字节八位数据时,是先发高为还是先发低位。如果先发高位(bit[7])则叫MSB,如果先发低位(bit[0])则叫LSB。

1.4 同步与异步

如果收发双方在通信时,有同步时钟信号则叫同步通信(Synchronization)。
在这里插入图片描述
如果收发双方在通信时,没有同步时钟信号则叫异步通信(Asynchronization)。
在这里插入图片描述

异步通信靠通信速率来规范高/低电平要维持多长时间来表示0/1,这个速率叫做波特率(baudrate),其单位为 bps(bits persecond)。

1.5 串行与并行

在这里插入图片描述

1.6 全双工、半双工、单工

在这里插入图片描述

1.7 电平信号和差分信号

电平信号和差分信号是用来描述通信线路传输方式的,也就是说如何在通信线路上表示1和0。
电平信号的传输线中有一个参考电平线(一般是GND),然后信号线上的信号值是由信号线电平和参考电平线的电压差决定;
差分信号的传输线中没有参考电平线,所有都是信号线(D+,D-),然后1和0的表达靠信号线之间的电压差。
电平信号的两根通信线(数据线和GND)之间的电平差异容易受到干扰,传输容易失败;
差分信号不容易受到干扰,因此传输质量比较稳定。现代通信(如网线、USB线等)一般都使用差分信号,电平信号几乎没有了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值