1、I2C串行扩展应用实例串行I 2C总线EEPROM AT24CXX的扩展1)基本原理 AT24CXX的特点是:单电源供电,工作电压范围宽1.8V5.5V;低功耗CMOS技术(100KHz(2.5 V)和400KHz(5V)兼容),自定时写周期(包含自动擦除)、页面写周期的典型值为2ms,具有硬件写保护。 图9.6 AT24CXX的结构和引脚。(a)内部结构图;(b)引脚图。器件型号为AT24CXX的结构和引脚如图9.6所示,其中SCL 串行时钟端。SDA 串行数据端。WP 为写保护: 当WP=1时存贮器只读;当WP=0时存贮器可读可写。A0、A1、A2 片选或块选。SDA为漏极开路端,需接上拉
2、电阻到Vcc。数据的结构为8位。信号为电平触发,而非边沿触发。输入端内接有滤波器,能有效抑制噪声。自动擦除(逻辑“1”)在每一个写周期内完成。AT24CXX采用I 2C规程,运用主/从双向通讯。器件发送数据到总线上,则定义为发送器 ,器件接收数据则定义为接收器。主器件(通常为微控制器)和从器件可工作于接收器和发送器状态。总线必须由主器件控制,主器件产生串行时钟(SCL),控制总线的传送方向,并产生开始和停止条件。串行EEPROM为从器件。无论主控器件,还是从控器件,接收一个字节后必须发出一个确认信号ACK。 2)控制字节要求 开始位以后,主器件送出8位控制字节。控制字节的结构(不包括开始位)如
3、下所示:说明:、控制字节的第14位为从器件地址位(存贮器为1010)。控制字节中的前4位码确认器件的类型。此四位码由飞利浦公司的IIC规程所决定。1010 码即为从器件为串行EEPROM的情况。串行EEPROM将一直处于等待状态,直到1010码发送到总线上为止。当1010码发送到总线上,其它非串行EEPROM从器件将不会响应。 、控制字节的第57位为18片的片选或存贮器内的块地址选择位。此三个控制位用于选片或者内部块选择。标准的IIC规程允许选择16K位的存贮器。通过对几片器件或一个器件内的几个块的存取,可完成对16K位存贮器的选择,如表9-6所示。表9-6 AT24CXX的A2A1A0控制字
4、节的A2、A1、A0的选择必须与外部A2、A1、A0引脚的硬件连接或者内部块选择匹配,A2、A1、A0引脚无内部连接的,则这三位无关紧要;作器件选择的,可接高电平或低电平。 AT24CXX的存贮矩阵内部分为若干块,每一块有若干页面,每一页面有若干个字节。内部页缓冲器只能写入一页字节数据,对24LC32和24LC64一次可以存8页(每页8个字节)。、控制字节第8位为读、写操作控制码。如果此位为1,下一字节进行读操作(R);此位为0,下一字节进行写操作(W)。当串行EEPROM产生控制字节确认位以后,主器件总线上将传送相应的字地址或数据信息。3)确认要求 在每一个字节接收后,接收器件必须产生一个确
5、认信号位ACK。主器件必须产生一个与此确 认位相应的额外时钟脉冲。在此时钟脉冲的高电平期间拉SDA线为稳定的低电平,为确认信号(ACK)。若不在从器件输出的最后一个字节中产生确认位,主器件必须发一个数据结束信 号给从器件。在这种情况下,从器件必须保持数据线为高电平(用表示),使 得主器件能产生停止条件。注意:如果内部编程周期(烧写)正在进行,AT24CXX不产生任何确认位。4)、写操作 字节写在主器件发出开始信号以后,主器件发送写控制字节即1010A2A1A00(其中R/W读写控制位为低电平“0”)。这指示从接收器被寻址,由主器件发送的下一个字节为字地址 ,将被写入到AT24CXX的地址指针。
6、主器件接收来自AT24CXX的另一个确认信号以后,将发送数据字节,并写入到寻址的存贮器地址。AT24CXX再次发出确认信号,同时主器件产生 停止条件P。启动内部写周期,在内部写周期内AT24CXX将不产生确认信号(见图9.7)。页面写如同字节写方式,先将写控制字节、字地址发送到AT24CXX,接着发n个数据字节,主器件发送不多于一个页面字节的数据字节到AT24CXX,这些数据字节暂存在片内页面缓存器中,在主器件发送停止信号以后写入到存贮器。接收每一字节以后,低位顺序地址指针在内部加1。高位顺序字地址保持为常数。如果主器件在产生停止条件以前要发送多于一页字的数据,地址计数器将会循环,并且先接收到
7、的数据将被覆盖。象字节写操作一样,一旦停止条件被接收到,则内部写周期将开始(见图9.8)。 写保护当WP端连接到Vcc,AT24CXX可被用作串行ROM,编程将被禁止,并且整个存贮器写保护。5)读操作 当从器件地址的R/W位被置为“1”,启动读操作。存在三种基本读操作类型:读当前地址内容,读随机地址内容,读顺序地址内容。读当前地址内容AT24CXX片内包含一个地址计数器,此计数器保持被存取的最后一个字的地址,并在片内自动加1。因此,如果以前存取(读或者写操作均可)的地址为n,下一个读操作从n+1地址中读出数据。在接收到从器件的地址中R/W位为1的情况下,AT24CXX发送一个确认位并且送出8位
8、数据字。主器件将不产生确认位(相当于产生ACK),但产生一个停止条件。AT24CXX不再继续发送(见图9.9)。 读随机地址内容这种方式允许主器件读存贮器任意地址的内容,操作如图9.10所示。图9.10 AT24CXX读随意地址的内容主器件发1010A2A1A0后发0位,再发读的存贮器地址,在收到从器件的确认位ACK后 产生一个开始条件S,以结束上述写过程,再发一个读控制字节,从器件AT24CXX在发ACK信号后发出8位数据,主器件发后,发一个停止位,AT24CXX不再发后续字节。读顺序地址的内容读顺序地址内容的方式与读随意地址内容的方式相同,只是在AT24CXX发送第一个字节以后,主器件不发
9、和STOP,而是发ACK确认信号,控制AT24CXX发送下一个顺序地址的8位数据字,直到x个数据读完(见图9.11)。防止噪声AT24CXX使用了一个Vcc门限检测器电路。在一般条件下,如果Vcc低于1.5V,门限检测器对内部擦/写逻辑不使能。SCL和SDA输入端接有施密特触发器和滤波器电路,即使在总线上有噪声存在的情况下,它们也能抑制噪声峰值以保证器件正常工作。 (3)10位串行D/A TLC5615的扩展 TLC5615是带有缓冲基准输入的10位电压输出型D/A转换器。器件可在单5V电源下工作,且具有上电复位功能。TLC5615的控制是通过三线串行总线进行,可使用的数字通信协议包括SPI、
10、QSPI以及Microwire标准。低功耗,在5V供电时功耗仅1.75mW,数据更新速率为1.2MHz,典型的建立时间为12.5us。TLC5615广泛应用于电池供电测试仪表、数字增益调整、电池远程工业控制和移动电话等领域。1)、TLC5615的内部结构和外部引脚TLC5615的内部结构如图9.24所示,其主要由16位移位寄存器、10位D/A寄存器、D/A转换权电阻、基准缓冲器、控制逻辑和2倍程放大器等电路组成。VCCSCLK 一一16一一一一一一TLC 5615一一一一一一D/AREFIN10一D/A一一一_RR7 OUTR+一一一一AGND2+10+4一X2_+DIN DOUTCSVCCS
11、CLK REFINOUTAGNDDINDOUTCSTLC 5615一一一21437856图9.24 TLC5615的内部结构 TLC5615的管脚与Maxim公司的MAX515完全兼容,如图所示。各管脚的功能介绍如下:DIN:串行数据输入脚SCLK:串行时钟输入脚/CS:片选端,低电平有效DOUT:用于菊花链(级联)的串行数据输出端AGND:模拟地REFIN:基准输入端,一般接2V(VCC2)V,典型值2.048VVCC:电源端,一般接+5V2)、TLC5615的接口及应用、TLC5615与AT89C52的典型接口电路如图9.26所示。 VCCSCLK REFINOUTAGNDDINDOUTC
12、S80C52一TLC 5615一一一2143 7856P1.4P1.780C52P1.5、TLC5615通过固定增益为2的运放缓冲电阻网络,把10位数字数据转换为模拟电压。上电时,内部电路把D/A寄存器复位为0。其输出具有与基准输入相同的极性,表达式为:V0=2 REFINV Code 102、TLC5615最大的串行时钟速率不超过14MHz,10位DAC的建立时间为12.5us,通常更新速率限制至80kHz以内。、TLC5615的16位移位寄存器在SCLK的控制下从DIN引脚输入数据,高位在前,低位在后。SCLK 1Din 32 4CSDout5 76 8 9 1110 12 13一一一一D
13、in一一一一一一65151514 16x xx x D9 D7D8 D6 D5 D3D4 D2 D1 0D0 00 x xx x D9 D7D8 D6 D5 D3D4 D2 D1 0D0 0、16位移位寄存器中间的10位数据在上升沿的作用下打入10位的D/A寄存器供给D/A转换。、输入的数据格式位为: 输入序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16输入数据 X X X X D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 03)、SPI和AT89C52的接口传送8位字节形式的数据。要把数据输入到D/A转换器需要两个写周期。QSPI接口具有从
14、8位至16位的可变输入数据长度,可以在一个写周期之内装入好转换数据代码。当系统不使用D/A转换器时,最好把D/A寄存器设置为全0,这样可以使基准电阻阵列和输出负载的功耗降为最小。依据图:OUTDinDSclk VccCS OUTREFinGNDAIN1 OUT 2GND3U4MC1403EA/VP31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112P123 P134P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P
15、23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10U189C51100uFC2C10.156 7U3BLM3582kR12kR3R410k104C3100uFC4VccVccU2 TLC5615TLC5615的一个简单的应用编程见下。DIN BIT P1.7;定义I/O口SCLK BIT P1.5CS5615 BIT P1.4DataH EQU 30HDataL EQU 31HTLC5615: CLR SCLK ;准备操作TLC5615CLR CS5615 ;选中TLC5615MOV R7, #08HMOV A, DataH ;装入高
16、8位数据LOOPH: LCALL DELAY ;延时RLC A ;最高位移向5615MOV DIN, CSETB SCLK ;产生上升沿,移入一位数据 LCALL DELAYCLR SCLKDJNZ R7, LOOPHMOV R7, #08HMOV A, DataL ;装入低8位数据LOOPL: LCALL DELAY ;延时RLC A ;最高位移向5615MOV DIN, CSETB SCLK ;产生上升沿,移入一位数据LCALL DELAYCLR SCLKDJNZ R7, LOOPLSETB CS5615 ;结束5615的操作,同时将转换数据代码存入10位DA寄存器,启动新一轮的DA转换R
17、ET 四、串行AID转换器与单片机的接口及应用 随着大规模集成电路技术的发展,各种高精度、低成本、低功耗、可编程的AID芯片不断推出,使得仪器仪表和微机测控系统的电路设计更加简洁,可靠性更高。由于单片机独特的I/O操作和控制功能,高精度、接口简单而又价格低廉的串行AID芯片在单片机应用系统中受到欢迎。 1)、12位串行A/D转换器TLC2543简介 (1) TLC2543的基本性能:、TLC2543是有11个模拟量输入通道的12位开关电容逐次逼近A/D转换器,具有转换速度快、稳定性好、与单片机接口简单,且性价比好等优点。、芯片有片选(cs)、输入/输出肘钟(CLOCK)、地址输入(DATAl)
18、三个控制输入端。可通过一个三态的串行输出端与主处理器或其他外围串行口高速传输数据。 、该器件片内含有一个14通道模拟开关,可选择11路模拟量输人(AINOAINlO)中的任意一个或三个内部自测电压(Self-Test)中的一个。片内产生转换时钟并由片I/O CLOCK同步。在允许的工作温度范围内A/D转换时间小于10us。片内还设有采样一保持电路。器件的基准电压由外电路提供。、其A/D转换输出数据的长度和格式可编程为以下几种方式: a)、单极性或双极性输出(有符号的双极性,对应于所加基准电压的1/2)。 b)、MSB(Dll位)或LSB(D0位)作前导输出。 c)、可变输出数据长度(8位、12
19、位、16位)。 (2)、 TLI2543的管脚功能TLC2543有20个引脚,多种封装形式,其中双列直插式的 管脚排列如图8-20所示。AIN2AIN3AIN4AIN5AIN6AIN7AIN8GNDTLC2543一 一CLOCKDATAIDATAOCSREFREFAIN10AIN91234567820191817161514131211910AIN1AIN0 VccEOC管脚功能及说明如下: 1)、AINO - AINlO: 11个模拟输人端,输入电压范围:0.3V(Vcc+0.3V)。对4.1MHz的I/O时钟,驱动源阻抗必须小于或等于502)、/CS:片选端。/CS的下降沿,将复位内部计数
20、器,并控制和使用DATAO、DATAI和CLOCK;/CS的上升沿,将在一个设置时间内禁止DATAI和CLOCK信号。3) DATAI:串行数据输人端:8位控制字以MSB为前导从该端输入。前4位串行地址选择下一个即将被转换的模拟输人或测试电压;后4位用于选择输出数据的长度和格式。 4)、DATAO:用于AID转换结果输出的三态串行输出端。DATAO在/CS为高电平时处于高阻状态,而当/CS为低电平时可输出数据。在/CS有效时,CLOCL的下降沿将上一次的转换结果的各位从DATAO端依次移出。 5)、EOC:转换结束信号:输出。在I/O周期的最后一个CLOCK下降沿后,EOC从高电平变为低电平,
21、并保持低电平直到转换完成及数据准备传输。 6)、CLOCK:输入/输出时钟端。CLOCK接收串行输人并完成以下功能:在CLOCK的前八个上升沿,将八个输入数据位移人输人数据寄存器;其中前4位为模拟通道地址;CLOCK的第四个下降沿开始对所选通道信号进行采样; CLOCK的下降沿将前一次转换的数据的其余位依次移出DATAO端;在I/O周期CLOCK的最后一个下降沿使EOC变低并开始A/D转换。 7)、REF+:正基准电压端。基准电压的正端(通常为Vcc)被加到阻RFE+。最大的输人电压范围取决于加在本端与加在REF-端的电压差。 8)、REF-:负基准电压端:既基准电压的低端。 9)、Vcc:正
22、电源端。通常接+5V, GND为电源接地端。 2. TLI2543的编程格式及工作过程 (1)、输入寄存器控制字格式从应用编程角度看,TLI2543内部有一个输人数据寄存器和一个输出数据寄存器。前者存放从DATDI端移人的控制字,后者存放转换好的数据, 以便下一周期从DATAO端串行输出。输人的数据为8位,包括:4位模拟量通道地址(D7D4)、2位数据长度选择(D3、D2)、1位输出顺序(D1)选择、1位输出极性选择(D0)。 其输入控制字的格式与作用见表8-3。 表8-3输入数据寄存器的控制字格式与作用 输入数据字节 备注 地址位 L1 L0 LSBF BIP功能选择 D7 D6 D5 D4
23、 D3 D2 D1 D0 D7=MSB D0=LSB AINO 0 0 0 0AINl 0 0 0 1 AIN2 0 0 1 0AIN3 0 0 1 1 AIN4 0 1 0 0AIN5 0 1 0 1AIN6 0 1 1 0 AIN7 0 1 1 1 AIN8 1 0 0 0AIN9 1 0 0 1 AINlO 1 0 1 0选择 输入通道选择 REF+与REF- 差模 1 0 1 1 REF一单端 1 1 0 0 REF+单端 1 1 0 1 软件断电 1 1 1 0 内部 测试 输出8位 0 1输出12位 X X输出16位 0 1输出 数据 长度 MSB (高位)先出 0 LSB(低位)
24、先出 1 输出数 据格式 单极性(二进制) 0 双极性(2的补码) 1 输出方 式极性 (2)、TLI2543的工作过程与时序虽然TLI2543的输出数据长度有8位、12位和16 位几种,但对该器件的应用时采用8位意义不大,16位输出时其有效数据仍为12位,一般是为了方便与16位串行接口通信采用。所以常用12位数据长度。现以12位数据长度为例介绍其工作过程。图8-21所示为用12位时钟传送,并以MSB为前导的时序。其工作过程 简述如下:1 2 3 4ABCD4321DCBATitleNumber RevisionSizeBDate: 29-May-2009 Sheet of File: E:P
25、rotel一PREVIO12.DDB Drawn By:CSCLOCKEOCD111LSB2DATAO一一一一一一一一一一DOTAI一一一一一一一一一一3 94一一MSB1085 76一一一一A/D一一一一111 212D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D11D10D9D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5一一一12一一一一一一一MSB一一一一一一1)、初始状态:片选/CS应为高电平, CLOCK和DATAl被禁止, DATAO为高阻状态。 2)、I/O周期的启动:片选/CS端必须由高变低,才能开始一个I/O的工作周期,这时EOC变为
26、高,CLOCK和DATAl使能,DATAO脱离高阻态。8位输入寄存器被置零,输出寄存器的内容为上一次的转换结果。 3)、I/O周期的操作过程:进人I/O周期后,时钟信号从CLOCK端依次加人,并在时钟的控制下同时进行两种操作: 8位输人控制字从DATAl端逐位移人,并存入输入寄存器,其中前4位为模拟通道地址,后4位选择输出数据的长度和格式(见表8-3);另一方面也将上一次的转换结果从DATAO端输出。 CLOCK端输人的时钟长度(8、12、16)取决于输出数据长度的选择,当选择12位或16位时,在前8个CLOCK时钟后DATAI端的数据无效。 4)、模拟量的采样与AID转换:对被转换的模拟量采
27、样开始于CLOCK的第4个下降沿, 保持在CLI优K的最后一个下降沿之后,此时EOC变低,并开始AID转换。转换完成后 EOC再次变为高,并将转换结果存入输出数据寄存器以便在下一个I/O周期输出。在转换过程中使/CS为高电平,转换结束后若使/CS变为低电平,则在其下降沿启动一个新的I/O周期,重复上述过程。 3. TLI2543与单片机的接口 12位分辨率的数据采集系统中用TLI2543实现A/D转换十分方便。由于单片机独特的I/O口操作指令和位处理功能,TLI2543与单片机的接口非常简单。一般只需要利用4-5根I/O口线与TLI2543的/CS、DATAl、CLOCK、DATOO以及EOC端直接连接即可,如图8-22所示。虽然通过EOC信号判断A/D转换是否结束,由于TLI2543 AID转换时间约为10us,在一般的系统中数据采集后的处理工作常常大于10us,所以EOC信号可
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。