0898-08980898
本文摘要:本节之后谈嵌入式硬件通信接口协议中的又一个串行通信接口-IIC。
本节之后谈嵌入式硬件通信接口协议中的又一个串行通信接口-IIC。比起于UART串口协议和SPI串行外设接口协议,这个IIC又有其独有之处。概述IIC(Inter-IntegratedCircuit),集成电路总线。
IIC即Inter-IntegratedCircuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种非常简单、双向、二线制、实时串行总线,主要是用来相连整体电路(ICS),IIC是一种多向掌控总线,也就是说多个芯片可以相连到同一总线结构下,同时每个芯片都可以作为动态数据传输的掌控源。这种方式修改了信号传输总线模块。比起于SPI模块《嵌入式硬件通信接口协议-SPI(一)协议基础》,此处的IIC接口定义了多主多从的通信架构,在同一IIC总线上可得多个主机和多个从机。“主->从”的通信架构使得通信的主动权在主机末端,主机发动一次通信,从机作出号召。
信号线IIC作为两线串行总线,信号线分别是:SCL(SerialClockLine):串行时钟,主机输入SDA(SerialDataLine):串行数据,双向传输总线信号的电平在电路相连上,一般再加纳电阻Rp,使得总线在空闲时,信号管脚正处于高电平状态。这里可以明确到一些芯片的手册里,具体写线路相连时的上拉电阻拒绝:SHT20温湿度传感器拒绝的上拉电阻:在触碰按键BS116A-3芯片数据手册中:信号时序IIC作为实时串行总线,可以指出有两个实时信号,第一个是通信接续、完结标志,告诉悬挂在IIC总线上的从机设备,何时开始通信并且何时完结;第二个是实时时钟信号SCL,发送双方展开数据的交互时,都是基于SCL的跳变展开弃bit输入和取样的。接续标志正处于空闲状态下时,SCL和SDA都是高电平,某一时刻,SDA拉低,则此刻指出开始IIC传输。完结标志将要已完成数据传输时,在SCL正处于高电平时,将SDA强迫拉高,则此刻指出完结IIC传输。
数据输入在SCL为低电平时,发送到方根据传输的数据内容弃bit转变SDA的电平。数据取样在SCL为高电平时,接管方加载SDA的电平弃bit接管,并弃8个bit构成1个Byte。接收者ACKACK回应在8bit数据后的第9个时钟的高电平期间,SDA维持低电平。接收者NACKNACK回应在8bit数据后的第9个时钟的高电平期间,SDA维持高电平。
本文来源:BB贝博艾弗森官方网站-www.goto-lawyer.com