嵌入式设计应用
多CPU系统共享串行EEPROM
三个CPU共享SPI EEPROM 93C46。为了编程方便,三个CPU的P1.0-P1.3都依次连接93C46的CS、CLK、DI、DO;而三个CPU的P1.4、P1.5则连在一起,作为EEPROM状态的标志,用来协调三个CPU的工作。
分时共享EEPROM。电路的核心器件93C46,它同时与三个CPU的P1.0~P1.3相接,所以,三个CPU只能分时访问93C46。也就是说,同一时间只能有一个CPU访问它,不访问时将P1.0~P1.3初始化为高电平,否则会出现竞争。

这就要求CPU在访问EEPROM前,必须知道EEPROM的状态,为此,将三个CPU的P1.4,P1.5分别连接在一起作为标志,三者的状态编码00、01、10分别表示CPU1至CPU3中的哪一个在访问EEPROM;CPU都不访问EEPROM时,各CPU初始化标志P1.4、P1.5为高电平,即11。某CPU要访问EEPROM时,先测试标志P1.4、P1.5,若为11,说明此时CPU可以访问EEPROM,立即将标志P1.4、P1.5置成此CPU的标志码,表示EEPROM处于忙状态,其它CPU不能再访问EEPROM;该CPU访问完EEPROM后,再将P1.4、P1.5置为高电平。为了防止几个CPU同时测试P1.4、P1.5位,可规定CPU1访问EEPROM的优先级比CPU2、CPU3的高。CPU2或CPU3在测试完P1.4、P1.5后,若为11,此CPU立即将P1.4、P1.5置成自己的标志,再测试一下置为1的位是否还为1;若为0,说明有其它CPU在同时访问EEPROM,则退出等待;若还为1,则进行访问EEPROM。
延长EEPROM工作寿命的方法。各CPU频繁地擦写串行EEPROM,93CXX系列的EEPROM
擦写次数典型值为100万次,这是指某一位由1写为0或由0写为1的次数。而实际上写入EEPROM的数据,对于某一位来说,写入的数据并不是每次都是要变化的,实际测试可证明擦写次数大于500万次。按300万次算,若5s写一次,只能写150天左右,显然,这是不能满足要求的。为此,可采用一种利用存储器空间延长EEPROM工作寿命的方法。其方法为:数据存放的地址不是固定的,而是用一个固定的基地址加上EEPROM内的一个单元的内容(即偏移地址)作为真正的地址;若发现存储单元已坏(写入和读出的内容不同),则偏移地址加一,重新写入。如果采用100倍的存储器空间冗余,可将EEPROM的实际寿命延长100倍。
全部0条评论
快来发表一下你的评论吧 !