什么是并行通信、串行通信?
嵌入式系统中的通信是指两个或两个以上的主机之间的数据互交,这里的主机可以是计算机也可以是嵌入式主机,甚至可以是芯片。主机间通信的方式一般可以分为两类:并行通信和串行通信。
并行通信是指多个比特同时通过并行线进行传输,这种方式的传输速率较高,但会占用大量的芯片资源;
串行通信是指将数据拆分成一个个比特,按照先后次序在一根总线上进行发送,串行通信有着系统占用资源少,结构简单等优点,是主机间通信的常用方式。
串口通信(Serial Port)是串行通信的一种,属于串行通信中的异步通信。我们经常听到的RS232、RS485、RS422都是串行通信。
作为常用的串行通信方式,以TTL为例,串口通信在不同主机之间的数据格式为:
1.空闲时数据线为高电平;
2.发送发发送一个低电平表示起始位;
3.发送的第一个比特是最低为(最右边);
4.校验位分为奇校验,偶校验和无校验。奇偶校验时数据位1的格式为奇数或者偶数时对应的奇偶校验位为1;
5.为保证下一个字节发送前的起始位能够表现出来,校验位之后发送一个停止位1。
什么是全双工、半双工、单工?
单工模式(Simplex Communication):主机间通信时如果一方固定为发送端另外一方固定为接收端,通过一根总线实现数据通信。这种通信方式就像是你只能听别人说话,但无法回答他们一样,只能单向传递信息。
半双工通信(Half-Duplex Communication)是一种通信方式,其中数据传输可以在两个方向之间交替进行,但不能同时进行。换句话说,通信双方可以既发送数据又接收数据,但不能同时进行这两种操作。比方说,就像你可以和别人交替说话和倾听对方说话一样。当你在说话时,对方在听你说;当对方在说话时,你在倾听对方。这种方式允许双方之间在发送和接收数据之间切换,但不能同时进行。半双工通信常用于对话式交流和一些简单的通信场景中。
全双工通信(Full-Duplex Communication)是一种通信方式,其中数据传输可以同时在两个方向进行,允许通信双方同时发送和接收数据,实现双向通信。就像打电话一样,你可以同时说话也可以听对方说话,双方可以同时进行数据传输,实现双向沟通。
什么是异步通信、同步通信?
串口通信时,收发双方的波特率必须是事先约定好的,否则数据传输就会出现混乱。
很明显,为保证每个比特占用数据线的时间,发送方和接收方需按照各自的系统计时且双方之间的误差不能太大。通常不能超过(6%)。这种双方各自“计时”的方式称为异步。就好比在打字一样,每次敲击键盘发送一个字母,速度快慢由打字者自己控制,没规定每敲击一个字母之间要等多久,只要保证接收端能够正确识别并解析即可。
同步通信设备之间除了有数据线以为还有一条时钟线(SDA和SCL)。其中SCL就是时钟线(serial clock)。发送方负责控制时钟线的变化,每发送一个比特,都需要将时钟线按照规则进行改变。就好比在合唱团里,大家一起唱歌的节奏是由指挥员指挥的,每个人都按照指挥员的节奏唱歌,保证大家唱的是同一首歌且节奏一致。这种通信方式就称为同步通信。譬如IIC、SPI等。
异步通信和同步通信:
异步通信 :没有时钟线,每个字或比特以开始和停止位标识。较简单。
同步通信:有专门的时钟线协调发送和接收时钟,确保数据的正确传输。传输更可靠。
什么是RS232和RS485:
RS232:传统的串行通信标准,适用于短距离通信,通常不超过15米。
RS232 为全双工,RS485 为半双工。
RS485:又称多点通信标准,允许多达32个设备通过一个差分串行总线连接,传输距离可以达到1200米。
RS485接口的最大传输距离标准值为 1200 米(9600bps 时),实际上可达 3000 米。RS232传输距
离有限,最大传输距离标准值为 50 米,实际上也只能用在 15 米左右。
什么是PWM?
PWM(脉冲宽度调制):通过控制脉冲的宽度来编码信号的模拟值。它通过改变一个固定频率的脉冲信号的宽度,来代表需要传输的模拟量的值。常用于数字电路控制模拟电路。
就是控制在一个周期内,控制高电平多长时间,低电平多长时间(前面文章种有说过IO口
就只有两种状态,0和1,对应就是0和5V或者0和3.3V)。也就是说通过调节高低电平时间的变化来调节信号、能量等的变化。