微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 关于EEPROM数据出错问题的探讨

关于EEPROM数据出错问题的探讨

时间:04-16 来源:电子产品世界 点击:

在家用电子产品特别是电视机产品中,用户要经常对机器的一些参数进行调整,例如对比度、亮度、色饱和度、音量、清晰度、频道排序等等。而这些参数对于每个用户来说不尽相同,也就是说用户经常要调整的这些参数需要保存下来,以免用户每次都要重新调整。在机器中完成这项任务的是EEPROM,它具有可重复读写的功能,与主CPU的连接如图1所示。

主CPU和EEPROM 的连接有两根信号线,一为时钟信号(SCL),是主CPU对EEPROM进行读写的基准信号;一为数据信号(SDA),主CPU对EEPROM进行的读写操作是通过这根信号线进行的。R1、R2一般为0到几百欧姆之间,不能过大;上拉电阻R3、R4一般为2.2~4.7k?之间。

在开机的时候,主CPU通过总线读出EEPROM里的数据,加载到相关的芯片中。当用户对参数进行修改时,主CPU通过总线对EEPROM进行数据写入。为了防止数据出错,在读写过程中稍微长一点的数据都加入了校验码,校验码是根据要写的数据按照一定的算法得到的。在写入数据的时候连校验码一起写入,在读出数据的时候,CPU会按照相同的算法再计算出一遍校验码,和读出的校验码作对比,如果两者一样,则认为这一个“写”和“读”的过程是正确且没有发生数据错误的,反之则认为有错误发生。一旦数据发生错误,主CPU会把一套预先设置好的数据替换损坏的数据,此过程我们称之为复位。有些参数发生复位用户可能不易察觉,如对比度、亮度、色饱和度、清晰度等,但是有些参数发生复位时用户就会很容易发现并且认为是有问题的,如节目信息。节目信息发生复位时,只会保留预先设置的几个频道,大部分的频道都消失了,并且节目的顺序也有可能改变(如果机器有节目排序的功能且用户使用了此功能),这样用户是不会接受的。所以怎样防止EEPROM的数据出错是设计时要重点关注的问题,下面就从几个方面分析原因及相对应的解决措施。

1.开机时。机器刚加电时,各种状态正在建立,有的供电电压还没有完全达到稳定状态,有的高压(如CRT电视的阳极高压或液晶电视的背光电压)在建立的过程可能会产生严重的干扰,所以此时不要对EEPROM进行读写,如果在这个时候进行读写操作的话其出错的几率将大大增加。此种情况比较简单,只要有意延迟一段时间等各种状态稳定了再进行读写操作就可以了。

2.关机时。当主CPU对EEPROM进行写操作的时候,如果断电比较容易出现数据出错现象。因为现在的电视方案一般来说主CPU的外围电压和EEPROM的电压是3.3V,而主CPU的内核电压一般为2.5V或1.8V甚至1.5V。当发生断电时,3.3V电压首先降低,若干毫秒后内核电压才开始下降。在此时间差内有一段时间是主CPU的外围和EEPROM介于工作的临界状态或已经不工作了,而主CPU内核还在工作,还在进行数据的写操作,这种“非正常工作状态”下数据出错的概率非常高,要避免此情况出现。如图2所示,这是在实际的机器中捕捉到的时序图:通道1为主CPU的外围和EEPROM的共用电源电压3.3V,通道2为主CPU的内核电源电压1.8V,通道3为主CPU和EEPROM之间的数据信号(SDA)。由图可以看出3.3V电压已经下降到2.5V左右了,而1.8V还没有下降,总线上还有数据,两个电压下降的时间差约为10毫秒。EEPROM的工作电压一般可以低到2.7V甚至1.8V,但是换用1.8V工作电压的EEPROM不能解决问题,因为CPU的3.3V外围电压一般不能工作在如此低的电压上。

关机情况分为两种:待机和交流关机。

1.待机。待机又分为两种情况:主CPU待机和副CPU待机。现在的电视机方案集成度越来越高,主芯片不仅包含CPU,还包含DECODER、DEINTERLACE、SCALER甚至HDMI和LVDS等功能模块,也正是由于这个原因主CPU在待机时的功率不容易降低,如果有待机功率小于1瓦的要求的话,一般要加一个专门用来待机用的副CPU。另外一方面,主芯片软件系统复杂,为了降低软件的工作量,增加一个待机用的副CPU也是一种选择。当用主CPU待机时,接收到待机的遥控或按键信号时,主CPU可以在数据读写完成以后再进入待机状态,避免了数据出错的发生。当用副CPU待机时,副CPU接收到待机的遥控或按键信号时,要通知主CPU将要进入待机状态,主CPU写完数据后再通知副CPU可以进入待机状态就可以了。用两个简单的I/O信号即可以实现此通知功能。当然主副CPU之间用总线通讯也可以,不过这种方式软件的工作量要大得多。

2.交流关机。此种关机方式和上面的待机方式不同,用软件是不可以控制的,什么时候关机根本不知道。对于这种情况的解决方法是:首先在电路上设计一个专门的复位电路或芯片用来

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top