收藏 分销(赏)

单片机补充.doc

上传人:s4****5z 文档编号:8055908 上传时间:2025-02-02 格式:DOC 页数:16 大小:225.50KB 下载积分:10 金币
下载 相关 举报
单片机补充.doc_第1页
第1页 / 共16页
单片机补充.doc_第2页
第2页 / 共16页


点击查看更多>>
资源描述
I2C串行扩展应用实例 串行I2C总线EEPROM AT24CXX的扩展 1)基本原理 AT24CXX的特点是: 单电源供电,工作电压范围宽1.8V~5.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为漏极开路端,需接上拉电阻到Vcc。数据的结构为×8位。信号为电平触发,而非边沿触发。输入端内接有滤波器,能有效抑制噪声。自动擦除(逻辑“1”)在每一个写周期内完成。 AT24CXX采用I2C规程,运用主/从双向通讯。器件发送数据到总线上,则定义为发送器 ,器件接收数据则定义为接收器。 主器件(通常为微控制器)和从器件可工作于接收器和发送器状态。 总线必须由主器件控制,主器件产生串行时钟(SCL),控制总线的传送方向,并产生开始和停止条件。串行EEPROM为从器件。 无论主控器件,还是从控器件,接收一个字节后必须发出一个确认信号ACK。 2)控制字节要求 开始位以后,主器件送出8位控制字节。控制字节的结构(不包括开始位)如下所示: 说明: ①、控制字节的第1~4位为从器件地址位(存贮器为1010)。控制字节中的前4位码确认器件的类型。此四位码由飞利浦公司的IIC规程所决定。1010 码即为从器件为串行EEPROM的情况。串行EEPROM将一直处于等待状态,直到1010码发送到总线上为止。当1010码发送到总线上,其它非串行EEPROM从器件将不会响应。 ②、控制字节的第5~7位为1~8片的片选或存贮器内的块地址选择位。此三个控制位用于选片或者内部块选择。标准的IIC规程允许选择16K位的存贮器。通过对几片器件或一个器件内的几个块的存取,可完成对16K位存贮器的选择,如表9-6所示。 表9-6 AT24CXX的A2A1A0 控制字节的A2、A1、A0的选择必须与外部A2、A1、A0引脚的硬件连接或者内部块选择匹配,A2、A1、A0引脚无内部连接的,则这三位无关紧要;作器件选择的,可接高电平或低电平。  AT24CXX的存贮矩阵内部分为若干块,每一块有若干页面,每一页面有若干个字节。内部页缓冲器只能写入一页字节数据,对24LC32和24LC64一次可以存8页(每页8个字节)。 ③、控制字节第8位为读、写操作控制码。如果此位为1,下一字节进行读操作(R);此位为0,下一字节进行写操作(W)。 当串行EEPROM产生控制字节确认位以后,主器件总线上将传送相应的字地址或数据信息。 3)确认要求 在每一个字节接收后,接收器件必须产生一个确认信号位ACK。主器件必须产生一个与此确 认位相应的额外时钟脉冲。在此时钟脉冲的高电平期间拉SDA线为稳定的低电平,为确认信号(ACK)。若不在从器件输出的最后一个字节中产生确认位,主器件必须发一个数据结束信 号给从器件。在这种情况下,从器件必须保持数据线为高电平(用表示),使 得主器件能产生停止条件。 注意:如果内部编程周期(烧写)正在进行,AT24CXX不产生任何确认位。 4)、写操作 ①字节写 在主器件发出开始信号以后,主器件发送写控制字节即1010A2A1A00(其中R/W读写控制位为低电平“0”)。这指示从接收器被寻址,由主器件发送的下一个字节为字地址 ,将被写入到AT24CXX的地址指针。主器件接收来自AT24CXX的另一个确认信号以后,将发送数据字节,并写入到寻址的存贮器地址。AT24CXX再次发出确认信号,同时主器件产生 停止条件P。启动内部写周期,在内部写周期内AT24CXX将不产生确认信号(见图9.7)。 ②页面写 如同字节写方式,先将写控制字节、字地址发送到AT24CXX,接着发n个数据字节,主器件发送不多于一个页面字节的数据字节到AT24CXX,这些数据字节暂存在片内页面缓存器中,在主器件发送停止信号以后写入到存贮器。接收每一字节以后,低位顺序地址指针在内部加1。高位顺序字地址保持为常数。如果主器件在产生停止条件以前要发送多于一页字的数据,地址计数器将会循环,并且先接收到的数据将被覆盖。象字节写操作一样,一旦停止条件被接收到,则内部写周期将开始(见图9.8)。 ③写保护 当WP端连接到Vcc,AT24CXX可被用作串行ROM,编程将被禁止,并且整个存贮器写保护。 5)读操作 当从器件地址的R/W位被置为“1”,启动读操作。存在三种基本读操作类型:读当前地址内容,读随机地址内容,读顺序地址内容。 ①读当前地址内容 AT24CXX片内包含一个地址计数器,此计数器保持被存取的最后一个字的地址,并在片内自动加1。因此,如果以前存取(读或者写操作均可)的地址为n,下一个读操作从n+1地址中读出数据。在接收到从器件的地址中R/W位为1的情况下,AT24CXX发送一个确认位并且送出8位数据字。主器件将不产生确认位(相当于产生ACK),但产生一个停止条件。AT24CXX不再继续发送(见图9.9)。 ②读随机地址内容 这种方式允许主器件读存贮器任意地址的内容,操作如图9.10所示。 图9.10 AT24CXX读随意地址的内容 主器件发1010A2A1A0后发0位,再发读的存贮器地址,在收到从器件的确认位ACK后 产生一个开始条件S,以结束上述写过程,再发一个读控制字节,从器件AT24CXX在发ACK信号后发出8位数据,主器件发后,发一个停止位,AT24CXX不再发后续字节。 ③读顺序地址的内容 读顺序地址内容的方式与读随意地址内容的方式相同,只是在AT24CXX发送第一个字节以后,主器件不发和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、QSPI以及Microwire标准。 低功耗,在5V供电时功耗仅1.75mW,数据更新速率为1.2MHz,典型的建立时间为12.5us。TLC5615广泛应用于电池供电测试仪表、数字增益调整、电池远程工业控制和移动电话等领域。 1)、TLC5615的内部结构和外部引脚 TLC5615的内部结构如图9.24所示,其主要由16位移位寄存器、10位D/A寄存器、D/A转换权电阻、基准缓冲器、控制逻辑和2倍程放大器等电路组成。 图9.24 TLC5615的内部结构 TLC5615的管脚与Maxim公司的MAX515完全兼容,如图所示。 各管脚的功能介绍如下: DIN:串行数据输入脚 SCLK:串行时钟输入脚 /CS:片选端,低电平有效 DOUT:用于菊花链(级联)的串行数据输出端 AGND:模拟地 REFIN:基准输入端,一般接2V~(VCC-2)V,典型值2.048V VCC:电源端,一般接+5V 2)、TLC5615的接口及应用 ⑴、TLC5615与AT89C52的典型接口电路如图9.26所示。 ⑵、TLC5615通过固定增益为2的运放缓冲电阻网络,把10位数字数据转换为模拟电压。 上电时,内部电路把D/A寄存器复位为0。 其输出具有与基准输入相同的极性,表达式为: ⑶、TLC5615最大的串行时钟速率不超过14MHz,10位DAC的建立时间为12.5us,通常更新速率限制至80kHz以内。 ⑷、TLC5615的16位移位寄存器在SCLK的控制下从DIN引脚输入数据,高位在前,低位在后。 ⑸、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 0 3)、SPI和AT89C52的接口传送8位字节形式的数据。 要把数据输入到D/A转换器需要两个写周期。QSPI接口具有从8位至16位的可变输入数据长度,可以在一个写周期之内装入好转换数据代码。 当系统不使用D/A转换器时,最好把D/A寄存器设置为全0,这样可以使基准电阻阵列和输出负载的功耗降为最小。 依据图: TLC5615的一个简单的应用编程见下。 DIN BIT P1.7 ;定义I/O口 SCLK BIT P1.5 CS5615 BIT P1.4 DataH EQU 30H DataL EQU 31H TLC5615: CLR SCLK   ;准备操作TLC5615 CLR CS5615   ;选中TLC5615 MOV R7, #08H MOV A, DataH   ;装入高8位数据 LOOPH: LCALL DELAY    ;延时 RLC A    ;最高位移向5615 MOV DIN, C SETB SCLK   ;产生上升沿,移入一位数据 LCALL DELAY CLR SCLK DJNZ R7, LOOPH MOV R7, #08H MOV A, DataL ;装入低8位数据 LOOPL: LCALL DELAY ;延时 RLC A ;最高位移向5615 MOV DIN, C SETB SCLK ;产生上升沿,移入一位数据 LCALL DELAY CLR SCLK DJNZ R7, LOOPL SETB CS5615 ;结束5615的操作,同时将转换数据代码存入10位DA寄存器,启动新一轮的DA转换 RET 四、串行AID转换器与单片机的接口及应用 随着大规模集成电路技术的发展,各种高精度、低成本、低功耗、可编程的AID芯片不断推出,使得仪器仪表和微机测控系统的电路设计更加简洁,可靠性更高。由于单片机独特的I/O操作和控制功能,高精度、接口简单而又价格低廉的串行AID芯片在单片机应用系统中受到欢迎。 1)、12位串行A/D转换器TLC2543简介 (1) TLC2543的基本性能: ①、TLC2543是有11个模拟量输入通道的12位开关电容逐次逼近A/D转换器,具有转换速度快、稳定性好、与单片机接口简单,且性价比好等优点。 ②、芯片有片选(cs)、输入/输出肘钟(CLOCK)、地址输入(DATAl)三个控制输入端。可通过一个三态的串行输出端与主处理器或其他外围串行口高速传输数据。 ③、该器件片内含有一个14通道模拟开关,可选择11路模拟量输人(AINO~AINlO)中的任意一个或三个内部自测电压(Self-Test)中的一个。片内产生转换时钟并由片I/O CLOCK同步。在允许的工作温度范围内A/D转换时间小于10us。片内还设有采样一保持电路。器件的基准电压由外电路提供。 ④、其A/D转换输出数据的长度和格式可编程为以下几种方式: a)、单极性或双极性输出(有符号的双极性,对应于所加基准电压的1/2)。 b)、MSB(Dll位)或LSB(D0位)作前导输出。 c)、可变输出数据长度(8位、12位、16位)。 (2)、 TLI2543的管脚功能 TLC2543有20个引脚,多种封装形式,其中双列直插式的 管脚排列如图8-20所示。 管脚功能及说明如下: 1)、AINO - AINlO: 11个模拟输人端,输入电压范围:0.3V~(Vcc+0.3V)。 对4.1MHz的I/O时钟,驱动源阻抗必须小于或等于50Ω 2)、/CS:片选端。 /CS的下降沿,将复位内部计数器,并控制和使用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从高电平变为低电平,并保持低电平直到转换完成及数据准备传输。 6)、CLOCK:输入/输出时钟端。 CLOCK接收串行输人并完成以下功能: 在CLOCK的前八个上升沿,将八个输入数据位移人输人数据寄存器; 其中前4位为模拟通道地址; CLOCK的第四个下降沿开始对所选通道信号进行采样; CLOCK的下降沿将前一次转换的数据的其余位依次移出DATAO端; 在I/O周期CLOCK的最后一个下降沿使EOC变低并开始A/D转换。 7)、REF+:正基准电压端。 基准电压的正端(通常为Vcc)被加到阻RFE+。 最大的输人电压范围取决于加在本端与加在REF-端的电压差。 8)、REF-:负基准电压端: 既基准电压的低端。 9)、Vcc:正电源端。通常接+5V, GND为电源接地端。 2. TLI2543的编程格式及工作过程 (1)、输入寄存器控制字格式 从应用编程角度看,TLI2543内部有一个输人数据寄存器和一个输出数据寄存器。前者存放从DATDI端移人的控制字,后者存放转换好的数据, 以便下一周期从DATAO端串行输出。 输人的数据为8位,包括:4位模拟量通道地址(D7~D4)、 2位数据长度选择(D3、D2)、 1位输出顺序(D1)选择、 1位输出极性选择(D0)。 其输入控制字的格式与作用见表8-3。 表8-3输入数据寄存器的控制字格式与作用 功能选择 输入数据字节 备注 地址位 L1 L0 LSBF BIP D7=MSB D0=LSB D7 D6 D5 D4 D3 D2 D1 D0 AINO 0 0 0 0 选择 输入 通道 选择 AINl 0 0 0 1 AIN2 0 0 1 0 AIN3 0 0 1 1 AIN4 0 1 0 0 AIN5 0 1 0 1 AIN6 0 1 1 0 AIN7 0 1 1 1 AIN8 1 0 0 0 AIN9 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(低位)先出 1 单极性(二进制) 0 输出方 式极性 双极性(2的补码) 1 (2)、TLI2543的工作过程与时序 虽然TLI2543的输出数据长度有8位、12位和16 位几种,但对该器件的应用时采用8位意义不大,16位输出时其有效数据仍为12位,一般是为了方便与16位串行接口通信采用。所以常用12位数据长度。 现以12位数据长度为例介绍其工作过程。图8-21所示为用12位时钟传送,并以MSB为前导的时序。其工作过程 简述如下: 1)、初始状态: 片选/CS应为高电平, CLOCK和DATAl被禁止, DATAO为高阻状态。 2)、I/O周期的启动: 片选/CS端必须由高变低,才能开始一个I/O的工作周期,这时EOC变为高,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转换: 对被转换的模拟量采样开始于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信号可以不接。 设数据长度为12位,MSB(高位)先导输出,对一个通道进行A心转换的子程序如下: 子程序人口: RO中为转换结果存内存高8位地址, R1中为待转换的模拟量通道号。 子程序出口: @RO、@RO+1单元分别存放上一个I/0周期A/D值的高8位和低4位。 AD_CS BIT Pl.2 ; AD_CLK BIT P1.3 ; AD_OOUT BIT Pl.4 ; AD_DIN BIT P1.5 ; AD12: SETB AD_CS ;使/CS为高准备启动一个I/O周期 CLR AD_CLK ;CLOCK=O CLR AD_CS ;使CS产生一个由高到低的变化 MOV A,R1 ;取通道号 ANL A,#OFH ; SWAP A ;控制字高4位为通道号,低4位为O MOV R2,#08 ;置高8位循环次数 AD8: MOV C,AD_OOUT ;数据移人CY中,逐次读人AID高8位 RLC A ;转换结果移人A,并将控制字移出到CY MOV AD_DIN,C ;控制宇送DATAI线 SETB AD_CLK NOP NOP CLR AD_CLK DJNZ R2,AD8 MOV @R0,A ;产生一个周期A/D高8位数据 MOV R2,#04 ; 置低4位循环次数 CLR C MOV AD_DIN ,C    ;控制字送完,使DATAl线保持不变 MOV A,#0 AD4: MOV C, AD_OOUT   ;数据移人CY中,逐次读人A/D低4位 RLC A ;转换结果移人A SETB , AD_CLK NOP NOP CLR AD_CLK DJNZ R2,AD4 INC R0 MOV @R0,A ;存上一周期A/D低4位数据 SETB AD_CS ;使/CS为高,I/O周期结束,进人AID转换 RET 例:8-6利用上述子程序,编写相应的主程序对O通道和1通道进行数据采集,数据分别存人内存30H、3IH和32H、33H单元。 主程序如下: AD_CS BIT P1.2 AD_CLK BIT P1.3 AD_DOUT BIT P1.4 AD_DIN BIT P1.5 ORG 0030H MAIN: MOV R0,#30H ; 取数据地址指针 MOV R1,#00H ; 取通道号O LCALL AD12 ;调用A/D转换子程序,启动O通道转换 NOP ;读出的数据为随机数,无效 NOP MOV R1,#01 ;取通道号1 MOV R0,#30H ;取通道O数据地址指针 LCALL AD12 ;启动通道1转换,读出上一次转换结果 NOP NOP MOV R1,#00 MOV R0,#32H ;取通道1数据地址指针 LCALL AD12 ;启动通道O转换,读出上一次转换结果 .......... .......... .......... SJMP $ 4. TLI2543应用编程时要注意的几个问题 1)、在TLI2543的I/O周期中,从DATAO端输出的12位数据是前一个工作周期A/D转换的数据,对应着前一周期由输人控制字的高4位。而上电后的第一个I/O周期从DATAO端取出的数据为随机数,没有意义。因此,在本例中共调用了3次子程序,第一次调用子程序时读入的数据无效。 2)、I/O周期的前8个CLOCK时钟从DATAI端已将8位控制字输人,因此在8个CLOCK时钟以后, DATAI端的状态应保持不变,以减小外部数字噪声的影响。 3)、由于/CS信号控制着TLI2543的转换过程,因此在I/O周期内必须保持低电平,在最后一个CLOCK周期后应将其置高电平,以便在启动下一个I/O时使白有由高到低的变化。 4)、控制字的低4位决定输出数据的长度和格式,设定好后在运行过程中一般不要改变, 以免使输出数据发生混乱。 5.应用举例 某热处理用小功率电炉温度控制系统,温度测量范围为O~1000℃,要求通过闭环控制 实现炉温的自动控制调节,如图8-23所示。其测量部分由传感器、信号放大和A/D转换器 (TLI2543)组成,温度的检测信号(热电偶传感器)经放大后接人TLI2543的模拟量输入端AINO,TLI2543与单片机通过P1.2~P1.5接口。 主电路用双向晶闸管控制,电炉温度采用调功控制,在给定的控制周期(Tc)内,改变双相晶闸管导通的周波数n,以达到改变输出加热功率的目的,从而实现温度的控制与调节。因此,计算机只要通过I/O口输出能控制晶闸管通断时间的脉冲信号,即可给系统的硬、软件设计都带来方便。 图8-23中MOC3041为带光隔的过零触发器件,由P1.7控制。 例8-7:编程完成对图8-23所示温度控制系统的炉温进行检测,并将采样数据(A/D)存人内存30H、31H中,以备温度控制算法程序使用。设系统时钟为12MHz,要求采样周期为2s。 解:1)、分析:因采样周期为2s,可用单片机内部定时器定时,并配合软件扩展以实现2s 的定时,在中断服务程序中进行A心转换。 2)、设采用定时器T1方式1定时50ms,在服务程序中计数40次完成2s定时。定时器 T1方式控制宇TMOD=OOOlOOOH,计数初值TH1=4FH, TLl=2CH。 相关的主程序段如下: AD_DATA EQU 35H AD_CS BIT P1.2 AD_CLK BIT P1.3 AD_DOUT BIT P1.4 AD_DIN BIT P1.5 OGR 0000H AJMP MAIN ORG 001BH AJMP TIS ORG 0030H MAIN: MOV TMOD,#10H MOV TH1,#3FH MOV TL1,#2CH SETB ET1 SETB EA MOV R0,# AD_DATA ;取数据单元地址指针 MOV R1,#00H ;取通道号 MOV R7,#40 ;置定时软件计数初值 LCALL AD12 ;第一次调用读出无效数据 ……… ;置其他初值 SETB TR1 ;启动定时 ……… ;其他操作 ……… ;等待中断 中断服务程序如下: MOV TH1,#3FH MOV TL1,#2CH DJNZ R7,NOAD ;2S未到不采样 LCALL AD12 ;调用A/D转换子程序 MOV R7,#40H ;重取软件计数值 ……… ;数据处理 ………. ;控制输出 NOAD: RETI 由于集成电路技术的发展, D/A转换器和AID转换器集成芯片的型号日益增多,性能也各有差异。但是它们的基本工作原理都是相同的。我们只要了解AID和D/A芯片的基本性能,掌握了它们与CPU接口的一般使用方法,就可以着手设计A/D与D/A通道。一台微型计算机扩展了模拟通道后,它在实用领域中就如虎添翼了。例如,一单片机系统扩展了12位的A/D和D/A转换器后,用在检测和控制中,精度可达0.05%以上,若配上相应的软件,则可成为高性能的测试仪和控制器。 基于X25045的新型看门狗电路 技术分类: 微处理器与DSP  | 2007-03-26 来源:今日电子 | 作者:重庆三峡学院应用技术学院 谢辉   看门狗(Watchdog)电路是嵌入式系统需要的抗干扰措施之一。本文用X25045芯片设计了一种新的看门狗电路,具有体积小、占用I/O口线少和编程方便的特点,可广泛应用于仪器仪表和各种工控系统中。   前言   工控系统在运行时,通常都会遇到各种各样的现场干扰,抗干扰能力是衡量工控系统性能的一个重要指标。看门狗(Watchdog)电路是自行监测系统运行的重要保证,几乎所有的工控系统都包含看门狗电路。在8096系列单片机和增强型8051系列单片机中,该系统已经做在芯片内部,用户只要用软件开放它就可以,使用很方便。但目前工控系统仍在使用廉价的普通型8051系列单片机,则看门狗电路必须由用户自己建立。   看门狗电路一般有软件看门狗和硬件看门狗两种。软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,这在许多系统中很难办到,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。硬件看门狗是真正意义上的“程序运行监视器”,如计数型的看门狗电路通常由555多谐振荡器、计数器以及一些电阻、电容等组成,分立元件组成的系统电路较为复杂,运行不够可靠。   X25045芯片简介  X25045是美国Xicor公司的生产的标准化8脚集成电路,它将EEPROM、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。X25045引脚如图1所示。 图1 X25045引脚图   其引脚功能如下。   CS:片选择输入;   SO:串行输出,数据由此引脚逐位输出;   SI:串行输入,数据或命令由此引脚逐位写入X25045;   SCK:串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出;   WP:写保护输入。当它低电平时,写操作被禁止;   Vss:地;   Vcc:电源电压;   RESET:复位输出。   X25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表1所示。 表1 X25045指令及其含义   X25045看门狗电路设计及编程   X25045硬件连接图如图2所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU复位。图2电路中,CPU的复位信号共有3个:上电复位(C1、R2),人工复位(S、R1、R2)和Watchdog复位(C2、R3),通过或门综合后加到RESET端。C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU的振荡器已经在工作。 图2 X25045看门狗电路硬件连接图   看门狗定时器的预置时间是通过X25045的状态寄存器的相应位来设定的。如表2所示,X25045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPROM的工作设置有关。 表2 X25045状态寄存器   WD1=0,WD0=0,预置时间为1.4s。   WD1=0,WD0=1,预置时间为0.6s。   WD1=1,WD0=0,预置时间为0.2s。   WD1=1,WD0=1,禁止看门狗工作。   看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。编程时,可在软件的合适地方加一条喂狗指令,使看门狗的定时时间永远达不到预置时间,系统就不会复位而正常工作。当系统跑飞,用软件陷阱等别的方法无法捕捉回程序时,则看门狗定时时间很快增长到预置时间,迫使系统复位。   X25045的看门狗电路使用十分方便。X25045内部还集成了512BEEPROM和电压运行监视系统,只需这样一块芯片,外加晶振和复位电路就可以组成单片机的 应用系统,非常适合于便携式仪器和嵌入式系统的设计。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服