《第12章单片机的串行扩展技术.ppt》由会员分享,可在线阅读,更多相关《第12章单片机的串行扩展技术.ppt(49页珍藏版)》请在优知文库上搜索。
1、第第1212章章 单片机的串行扩展技术单片机的串行扩展技术 单片机的单片机的串行扩展技术串行扩展技术与并行扩展技术相比具有显著的与并行扩展技术相比具有显著的优点,串行接口器件与单片机接口时优点,串行接口器件与单片机接口时需要的需要的I/OI/O口线很少口线很少(仅(仅需需1 14 4条),极大地简化了器件间的连接,进而提高了可靠条),极大地简化了器件间的连接,进而提高了可靠性。串行接口器件性。串行接口器件体积小体积小,因而,因而占用电路板的空间小占用电路板的空间小,仅为,仅为并行接口器件的并行接口器件的10%10%,明显减少了电路板空间和成本。,明显减少了电路板空间和成本。除上述优点外,还有工
2、作电压宽、抗干扰能力强、功除上述优点外,还有工作电压宽、抗干扰能力强、功耗耗低、数据不易丢失低、数据不易丢失等特点。等特点。因此,串行扩展技术在因此,串行扩展技术在ICIC卡、智能仪器仪表以及分布式卡、智能仪器仪表以及分布式控制系统等领域得到了控制系统等领域得到了广泛的应用。广泛的应用。12.1 12.1 单总线接口简介单总线接口简介 单总线(单总线(1-Wire bus1-Wire bus)是由是由DALLAS DALLAS 公司公司推出的外围串行推出的外围串行扩展总线。它只有一条数据输入扩展总线。它只有一条数据输入/输出线输出线DQDQ,总线上的所有器,总线上的所有器件都挂在件都挂在DQD
3、Q上,电源也通过这条信号线供给,这种使用一条信上,电源也通过这条信号线供给,这种使用一条信号线的串行扩展技术,称为号线的串行扩展技术,称为单总线单总线技术。技术。各种器件,各种器件,由由DALLAS DALLAS 公司提供的专用芯片实现。公司提供的专用芯片实现。每个芯每个芯片都有片都有6464位位ROMROM,厂家对每一个芯片用激光烧写编码,其中存,厂家对每一个芯片用激光烧写编码,其中存有有1616位位十进制十进制编码序列号编码序列号,它是,它是器件的地址编号器件的地址编号,确保它挂在,确保它挂在总线上后,可以唯一被确定。除了器件的地址编码外,芯片内总线上后,可以唯一被确定。除了器件的地址编码
4、外,芯片内还包含收发控制和电源存储电路,如还包含收发控制和电源存储电路,如图图12-112-1所示。所示。图图12-112-1这些芯片的这些芯片的耗电量都很小耗电量都很小(空闲时几(空闲时几W W,工作时几,工作时几mWmW),工),工作时从总线上作时从总线上馈送电能到大电容中馈送电能到大电容中就可以工作,故就可以工作,故一般不需一般不需另加电源另加电源。图图12-212-2为一个由单总线构成的为一个由单总线构成的分布式温度监测系统分布式温度监测系统。多个带有。多个带有单总线接口的数字温度计和多个集成电路单总线接口的数字温度计和多个集成电路DS1820DS1820芯片都挂在芯片都挂在DQDQ总
5、线上。单片机对每个总线上。单片机对每个DS1820DS1820通过总线通过总线DQDQ寻址。寻址。DQDQ为漏极为漏极开路,须加上拉电阻。开路,须加上拉电阻。DALLASDALLAS公司为单总线的寻址及数据的传送提供了公司为单总线的寻址及数据的传送提供了严格的时序规严格的时序规范范,具体内容读者可,具体内容读者可查阅相关资料查阅相关资料。图图12-212-212.2 SPI12.2 SPI总线接口简介总线接口简介SPISPI(Serial Periperal InterfaceSerial Periperal Interface)是是MotorolaMotorola公司公司推出的推出的同步串行
6、外设接口同步串行外设接口,允许单片机与多个厂家生产的带有该接,允许单片机与多个厂家生产的带有该接口的设备直接连接,以串行方式交换信息。口的设备直接连接,以串行方式交换信息。使用使用条线条线:串行时钟:串行时钟SCKSCK,主器件输入,主器件输入/从器件输出数据线从器件输出数据线MISOMISO(简称(简称SOSO),主器件输出),主器件输出/从器件输入数据线从器件输入数据线MOSIMOSI(简(简称称SISI)和)和从器件选择线从器件选择线。SPISPI的典型应用是的典型应用是单主系统单主系统。该系统只有一台主器件,从器件。该系统只有一台主器件,从器件通常是外围接口器件,如存储器、通常是外围接
7、口器件,如存储器、I/OI/O接口、接口、A/DA/D、D/AD/A、键、键盘、日历盘、日历/时钟和显示驱动等。时钟和显示驱动等。图图12-312-3是是SPISPI外围串行扩展结构图。外围串行扩展结构图。图图12-312-3单片机与外围器件在时钟线单片机与外围器件在时钟线SCKSCK、数据线、数据线MISOMISO和和MOSIMOSI都是都是同名端同名端相连。相连。扩展多个外围器件时,扩展多个外围器件时,SPISPI无法通过数据线译码选择,故接口的无法通过数据线译码选择,故接口的外围器件都有片选端。在外围器件都有片选端。在扩展单个扩展单个SPISPI器件器件时,外围器件的时,外围器件的片选端
8、可以接地或通过片选端可以接地或通过I/OI/O口控制;在口控制;在扩展多个扩展多个SPISPI器件器件时,时,单片机应分别通过单片机应分别通过I/OI/O口线来分时选通外围器件。口线来分时选通外围器件。在在SPISPI串行扩展系统中,如果某一从器件串行扩展系统中,如果某一从器件只作输入只作输入(如键盘)(如键盘)或或只作输出只作输出(如显示器)时,(如显示器)时,可省去一条数据输出可省去一条数据输出(MISOMISO)或一条数据输入(或一条数据输入(MOSIMOSI),从而),从而构成双线系统(接地)。构成双线系统(接地)。SPI SPI系统中从器件的选通依靠其引脚,数据传送软件十分简单,系统
9、中从器件的选通依靠其引脚,数据传送软件十分简单,省去了传输时的地址选通字节。省去了传输时的地址选通字节。但在扩展器件较多时,连但在扩展器件较多时,连线较多。线较多。在在SPISPI串行扩展系统中,作为主器件的单片机在启动一次传送串行扩展系统中,作为主器件的单片机在启动一次传送时,便时,便产生产生8 8个时钟个时钟,传送给接口芯片,传送给接口芯片作为同步时钟作为同步时钟,控制,控制数据的输入和输出。数据的传送格式是高位(数据的输入和输出。数据的传送格式是高位(MSBMSB)在前,)在前,低位(低位(LSBLSB)在后,如)在后,如图图12-412-4所示。所示。数据线上输出数据的变化以及输入数据
10、时的采样,都取决于数据线上输出数据的变化以及输入数据时的采样,都取决于SCKSCK。但对于不同的外围芯片,有的可能是。但对于不同的外围芯片,有的可能是SCKSCK的上升沿起作的上升沿起作用,有的可能是用,有的可能是SCKSCK的下降沿起作用。的下降沿起作用。图图12-412-4SPISPI有有较高的数据传输速度较高的数据传输速度,最高,最高可达可达1.05Mb/s1.05Mb/s。MotorolaMotorola公司公司为广大用户提供了一系列具有为广大用户提供了一系列具有SPISPI接口的单片机接口的单片机和外围接口芯片,如存储器和外围接口芯片,如存储器MC2814MC2814,显示驱动器,显
11、示驱动器MC14499MC14499和和MC14489MC14489等芯片。等芯片。SPISPI外围串行扩展系统的外围串行扩展系统的主器件主器件是是单片机单片机,也可以不带,也可以不带SPISPI接口接口,但是但是从器件从器件一定要有一定要有具有具有SPISPI接口接口。12.3 I12.3 I2 2C C串行总线的组成及工作原理串行总线的组成及工作原理I I2 2C C串行总线只有串行总线只有两条信号线两条信号线,一条是数据线,一条是数据线SDASDA,另一条是时,另一条是时钟线钟线SCLSCL,所有连接到,所有连接到I I2 2C C总线上器件的数据线都接到总线上器件的数据线都接到SDAS
12、DA线线上,各器件的时钟线均接到上,各器件的时钟线均接到SCLSCL线上,线上,I I2 2C C总线系统的基本总线系统的基本结构如结构如图图12-512-5所示。所示。它可以使具有它可以使具有I I2 2C C总线的单片机总线的单片机(如(如PHILIPSPHILIPS公司的公司的8xC552 8xC552)直直接与具有接与具有I I2 2C C总线接口的各种扩展器件总线接口的各种扩展器件(如存储器、(如存储器、I/OI/O口、口、A/DA/D、D/AD/A、键盘、显示器、日历、键盘、显示器、日历/时钟)时钟)连接连接。对不带有对不带有I I2 2C C接口的单片机接口的单片机(如(如89C
13、5189C51)可采用普通的)可采用普通的I/OI/O口结合口结合软件模拟软件模拟I I2 2C C串行接口总线时序串行接口总线时序的方法,完成的方法,完成I I2 2C C总线的串行总线的串行接口功能。接口功能。12.3.112.3.1 I I2 2C C串行总线概述串行总线概述只有只有两条两条信号线信号线,一条是,一条是数据线数据线SDASDA,另一条是,另一条是时钟线时钟线SCLSCL,所,所有连接到有连接到I I2 2C C总线上器件的数据线都接到总线上器件的数据线都接到SDASDA线上,各器件的线上,各器件的时钟线均接到时钟线均接到SCLSCL线上,线上,系统的基本结构系统的基本结构
14、如如图图12-512-5所示。所示。图图12-512-5I I2 2C C的运行由主器件控制,主器件是指启动数据的发送(发出起的运行由主器件控制,主器件是指启动数据的发送(发出起始信号)、发出时钟信号、传送结束时发出终止信号的器件。始信号)、发出时钟信号、传送结束时发出终止信号的器件。主器件主器件可以具有可以具有I I2 2C C总线接口,也可以不带总线接口,也可以不带I I2 2C C总线接口。总线接口。从器件从器件可以是存储器、可以是存储器、LEDLED或或LCDLCD驱动器、驱动器、A/DA/D或或D/AD/A转换器、时转换器、时钟钟/日历器件等,从器件日历器件等,从器件必须带有必须带有
15、I I2 2C C总线接口总线接口。I I2 2C C串行总线的串行总线的SDASDA和和SCLSCL是双向的,带有是双向的,带有I I2 2C C总线接口的器件的总线接口的器件的输出端为漏级开路输出端为漏级开路,故,故必须通过上拉电阻接正电源必须通过上拉电阻接正电源(见图(见图12-512-5中的两个电阻)。中的两个电阻)。总线空闲时,两条线均为高电平。由于连接到总线上的器件的总线空闲时,两条线均为高电平。由于连接到总线上的器件的输出级必须是漏级或集电极开路的,只要有一个器件输出低输出级必须是漏级或集电极开路的,只要有一个器件输出低电平,都将使总线上的信号变低。电平,都将使总线上的信号变低。
16、SCLSCL线线上的时钟信号对上的时钟信号对SDASDA线上的各器件间的数据传输起同步控制作用。线上的各器件间的数据传输起同步控制作用。SDASDA线上的数据线上的数据起始、终止及数据的有效性均要根据起始、终止及数据的有效性均要根据SDASDA线上的时钟信号来线上的时钟信号来判断。判断。标准标准I I2 2C C普通模式普通模式,数据的传输速率为,数据的传输速率为100kb/s100kb/s,高速模式高速模式可可达达400kb/s400kb/s。总线上总线上扩展器件的数量扩展器件的数量不是由电流负载决定,而是不是由电流负载决定,而是由电容负由电容负载载确定。确定。I I2 2C C总线上每个节点器件的接口都有一定的等效电总线上每个节点器件的接口都有一定的等效电容,连接的器件越多,电容值越大,这会造成信号传输的容,连接的器件越多,电容值越大,这会造成信号传输的延迟。延迟。总线上允许的器件数以总线上的电容量不超过总线上允许的器件数以总线上的电容量不超过400pF400pF(通过驱动扩展可达通过驱动扩展可达4000pF4000pF),据此可计算出总线长度及),据此可计算出总线长度及连接器件的