通信
1.1通信是什么;
通信是将一个设备的数据发送到另一个设备中,从而实现硬件的扩展;
1.2通信的目的是什么;
实现硬件的扩展-在STM32中集成了很多功能,例如PWM输出,AD采集,定时器等,在STM32中是通过内部硬件电路实现的,可以通过指针操作相应的寄存器,来控制硬件电路,通过读来获取电路状态,通过写来操控电路;而有一些功能是STM32内没有集成的例如蓝牙无线遥控,陀螺仪测姿态等,此时需要外挂模块,来实现这些功能,而这些功能的数据是保存在外挂模块的寄存器中的,STM32想要获取这些数据来控制外挂模块就需要与该设备进行通信,通过读写外挂模块相应的寄存器,实现对外挂模块的控制,从而达到硬件扩展的功能;
1.3设备间如何进行通信
通过在设备间连接一根或者多根通信线,实现数据的接收和数据的发送,从而达到主控模块控制外挂模块的功能;
1.4通信协议是什么;
通信协议是指通信双方规定的通信规则,双方按照协议进行数据的收发;
1.5有哪些通信协议;
主要的通信方式:串口通信(USART),I2C,SPI,CAN,USB通信;
1.6通信协议有哪些模式;
通信方式的特点主要由以下几种模式决定:双工模式,时钟模式,电平模式,设备模式;
1.7通信特性具体是什么;
1.7.1双工模式:
双工模式分为全双工,半双工,单工;
全双工:通信双方可以同时接收或者发送数据,一般有两根通信线,接收线路和发送线路互不干扰,全双工;
半双工:通信双方在指定时间,只能接收或者只能发送,一根通信线,半双工;
单工:数据只能由一个设备发送另一个设备接收,一根通信线(全双工撤去一根通信线可转换为单工);
1.7.2时钟模式
同步时钟:通信双方在时钟线的时钟脉冲驱动下,进行数据的收发;
异步时钟:通信双方没有时钟线,需要双方约定传输频率(波特率),根据传输频率来接收数据;
*波特率和比特率
波特率:单位时间内接收的码元个数,单位是码元/s,也称波特;在通信系统中,二进制的一位称为码元或者符号;波特率是指单位时间内传送二进制数据的位数,单位用bps(位/秒)表示,记作波特。
比特率:单位时间内接收的比特的个数,单位是bit/s,比特率来衡量异步串行通信的数据传输速率,即单位时间内传送二进制有效数据的位数,单位用bps表示。
在二进制下波特和比特是相同的,多进制下是不同的;
1.7.3电平模式
单端信号:通信线上的电平是对GND的电平,所以通信设备需要共地;
差分信号:俩根传输线上的电位差,差分信号具有很强的抗干扰性,所以差分信号一般可以传输很远的距离;
1.7.4设备模式
点对点设备:
多设备;
多设备分为一主多从模式和多主多从模式;
一主多从模式:指的是有一个主机,多个从机,主机对总线的时钟线有绝对的控制权,从机在任何时候都只能接收,不能发送;主机在数据线空闲时候,可以调用,从机只能在接收或者发送数据的时候才可以短暂的控制;
多主多从模式
一根总线上挂载了多个设备,这些设备既可以作为从机又可以作为主机;
又分为:固定多主机模式和可变多主机模式;
固定多主机模式:主机的数量是固定的,每个主机都可以掌握总线的控制权,当多个主机同时申请总线控制权时,总线进行仲裁,失败的让出总线控制权;
可变多主机模式:每一个挂载在总线的设备都可以作为主机,当需要作为主机与其他设备进行通信时,申请总线控制权,对从机设备进行寻址即可,通信完成后,让出总线控制权,变回从机;当多个主机同时申请总线控制权时,总线进行仲裁,失败的让出总线控制权;
|