资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,串行总线扩展技术,SPI总线 I,2,C总线,1,串行总线扩展技术 1,I,2,C总线,I,2,C总线是Philips公司开发的一种双向两线串行总线,以实现集成电路之间的有效控制。目前,Philips及其它半导体厂商提供了大量的含有I,2,C总线的外围接口芯片,I2C总线已成为广泛应用的工业标准之一。,标准模式下,基本的I,2,C总线规范的规定的数据传输速率为100kb/s。,快速模式下,数据传输速率为400KB/s。,高速模式下,数据传输速率为3.4Mb/s。,2,I2C总线I2C总线是Philips公司开发的一种双向两线串,I,2,C总线,I,2,C总线始终和先进技术保持同步,并保持其向下兼容性。,I,2,C总线采用二线制传输,一根是数据线SDA(Serial Data Line),另一根是时钟线SCL(serial clock line),所有I,2,C器件都连接在SDA和SCL上,每一个器件具有一个唯一的地址。,I,2,C总线是一个多主机总线,总线上可以有一个或多个主机(或称主控制器件),总线运行由主机控制。,I,2,C总线支持多主(multi-mastering)和主从(master-slave)两种工作方式。,3,I2C总线 I2C总线始终和先进技术保持同步,并保持其向下兼,I,2,C总线,主机是指启动数据的传送(发起始信号)、发出时钟信号、发出终止信号的器件。通常,主机由单片机或其它微处理器担任。,被主机访问的器件叫从机(或称从器件),它可以是其它单片机,或者其他外围芯片,如:A/D、D/A、LED或LCD驱动、串行存储器芯片。,4,I2C总线主机是指启动数据的传送(发起始信号)、发出时钟信号,I,2,C总线,多主方式下,I,2,C总线上可以有多个主机。I,2,C总线需通过硬件和软件仲裁来确定主机对总线的控制权。,主从工作方式时,系统中只有一个主机,总线上的其它器件均为从机(具有I,2,C总线接口),只有主机能对从机进行读写访问,因此,不存在总线的竞争等问题。在主从方式下,I,2,C总线的时序可以模拟,I,2,C总线的使用不受主机是否具有I,2,C总线接口的制约。,MCS-51系列单片机本身不具有I,2,C总线接口,可以用其I/O口线模拟I,2,C总线,5,I2C总线多主方式下,I2C总线上可以有多个主机。I2C总线,I,2,C总线,单主机系统I2C总线扩展示意图,6,I2C总线单主机系统I2C总线扩展示意图 6,I,2,C总线的数据传输,标准模式和快速模式下器件连接到I,2,C总线的形式,双向,510k,负载能力为,400pf,7,I2C总线的数据传输 标准模式和快速模式下器件连接到I2C总,I,2,C总线的数据传输,(一)数据位的传送,I,2,C总线上主机与从机之间一次传送的数据称为一帧。由启动信号、若干个数据字节、应答位和停止信号组成。数据传送的基本单元为一位数据。,时钟线SCL的一个时钟周期只能传输一位数据。在SCL时钟线为高电平期间内,数据线SDA上的数据必须稳定。当SCL时钟线变为低电平时,数据线SDA的状态才能改变。,8,I2C总线的数据传输(一)数据位的传送I2C总线上主机与,I,2,C总线的数据传输,(二)启始和停止状态,起始(START)状态:I,2,C总线传输过程中,当时钟线SCL为高电平时,数据线SDA出现高电平到低电平跳变时,标志I,2,C总线传输数据开始。,停止(STOP)状态:I,2,C总线传输过程中,当时钟线SCL为高电平时,数据线SDA出现低电平到高电平跳变时,标志着I,2,C总线传输数据结束。,起始和停止状态是由主机发出,9,I2C总线的数据传输(二)启始和停止状态起始(START)状,I,2,C总线的数据传输,(三)传输数据,传输到数据线SDA上的每个字节必须为8位,每次传输的字节数不受限制。每个字节后必须跟一个应答(acknowledge)位。数据传输时,首先传送最高位,如图10.5所示,,如果从机暂时不能接收下一个字节数据,如从机响应内部中断,那么,可以使时钟线SCL保持为低电平,迫使主机处于等待状态;当从机准备就绪后,再释放时钟线SCL,使数据传输继续进行,。,10,I2C总线的数据传输(三)传输数据 传输到数据线SDA上的每,I,2,C总线的数据传输,(四)应答,I,2,C协议规定,在每个字节传送完毕后,必须有一个应答位。应答位的时钟脉冲由主机产生。在应答时钟有效期间,发送设备把数据线SDA置为高电平;接收设备必须把数据线SDA置为低电平,并且在此期间保持低电平状态,以便产生有效的应答信号。,11,I2C总线的数据传输(四)应答I2C协议规定,在每个字节传送,I,2,C总线的数据传输,(五)数据传输格式,在起始状态S之后,先发送一个7位从机地址,接着第8位是数据方向位,0表示发送(写),1表示请求数据(读)。一次数据传输总是由主机产生停止状态P而结束。但是,如果主机还希望在总线上传输数据,那么,它可以产生另一个起始状态和寻址另一个从机,不需要先产生一个停止状态。在这种传输方式中,就可能有读写方式的组合。,12,I2C总线的数据传输(五)数据传输格式在起始状态S之后,先发,I,2,C总线的数据传输,在I,2,C总线启动或应答信号后的第18个时钟脉冲,对应一个字节的8位数据传送。高电平期间,数据串行传送;低电平期间为数据准备,允许总线上数据电平变化。一旦I,2,C总线启动,传送的字节数没有限制,只要求每传送一个字节后,对方回应一个应答位。发送时,最先发送的是数据的最高位。每次传送开始有起始信号,结束时有停止信号。传送完一个字节,可以通过对时钟线的控制使传送暂停。,(五)数据传输格式,13,I2C总线的数据传输在I2C总线启动或应答信号后的第18个,I,2,C总线的数据传输,在I,2,C总线上,传输数据可能的数据格式:,(五)数据传输格式,(1)主机发送器发送到从机接收器。数据传输的方向,不变化。,14,I2C总线的数据传输在I2C总线上,传输数据可能的数据格式:,10.1.2 I,2,C总线的数据传输,(2)在第一个字节后主机立即读从机。,在I,2,C总线上,传输数据可能的数据格式,:,(五)数据传输格式,15,10.1.2 I2C总线的数据传输(2)在第一个字节后主机立,10.1.2 I,2,C总线的数据传输,(3)组合格式,在I,2,C总线上,传输数据可能的数据格式,:,(五)数据传输格式,16,10.1.2 I2C总线的数据传输(3)组合格式 在I2C总,I,2,C总线的寻址,每个连接在I,2,C总线的器件,都具有一个唯一确定的地址。在任何时刻,I,2,C总线上只能有一个主机对总线实行控制权,分时地实现点对点的数据传送。,器件(从机)的地址由7位组成,它与1位方向位构成了I,2,C总线数据传输时起始状态S之后第1个字节。,从机地址由固定位和可编程位组成。固定位由器件出厂时给定,用户不能自行设置,它是器件的标识码。,17,I2C总线的寻址每个连接在I2C总线的器件,都具有一个唯一确,SPI,总线扩展技术,SPI(Serial Peripheral Interface)总线是Motorola公司提出的一种同步串行外设接口,它可以使微控制器(MCU)与各种外围设备以串行方式进行通信以交换信息。外围设备包括FLASHRAM、网络控制器、LCD显示驱动器、A/D 转换器和微控制器等。,SPI总线使用同步协议传送数据,接收或发送数据时由主机产生的时钟信号控制。SPI接口可以连接多个SPI芯片或装置,主机通过选择它们的片选来分时访问不同的芯片。,18,SPI总线扩展技术 SPI(Serial Periphera,SPI总线,(一)SPI总线构成,MOSI(Master Out Slave In):主机发送从机接收。,MISO(Master In Slave Out):主机接收从机发送,SCLK或SCK(Serial Clock):串行时钟,(Chip Select for the peripheral):外围器件的片选。有的微控制器设有专用的SPI接口的片许,称为从机选择()。,MOSI(SI或SDI)信号由主机产生,接收者为从机;ISO(SO或SDO)信号由从机发出;CLK或SCK由主机发出,用来同步数据传送;片选信号也由主机产生,用来选择从机芯片或装置。,19,SPI总线(一)SPI总线构成(Chip Select f,SPI总线,(二)SPI总线信号线基本连接关系:,SPI 总线系统有以下几种形式:1个主机和多个从机、多个从机相互连接构成多主机系统(分布式系统)、1个主机与1个或几个I/O设备构成的系统等。,20,SPI总线(二)SPI总线信号线基本连接关系:S,10.2.1 SPI总线,(三)主从方式SPI总线接口系统的典型结构,(1)在大多数应用场合,可使用1个微控制器作为主控机来控制数据传送,并向1个或几个外围器件传送数据。从机只有在主机发命令时才能接收或发送数据。,(2)当一个主机通过SPI与多个芯片相连时,必须使用每个芯片的片选,这可通过MCU的I/O端口输出线来实现。,21,10.2.1 SPI总线(三)主从方式SPI总线接口系统的典,SPI总线多通道串行输出A/D芯片TLC1543,由通道选择器、数据(地址和命令字)输入寄存器、采样/保持电路、12位的模/数转换器,输出寄存器、并行/串行转换器以及控制逻辑电路等部分组成。通道选择器根据输入地址寄存器中存放的模拟输入通道地址,选择输入通道,并将该输入通道中的模拟信号送到采样/保持电路中;然后,在12位模/数转换器中,把采样的模拟量进行量化编码,转换成数字量并存放到输出寄存器中。转换结果经过并行/串行转换器转换成串行数据,从DOUT引脚输出。,22,SPI总线多通道串行输出A/D芯片TLC1543,SPI总线多通道串行输出A/D芯片TLC1543,(一)TLC1543的引脚功能,(1)AIN0AIN10(引脚19,引脚11、引脚12):输入,模拟量输入通道,在使用4.1MHz的I/O时钟时,外部输入设备的输出阻抗应小于或等于30。,(2)CS(引脚15):输入,片选。引脚出现一个从高到低的变化可以使芯片内部寄存器复位,同时使能DIN DOUT和I/O时钟输入。当引脚出现一个从低到高的变化时,数据输入、数据输出和I/O时钟输入无效。,23,SPI总线多通道串行输出A/D芯片TLC1543(一)TL,SPI总线多通道串行输出A/D芯片TLC1543,(3)DIN(引脚17):输入,串行数据输入端。最先输入的4位用来选择模拟量输入通道。数据传送时最高位在前,每一个I/O时钟的上升沿送入一位数据,最先4位数据是转换通道选择位。,(4)DOUT(引脚16):输出,串行数据输出端,输出的数据有长度为10位。数据输出引脚DOUT在为高时呈高阻状态,在为低电平时,DOUT引脚输出有效。,(一)TLC1543的引脚功能,24,SPI总线多通道串行输出A/D芯片TLC1543(3)DIN,SPI总线多通道串行输出A/D芯片TLC1543,(5)EOC(引脚19):输出,A/D转换结束信号,在命令的最后一个I/O时钟的下降沿变低,A/D转换结束后,由EOC由低电平变为高电平。,(6)I/O CLOCK(引脚18):输入,输入/输出同步时钟,它有4种功能:,1)在I/O CLOCK的前8个上升沿,把命令字输入到的数据输入寄存器,其中前4个是输入通道地址选择。,2)在I/O CLOCK的第4个I/O时钟的下降沿,选中通道的模拟信号对芯片中电容阵列进行充电,直到最后一个I/O时钟结束。,3)I/O时钟把上次转换结果输出,在最后一个数据输出完后,开始下一次转换。,4)在最后一个I/O时钟的下降沿,把EOC变为低电平。,(一)TLC1543的引脚功能,25,SPI总线多通道串行输出A/D芯片TLC1543(5)EOC,SPI总线多通道
展开阅读全文