单片机课件10串行总线扩展技术.ppt_第1页
单片机课件10串行总线扩展技术.ppt_第2页
单片机课件10串行总线扩展技术.ppt_第3页
单片机课件10串行总线扩展技术.ppt_第4页
单片机课件10串行总线扩展技术.ppt_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,10 串行总线扩展技术,本章内容简介: (1)I2C总线扩展技术: I2C总线、 I2C总线的数据传输、 I2C总线的寻址、MCS-51单片机模拟I2C总线、 I2C总线的应用。 (2)SPI总线扩展技术:SPI总线、 MCS-51单片机模拟SPI总线及其应用。,2,10 串行总线扩展技术,采用串行总线扩展技术可以使系统的硬件设计简化,系统的体积减小,同时,系统的更改和扩充更为容易。串行扩展总线的应用是单片机目前发展的一种趋势 常用的串行扩展总线有:I2C(Inter IC BUS)总线、SPI(Serial Peripheral Interface)总线、Microwire 总线及单总线(1-Wire BUS)。 MCS-51单片机没有串行总线接口,利用其自身的通用并行线可以模拟多种串行总线时序信号,因此可以充分利用各种串行接口芯片资源。,3,10.1 I2C总线扩展技术,I2C总线是Philips公司开发的一种双向两线串行总线,以实现集成电路之间的有效控制,这种总线也称为Inter IC 总线。目前,Philips及其它半导体厂商提供了大量的含有I2C总线的外围接口芯片,I2C总线已成为广泛应用的工业标准之一。 标准模式下,基本的I2C总线规范的规定的数据传输速率为100kb/s。 快速模式下,数据传输速率为400KB/s。 高速模式下,数据传输速率为3.4Mb/s。 I2C总线始终和先进技术保持同步,并保持其向下兼容性。,4,10.1.1 I2C总线,(1)I2C总线采用二线制传输,一根是数据线SDA(Serial Data Line),另一根是时钟线SCL(serial clock line),所有I2C器件都连接在SDA和SCL上,每一个器件具有一个唯一的地址。 (2)I2C总线是一个多主机总线,总线上可以有一个或多个主机(或称主控制器件),总线运行由主机控制。 主机是指启动数据的传送(发起始信号)、发出时钟信号、发出终止信号的器件。通常,主机由单片机或其它微处理器担任。 被主机访问的器件叫从机(或称从器件),它可以是其它单片机,或者其他外围芯片,如:A/D、D/A、LED或LCD驱动、串行存储器芯片。,5,10.1.1 I2C总线,(3)I2C总线支持多主(multi-mastering)和主从(master-slave)两种工作方式。 多主方式下,I2C总线上可以有多个主机。I2C总线需通过硬件和软件仲裁来确定主机对总线的控制权。 主从工作方式时,系统中只有一个主机,总线上的其它器件均为从机(具有I2C总线接口),只有主机能对从机进行读写访问,因此,不存在总线的竞争等问题。在主从方式下,I2C总线的时序可以模拟 ,I2C总线的使用不受主机是否具有I2C总线接口的制约。 MCS-51系列单片机本身不具有I2C总线接口,可以用其I/O口线模拟I2C总线,6,10.1.1 I2C总线,图10.1 单主机系统I2C总线扩展示意图,7,10.1.1 I2C总线,采用I2C总线设计系统的优点: (1)功能框图中的功能模块与实际的外围器件对应,可以使系统设计直接由功能框图快速地过渡到系统样机。 (2)外围器件直接“挂在”I2C总线上,不需设计总线接口;增加和删减系统中的外围器件,不会影响总线和其他器件的工作,便于系统功能的改进和升级。 (3)集成在器件中的寻址和数据传输协议可以使系统完全由软件来定义。,8,10.1.2 I2C总线的数据传输,图10.2 标准模式和快速模式下器件连接到I2C总线的形式,510k,9,10.1.2 I2C总线的数据传输,(一)数据位的传送,I2C总线上主机与从机之间一次传送的数据称为一帧。由启动信号、若干个数据字节、应答位和停止信号组成。数据传送的基本单元为一位数据。 时钟线SCL的一个时钟周期只能传输一位数据。在SCL时钟线为高电平期间内,数据线SDA上的数据必须稳定。当SCL时钟线变为低电平时,数据线SDA的状态才能改变。,10,10.1.2 I2C总线的数据传输,(二)启始和停止状态 。,起始(START)状态:I2C总线传输过程中,当时钟线SCL为高电平时,数据线SDA出现高电平到低电平跳变时,标志I2C总线传输数据开始。 停止(STOP)状态:I2C总线传输过程中,当时钟线SCL为高电平时,数据线SDA出现低电平到高电平跳变时,标志着I2C总线传输数据结束。,起始和停止状态是由主机发出,11,10.1.2 I2C总线的数据传输,(三)传输数据,传输到数据线SDA上的每个字节必须为8位,每次传输的字节数不受限制。每个字节后必须跟一个应答(acknowledge)位。数据传输时,首先传送最高位,如图10.5所示,如果从机暂时不能接收下一个字节数据,如从机响应内部中断,那么,可以使时钟线SCL保持为低电平,迫使主机处于等待状态;当从机准备就绪后,再释放时钟线SCL,使数据传输继续进行。,12,10.1.2 I2C总线的数据传输,(四)应答,I2C协议规定,在每个字节传送完毕后,必须有一个应答位。应答位的时钟脉冲由主机产生。在应答时钟有效期间,发送设备把数据线SDA置为高电平;接收设备必须把数据线SDA置为低电平,并且在此期间保持低电平状态,以便产生有效的应答信号。,13,10.1.2 I2C总线的数据传输,(五)数据传输格式,在起始状态S之后,先发送一个7位从机地址,接着第8位是数据方向位, 0表示发送(写), 1表示请求数据(读)。一次数据传输总是由主机产生停止状态P而结束。但是,如果主机还希望在总线上传输数据,那么,它可以产生另一个起始状态和寻址另一个从机,不需要先产生一个停止状态。在这种传输方式中,就可能有读写方式的组合。,14,10.1.2 I2C总线的数据传输,在I2C总线启动或应答信号后的第18个时钟脉冲,对应一个字节的8位数据传送。高电平期间,数据串行传送;低电平期间为数据准备,允许总线上数据电平变化。一旦I2C总线启动,传送的字节数没有限制,只要求每传送一个字节后,对方回应一个应答位。发送时,最先发送的是数据的最高位。每次传送开始有起始信号,结束时有停止信号。传送完一个字节,可以通过对时钟线的控制使传送暂停。,(五)数据传输格式,15,10.1.2 I2C总线的数据传输,在I2C总线上,传输数据可能的数据格式:,(五)数据传输格式,(1)主机发送器发送到从机接收器。数据传输的方向 不变化。,16,10.1.2 I2C总线的数据传输,(2)在第一个字节后主机立即读从机。,在I2C总线上,传输数据可能的数据格式:,(五)数据传输格式,17,10.1.2 I2C总线的数据传输,(3)组合格式,在I2C总线上,传输数据可能的数据格式:,(五)数据传输格式,18,10.1.3 I2C总线的寻址,每个连接在I2C总线的器件,都具有一个唯一确定的地址。在任何时刻,I2C总线上只能有一个主机对总线实行控制权,分时地实现点对点的数据传送。 器件(从机)的地址由7位组成,它与1位方向位构成了I2C总线数据传输时起始状态S之后第1个字节。,从机地址由固定位和可编程位组成。固定位由器件出厂时给定,用户不能自行设置,它是器件的标识码。,19,10.1.3 I2C总线的寻址,当主机发送了第1个字节后,系统中的每个从机(器件)都在起始状态S之后把高7位与本机的地址比较,如果与本机地址一样,则该从机被主机选中,是接收数据还是发送数据由 确定。,从机地址由固定位和可编程位组成。固定位由器件出厂时给定,用户不能自行设置,它是器件的标识码。当系统中使用了多个相同器件时,从机地址中的可编程位,可使这些器件具有不同的地址;这些可编程位也规定了I2C总线上同类芯片的最大个数。,20,10.1.3 I2C总线的寻址,表10.1常见I2C器件的标识码,21,10.1.4 单片机主从系统I2C总线模拟程序,MCS-51单片机没有I2C总线接口,只能采用虚拟I2C总线方式,并且只能用于主从系统。 虚拟I2C总线接口利用MCS-51单片机的I/O口线作为数据线SDA和时钟线SCL,通过软件延时实现I2C总线传输数据的时序要求。,22,四种典型信号的时序,23,二、典型信号模拟子程序,(1)起始信号 void XAZD_I2C_Start(void) SDA=1; NOP; SCL=1; NOP; NOP; NOP; NOP; NOP; SDA=0; NOP; NOP; NOP; NOP; SCL=0; NOP; ,24,二、典型信号模拟子程序,(2)终止信号 void XAZD_I2C_Stop(void) SDA=0; NOP; NOP; SCL=1; NOP; NOP; NOP; NOP; NOP; SDA=1; NOP; NOP; NOP; NOP; NOP; ,25,二、典型信号模拟子程序,(3)发送应答位0 void XAZD_I2C_Ack() SDA=0; NOP; NOP; NOP; SCL=1; NOP; NOP; NOP; NOP; NOP; SCL=0; NOP; NOP; ,26,二、典型信号模拟子程序,(4)发送非应答位1 void XAZD_I2C_Ack() SDA=1; NOP; NOP; NOP; SCL=1; NOP; NOP; NOP; NOP; NOP; SCL=0; NOP; NOP; ,27,10.1.5 I2C总线应用,一、串行E2PROM的扩展,(1)串行E2PROM典型产品,AT24C01:128字节(1288位); AT24C02:256字节(2568位); AT24C04:512字节(5128位)AT24C08:1K字节(1K8位); AT24C16:2K字节(2K8位);,ATMEL公司的AT24C系列:,28,10.1.5 I2C总线应用,MCS-51单片机与AT24C02 的连接电路,(二)I2C总线扩展E2PROM,AT24C02与80C51接口,29,10.1.5 I2C总线应用,(2)写入过程 AT24C系列E2PROM芯片地址的固定部分为1010,A2、A1、A0引脚接高、低电平后得到确定的3位编码。形成的7位编码即为该器件的地址码。,单片机进行写操作时,首先发送该器件的7位地址码和写方向位“0”(共8位,即一个字节),发送完后释放SDA线并在SCL线上产生第9个时钟信号。被选中的存储器器件在确认是自己的地址后,在SDA线上产生一个应答信号作为相应,单片机收到应答后就可以传送数据了。,30,10.1.5 I2C总线应用,传送数据时,单片机首先发送一个字节的被写入器件的存储区的首地址,收到存储器器件的应答后,单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。,AT24C系列器件片内地址在接收到每一个数据字节地址后自动加1,在芯片的“一次装载字节数”(不同芯片字节数不同)限度内,只需输入首地址。装载字节数超过芯片的“一次装载字节数”时,数据地址将“上卷”,前面的数据将被覆盖。,当要写入的数据传送完后,单片机应发出终止信号以结束写入操作。写入n个字节的数据格式 :,31,10.1.5 I2C总线应用,(3)读出过程 单片机先发送该器件的7位地址码和写方向位“0”(“伪写”),发送完后释放SDA线并在SCL线上产生第9个时钟信号。被选中的存储器器件在确认是自己的地址后,在SDA线上产生一个应答信号作为相应。,然后,再发一个字节的要读出器件的存储区的首地址,收到应答后,单片机要重复一次起始信号并发出器件地址和读方向位(“1”),收到器件应答后就可以读出数据字节,每读出一个字节,单片机都要回复应答信号。当最后一个字节数据读完后,单片机应返回以“非应答”(高电平),并发出终止信号以结束读出操作。,32,10.1.5 I2C总线应用,例:编程实现向24C02C的30H开始的16个单元写入00H到0FH共16个数据,然后从24C02C中读数据,数据送AT89c51中40H开始的16个单元。,33,10.2 SPI总线扩展技术,SPI(Serial Peripheral Interface)总线是Motorola公司提出的一种同步串行外设接口, 它可以使微控制器(MCU)与各种外围设备以串行方式进行通信以交换信息。外围设备包括FLASHRAM、网络控制器、LCD显示驱动器、A/ D 转换器和微控制器等。 SPI总线使用同步协议传送数据,接收或发送数据时由主机产生的时钟信号控制。SPI接口可以连接多个SPI芯片或装置,主机通过选择它们的片选来分时访问不同的芯片。,34,10.2.1 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由主机发出,用来同步数据传送;片选信号也由主机产生,用来选择从机芯片或装置。,35,10.2.1 SPI总线,(二)SPI总线信号线基本连接关系:,SPI 总线系统有以下几种形式:1个主机和多个从机、多个从机相互连接构成多主机系统(分布式系统) 、1个主机与1个或几个I/ O设备构成的系统等。,36,10.2.1 SPI总线,(三)主从方式SPI总线接口系统的典型结构 (1)在大多数应用场合,可使用1个微控制器作为主控机来控制数据传送,并向1个或几个外围器件传送数据。从机只有在主机发命令时才能接收或发送数据 。 (2)当一个主机通过SPI与多个芯片相连时,必须使用每个芯片的片选,这可通过MCU的I/O端口输出线来实现。,37,10.2.2 SPI总线键盘显示器芯片HD 7279A,一 HD7279A功能,HD7279A是一种管理键盘和LED显示器的专用智能控制芯片。能对8位共阴极LED显示器或64个LED发光管进行管理和驱动,同时能对多达88的键盘矩阵的按键情况进行监视,具有自动消除键抖动和识别按键代码的功能。,38,10.2.2 SPI总线键盘显示器芯片HD 7279A,(1)工作电源 VDD(引脚1、2)+5V电源 VSS(引脚4)电源地 (2)片选及控制 CS(引脚6)片选信号输入端。低电平时,可向HD7279A发送指令及读取键盘数据。 CLK(引脚7)数据串行传送的同步时钟输入端。向HD7279A发送数据和读取键盘数据时,CLK时钟的上升沿表示数据有效。,一 HD7279A功能,39,10.2.2 SPI总线键盘显示器芯片HD 7279A,DATA(引脚8)为串行数据输入/输出端,当HD7279A接收命令时,DATA为输入;当读取键盘数据时,DATA引脚在“读”命令的最后一个时钟的下降沿变为输出。当向HD7279A发送数据时,DATA为输出端; RESET(引脚28)复位端。低电平有效。由低电平变成高电平并保持25ms即可实现HD7279A的复位。 KEY(引脚9)按键有效输出端,在无键按下时为高电平;当有键按下时,变为低电平并且一直保持到键释放为止。,一 HD7279A功能,40,10.2.2 SPI总线键盘显示器芯片HD 7279A,(3)键盘和LED数码管连接引脚 DIG0DIG7(引脚1825)LED数码管显示位置驱动控制端,与LED数码管的公共端相接,也作为键盘的列扫描线。 SASG(引脚1016)LED数码管的A段G段的驱动输出端。 DP(引脚17)LED数码管的小数点的驱动输出端。 SASG和DP可以作为键盘的行扫描线。HD7279A的芯片内具有驱动电路,可以直接驱动1英吋及以下的LED数码管。DIG0DIG7和SASG及DP还可作为键盘的列扫描线和行扫描线,完成对键盘的监视、译码和键码的识别。,一 HD7279A功能,41,10.2.2 SPI总线键盘显示器芯片HD 7279A,(4)RC振荡器振荡输入和输出 RC(引脚27)RC电路的输入端,连接HD7279A的外接振荡元件,其典型值为R=1.5k, C=15pF。 CLKO(引脚26)振荡电路的输出端。 另外,引脚3和引脚5没有定义,应用时必须悬空。,一 HD7279A功能,42,10.2.2 SPI总线键盘显示器芯片HD 7279A,二 HD7279A的控制命令,HD7279A有6条不带数据的命令、7条带数据命令和1条读键盘命令。,(一)不带数据的命令 (1) 复位命令 复位命令的代码为0A4H。当HD7279A接收到该命令后,把所有的显示清除,包括字符消隐属性和闪烁属性,芯片的状态与系统上电后的状态相同。,(2) 测试命令 测试命令的代码为0BFH。当HD7279A接收到该命 令后,把所有的LED点亮并闪烁,主要用于测试和自检。,43,10.2.2 SPI总线键盘显示器芯片HD 7279A,(3) 左移命令 左移命令的代码为0A1H。当HD7279A接收到该命令后,把所有的显示左移1位,移位后,最右位空(无显示),该命令不改变各位所设置的消隐和闪烁属性。 (4) 右移命令 右移命令的代码为0A0H,右移命令功能与左移指令相似,只是方向相反。当HD7279A接收到该命令后,把所有的显示右移1位,移位后,最左位空(无显示),该命令不改变消隐和闪烁属性。,二 HD7279A的控制命令,44,10.2.2 SPI总线键盘显示器芯片HD 7279A,(5) 循环左移命令 循环左移命令的代码为0A3H。当HD7279A接收到该命令后,把所有的显示循环左移1位。移位后,最左位LD7内容移至最右位LD1,如图10.23所示。该命令不改变各个显示位的消隐和闪烁属性。 (6) 循环右移命令 循环右移命令的代码为0A2H。循环右移命令的功能与循环左移命令相似,只是方向相反。,二 HD7279A的控制命令,45,10.2.2 SPI总线键盘显示器芯片HD 7279A,(二) 带数据命令 (1) 按方式0译码的下载命令,二 HD7279A的控制命令,a2、a1、a0用来指出显示位,显示位LD7为最高位。第2字节为显示内容,其中DP为小数点控制位,当DP1,显示小数点;当DP0,不显示小数点。d3d2d1d0用来指出显示数据。,46,47,10.2.2 SPI总线键盘显示器芯片HD 7279A,二 HD7279A的控制命令,(二) 带数据命令,(2)按方式1译码的下载命令,该命令和按方式0译码下载命令的含义基本相同。 HD7279A收到该命令后,把d3d2d1d0按方式1译码并显示。,48,49,10.2.2 SPI总线键盘显示器芯片HD 7279A,(二) 带数据命令,(3)不译码的下载命令,二 HD7279A的控制命令,a2 a1 a0用来指出显示位,第2字节为显示内容,其中dp和ag分别代表小数点和LED数码管显示器的7个显示段,数据位为1时,该段点亮;若数据位为0时,该段不显示。,50,10.2.2 SPI总线键盘显示器芯片HD 7279A,(二) 带数据命令,(4)闪烁控制命令,二 HD7279A的控制命令,闪烁控制命令规定了每个数码管的闪烁属性。D0D7别对应LD0LD7数码管。如果Di=1,则数码管闪烁,如果Di=0 ,则数码管不闪烁。系统上电后,缺省状态为所有数码管均不闪烁。,51,10.2.2 SPI总线键盘显示器芯片HD 7279A,消隐控制命令控制各个数码管的消隐属性,D7D0分别对应数码管LD7LD0, Di=0 ,则数码管被消隐,如果Di=1 ,则数码管显示。当某一位被赋予消隐属性后,HD7279A在扫描时将跳过该位。,(二) 带数据命令,(5)消隐控制命令,二 HD7279A的控制命令,52,10.2.2 SPI总线键盘显示器芯片HD 7279A,段点亮命令的功能是点亮数码管中的某一指定的段、或LED发光管矩阵中的某一指定的LED。命令中D5D0为数码管显示段的编号,范围为:00H3FH。,(二) 带数据命令,(6) 显示段点亮命令,二 HD7279A的控制命令,53,54,10.2.2 SPI总线键盘显示器芯片HD 7279A,显示段关闭命令的作用是关闭(熄灭)某个数码管中的某一段。,(二) 带数据命令,(7) 显示段关闭命令,二 HD7279A的控制命令,55,10.2.2 SPI总线键盘显示器芯片HD 7279A,读取键盘命令的作用是读取当前的键盘代码。与其他带数据的指令不同,该命令的第一个字节00010101是单片机传送到HD7279A的命令,而第二个字节D7D0是HD7279A返回的按键代码。HD7279A的DIG0DIG7作为键盘的行扫描,SASG和DP作为列扫描线,可以构成一个88的矩阵键盘。当有键按下时其范围是00H3FH;而无键按下时代码是FFH。,(三)读取键盘数据命令,二 HD7279A的控制命令,56,57,10.2.2 SPI总线键盘显示器芯片HD 7279A,三 HD7279A的时序,HD7279A采用串行方式与微处理器通信,串行数据从DATA引脚送入芯片,由CLK引脚输入的同步时钟同步。在DATA引脚上的数据在CLK的上升沿被写入HD7279A的寄存器。 不带数据的命令的宽度为8个位,即微处理器需要发送8个CLK脉冲;带数据的命令的宽度为16个位,即需要发送16个CLK脉冲;读取键盘数据命令的宽度为16个位,前8个位为微处理器发送到HD7279A的命令,后8个位是HD7279A返回的键盘代码数据。在HD7279A执行读取键盘数据命令时,DATA引脚在第9个CLK脉冲的上升沿时变为输出状态,在第16个CLK脉冲的下降沿恢复为输入状态,等待接收下一条命令。,58,(2)带数据的命令时序,(1)不带数据的命令时序,59,(3)读取键盘数据命令,60,10.2.2 SPI总线键盘显示器芯片HD 7279A,HD7279A的典型应用电路,四 HD7279A与MCS-51单片机的接口,61,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,TLC2543为12位开关电容逐次逼近的CMOS A/D转换器,它是TI公司生产的一种串行A/D转换器,它具有输入通道多,精度高,速度高,使用灵活和体积小的优点。,62,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,由通道选择器、数据(地址和命令字)输入寄存器、采样/保持电路、12位的模/数转换器,输出寄存器、并行/串行转换器以及控制逻辑电路等部分组成。通道选择器根据输入地址寄存器中存放的模拟输入通道地址,选择输入通道,并将该输入通道中的模拟信号送到采样/保持电路中;然后,在12位模/数转换器中,把采样的模拟量进行量化编码,转换成数字量并存放到输出寄存器中。转换结果经过并行/串行转换器转换成串行数据,从DOUT引脚输出。,63,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(一) TLC2543的引脚功能,(1)AIN0AIN10(引脚19,引脚11、引脚12):输入,模拟量输入通道,在使用4.1MHz的I/O时钟时,外部输入设备的输出阻抗应小于或等于30。,(2) (引脚15):输入,片选。引脚出现一个从高到低的变化可以使芯片内部寄存器复位,同时使能DIN DOUT和I/O时钟输入。当引脚出现一个从低到高的变化时,数据输入、数据输出和I/O时钟输入无效。,64,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(3)DIN(引脚17):输入,串行数据输入端。最先输入的4位用来选择模拟量输入通道。数据传送时最高位在前,每一个I/O时钟的上升沿送入一位数据,最先4位数据输入到地址寄存器后,接下来的4位用来设置TLC2543的工作方式。 (4)DOUT(引脚16):输出,串行数据输出端,输出的数据有3种长度可供选择:8位、12位和16位,数据输出的顺序可以在TLC2543的工作方式中设定。数据输出引脚DOUT在为高时呈高阻状态,在为低电平时,DOUT引脚输出有效。,(一) TLC2543的引脚功能,65,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(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变为低电平。,(一) TLC2543的引脚功能,66,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(7)参考电源 REF 引脚14,正参考电压。REF 引脚13,负参考电压。最大的输入电压取决于正参考电压与负参考电压的差值。 (8)芯片工作电源 Vcc引脚20,电源正极,5V。GND引脚10,电源地。,(一) TLC2543的引脚功能,67,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(二) TLC2543的时序,图10.31 使用片选信号高位在前的时序,68,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(二) TLC2543的时序,图10.32 不使用片选信号高位在前的时序,69,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,TCL2543的每次转换都必须给其写入命令字,以便确定下一次转换用哪个通道,下次转换结果用多少位输出,转换结果输出是低位在前还是高位在前。,(三) TCL2543的命令字,其中,高4位D7D6D5D4用于选择模拟量输入通道,D3D2用于选择输出数据的位数,D1用于设定输出数据的位输出顺序是高位在前还是低位在前,最低位D0用于选择输出数据的极性。,70,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(1)高4位(D7D4)设置,可以实现从11个模拟量输入通道中选择1个通道进行转换;或从3个内部自测电压中选择一个,以对转换器进行校准;或者选择软件掉电方式。,(三) TCL2543的命令字,71,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(2)D3D2位选择A/D转换结果的数据输出位数。 转换器的分辨率为12位,内部转换结果总是12位长,选择l2位数据长度时,所有的位都被输出。选择8位数据长度时,低4位被截去。选择l6位时,在转换结果的低位增加了4个被置为0的填充位。,(三) TCL2543的命令字,72,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(3)D1位选择输出数据的传送方式,即下一个I/O周期,A/D转换结果的数据以低位在前或高位在前的方式串行输出。当D1位为0时,A/D转换结果以高位在前的方式从DOUT脚输出;当D1位为1时,则以低位在前的方式从DOUT脚输出。 (4)D0位是设置A/D转换结果是以单极性还是双极性二进制数补码表示。当D0位为0时,A/D转换结果以二进制数形式表示;当D0位为1时,则以二进制数补码形式表示,(三) TCL2543的命令字,73,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,(四)TLC2543 与MCS-51单片机的接口程序设计,74,10.2.3 SPI总线多通道串行输出A/D芯片 TLC2543及接口,TLC2543 的8位A/D转换及数据传送程序(结果在R2中) TLC_8AD: MOV R4,#04H ;命令字,AIN0,8位数据,高位在前 MOV A,R4 ;(A)中为命令字 CLR P1.3 ;片选有效,选中TLC2543 MSB: MOV R5,#08H ;发送命令字,接收8位结果 LOOP: MOV P1,#04H ;置P1.2为输入 MOV C,P1.2 ;读P1.2,把DOUT位数据读入 RLC A ;结果移入(A),同时写命令字 MOV P1.1,C ;将命令字的一位经DIN移入 SETB P1.0 ;产生一个时钟脉冲 NOP CLR P1.0 DJNZ R5,LOOP MOV R2,A ;A/D转换的数据存于R2中 RET,75,10.2.4串行输入D/A芯片TLC5615接口技术,TLC5615是具有SPI串行接口的数模(D/A)转换器,其输出为电压型,最大输出电压是基准电压值的2倍。TLC5615有以下特点: (1)10位CMOS电压输出; (2)单一5V直流电源供电; (3)与CPU三线串行接口; (4)最大输出电压可达基准电压的2倍; (5)输出电压具有和基准电压相同极性; (6)建立时间12.5s; (7)内部上电复位,可以把DAC寄存器复位至全零状态。 (8)低功耗,最大仅1.75mW。,76,10.2.4串行输入D/A芯片TLC5615接口技术,(一)TLC5615的片内结构和引脚功能,77,10.2.4串行输入D/A芯片TLC5615接口技术,(一)TLC5615的片内结构和引脚功能,(1)DIN(引脚1):输入,串行数据输入; (2)SCLK(引脚2):输入,串行时钟输入; (3) (引脚3):输入,芯片选择,低电平有效; (4)DOUT(引脚4):输出,用于多个芯片级联时的串行数据输出; (5)AGND(引脚5):模拟地; (6)REFIN(引脚6):参考电压输入; (7)OUT(引脚7):输出,模拟电压输出; (8)VDD(引脚8):电源。,78,10.2.4串行输入D/A芯片TLC5615接口技术,(二)TLC5615的时序,79,10.2.4串行输入D/A芯片TLC5615接口技术,(三)TLC5615与MCS-51单片机的接口及程序设计,80,10.2.4串行输入D/A芯片TLC5615接口技术,把待转换的12位数据存放在寄存器R6和R7中,R6存放高4位,R7存放低8位 TLC_DA: CLR P3.0 ;片选有效 MOV R2, #04 ;前4位数据位数 MOV A, R6;(R6)为0000XXXX SWAP A ; LCALL WRdata;由DIN输入前4位 MOV R2, #08 ;送入的后8位 MOV A, R7 ;取低8位数据 LCALL WRdata ;由DIN输入低8位 CLR P3.1 ;时钟SCLK为低电平 SETB P3.0 ;片选高电平,输入的12位数据有效 RET,单片机发送数据到TLC5615的子程序如下: WRdata: NOP LOOP: CLR P3.1 ;SCLK为低电平 RLC A ;数据送入进位Cy MOV P3.2, C ;数据移入TLC5615的DIN SETB P3.1; SCLK为高电平 DJNZ R2, LOOP RET,81,10.2.5 SPI串行编程E2PROMX5045,X5045是Xicor公司生产的具有SPI总线接口的E2PROM芯片,它是早期产品X25045的替代品。X5045把集成了4种功能:上电复位控制、看门狗定时器、电源监督以及具有块保护功能的串行E2PROM存储器。另一款芯片X5043与X5045功能相同,二者区别仅在于输出的复位信号的电平不同,前者为低电平,后者为高电平。,82,10.2.5 SPI串行编程E2PROMX5045,(一)X5045的内部结构和引脚,包括上电复位和低电压检测及控制电路、看门狗定时器、数据寄存器、命令解码与控制逻辑电路、E2PROM存储器阵列、块保护逻辑电路、电源阈值复位逻辑电路等部分组成。,83,10.2.5 SPI串行编程E2PROMX5045,(一)X5045的内部结构和引脚,84,10.2.5 SPI串行编程E2PROMX5045,(2)SO(引脚2):输出,串行数据输出。SO是一个推/拉串行数据输出引脚,在读数据时,数据在SCK脉冲的下降沿,由SO引脚送出。,(一)X5045的内部结构和引脚,85,10.2.5 SPI串行编程E2PROMX5045,(4)VSS(引脚4):地。 (5) SI(引脚5):输入,串行数据输入。SI是串行数据的输入,命令码、地址、数据都是通过SI引脚输入的。数据输入在SCK的上升沿进行,传送时高位在前。 (6)SCK(引脚6):输入,串行时钟。在串行时钟SCK的上升沿,通过SI引脚进行数据的输入;在SCK下降沿,通过SO引脚进行数据的输出。,(一)X5045的内部结构和引脚,86,10.2.5 SPI串行编程E2PROMX5045,(7)RESET(引脚7):输出,复位输出。只要电源Vcc电压下降到小于Vcc最小值时,RESET变为高电平。RESET会一直保持高电平,直到电压值上升到超过Vcc最小值的时间大于200ms时,RESET才会变为低电平。另外,RESET也受看门狗定时器的控制。 (8)VCC(引脚8),电源。,(一)X5045的内部结构和引脚,87,10.2.5 SPI串行编程E2PROMX5045,(1)X5045的命令集,(二)X5045的命令集和状态寄存器,88,10.2.5 SPI串行编程E2PROMX5045,(2)X5045的状态寄存器,(二)X5045的命令集和状态寄存器,状态寄存器由4个断电不丢失的控制位和2个断电消失的状态位组成,用于设置看门狗定时器的溢出时间和存储器区锁定(BlockLock)保护。,X5045状态寄存器的缺省值为00H,89,10.2.5 SPI串行编程E2PROMX5045,WIP(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论