0 通信实验基础知识

1、串行通信、并行通信、同步通信、异步通信

  <1> 通信根据一次性传输数据的位数不同,分为串行通信和并行通信。串行通信,传输数据是一位一位地传输,而并行通信是一次性传输多位;而串行通信中,根据传输方向的不同,又分为单工、半双工和全双工。
(1)单工是指数据只能沿一个方向传输,也就是说,如果两个设备A、B之间是单工通信,那么,数据只能由A传输到B,而不能由B传输到A。
(2)半双工,是指数据虽然可以双向传输,但是在同一个时刻,只能是单向传输,如在同一时刻,数据只能由A传输到B,在这个时刻,数据不能够由B到A。
(3)全双工,是指数据收发的过程可以同时进行,即同一时刻,A在给B发送数据,A又在接收者B发来的数据。
  <2> 通信根据是否带有时钟同步信号,分为同步通信和异步通信。同步通信的双方有共同的时钟信号。常见的同步通信有SPI、I2C;异步通信,时钟各管各的。常见的异步通信方式有UART(通用异步收发器)、单总线。

  <3> 总结:判断同步和异步,就看通信双方时钟是不是用的一个;判断串行和并行,就看数据线是一根还是多根;
  在串行通信中,判断是不是全双工,就看数据的发送线和接收线是不是同一根线。如果数据的发送和接收是独立的两根线,如UART(通用异步收发器)的连线TX和RX,则很有可能是全双工,如果数据的发送和接收用的是一根线,如单总线(1-wire)的DQ,则很有可能是半双工。


2、串行通信的错误校验

  (1)奇偶校验。
  奇偶校验中的奇和偶是指:数据中“1”的个数与校验位中“1”的个数之和,是奇数还是偶数。若通信双方规定为奇校验,而发送的一组数据中假如有6个1,为了保证是奇校验,则校验位再补个1,这样1的个数就成了7,为奇数。

  (2)代码和校验。
  发送方将所发数据块求和(或者不求和,做“各字节异或”操作),产生一个字节的校验字符(校验和),附加到数据块末尾。而接收方在接收到数据后,也对收到的数据做同样的求和处理,得到的结果与发送方的和相比较,来判断数据的传输是否正确。

  (3)循环冗余校验。
  通过某种数学运算,有效信息与校验位之间的循环校验。纠错能力强,广泛应用于同步通信中。


3、传输速率与传输距离

  (1)传输速率
  波特率:指的是 每秒传输的二进制代码的位数。单位:位/秒 bps。
  (2)传输距离
  传输的最大距离与如下量有关:<1>传输速率;<2>传输线的电气特性。


4、STM32F407ZGT6的串口资料

  STM32F407ZGT6提供了6个串口。
  USART(通用同步异步收发器)
  常用串口相关寄存器:

  (1)USART_SR状态寄存器



SR 状态寄存器


  (2)USART_DR数据寄存器

DR 数据寄存器


  (3)USART_BRR波特率寄存器


BRR 波特率寄存器

你可能感兴趣的:(0 通信实验基础知识)