单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录110:52单片机原理与接口技术第9章单片机系统常用串行扩展技术单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录210:52(1)了解常用串行总线协议,熟悉I2C总线工作原理。(2)掌握利用软件编程模拟I2C总线时序的程序设计方法。(3)熟悉串行EEPROM存储器和Flash存储器的接口设计方法。(4)熟悉串行总线扩展I/O接口的方法。(5)熟悉串行键盘和LED显示器的扩展方法。本章教学要求单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录310:52本章目录9.1常用串行总线协议9.1.1I2C串行总线9.1.2SPI总线9.1.3单线总线9.2串行存储器扩展9.2.1I2C接口EEPROM的存储器扩展9.2.2SPI接口的大容量FLASH存储器扩展9.3串行转并行I/O接口扩展9.3.1串行转并行I/O扩展芯片的工作原理9.3.2串行总线扩展I/O接口实例9.4串行键盘和LED显示器扩展9.4.1串行键盘和LED显示器控制芯片的工作原理9.4.2串行键盘和LED显示器扩展实例9.5串行总线扩展实例简介习题与思考题单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录410:52前言传统的单片机系统采用并行总线扩展外围设备,对地址线译码产生片选信号,为每个外设分配唯一的地址,利用并行数据总线传输数据,需要的单片机芯片引脚数多。例如8051单片机采用并行总线扩展一个外围芯片需要的最少引脚数为:8(数据)+2(RD,WR)+1(/CS)+n条地址线n=log2(内部寄存器或存储器字节的数目)这种方式虽然传输速度高,但是芯片封装体积增大使成本升高,同时电路板体积增大,布线复杂度高,也带来故障点增多,调试维修多有不便。随着电子技术的发展,串行总线技术日益成熟,具有代表性的典型串行总线有I²C、SPI、1-Wire®、MICROWIRE等。随着串行总线数据传输速率的逐渐提高和芯片逐渐系列化,为多功能、小型化和低成本的单片机系统的设计提供了更好的解决方案。采用串行总线扩展技术可以使系统的硬件设计简化,系统的体积减小,系统的更改和扩充更为容易。可以说串行总线技术已成为单片机总线的主导技术。本章将主要介绍单片机系统的串行总线扩展技术和方法。单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录510:529.1常用串行总线协议为了简化集成电路之间的互连,Philips公司开发出一种标准外围总线互连接口,称为“集成电路间总线”或“内部集成电路总线”I2C(Inter-IC)。I2C总线是一个两线双向串行总线接口标准,采用这种接口标准的器件只需要使用两条信号线与单片机进行连接,就可以完成单片机与接口器件之间的信息交互。其相关的术语有:发送器(Transmitter):发送数据到总线的器件;接收器(Receiver):从总线接收数据的器件;主器件(Master):即主控器件,初始化发送、产生时钟信号和终止发送的器件;从器件(Slave):被主控器件寻址的器件。9.1.1I2C串行总线----术语单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录610:529.1.1I2C串行总线由于I2C总线的双向特性,总线上的主器件和从器件都可能成为发送器和接收器。在主器件发送数据或命令时,主器件是发送器(主发送器);在主器件接收从器件的数据时,主器件为接收器(主接收器);从器件在接收主器件命令或数据时,从器件是接收器(从接收器);从器件向主器件返回数据时则是发送器(从发送器)。由于采用串行数据传输方式,其传输速率不是太高。标准模式下数据传输速率为100kb/s;快速模式下传输速率为400KB/s;高速模式传输速率为3.4Mb/s。----特性单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录710:529.1.1I2C串行总线采用I2C总线设计系统具有如下的优点:(1)实际的器件与功能框图中的功能模块相对应,所有I2C器件共用一条总线,便于将框图转化成原理图。(2)在两条线上完成寻址和数据传输,节省电路板体积。(3)器件通过内置地址结合可编程地址的方式寻址,不需设计总线接口;增加和删减系统中的外围器件,不会影响总线和其他器件的工作,便于系统功能的改进和升级。(4)数据传输协议可以使系统完全由软件来定义,应用灵活适应面广。(5)通过多主器件模式可以将外部调试设备连接到总线上,为调试、诊断提供便利。----特点单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录810:529.1.1I2C串行总线I2C总线采用二线制传输,分别是:串行数据线SDA(SerialDataLine)串行时钟线SCL(serialclockline)所有I2C器件都连接在SDA和SCL上。单片机系统采用I2C总线可方便地扩展外部存储器、AD和DA转换器、实时时钟、键盘、显示等接口电路。如下图。1.I2C总线的电气连接----I2C总线单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录910:529.1.1I2C串行总线为了避免总线信号混乱和冲突,I2C总线接口电路均为漏极开路或集电极开路,总线上必须有上拉电阻。上拉电阻与电源电压VDD和SDA/SCL总线串接电阻Rs有关,一般可选5~10K。I2C总线的外围扩展器件大都是CMOS器件,总线有足够的电流驱动能力,因此总线扩展的节点数由负载电容特性决定,I2C总线的驱动能力为400pF。可根据器件的I2C总线接口的等效电容确定可扩展的器件数目和总线的长度,以减小总线传输的延迟和出错。----电气性能单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1010:529.1.1I2C串行总线I2C总线支持多主和主从两种工作方式。一般的设计中I2C总线工作在主从工作方式,I2C总线上只有一个主器件,其它均为从器件。主器件对总线具有控制权。在多主方式中,通过硬件和软件的仲裁,主控制器取得总线控制权。2.I2C总线的工作方式3.I2C总线的器件寻址方式I2C总线上连接的器件都是总线上的节点,每个时刻只有一个主控器件操控总线。每个器件都有一个唯一确定的地址,主控器件通过这个地址实现对从器件的点对点数据传输。器件的地址由7位组成,其后附加了1位方向位,确定数据的传输方向。这8位构成了传输起始状态S后的第一个字节,如图所示。----工作及寻址方式单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1110:529.1.1I2C串行总线器件的地址由4位固定位和3位可编程位组成。固定位由生产厂家给出,用户不能改变。可编程位与器件的地址管脚的连接相对应,当系统中使用了多个相同芯片时可以进行正确的访问。----总线器件寻址方式当主器件发送了数据帧的第一个字节后,总线上连接的从器件会将接收到的地址数据与自己的地址进行比较,被选中的从器件再根据方向位确定是接收数据还是发送数据。不同的器件有时会有相同的固定地址编码,例如静态RAM器件PCF8570和EEPROM器件PCF8582的固定位均为1010,此时通过可编程位进行区分,如图所示。单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1210:529.1.1I2C串行总线I2C总线必须由主控器件控制,主控器件产生起始和停止条件,控制总线的传输方向,并产生时钟信号同步数据传输,如下图所示。4.I2C总线的的数据传输过程总线上信号有:起始信号(S),终止信号(P),应答信号(A/NA),数据信号等----数据传输过程单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1310:529.1.1I2C串行总线总线信号:(1)起始信号(S):在时钟信号SCL为高电平时,数据线SDA从高电平变为低电平产生起始条件,标志着启动I2C总线。(2)终止信号(P):在时钟信号SCL为高电平时,数据线SDA从低电平变为高电平,标志着终止I2C总线传输过程。(3)应答信号(A/NA):I2C协议规定总线每传输一字节数据后,都要有一个应答位。应答位由接收器件产生,即主器件向从器件发送数据时,应答位由从器件产生;主器件接收从器件数据时,应答位由主器件产生。数据接收方可以接收数据时,产生应答信号(ACK)。当主器件接收从器件送来的最后一个数据后,必须给从器件发一个非应答信号(NACK),令从器件释放SDA信号线,这样主器件可以发送终止信号来结束数据的传输。----总线信号单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1410:529.1.1I2C串行总线(4)数据信号:地址和数据均以字节为单位,且高位在前,低位在后。数据接收方每接收一字节数据都产生一个应答信号。发送器必须在接收器发送应答信号前,预先释放对SDA线的控制(SDA=1),以便主控器件对SDA线上应答信号的检测。时钟:无论何种情况下时钟信号始终由主器件产生。时钟线SCL的一个时钟周期只能传输一位数据,I2C总线的通信速率受主器件控制,在不超过芯片最快速度的情况下,取决于主器件的时钟信号。----总线信号,时钟单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1510:529.1.1I2C串行总线----传输信息主器件与从器件之间传输数据是交互进行的,除了起始位、结束位及数据外,还应包含被叫对象地址、操作性质(读/写)、应答等信息,即一次信息传输过程传输的信息包含6部分。一个完整的数据传输过程如下图所示。单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1610:529.1.1I2C串行总线根据所连接的器件性质不同,在I2C总线上可能存在如下的数据传输方式:(1)主器件发送命令或数据到从器件。在寻址字节之后,主控发送器通过SDA线向从接收器发送信息,信息发送完毕后发送终止信号,以结束传送过程。这种情况下数据传输的方向不发生变化。例如向DA转换器写入数据,或向IO扩展器件写输出值。如图(a)所示。----数据传输方式单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1710:529.1.1I2C串行总线(2)主器件读取从器件的数据。寻址字节发送完成的第一个应答信号后,主器件由发送器变为接收器,从器件则转为发送器。主器件通过SDA线接收从器件发送信息。这种情况下数据传输方向会发生变化。例如读取AD转换器的转换结果,或者读取IO扩展器件的输入信息。如图(b)所示。----数据传输方式单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1810:529.1.1I2C串行总线(3)复合模式。主器件向从器件发送命令或数据后,再次向从器件进行一次操作性质相反的操作。例如在对串行EEPROM的操作中,先向器件写入要访问的存储器地址,然后再向器件发送读取命令,读回数据。如图(c)所示。----数据传输方式单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录1910:529.1.1I2C串行总线主机与从机进行通信时,有时需要切换数据的收发方向。例如,访问某一具有I2C总线接口的EEPROM存储器时,主机先向存储器输入存储单元的地址信息(发送数据),然后再读取其中的存储内容(接收数据)。在切换数据的传输方向时,可以不必先产生停止条件再开始下次传输,而是直接再一次产生开始条件。I2C总线在已经处于忙的状态下,再一次直接产生起始条件的情况被称为重复起始条件。重复起始条件常常简记为Sr。正常的起始条件和重复起始条件在物理波形上并没有什么不同,区别仅仅是在逻辑方面。在进行多字节数据传输过程中,只要数据的收发方向发生了切换,就要用到重复起始条件。----数据传输方式单片机原理与接口技术(第2版).李晓林.电子工业出版社返回目录2010:529.1.1I2C串行总线----I2C总线器件5.常用的I2C总线器件类型型号存储器ATMEL公司的AT24CXX系列EEPROM8位并行IO扩展PCF8574/JLC156