单片机串口通信协议实验I2C总线SPI总线UART1-Wire接口并行接口 单片机通信协议有几种( 二 )


上图所示芯片有2 个SPI 控制器,SPI 控制器对应SPI 主设备,每个SPI 控制器可以连接多个SPI从设备 。挂载在同一个SPI 控制器上的从设备共享3 个信号引脚:SCK、MISO、MOSI,但每个从设备的CS 引脚是独立的.主设备通过控制CS 引脚对从设备进行片选,一般为低电平有效 。任何时刻,一个SPI 主设备上只有一个CS 引脚处于有效状态,与该有效CS 引脚连接的从设备此时可以与主设备通信 。所以,SPI通信方式可以使用“一主多从”的结构进行通信 。每个连接到总线上的器件都有唯一的地址,主设备启动数据传输并产生时钟信号,从设备被主设备寻址,同一时刻只允许有一个主设备 。从设备的时钟由主设备通过SCLK 提供,MOSI、MISO 则基于此脉冲完成数据传输 。SPI 的工作时序模式由CPOL(Clock Polarity,时钟极性)和CPHA(Clock Phase,时钟相位)之间的相位关系决定,CPOL 表示时钟信号的初始电平的状态,CPOL 为0 表示时钟信号初始状态为低电平,为1 表示时钟信号的初始电平是高电平 。CPHA 表示在哪个时钟沿采样数据,CPHA 为0 表示在首个时钟变化沿采样数据,而CPHA 为1 则表示在第二个时钟变化沿采样数据 。根据CPOL 和CPHA 的不同组合共有4 种工作时序模式:CPOL=0,CPHA=0、CPOL=0,CPHA=1、CPOL=1,CPHA=0、CPOL=1,CPHA=1
UART
UART——通用异步收发传输器,UART 作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输 。在应用程序开发过程中使用频率较高的数据总线 。基于UART的数据传输是异步形式的串行数据传输 。基于UART的串行数据传输不需要使用时钟信号来同步传输的发送端和接收端,而是依赖于发送设备和接收设备之间预定义的配置 。对于发送设备和接收设备来说,两者的串行通信配置(波特率、单位字的位数、奇偶校验、起始位数与结束位、流量控制)应该设置为完全相同 。通过在数据流中插入特定的比特序列,可以指示通信的开始与结束 。当发送一个字节数据的时候,需要在比特流的开头加上起始位,并在比特流的末尾加上结束位 。数据字节的最低位紧接在起始位之后 。UART 串口的特点是将数据一位一位地顺序传送,只要2 根传输线就可以实现双向通信,一根线发送数据的同时用另一根线接收数据 。UART 串口通信有几个重要的参数,分别是波特率、起始位、数据位、停止位和奇偶检验位,对于两个使用UART 串口通信的端口,这些参数必须匹配,否则通

  • 起始位:表示数据传输的开始,电平逻辑为“0”。
  • 数据位:可能值有5、6、7、8、9,表示传输这几个bit 位数据 。一般取值为8,因为一个ASCII 字符值为8 位 。
  • 奇偶校验位:用于接收方对接收到的数据进行校验,校验“1” 的位数为偶数(偶校验) 或奇数(奇校验),以此来校验数据传送的正确性,使用时不需要此位也可以 。
  • 停止位:表示一帧数据的结束 。电平逻辑为“1” 。
  • 波特率:串口通信时的速率,它用单位时间内传输的二进制代码的有效位(bit) 数来表示,其单位为每秒比特数bit/s(bps) 。常见的波特率值有4800、9600、14400、38400、115200 等,数值越大数据传输的越快,波特率为115200 表示每秒钟传输115200 位数据 。
1-Wire接口
1-Wire接口是由Maxim Dallas半导体公司(首页为http://www.maxim-ic.com)开发的异步半双工通信协议,也称为Dallas 1-Wire?协议 。其中,按照主-从通信模型,只使用单条信号线DQ实现通信 。1-Wire总线的一个重要特征在于,该总线允许在信号线上传输能量 。1-Wire接口支持在总线上连接单个主设备以及一个或多个从设备 。
并行接口

推荐阅读