搜索
您的当前位置:首页正文

(X5045)关于FT5045的电路原理和广泛应试

来源:筏尚旅游网
关于FT5045/5043(X5045)的电路原理和广泛应试

FT5045是一个带4K SPI EEPROM的µP监控器。它集上电复位、看门狗定时器、电源电压监控和块

保护的串行EEPROM四种功能于一身的可编程控制电路。这种组合设计减少了电路对电路板空间的需求,

增加了可靠性,常用于公交报站器,考勤机,税控电子产品,安防设备等产品中。

FT5045中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU 作出反应。FT5045提供了三个时间值供用户选择使用。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。FT5045的存储器与CPU 可通过串行通信方式接口,共有4096个位,可以按512 x 8个字节来放置数据。

引脚介绍

FT5045的管脚排列如图所示,它共有8个引脚,各引脚的功能如下: CS :电路选择端,低电平有效; SO :串行数据输出端; SI :串行数据输入端; SCK:串行时钟输入端;

WP :写保护输入端,低电平有效; RESET :复位输出端; VCC :电源端; VSS :接地端。

管脚描述

A) 串口数据输出(SO)

SO 是串口数据输出端。在读周期,数据经过SO 在串口时钟的下降沿串行输出。B) 串口数据输入(SI) SI 是串行数据输入端。所有要写入存储器的操作码、字节地址和数据都从该引脚输入。输入信号由串行时钟的上升边锁存。C) 串口时钟输入(SCK) 串行时钟端。串行时钟控制串行总线数据输入和输出的时序。出现在SI 引脚上的操作码、地址或数据在输入时钟的上升沿被锁存,而SO 引脚上的数据在输入时钟的下降沿之后改变。 D) 片选(CS/WDI)

片选端,当CS 为高时,FT5403/45 未被选中,SO 输出端处于高阻抗状态;除非正在进行内部写操作,器件将处于等待方式。CS 为低即使能FT5403/45 ,将它置于激活方式。必须注意:当上电之后,任何操作开始之前,需要先在CS 上有一次由高至低的跳变。

E) 写保护 (WP)

写保护端。当WP 为低时,向FT5403/45 的非易失性写被禁止,但器件其它功能正常。当WP 保持高时,所有功能包括非易失性写操作都正常。在CS 保持为低时WP 变低将中断向FT5403/45 的一次写入。如果内部写周期已经开始,WP 变低对写操作没有影响。

F) 复位信号 (RESET , RESET)

复位输出。RESET/RESET 是低/高有效的漏极开路输出端,只要VCC 下降至低于最小VCC 检测电平时该输出端变为有效。它将保持有效直至VCC 上升到最小VCC 检测电平200ms 为止。如果看门狗定时器是使能有而且SDA 保持HIGH 或LOW 的时间长于选定的看门狗超时时间,则RESET/RESET 将变为有效。在CS 有一下降边将复位看门狗定时器。

绝对最大额定值

工作温度: -40C ~ 85C 储存温度: -50C ~ 125C 所有引脚相对于GND 的电压: -0.3V ~ VCC + 0.3V 最大电压: 8V 所有引脚的ESD 保护参数:>2000V

2 工作原理

o

o

o

o

A) 上电复位

向FT5403/45 加电时会激活一个“上电复位电路”,它将使RESET/RESET 引脚有效。它避免系统的微处理器在电压不足的情况下工作,避免微处理器在振荡器稳定前工作。当VCC 超过器件的VTRIP 门限值,经200ms (典型)电路释放RESET/RESET ,允许系统开始工作。

B) 低电压监视

在工作时,FT5403/45 监视VCC 电平,如果电源电压跌落到预置的最小VTRIP 以下时,即确认RESET /RESET 。RESET /RESET 信号避免了微处理器工作在电源失效或断开的情况下。RESET /RESET 信号保持有效直到电压跌到低于1V。它也保持有效直到VCC 返回并超过VTRIP 经

C) 看门狗定时器

看门狗定时器电路通过监视WDI 输入来监视微处理器是否激活。微处理器必须周期性地触发CS /WDI 引脚以避免RESET /RESET 信号。CS /WDI 引脚必须在看门狗超时时间终止之前受到由高至低信号的触发。在状态寄存器中的两个非易失性控制位可以决定看门狗的超时周期。微处理器可以改变这些看门狗控制位。没有微控制器的作用,看门狗定时器的控制位保持不变,即使是当全部电源故障时。

SPI 串行存储器

EEPROM 阵列的内部组织是512 x 8 bits 。器件包括一个控制器件工作的8 位指令寄存器。指令代码通过SI 输入端写入寄存器中。有两种只需要指令字节的写操作。有两种用指令字节来启动数据输出的读操作。剩下的操作需要一个指令字节,一个8 位地址,然后数据字节。所有的指令,

地址和数据位都由SCK 信号同步输入。所有的指令(表1)、地址和数据的传送都是MSB 在前。

A) 时钟和数据时序

在CS 变低以后,在SI 线上的输入数据在SCK 的第一个上升沿时被锁存。在SO 线上的数据由SCK 的降沿输出。允许用户停止时钟,然后再启动它以便在它停止的地方恢复操作。在整个工作期间CS 必须为低。

B) 写使能锁存

器件有一个写使能锁存(Write Enable Latch )功能。在一次写操作开始以前这个锁存必须被设置。WREN 指令将设置该锁存而WRDI 指令将复位该锁存(见图1)。该锁存在一次上电和一次有效的字节、页或状态寄存器的写操作完成后自动地复位。如果WP 被拉低该锁存也复位。当发出一个WREN 、WRDI 或RESR 命令时,不需要送一个字节的地址或数据。

C)状态寄存器

状态寄存器:(默认值=30H)

WIP(Write-In-Progress )位是易失性只读位,它指明器件是否忙于内部非易失性写操作。WIP 位用RDSR 指令读出。当置“1”时,非易失性写操作正在进行;当置“0”时,没有写操作。WEL(Write Enable

Latch )位指出“写使能”锁存的状态。当WEL=1 表示锁存被设置;而当WEL=0 表示锁存已复位。WEL 位是易失性只读位。WREN 指令设置WEL 位;而WRDI 指令复位WEL 位。BL0,BL1 (Block Lock )位设置块保护的范围。这二个非易失性位用WRSR 指令来编程,允许用户保护EEPROM 阵列的1/4 、1/2 、全部或0(见下表)。任何被块保护的存储器部份都只能读出不能写入。它将保持到这些BL 位有改变,因而存储器受块保护的部份也改变为止。

Protected Address Control

状态寄存器:(默认值=30H)

WD0 、WD1(Watchdog Timer )位选择看门狗的超时周期。这些非易失性位用WRSR 指令编程。

Watchdog Time Out Control

为了读状态寄存器,将CS 拉低选中器件,然后选8 位RDSR 指令。然后由CLK 信号触发,状态寄存器的内容将从SO 线上移出,请参见读状态寄存器图(图2)。任何时候都可读状态寄存器,甚至是在写周期时。

在想要写数据到状态寄存器之前,“写使能”锁存WEL 必须由WREN 指令设置(见图3)。先将CS 拉低,然后送WREN 指令至器件,再拉CS 为高。然后再次拉CS 为低,并送入WRSR 指令后跟随8 位数据。这8 位数据相应于状态寄存器的内容。该操作由CS 变高来结束。如果在WREN 和WRSR 两指令之间不将CS 拉高,则WRSR 指令将被忽略。

上图为:读状态寄存器时序图

上图为:写状态寄存器时序图

D) 读存储器阵列

当要从EEPROM 存储器阵列中读出时,CS 只要拉低选中器件。8 位READ 指令送到器件,后面跟随8 位地址。READ 指令的位3 选择器件的高半部份或是低半部份。在READ 操作码和地址送出后,在选定地址的存储在存储器中的数据即在SO 线上移出。在连续地提供时钟脉冲的条件下储存在存储器下一个地址处的数据可被连续地读出。在每个数据字节被移出后,器件即自动将地址增加至下一个更高的地址。当达到最高的地址时,地址计数器即翻转到地址000H ,使读周斯无限制地连续下去。读操作由拉高CS 而终止。读EEPROM 阵列时序图

上图为:读EEPROM 阵列时序图

E) 写存储器阵列

在要向存储器阵列写入任何数据之前,必须用WREN 指令设置WEL 位(见图5)。首先将CS 拉低,然后向器件输入WREN 指令,再将CS 拉高。再次将CS 拉低并输入WRITE 指令后面跟随8 位地址,后面是要写入的数据。WRITE 指令的位3 是地址位A8,该位选择阵列的高半部份或是低半部份。如果CS 在WREN 和WRITE 之间不变为高,则WRITE 指令将被忽略。

WRITE 指令至少需要16 个时钟脉冲。在操作期间CS 必须保持为低。主机可以连续写入多至16 个字节的数据。唯一的限制是16 个字节必须在同一页中。一页地址由[X XXXX 0000] 开始,由[X XXXX 111] 结束。如果字节地址达到了页中的最后字节而时钟仍在继续,则计数器将返转至该页的第一个地址并重写前面已写过的数据。

为了完成写操作(字节写或页写),在最后一个被写入的数据字节的位0 完成后CS 必须被拉高。如果它在任何其它时间被拉高,写操作将不完全(图9)。在状态寄存器或存储器阵列写入序列后面将跟随一次非易失性写操作。可以读状态寄存器以检查WIP 位,若WIP 为高则非易失性写正在进行。

上图为:写EEPROM 阵列时序图

应用注意事项:

器件上电时处于以下状态:

1. 器件处于低功耗等待状态。

2. CS 上需要一次由高至低的跳变,以进入激活状态并准备接收指令。 3. SO 引脚处于高阻抗。 4. 写使能锁存是复位状态。 5. 标志位是复位状态。

6. 在tPURST 期间复位信号有效。

器件有以下电路以避免意外的写入:

1. 必须发出WREN 指令以设置写使能锁存。

2. 在适当的时钟数时CS 必须变高以便启动一次非易失性写。 3. 块保护位对存储器阵列提供写保护的存储器部分。 4. WP 引脚为低,将阻止非易失性写操作。

直流电特性

注:(1)VIL 最小值和VIH 最大值仅供参考,并未测试。

(2)典型参数周期性抽样测试,并非100% 测试。

交流电特性

向FT5045加电时会激活其内部的上电复位电路,从而使RESET 引脚有效。该信号可避免系统微处理器在电压不足或振荡器未稳定的情况下工作。当VCC 超过器件的Vtrip门限值时,电路将在200ms(典型)延时后释放RESET 以允许系统开始工作。

2.2 低电压监视

工作时, FT5045对VCC 电平进行监测,若电源电压跌落至预置的最小Vtrip以下时,系统即确认RESET,从而避免微处理器在电源失效或断开的情况下工作。当RESET 被确认后,该RESET 信号将一直保持有效,直到电压跌到低于1V 。而当VCC 返回并超过Vtrip达200ms时,系统重新开始工作。

2.3 看门狗定时器

看门狗定时器的作用是通过监视WDI输入来监视微处理器是否激活。由于微处理器必须周期性的触发CS/WDI引脚以避免RESET 信号激活而使电路复位,所以CS/WDI引脚必须在看门狗超时时间终止之前受到由高至低信号的触发。

2.4 重新设置VCC 门限

FT5045/43出厂时设置的标准VCC 门限电压为Vtrip,但在应用时,如果标准值不恰当,用户可以重新调整。

2.5 SPI串行存储器

器件存储器部分是带块锁保护的CMOS串行EEPROM 阵列,阵列的内部组织是x8 位FT5045可提供最少为1000,000次擦写和100年的数据保存期,并具有串行外围接口(SPI)和软件协议的特点,允许工作在简单的四总线上。

FT5045主要是通过一个8 位的指令寄存器来控制器件的工作,其指令代码通过SI输入端(MSB在前)写入寄存器。表1所列为X5045的指令格式及其操作。

四、软件原理

FT5045的通信接口软件: CS BIT P3.2 SCK BIT P3.3 SI BIT P3.4 SO BIT P3.5

(1)FT5045数据写入程序

功能:将缓冲区数据写入指定地址开始的单元。

入口:F0、R3是E2PROM单元地址最高位低八位;R0是缓冲区首地址;R2是缓冲区长度。 WRITEX:LCALL STAX ;指令启动 MOV A,#06H ;输出WREN LCALL BYTE_OUT

LCALL STAX ;下一指令启动 MOV A,#02H ;输出WRITE MOV C,F0 ;插入单元地址最高位 MOV ACC.3,C LCALL BYTE_OUT

MOV A,R3 ;输出单元地址低八位 LCALL BYTE_OUT

BYWR:MOV A,@R0 ;从缓冲区取数输出 LCALL BYTE_OUT

INC R0 ;指针加1

DJNZ R2,BYWR ;缓冲区未空则继续输出 LCALL ENDX ;指令结束 LCALL WIP_CHK ;等待WIP=0 RET

(2)FT5045数据读出程序

功能:把指定地址开始的单元数据读出并放入缓冲区 入口:与写入程序相同。 READX:LCALL STAX MOV A,#03H ;输出READ MOV C,F0 MOV ACC.3,C LCALL BYTE_OUT

MOV A,R3 ;输出低八位地址 LCALL BYTE_OUT

BYRD:LCALL BYTE_IN ;输入数据送入缓冲区 MOV @R0,A INC R0 ;指针加1

DJNZ R2,BYRD ;缓冲区未满则继续输入 LCALL ENDX RET

(3)FT5045状态寄存器写入程序 功能:对状态寄存器进行设置。 入口:ACC是修改值。 WRSR:LCALL STAX PUSH ACC

MOV A,#06H ;输出WREN LCALL BYTE_OUT LCALL STAX

MOV A,#01H ;输出WRSR LCALL BYTE_OUT POP ACC ;输出设置值 LCALL BYTE_OUT LCALL ENDX

LCALL WIP_CHK ;等待WIP=0 RET

(4)FT5045状态寄存器读出程序 功能:读出状态寄存器当前值。 出口:ACC是当前值。 RDSR:LCALL STAX MOV A,#05H LCALL BYTE_OUT LCALL BYTE_IN LCAL ENDX RET

(5)其他子程序

WIP_CHK:LCALL RDSR ;等待X25045结束内部写周期 JB ACC.0,WIP_CHK RET

STAX:SETB CS ;启动FT5045指令

NOP ;先拉高CS,再拉你SCK,最后拉低CS CLR SCK NOP CLR CS NOP RET

ENDX:CLR SCK ;结束FT5045指令 SETB CS ;先拉低SCK后拉高CS NOP NOP RET

BYTE_OUT:MOV R4,#08H ;向FT5045写入一字节数据 BOUT1:CLR SCK RLC A MOV SI,C SETB SCK NOP NOP

DJNZ R4,BOUT1 RET

BYTE_IN:MOV R4,#08H ;从FT5045读出一字节数据 BIN1:CLR SCK MOV C,SO RLC A SETB SCK NOP NOP

DJNZ R4,BIN1 RET

RST_DOG:SETB CS ;复位看门狗定时器 NOP CLR CS NOP SETB CS RET

结束语

本电路已在笔者设计的某产品中使用,效果令人十分满意。实践证明,采用该电路的数据采集局域网系统的性能稳定可靠。FT5045电路具有的多功能、反应速度快、抗干扰能力

强等特点在产品设计时表现的淋沥尽致。可以说FT5045是一种性能价格比较高的电路芯片,并可非常方便地与许多常用CPU系列器件接口,非常适用于智能仪器、实时控制、微型化等场合

因篇幅问题不能全部显示,请点此查看更多更全内容

Top