《总线接口的扩展》PPT课件.ppt

上传人:za****8 文档编号:13196510 上传时间:2020-06-07 格式:PPT 页数:147 大小:6.60MB
返回 下载 相关 举报
《总线接口的扩展》PPT课件.ppt_第1页
第1页 / 共147页
《总线接口的扩展》PPT课件.ppt_第2页
第2页 / 共147页
《总线接口的扩展》PPT课件.ppt_第3页
第3页 / 共147页
点击查看更多>>
资源描述
第二章总线接口的扩展,总线介绍,微机中总线一般有内部总线、系统总线和外部总线。内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连;而系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连;外部总线则是微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连。,内部总线,1SPI总线串行外围设备接口SPI(serialperipheralinterface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。,2.I2C总线I2C(Inter-IC)总线10多年前由Philips公司推出,是近年来在微电子通信控制领域广泛采用的一种新型总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。,系统总线,1ISA总线ISA(industrialstandardarchitecture)总线标准是IBM公司1984年为推出PC/AT机而建立的系统总线标准,所以也叫AT总线。它是对XT总线的扩展,以适应8/16位数据总线要求。它在80286至80486时代应用非常广泛,以至于现在奔腾机中还保留有ISA总线插槽。ISA总线有98只引脚。,2EISA总线EISA总线是1988年由Compaq等9家公司联合推出的总线标准。它是在ISA总线的基础上使用双层插座,在原来ISA总线的98条信号线上又增加了98条信号线,也就是在两条ISA信号线之间添加一条EISA信号线。在实用中,EISA总线完全兼容ISA总线信号。,3VESA总线VESA(videoelectronicsstandardassociation)总线是1992年由60家附件卡制造商联合推出的一种局部总线,简称为VL(VESAlocalbus)总线。它的推出为微机系统总线体系结构的革新奠定了基础。该总线系统考虑到CPU与主存和Cache的直接相连,通常把这部分总线称为CPU总线或主总线,其他设备通过VL总线与CPU总线相连,所以VL总线被称为局部总线。它定义了32位数据线,且可通过扩展槽扩展到64位,使用33MHz时钟频率,最大传输率达132MB/s,可与CPU同步工作。是一种高速、高效的局部总线,可支持386SX、386DX、486SX、486DX及奔腾微处理器。,PCI总线PCI(peripheralcomponentinterconnect)总线是当前最流行的总线之一,它是由Intel公司推出的一种局部总线。它定义了32位数据总线,且可扩展为64位。PCI总线主板插槽的体积比原ISA总线插槽还小,其功能比VESA、ISA有极大的改善,支持突发读写操作,最大传输速率可达132MB/s,可同时支持多组外围设备。PCI局部总线不能兼容现有的ISA、EISA、MCA(microchannelarchitecture)总线,但它不受制于处理器,是基于奔腾等新一代微处理器而发展的总线。,5CompactPCI以上所列举的几种系统总线一般都用于商用PC机中,在计算机系统总线中,还有另一大类为适应工业现场环境而设计的系统总线,比如STD总线、VME总线、PC/104总线等。CompactPCI的意思是“坚实的PCI”,是当今第一个采用无源总线底板结构的PCI系统,是PCI总线的电气和软件标准加欧式卡的工业组装标准,是当今最新的一种工业计算机标准。CompactPCI是在原来PCI总线基础上改造而来,它利用PCI的优点,提供满足工业环境应用要求的高性能核心系统,同时还考虑充分利用传统的总线产品,如ISA、STD、VME或PC/104来扩充系统的I/O和其他功能,外部总线,1RS-232-C总线RS-232-C是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。,2RS-485总线在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。,3IEEE-488总线上述两种外部总线是串行总线,而IEEE-488总线是并行总线接口标准。IEEE-488总线用来连接系统,如微计算机、数字电压表、数码显示器等设备及其他仪器仪表均可用IEEE-488总线装配起来。它按照位并行、字节串行双向异步方式传输信号,连接方式为总线方式,仪器设备直接并联于总线上而不需中介单元,但总线上最多可连接15台设备。最大传输距离为20米,信号传输速度一般为500KB/s,最大传输速度为1MB/s。,4USB总线通用串行总线USB(universalserialbus)是由Intel、Compaq、Digital、IBM、Microsoft、NEC、NorthernTelecom等7家世界著名的计算机和通信公司共同推出的一种新型接口标准。它基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围的目的。它可以为外设提供电源,而不像普通的使用串、并口的设备需要单独的供电系统。另外,快速是USB技术的突出特点之一,USB的最高传输率可达12Mbps比串口快100倍,比并口快近10倍,而且USB还能支持多媒体。,由于在消费类电子产品、计算机外设、汽车和工业应用中增加了嵌入式功能,对低成本、高速和高可靠通信介质的要求也不断增长以满足这些应用,其结果是越来越多的处理器和控制器用不同类型的总线集成在一起,实现与PC软件、开发系统(如仿真器)或网络中的其它设备进行通信。目前流行的通信一般采用串行或并行模式,而串行模式应用更广泛。,串行通信的优点,串行相比于并行的主要优点是要求的线数较少。例如,用在汽车工业中的LIN串行总线只需要一根线来与从属器件进行通信,Dallas公司的1-Wire总线只使用一根线来输送信号和电源。较少的线意味着所需要的控制器引脚较少。集成在一个微控制器中的并行总线一般需要8条或更多的线,线数的多少取决于设计中地址和数据的宽度,所以集成一个并行总线的芯片至少需要8个引脚来与外部器件接口,这增加了芯片的总体尺寸。相反地,使用串行总线可以将同样的芯片集成在一个较小的封装中。,另外,在PCB板设计中并行总线需要更多的线来与其它外设接口,使PCB板面积更大、更复杂,从而增加了硬件成本。此外,工程师还可以很容易地将一个新器件加到一个串行网络中去,而且不会影响网络中的其它器件。例如,可以很容易地去掉总线上旧器件并用新的来替代.,串行总线的故障自诊断和调试也非常简单,可以很容易地跟踪网络中一个有故障的器件并用新器件替换而不会干扰网络。但另一方面,并行总线比串行速度快。例如,Rambus公司的“Redwood”总线速度可高达6.4GHz,而最高的串行速度不会超过几个兆赫。,常用总线类型比较,RS-232-C,它是由是美国电子工业协会/电信工业协会(ElectronicIndustriesAssociation/TelecommunicationsIndustriesAssociation,EIA/TIA)在1969年公布的通信协议标准。它最初主要用于近距离的DTE和DCE设备之间的通信。后来被广泛用于计算机的串行接口(COM1、COM2等)与终端或外设之间的近地连接标准。该标准在数据传输速率20Kbps时,最长的通信距离为15米。EIA/TIA232有时又被称作RS-232-C.RS(RecommendedStandard)代表推荐标准(EIA制定的标准一般都被冠以RS),232是标识号,C代表RS-232的最新一次修改。,DTE英文全称DataTerminalEquipment,数字终端设备,指一般的终端或是计算机。可能是大、中、小型计算机,也可能是一台只接收数据的打印机。DCE英文全称DataCircuit-terminatingEquipment,数字通信设备,通常指调制解调器,多路复用器或数字设备。它们主要是用于异步传输模式中。它们之间的区别是DCE一方提供时钟,DTE不提供时钟,但它依靠DCE提供的时钟工作。比如PC机和MODEM之间的连接。PC机就是一个DTE,MODEM是一个DCE。DTE可以从硬件上区别它的接口为针式,DCE的接口为孔式。,DB9只有9根线,遵循RS232标准。定义如下:DTR,DSR-DTE设备准备好/DCE设备准备好。主流控信号。RTS,CTS-请求发送/清除发送。缺省时是DCE向DTE发送数据,当DTE决定向DCE发数据时,先有效RTS,表示DTE希望向DCE发送,一般DCE不能马上转换收发状态,DTE就通过监测CTS是否有效来判断可否发送,这样避免了DTE在DCE未准备好时发送所导致的数据丢失。全双工时,这两个信号一直有效即可。,接收线信号检出(ReceivedLinedetection-RLSD)用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(DataCarrierdectection-DCD)线。振铃指示(Ringing-RI)当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。,采用Modem(DCE)和电话网通信时的信号连接,采用专用电话线通信,近距离通信:零Modem的最简连线(3线制),零Modem标准连接,RS232的电气特性,电气特性EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。(1)在TxD和RxD上:逻辑1(MARK)=-3V-15V逻辑0(SPACE)=315V(2)在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)3V15V信号无效(断开,OFF状态,负电压)=-3V-15V,RS232和TTL之间的电平转换,MAX232,MAX232连线图,双串口电路原理图,TXD,RXD,TXD,RXD,由三极管组成的串口电平转换电路,RS-422与RS-485串行接口标准,RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。,RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。,通常情况下,发送驱动器A、B之间的正电平在+2+6V,是一个逻辑状态,负电平在-2-6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。接收器也作与发送端相对的规定,收、发端通过平衡双绞线将AA与BB对应相连,当在收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV至6V之间。参见图,RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。下图右是典型的RS-422四线接口。实际上还有一根信号地线,共5根线。下图左是其DB9连接器引脚定义。由于接收器采用高输入阻抗和发送驱动器,比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是104k+100(终接电阻)。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)。,RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。RS-422需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输电缆的最远端。,RS485,由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进,无论四线还是二线连接方式总线上可多接到32个设备.,1英尺=0.3048米,4000英尺,4000英尺,RS485/RS422收发器,半双工的RS485网络,全双工的RS485网络,SPI,同步外设接口(SPI)(SerialPeripheralInterface)是由摩托罗拉公司开发的全双工同步串行总线,该总线大量用在与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设器件通信。,SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度可达到几Mbps。,SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:(1)MOSI主器件数据输出,从器件数据输入(2)MISO主器件数据输入,从器件数据输出(3)SCLK时钟信号,由主器件产生(4)/SS从器件使能信号,由主器件控制,在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上稍微复杂一些。,SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。,常用的是方式0和方式3,SPI总线接口及时序SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设时钟相位和极性应该一致。SPI总线接口时序如图所示。,SPI器件举例,AT93C46/56/66,AT93C46,AT93C56,AT93C66,引脚功能,引脚功能说明,Vcc:电源引脚,+5V。GND:地线CS:片选信号。当CS=1时,选中芯片;当CS=0时,不选中芯片且强迫芯片进入等待方式。一旦编程周期启动,则不管CS的输入信号是否变为0,编程周期都会继续执行直到结束,在编程周期结束之前,如果CS为0,则编程一结束芯片马上进入等待方式。在两条相临指令执行中,CS必须最少产生500NS的低电平,以指明前条指令的结束。在CS处于0时,内部控制逻辑处于复位状态。SK:串行时钟,在时钟的上升沿,操作码、地址和数据位进入器件或从器件输出。DI:串行数据输入,用于在串行时钟SK的同步下输入起始位,操作码地址和写入数据。DO:数据输出端。数据输出端DO用于在读方式中,在串行时钟SK的同步下输出读出的数据。ORG:存贮器构造配置端.接VCC时,选择16位模式;接GND时,选择8位模式.,指令集,指令,起始位,操作码,读指定地址中的数据,擦/写使能,用于所有模式前,擦除指定地的数据,写1,向指定地的数据写数据,擦除所有空间,将指定数据写入所有空间,擦/写禁止,各模式时序,读时序:,用于从指定的单元中把数据从高位到低位输出至DO端,但逻辑0位先于数据位输出.读指令和数据的各个位是在时钟的上升沿发生变化.,擦/写使能时序,当上电时,芯片自动处于禁止擦/写状态。该命令用于所有命令的前面,用于启动允许擦/写状态,直到遇到EWDS命令前,该命令始终有效。,为了防止意外的数据扰动,EWDS用于禁止所有的编程模式,它应该用于所有的编程命令之后,但READ命令独立于EWEN和EWDS,READ命令可以在任何时间执行。,禁止擦/写时序,地址写时序,写指令用于将8位或16位数据写入指定的地址中,当在DI上的最后一个数据位被接收后,启动自定时的编程周期twp(典型值为3ms),如果CS在保持最小250ns后变高,那么DO引脚将输出READY/BUSY状态,逻辑0表示写入过程正在进行(BUSY)。逻辑1表示写入完毕,准备接收下一步的指令。如果CS在twp周期后变高,则READY/BUSY状态不会被获取。,芯片写指令时序,该指令将命令中指定的数据写入所有单元。如果CS在保持最小250ns后变高,那么DO引脚将输出READY/BUSY状态,逻辑0表示写入过程正在进行(BUSY)。逻辑1表示写入完毕,准备接收下一步的指令。,地址擦除定时,该指令用于将指定地址中的所有数据位置1。当接收的指令和地址被解码后,开始自定时的擦除周期,DO引脚输出READY/BUSY状态。,芯片擦除指令,该指令用于将芯片中的所有存贮位置1,DO引脚会输出READY/BUSY状态。,AT93XX控制程序设计,P1.0,CS,P1.1,SK,P1.2,DI,P1.3,DO,8051,AT93C46,ORG,总线,I2C(InterIntegratedCircuit)总线:I2C总线产生于在80年代,是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。,I2C总线最主要的优点是其简单性和有效性。I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。,标准模式器件和快速模式器件连接到I2C总线,I2C总线接口电路结构,I2C总线接口为开漏或开集电极输出,需加上拉电阻。系统中所有的单片机、外围器件都将数据线SDA和时钟线SCL的同名端相连在一起,总线上的所有节点都由器件和管脚给定地址。系统中可以直接连接具有I2C总线接口的单片机,也可以通过总线扩展芯片或I/O口的软件仿真与I2C总线相连。在I2C总线上可以挂接各种类型的外围器件,如RAM/EEPROM、日历/时钟芯片、A/D转换器、D/A转换器、以及由I/O口、显示驱动器构成的各种模块。,I2C总线上数据传送的基本单位为字节,采用高位在前的格式。主从器件之间一次传输的数据称为一帧,由启动信号、若干个数据字节和应答位以及停止信号组成。I2C的主要命令只有读、写两种,虽然读写的字节根据具体器件的不同而不同,但其时序关系不会发生改变。下位机只要具备I2C的基本时序即可。这些基本时序包括:启动、写字节、读字节、应答位、停止信号,并可以组合成两个子程序:读N字节子程序、写N字节子程序。,CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。,I2C总线的特征,数据传输过程举例,I2C总线的位传输,起始和终止条件,I2C总线的数据传输,从机发出应答,从机拉低总线,使主机进入等待状态,接收器发出应答,I2C总线的响应,发送器的数据输出,接收器的数据输出,主机发送的时钟,应答时钟脉冲,完整的数据传输过程,从机发,接收器发,始终由主机发出,可能的数据传输格式,I2C器件举例,AT24C02,器件地址,操作模式-写操作,字节写,页写,用页写AT24C01可一次写入8个字节数据AT24C02/04/08/16可以一次写入16个字节如果在发送停止信号之前主器件发送超过页字节长度,地址计数器将自动翻转先前写入的数据被覆盖,写保护,写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写,当WP管脚接高时,整个寄存器区全部被保护起来而变为只可读取AT24C01/02/04/08/16可以接收从器件地址和字节地址,但是装置在接收到第一个数据字节后不发送应答信号从而避免寄存器区域被编程改写.,操作模式-读操作,对AT24C01/02/04/08/16读操作的初始化方式和写操作时一样,仅把R/W位置为1。有三种不同的读操作方式:立即地址读,选择读和连续读。,立即地址读,AT24C01/02/04/08/16的地址计数器内容为最后操作字节的地址加1,也就是说如果上次读/写的操作地址为N,则立即读的地址从地址N+1开始。如果N=E,这里对24C01E=127,对24C02E=255,对24C04,E=511,对24C08E=1023,对24C16E=2047,则计数器将翻转到0,且继续输出数据AT24C01/02/04/08/16接收到从器件地址信号后(R/W位置1),它首先发送一个应答信号,然后发送一个8位字节数据。主器件不需发送一个应答信号但要产生一个停止信号。,选择性读,选择性读操作允许主器件对存储器的任意字节进行读操作。主器件首先通过发送起始信号,从器件地址和它想读取的字节数据的地址,执行一个伪写操作。在AT24C01/02/04/08/16应答之后,主器件重新发送起始信号和从器件地址,此时R/W位置1。AT24C01/02/04/08/16响应并发送应答信号,然后输出所要求的一个8位字节数据,主器件不发送应答信号,但产生一个停止信号。,连续读,连续读操作可通过立即读或选择性读操作启动,在AT24C01/02/04/08/16发送完一个8位字节数据后,主器件产生一个应答信号来响应,告知AT24C01/02/04/08/16主器件要求更多的数据,对应每个主机产生的应答信号,AT24C01/02/04/08/16将发送一个8位数据字节,当主器件不发送应答信号而发送停止位时结束此操作,时间参数定义,写周期定时,I2C总线的软件模拟,1.产生起始位和停止位分别用P1.0和P1.1模拟I2C总线的时钟线和数据线,则可给时钟线SCL和数据线SDA赋值。程序如下:,2.发送起始条件当时钟SCL为高电平时,数据线SDA从高电平向低电平切换表示起始条件,即启动I2C总线数据传送。模拟时序产生时钟SCL和SDA发送的起始条件子程序如下:使用不同频率的晶体振荡器,则要相应增删程序段中NOP指令的条数,以满足时序的要求。,3.发送停止条件当时钟SCL为高电平时,数据线SDA由低电平向高电平切换表示停止条件,即停止I2C总线数据传送。模拟时序产生时钟SCL和SDA发送的停止条件子程序如下:使用不同频率的晶体振荡器,则要相应增删程序段中NOP指令的条数,以满足时序的要求。,4.发送应答位、非应答位子程序I2C总线上的第9个时钟脉冲对应于应答位,当该位为低电平表示应答ACK,当该位为高电平表示非应答ACK。I2C总线的应答位和非应答位如下图所示。发送ACK和ACK子程序如下。,SDA,SCL,应答,非应答,(1)发送应答位ACK由上图可知,当发送应答位ACK时,只需将SDA设为低电平、SCL设为高电平,其区间的长短根据晶振的频率确定,即改变下列子程序中的NOP数即可达到要求,发送ACK子程序如下:,(2)发送非应答位由上图可知,当发送非应答位ACK时,只需将SDA设为高电平、SCL设为高电平,其区间的长短根据晶振的频率确定,即改变下列子程序中的NOP数即可达到要求,发送ACK子程序如下:,5.应答位检查子程序根据I2C总线协议,在接收到一个字节后,要发送一个应答位以供检查,此时可设置一个标志位表示应答状态。当检查结果为正常应答时,则标志位置0;否则,标志位置1。应答位检查子程序如下:,6.字节数据发送子程序根据I2C总线协议,数据在时钟线为低电平时变化,高电平时稳定,每一个时钟脉冲传送一位。模拟I2C总线的SDA接在并行口线,并口中无移位寄存器,要通过指令完成移位后再从SDA串行输出。I2C总线的字节数据传送如下图所示。将待发送的字节存于累加器A中,字节数据发送子程序如下:,字节数据发送子程序,7.字节数据接收子程序根据I2C总线协议,数据必须在时钟处于高电平期间,数据稳定时才能读取数据,在经过八次的时钟转换后,读出八位即一个字节数据。I2C总线起始字节如下图所示。将读出的字节数据存于R5中,接收字节数据子程序如下:,接收字节数据子程序,8.多个字节数据发送子程序在完成上述模拟子程序后,根据I2C总线协议,可编写多个字节数据发送子程序。要发送的字节数存放在R5中,要发送的数据块的第一个数据的地址为40H,外围器件的地址存放在60H中,参考程序如下:,9.多个字节数据接收子程序根据I2C总线协议,同样可编写多个字节数据接收子程序。要接收的字节数存放在R5中,要接收的数据块存放的首地址为50H,外围器件的地址存放在60H中,参考程序如下:,1wire总线的基本原理,1Wire总线整体结构与特点,应用,单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线,其内部等效电路如图所示。单总线通常要求外接一个约为4.7k的上拉电阻,这样,当总线闲置时,其状态为高电平。主机和从机之间的通信可通过3个步骤完成,分别为初始化1-wire器件、识别1-wire器件和交换数据。由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire器件都必须严格遵循单总线命令序列,即初始化、ROM命令、功能命令。,说明,单总线芯片序列号,单总线器件的基本特点就是每个器件都有一个唯一的采用激光刻制的序列号,当有许多单总线器件连接在同一总线时,系统主机可以通过器件的序列号进行器件识别.序列号,芯片的分类码,一共可以有256种不同类型的芯片,如数字温度计DS1822的分类码是10H,每类产品可以生产2814千亿片.相当于全球人均5万片.,是前面56位的CRC校验码.,MSB,LSB,信号方式,所有的单总线器件都要遵循严格的通信协议,以保证数据的完整性。1-wire协议定义了复位脉冲、应答脉冲、写0、写1、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化,ROM命令,功能命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其它均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。,信号时序设计原理,信号时序设计原理说明,总线主机启动和控制所有1-Wire通信。1-Wire通信波形与脉宽调制类似,因为在数据位传输期间(或时隙(Timeslot)是通过宽脉冲(逻辑0)和窄脉冲(逻辑1)发送数据的。当总线主机发出一个预定宽度的“复位”脉冲时,启动通信过程,并通过该脉冲同步整个总线系统。所有从机都会以一个逻辑低“应答”脉冲来响应复位脉冲。(初始化)写数据时,主机首先拉低1-Wire总线以启动一个时隙,然后保持总线为低(宽脉冲)来发送逻辑0,或释放总线(窄脉冲)使总线返回逻辑1状态。(写周期)读数据时,主机以窄脉冲方式拉低总线,重新启动一个时隙。然后从机可以通过导通开漏极输出并保持线路为低来延长该脉冲,从而返回逻辑0;或保持开漏极的关闭状态以允许总线恢复,从而返回逻辑1。(读周期)大多数1-Wire器件都支持两种数据速率:15kbps标准速率和111kbps高速速率。,初始化信号,初始化时序,初始化时序包括主机发出的复位脉冲和从机发出的应答脉冲。主机通过拉低单总线至少480s产生Tx复位脉冲;然后由主机释放总线,并进入Rx接收模式。主机释放总线时,会产生一由低电平跳变为高电平的上升沿,单总线器件检测到该上升沿后,延时1560s,接着单总线器件通过拉低总线60240s来产生应答脉冲。主机接收到从机的以应答脉冲后,说明有单总线器件在线,然后主机就可以开始对从机进行ROM命令和功能命令操作。,初始化时序图,从机检测上升沿,写时序,读时序,命令序列,典型的单总线命令序列如下:第一步:初始化第二步:ROM命令(跟随需要交换的数据)第三步:功能命令(跟随需要交换的数据),每次访问单总线器件必须严格遵守这个命令序列,如果出现序列混乱,则单总线器件不会响应主机。但是这个准则对于搜索ROM命令和报警搜索命令例外。在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。,ROM命令,在主机检测到应答脉冲后就可以发出ROM命令,这些命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少个从机设备,以及其设备类型或者有没有设备处于报警状态。从机设备可能支持5种ROM命令(实际情况与具体型号有关),每种命令长度为8位,主机在发出功能命令之前必须送出合适的ROM命令。,1线式数字温度计18B20介绍,DS18B20特性,测量精度:在-10+85范围内,精度为0.5分辨率:912位,其中包括1位的符号位,位数通过编程决定。温度转换时间:,电源电压范围:在保证精度为0.5的情况下,电源电压可为+3.0V5.5VDS18B20的家族代码为28H温度数据寄存器:由两个字节组成。内部存储器分配:DS18B20中含有EEPROM,其报警上、下限温度值和设定的分辨率是可记忆的。出厂时设定为12位分辨率。,结构框图,供电电路,便笺式寄存器(ScratchedMemory),说明:1.TH,TL和CONFIG寄存器必须被连续写入,如果必须对其中一个进行写操作.2.CRC(CyclicRedundancyCheck)字节,存放前8个字节按CRC算法所得的结果.3.配置寄存器:,EEPROM,上电状态,温度数据格式,温度报警信号,在DS18B20完成温度转换后,其温度值将和报警寄存器(TH和TL)中存储的触发门限值相比较,由于这两个阈值寄存器都是8位寄存器,因此,在比较时,测量值中相应的几个低位数据将被忽略,TH和TL中的最高位直接对应温度寄存器中的符号位.若测量值高于TH或低于TL,则设置报警标志,该标志每测一次温度都要被更新.一旦报警标志设置后,器件就会响应主设备发出的条件搜索命令.,DS18B20命令表,Status:0-busy,1-Ready.(只有在外接电源的模式下,才能读状态)电源信息:0-寄生电源,1-外接电源,命令说明,ReadScratchPad命令(4EH):写的顺序:TH-TL-配置寄存器,每个字节的低位在前,高位在后。主机可以在任一时刻发Reset命令终止读过程。WriteScratchPad命令(BEH)读Byte0Byte8,低位在前,在复位前必须写完3个字节。CopyScratchPad命令(48H)将TH,TL和配置寄存器的内容复制到EEPROM。RecallEEPROM命令将EEPROM的内容复制到TH,TL和配置寄存器。主机可以通过发读时序来判别命令的状态。上电时芯片自动完成一次本命令。,操作次序,操作举例,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!