单片机通信传输的协议(单片机的协议是什么意思)
单片机通信传输的协议(单片机的协议是什么意思),新营销网红网本栏目通过数据整理汇集了单片机通信传输的协议(单片机的协议是什么意思)相关信息,下面一起看看。
在嵌入式系统中,板载通信接口是指用于连接各种集成电路和其他外围设备的通信通道或总线。以下是常用的板载通信接口:I2C、SPI、UART和单线:
总线I2C总线是一种同步、双向和半双工双线串行接口总线。在这里,半双工意味着在任何给定的时刻,只能进行一个方向的通信。I2C总线是由飞利浦半导体公司在20世纪80年代首次开发和销售的。I2C最初的设计目标是在微处理器/微控制器系统和电视外围芯片之间提供简单的连接。I2C总线由两条总线组成:串行时钟线SCL和串行数据线SDA。SCL ——负责产生同步时钟脉冲。SDA线——负责器件之间的串行数据传输。I2C总线是一个共享总线系统,因此多个I2C设备可以连接到该系统。连接到I2C总线的设备既可以用作主机,也可以用作从机。主机负责控制通信、发送数据,并通过初始化/终止数据传输来产生所需的同步时钟脉冲。从设备等待来自主设备的命令,并响应命令接收。主设备和从设备都可以用作发送设备或接收设备。无论主设备是发送设备还是接收设备,同步时钟信号只能由主设备产生。在同一总线上,I2C支持多个主设备同时存在。图1-1显示了I2C总线上主设备和从设备之间的连接关系。
当总线空闲时,SDA和SCL都处于高电平。当主机要和从机通信时,会先发送一个起始条件,然后发送从机的地址和读写控制位,再传输数据(主机发送或接收数据)。数据传输结束时,主机将发送停止条件。传输的每个字节为8位,最高位在前,最低位在后。
开始条件:当SCL为高时,主机拉低SDA,表示数据传输即将开始。从机地址:主机发送的第一个字节是从机地址,高7位是地址,最低位是R/W读写控制位,1表示读操作,0表示写操作。一般来说,从机地址有两种:7位地址模式和10位地址模式。如果是10位地址模式,第一个字节的前7位是11110XX的组合,其中最后两位(XX)是10位地址的最高两位,第二个字节是10位从机地址的剩余8位,如下图所示:
应答信号:每传输一个字节的数据,接收方需要回复一个ACK。从机在写入数据时发送ACK,主机在读取数据时发送ACK。当主机读取数据的最后一个字节时,它可以发送一个NACK(Notacknowledge ),后跟一个停止条件。数据:从机地址发出后,可能会发出一些指令,这取决于从机,然后数据会由主机或从机发送。每个数据为8位,数据的字节数没有限制。重复条件:在一次通信过程中,主机可能需要与不同的从机传输数据或切换读写操作,因此主机可以发送另一个开始条件。停止条件:SDA为低电平时,主机拉高SCL并保持高电平,然后拉高SDA,表示传输结束。SPI总线SPI总线是一种同步、双向、全双工4线串行接口总线,由摩托罗拉首先提出。SPI是由“一个主设备和多个从设备”组成的系统。应当注意,在系统中,只要任何时候只有一个主机有效,就可以有多个SPI主机。常用于EEPROM、FLASH、实时时钟、AD转换器、数字信号处理器、数字信号解码器中实现通信。为了实现通信,SPI有四条信号线,即:
(1)主输出从输入(MOSI):从主向从传输数据的信号线,也称为从输入/从数据输入(SI/SDI)。(2)主机输入从机输出(MISO):从机向主机传输数据的信号线,也称为从机输出/从机数据输出(SO/SDO)。(3)串行时钟(SCLK):传输时钟信号的信号线。(4)从机选择(SS):用于选择从机的信号线,低电平有效。使用SPI:
上图所示的芯片有两个SPI控制器,SPI控制器对应SPI主器件,每个SPI控制器可以连接多个SPI从器件。安装在同一SPI控制器上的从机共用三个信号引脚:SCK、MISO和MOSI,但每个从机的CS引脚是独立的。主器件芯片通过控制CS引脚来选择从器件,该引脚通常在低电平有效。任何时候,SPI主机上只有一个CS引脚处于有效状态,与有效CS引脚相连的从机此时可以与主机通信。因此,SPI通信模式可以采用“一主多从”的结构进行通信。连接到总线的每个设备都有一个唯一的地址。主设备开始数据传输并产生时钟信号,从设备由主设备寻址。同一时间只允许一个主设备。从设备的时钟由主设备通过SCLK提供,MOSI和MISO基于该脉冲完成数据传输。SPI的工作时序模式由CPOL(时钟极性)和CPHA(时钟相位)之间的相位关系决定。CPOL表示时钟信号初始电平的状态,CPOL 0表示时钟信号初始状态为低,1表示时钟信号初始电平为高。CPHA表示在哪个时钟沿采样数据,CPHA 0表示在第一个时钟变化沿采样数据,CPHA 1表示在第二个时钟变化沿采样数据。根据CPOL和CPHA的不同组合,有四种工作计时模式:CP
OL=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(R)协议。其中,按照主-从通信模型,只使用单条信号线DQ实现通信。1-Wire总线的一个重要特征在于,该总线允许在信号线上传输能量。1-Wire接口支持在总线上连接单个主设备以及一个或多个从设备。
并行接口
板上并行接口(parallel interface)通常用于系统与外围设备之间的通信,其中,外围设备通过存储器映射到系统的主控端。只要嵌入式系统的主控处理器/控制器含有并行总线,支持并行总线的设备就可以直接连接到该总线系统上。外围设备与主控端之间具有控制信号接口,可以控制并行总线上的数据通信。这里,通信的控制信号包括读/写信号和设备选择信号。一般说来,外围设备具有设备选择线;只有当主控处理器选通该线的时候,该设备才是有效的。数据传输的方向可以是从主控端到外围设备,也可以是从外围设备到主控端;这是通过读和写控制信号线进行控制的。只有主控处理器能够控制读控制信号和写控制信号。一般说来,外围设备通过存储器映射到主控处理器,从而可以访问分配的地址范围。此时,设备需要使用地址译码电路来产生芯片选择信号。当处理器选择的地址位于设备指定范围内的时候,译码电路对芯片选择线进行触发,从而激活设备。然后,处理器可以使能相应的控制线(分别是RD与WD),从而由设备读出数据,或者是向设备写入数据。为了实现并行通信,系统需要严格遵循时序规范。前面已经提到过,并行通信是由主控处理器启动的。如果某外围设备想要对通信进行初始化,那么可以向处理器发出中断,告知相关信息。为了实现上述功能,设备的中断线需要连接到处理器的中断线上,并且主控处理器需要触发相应的中断。需要说明的是,主控处理器的数据总线宽度决定了并行接口的宽度,可以是4位、8位、16位、32位、64位等。设备支持的总线宽度应该与主控处理器完全相同。
免责声明:本文内容来源于网络,整理者李逍遥;文章版权归原作者所有,意在传播相关技术知识 行业趋势,供大家学习交流,若涉及作品版权问题,请联系删除或授权事宜。
相关文章
显卡直连(笔记本的独显直连技术到底有啥用?)
陆贞历史原型(历史上真正的陆贞人物原型)
稻城亚丁几月份去(稻城亚丁什么时候值得一去)
罗马音大全可复制(韩语发音和罗马音对照表)
美白护肤品什么牌子好(4款超好用的“美白精华”)
用户名怎么填(高考志愿填报流程)
防震减灾手抄报简笔画(最新防灾减灾手抄汇总)
曹金现状(曹云金现状凄凉)
鲍叔牙与管仲典故(管仲和鲍叔牙的故事)
太和殿介绍(太和殿布局的威严美)
惊蛰破冰(数声惊蛰雷——惊蛰)
小鸡答题(小鸡庄园今天答案最新)
更多单片机通信传输的协议(单片机的协议是什么意思)相关信息请关注本文章,本文仅仅做为展示!