一种智能卡数据掉电保护电路的制作方法

文档序号:6386492阅读:163来源:国知局
专利名称:一种智能卡数据掉电保护电路的制作方法
技术领域
本发明涉及一种智能数据卡的电路,具体涉及一种智能卡数据掉电保护电路。
背景技术
电路改写FLASH的过程中,根据FLASH的特性,需要先擦除再更新写入。为了保护FLASH不会在改写过程中因掉电等原因使得新程序没有写入而老程序又被擦除,需要在更新擦除前将原来页面中的程序保存起来,以便故障时可以恢复老程序。传统的设计方案是用COS软件来完成这一保护过程。缺点是速度较慢且程序设计起来比较繁琐,另外软件完成的过程需要占用较多程序存储空间,且需要在用户手册中作许多冗余说明,以及功耗较高。

发明内容
有鉴于此,本发明提供了一种智能卡数据掉电保护电路,能够不通过软件来实现掉电时的数据保护。一种智能卡数据掉电保护电路,该电路设置在CPU和FLASH之间,电路包括:寄存器Ul U7、标志位检测电路U8、与门U9 U10、加法器U11、计数器U12 U16、比较电路U17 U20、时序脉冲电路U21 U23 ;Ul为数据搬运使能寄存器,控制整个电路的启用,U2 U4为脉冲宽度寄存器,U5为读初始地址寄存器,U6为需要保护的数据的全部地址长度寄存器,U7为写初始地址配置寄存器;标志位检测电路U8用于检测寄存器Ul并对整个电路发出使能信号,比较电路U17的计数值等于全部要搬运的地址个数;比较电路U18 U20根据脉冲宽度和时钟频率换算阀值,当计数器的数值等于阀值时,电平翻转;时序脉冲电路U21控制擦除信号的时序,时序脉冲电路U22控制读信号的时序,时序脉冲电路U23控制与/[目号的时序;电路连接关系:寄存器Ul连接标志位检测电路U8,标志位检测电路U8连接计数器U12的输入端,计数器U12的输出端连接比较电路U18,比较电路U18的输出端同时连接时序脉冲电路U21和计数器U12的输入端,时序脉冲电路U21的输出端连接FLASH,比较电路U18的输出端还通过与门UlO连接计数器U13的输入端; 寄存器U2连接比较电路U18的输入端,计数器U13的输出端连接比较电路U19,比较电路U19连接时序脉冲电路U22的输入端,时序脉冲电路U22的输出端连接FLASH,比较电路U19的输出端连接计数器U14的输入端,同时通过与门U9连接计数器U13的输入端;寄存器U3与比较电路U19连接,计数器U14的输出端连接比较电路U20,比较电路U20连接时序脉冲电路U23的输入端,时序脉冲电路U23的输出端连接计数器U14的输入端,同时连接计数器U15和U16的输入端以及FLASH ;寄存器U5连接计数器U15的输出端,计数器U15的输出端连接比较电路U17的输入端,比较电路U17的输出端通过与门U9连接计数器U13的输入端,寄存器U5和U6同时连接加法器Ull,加法器UlI的输出端接入比较电路U17的输入端;寄存器U7接入计数器U16的输出端,计数器U16的输入端与计数器U15的输入端相连接,计数器U16的输出端连接FLASH。CPU和FLASH之间存在两条数据通道,一条是CPU写入FLASH数据的通道,另一条是CPU读FLASH数据的通道。本发明的工作原理为:CPU首先配置控制脉冲宽度的寄存器U2 U4、寄存器U5、寄存器U7以及存放需要保护的全部地址的长度的U6寄存器,CPU启动数据搬运使能寄存器U1,标志位检测电路U8检测到使能信号后,通过计数器U12、比较电路U18和U21来先擦除目标页(FLASH要求),擦除完成后比较电路U18发出信号启动计数器U13,计数器U13启动后引发比较电路U19和时序脉冲电路U22来共同完成一个字节的读取的脉冲发生,读完成后比较电路U19发出信号启动计数器U14、比较电路U20和时序脉冲电路U23来完成对目标地址的写操作,写完后比较电路U20又发生读源地址的计数器U13的启动信号;同时时序脉冲电路U23启动计数器U15 (初值设为读第一个字节的地址)和U16 (初值设为写第一个字节的地址)加I使得读写的地址分别加1,当读源地址和写目的地址交替发生直到计数器U15计数到寄存器U5+U6的和,比较电路U17发生关闭使能的信号结束流程的源头计数器U13,完成全部时序发生,即完成了将U5地址开始,至U5+U6地址结束的这段空间中的内容,搬移到U7地址开始,至U7+U6地址结束的这段空间中。U12、U18和U21组成的擦电路完成后启动读电路,U13、U19和U22组成的读电路完成后启动写电路,U14、U20和U23组成的写电路完成后再次启动读电路,读写电路往复交替直至U6中设置的需要被搬移的地址长度全部完成。有益效果:本发明利用DMA电路以及专用特殊功能寄存器来实现更新FLASH程序时发生掉电等情况下,恢复旧程序这一功能。软件开发人员只要通过简单的寄存器设置,就可以启动这一保护过程,而不用具体编写程序,并且DMA模块搬运数据的速度也更快,以及该电路的运行功耗也远低于软件实现时CPU运行功耗(该电路运行时可以置CPU为休眠模式),从而一定程度上降低的芯片的工作功耗。


图1为本发明的电路组成原理图。
具体实施例方式下面结合附图并举实施例,对本发明进行详细描述。如附图1所示,本发明提供了一种智能卡数据掉电保护电路,该电路设置在CPU和FLASH之间,电路包括:寄存器Ul U7、标志位检测电路U8、与门U9 UlO、加法器Ul1、计数器U12 U16、比较电路U17 U20、时序脉冲电路U21 U23 ;Ul为数据搬运使能寄存器,控制整个电路的启用,U2 U4为脉冲宽度寄存器,U5为读初始地址寄存器,U6为需要保护的数据的全部地址长度寄存器,U7为写初始地址配置寄存器;标志位检测电路U8用于检测寄存器Ul并对整个电路发出使能信号,比较电路U17的计数值等于全部要搬运的地址个数;比较电路U18 U20根据脉冲宽度和时钟频率换算阀值,当计数器的数值等于阀值时,电平翻转;时序脉冲电路U21控制擦除信号的时序,时序脉冲电路U22控制读信号的时序,时序脉冲电路U23控制与/[目号的时序;电路连接关系:寄存器Ul连接标志位检测电路U8,标志位检测电路U8连接计数器U12的输入端,计数器U12的输出端连接比较电路U18,比较电路U18的输出端同时连接时序脉冲电路U21和计数器U12的输入端,时序脉冲电路U21的输出端连接FLASH,比较电路U18的输出端还通过与门UlO连接计数器U13的输入端;寄存器U2连接比较电路U18的输入端,计数器U13的输出端连接比较电路U19,比较电路U19连接时序脉冲电路U22的输入端,时序脉冲电路U22的输出端连接FLASH,比较电路U19的输出端连接计数器U14的输入端,同时通过与门U9连接计数器U13的输入端;寄存器U3与比较电路U19连接,计数器U14的输出端连接比较电路U20,比较电路U20连接时序脉冲电路U23的输入端,时序脉冲电路U23的输出端连接计数器U14的输入端,同时连接计数器U15和U16的输入端以及FLASH ;寄存器U5连接计数器U15的输出端,计数器U15的输出端连接比较电路U17的输入端,比较电路U17的输出端通过与门U9连接计数器U13的输入端,寄存器U5和U6同时连接加法器Ull,加法器UlI的输出端接入比较电路U17的输入端;寄存器U7接入计数器U16的输出端,计数器U16的输入端与计数器U15的输入端相连接,计数器U16的输出端连接FLASH。CPU和FLASH之间存在两条数据通道,一条是CPU写入FLASH数据的通道,另一条是CPU读FLASH数据的通道。本发明的工作原理为:CPU首先配置控制脉冲宽度的寄存器U2 U4、寄存器U5、寄存器U7以及存放需要保护的全部地址的长度的U6寄存器,CPU启动数据搬运使能寄存器U1,标志位检测电路U8检测到使能信号后,通过计数器U12、比较电路U18和U21来先擦除目标页(FLASH要求),擦除完成后比较电路U18发出信号启动计数器U13,计数器U13启动后引发比较电路U19和时序脉冲电路U22来共同完成一个字节的读取的脉冲发生,读完成后比较电路U19发出信号启动计数器U14、比较电路U20和时序脉冲电路U23来完成对目标地址的写操作,写完后比较电路U20又发生读源地址的计数器U13的启动信号;同时时序脉冲电路U23启动计数器U15 (初值设为读第一个字节的地址)和U16 (初值设为写第一个字节的地址)加I使得读写的地址分别加1,当读源地址和写目的地址交替发生直到计数器U15计数到寄存器U5+U6的和,比较电路U17发生关闭使能的信号结束流程的源头计数器U13,完成全部时序发生,即完成了将U5地址开始,至U5+U6地址结束的这段空间中的内容,搬移到U7地址开始,至U7+U6地址结束的这段空间中。U12、U18和U21组成的擦电路完成后启动读电路,U13、U19和U22组成的读电路完成后启动写电路,U14、U20和U23组成的写电路完成后再次启动读电路,读写电路往复交替直至U6中设置的需要被搬移的地址长度全部完成。综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种智能卡数据掉电保护电路,该电路设置在CPU和FLASH之间,其特征在于,该电路包括:寄存器UI U7、标志位检测电路U8、与门U9 UIO、加法器U11、计数器U12 U16、比较电路U17 U20、时序脉冲电路U21 U23 ; Ul为数据搬运使能寄存器,控制整个电路的启用,U2 U4为脉冲宽度寄存器,U5为读初始地址寄存器,U6为需要保护的数据的全部地址长度寄存器; U7为写初始地址配置寄存器;标志位检测电路U8用于检测寄存器Ul并对整个电路发出使能信号; 比较电路U17的计数值等于全部要搬运的地址个数;比较电路U18 U20根据脉冲宽度和时钟频率换算阀值,当计数器的数值等于阀值时,电平翻转; 时序脉冲电路U21控制擦除信号的时序,时序脉冲电路U22控制读信号的时序,时序脉冲电路U23控制写信号的时序; 电路连接关系:寄存器Ul连接标志位检测电路U8,标志位检测电路U8连接计数器U12的输入端,计数器U12的输出端连接比较电路U18,比较电路U18的输出端同时连接时序脉冲电路U21和计数器U12的输入端,时序脉冲电路U21的输出端连接FLASH,比较电路U18的输出端还通过与门UlO连接计数器U13的输入端; 寄存器U2连接比较电路U18的输入端,计数器U13的输出端连接比较电路U19,比较电路U19连接时序脉冲电路U22的输入端,时序脉冲电路U22的输出端连接FLASH,比较电路U19的输出端连接计数器U14的输入端,同时通过与门U9连接计数器U13的输入端; 寄存器U3与比较电路U19连接,计数器U14的输出端连接比较电路U20,比较电路U20连接时序脉冲电路U23的输入端,时序脉冲电路U23的输出端连接计数器U14的输入端,同时连接计数器U15和U16的输入端以及FLASH ;寄存器U5连接计数器U15的输出端,计数器U15的输出端连接比较电路U17的输入端,比较电路U17的输出端通过与门U9连接计数器U13的输入端,寄存器U5和U6同时连接加法器Ull,加法器UlI的输出端接入比较电路U17的输入端;寄存器U7接入计数器U16的输出端,计数器U16的输入端与计数器U15的输入端相连接,计数器U16的输出端连接FLASH ; CPU和FLASH之间存在两条数据通道,一条是CPU写入FLASH数据的通道,另一条是CPU读FLASH数据的通道。
全文摘要
本发明公开了一种智能卡数据掉电保护电路,该电路设置在CPU和FLASH之间,CPU首先配置控制脉冲宽度的寄存器U2~U4、寄存器U5、寄存器U7以及存放需要保护的全部地址的长度的U6寄存器,CPU启动数据搬运使能寄存器U1,U12、U18和U21组成的擦电路完成后启动读电路,U13、U19和U22组成的读电路完成后启动写电路,U14、U20和U23组成的写电路完成后再次启动读电路,读写电路往复交替直至U6中设置的需要被搬移的地址长度全部完成。本发明的运行功耗也远低于软件实现时CPU运行功耗,从而一定程度上降低的芯片的工作功耗。
文档编号G06F21/60GK103093151SQ20121059294
公开日2013年5月8日 申请日期2012年12月31日 优先权日2012年12月31日
发明者吴歌 申请人:中国电子科技集团公司第十五研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1