UART、IIC、SPI通信协议

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路有数据传输,按照约定的波特率从低位到高位
接收数据,数据接收完毕后,接着接收并比较奇
偶校验位是否正确,如果正确则通知后续设备准
备接收数据或存入缓存。
10位串行字符收发时序图
IIC
• IIC为串行外设百度文库口, IIC总线是双向、两线(SCL、 SDA)、串行、多主控(multi-master)接口标准, 具有总线仲裁机制,通常两线需要接上拉电阻, 非常适合在器件之间进行近距离、非经常性的数 据通信。
通信协议
• UART作为异步串口通信协议的一种,工作原理 是将传输数据的每个字符一位接一位地传输。 • 其中各位的意义如下: • 起始位:先发出一个逻辑”0”的信号,表示传输 字符的开始。 • 资料位:紧接着起始位之后。资料位的个数可以 是4、5、6、7、8等,构成一个字符。通常采用 ASCII码。从最低位开始传送,靠时钟定位。
IIC通信协议
• IIC总线进行数据传送时,时钟信号为高电平期 间,数据线上的数据必须保持稳定,只有在时钟 线上的信号为低电平期间,数据线上的高电平或 低电平状态才允许变化。 • 起始信号:SCL线为高电平期间,SDA线由高电 平向低电平的变化表示起始信号。 • 终止信号 :SCL线为高电平期间,SDA线由低电 平向高电平的变化表示终止信号。
SPI的点对点传输
在点对点的通信中,SPI接口不需要进行寻址操作,且 为全双工通信,显得简单高效。在多个从器件的系统中,每 个从器件需要独立的使能信号,硬件上比I2C系统要稍微复 杂一些。
SPI总线接口及时序
SPI 模块为了和外设进行数据交换,根据外 设工作要求,其输出串行同步时钟极性和相位可 以进行配置,时钟极性(CPOL)对传输协议没 有重大的影响。如果 CPOL=0,串行同步时钟的 空闲状态为低电平;如果CPOL=1,串行同步时 钟的空闲状态为高电平。时钟相位(CPHA)能 够配置用于选择两种不同的传 输协议之一进行数 据传输。如果CPHA=0,在串行同步时钟的第一 个跳变沿(上升或下降)数据被采样;如果 CPHA=1,在串行同步时钟的第二个跳变沿 (上 升或下降)数据被采样。SPI主模块和与之通信 的外设音时钟相位和极性应该一致。
• 奇偶校验位:资料位加上这一位后,使得“1”的 位数应为偶数(偶校验)或奇数(奇校验),以此来校 验资料传送的正确性。 • 停止位:它是一个字符数据的结束标志。可以是1 位、1.5位、2位的高电平。 由于数据是在传输线 上定时的,并且每一个设备有其自己的时钟,很 可能在通信中两台设备间出现了小小的不同步。 因此停止位不仅仅是表示传输的结束,并且提供 计算机校正时钟同步的机会。适用于停止位的位 数越多,不同时钟同步的容忍程度越大,但是数 据传输率同时也越慢。 • 空闲位:处于逻辑“1”状态,表示当前线路上没 有资料传送。
起始信号和终止信号图解
数据传送格式
每一个字节必须保证是8位长度。数据传送时,先传 送最高位(MSB),每一个被传送的字节后面都必 须跟随一位应答位(即一帧共有9位)。如果一段时 间内没有收到从机的应答信号,则自动认为从机已 正确接收到数据。
AT24C02的芯片地址
AT24C02的芯片地址如图,1010为固定,A0, A1,A2正好与芯片的1,2,3引角对应,为当前电路 中的地址选择线,三根线可选择8个芯片同时连接在电 路中,当要与哪个芯片通信时传送相应的地址即可与 该芯片建立连接,TX-1B实验板上三根地址线都为0。 最后一位R/W为告诉从机下一字节数据是要读还是写, 0为写入,1为读出。
SPI
• SPI是串行外设接口(Serial Peripheral Interface )的缩写。SPI,是一种高速的,全双工,同步的 通信总线,并且在芯片的管脚上只占用四根线, MOSI、MISO、SCLK、CS。 • SPI的通信原理很简单,它以主从方式工作,这种 模式通常有一个主设备和一个或多个从设备,需 要至少4根线,事实上3根也可以(单向传输时)。 也是所有基于SPI的设备共有的, MOSI(主机发 送,从机接收)、MISO (从机发送,主机接 收)、SCLK(时钟)、CS(片选)。
UART、IIC、SPI通信协议
UART
• 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一 种异步收发传输器,是电脑硬件的一部分。将资 料由串行通信与并行通信间作传输转换,作为并 行输入成为串行输出的芯片,通常集成于其他通 讯接口的连结上。
• 数据传送速率用波特率来表示,即每秒钟传送的 二进制位数。例如数据传送速率为120字符/秒, 而每一个字符为10位(1个起始位,8个数据位, 无校验位,1个结束位),则其传送的波特率为 10×120=1200字符/秒=1200波特。
数据通信格式
低 位 在 前
高 位 在 后
多字节数据传输
注:异步通信是按字符传输的,接收设备在收到起始 信号之后只要在一个字符的传输时间内能和发送设备 保持同步就能正确接收。下一个字符起始位的到来又 使同步重新校准(依靠检测起始位来实现发送与接收 方的时钟自同步的)
UART工作原理
• 发送数据过程 空闲状态,线路处于高电位;当收到发送数据指 令后,拉低线路一个数据位的时间T,接着数据 按低位到高位依次发送,数据发送完毕后,接着 发送奇偶校验位和停止位(停止位为高电位), 一帧数据发送结束。
• 接收数据过程 空闲状态,线路处于高电位;当检测到线路的下
降沿(线路电位由高电位变为低电位)时说明线
写过程时序图
首先是起始信号,然后是目标设备的7位地址+0, 确认目标设备存在,收到响应,接着是目标设备的字 节地址,字节地址存在,则收到响应,然后发送一字 节的数据,目标设备收到后则响应,一字节数据传输 完毕,从机释放SDA总线,SDA线电平由低到高,传 输结束。
读过程时序图
首先是起始信号,然后是目标设备的7位地址+0, 确认目标设备存在,收到响应,接着是目标设备的字 节地址,字节地址存在,则收到响应。然后重新开始, 发送目标设备的字节地址+1,收到响应后读取目标地 址的一字节数据,读取结束。
相关文档
最新文档