加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

EEPROM、Flash学习总结 (MC9S12DG128)

发布时间:2020-12-15 06:50:28 所属栏目:百科 来源:网络整理
导读:? EEPROM跟Flash程序擦除和编程有严格的流程步骤,一般按照步骤走应该问题不大。这两个模块涉及到的一个主要问题是总线分频算法。这里用的主要是外部晶振的频率跟总线周期,跟总线频率没有直接关系。模块文档中有算法流程图,按照这个来写应该没问题。EEPROM
?
EEPROM跟Flash程序擦除和编程有严格的流程步骤,一般按照步骤走应该问题不大。这两个模块涉及到的一个主要问题是总线分频算法。这里用的主要是外部晶振的频率跟总线周期,跟总线频率没有直接关系。模块文档中有算法流程图,按照这个来写应该没问题。EEPROM被擦除后存储器中默认的值是0xFF,擦除EEPROM既是向存储器写0xFF,想要检验存储器是否被完全擦除只要检验EEPROM中是否完全是0xFF即可。我觉得其他存储器跟这个应该类似。
?
EEPROM中EDIV算法流程图如下:
例1. 晶振是15KHz,总线频率为10MHz,欲分频为190KHz,求ECLKDIV中EDIV的值。
?a. Tbus = 1/10000000 s = 0.1 us
?b. PRDIV 8 = 0
?c. 0.95MHz < 12.8MHz
d. PRDCLK = 0.95MHz
e.?0.95*(5+0.1) = 4.845非整数
f. EDIV[5:0] = INT(4.845) = 4【注意】机器不是按人的“四舍五入”的习惯,而是截取前面的整数部分,所以这里不是5,而是4。
g. EECLK = 0.95MHz/(1+4) = 0.19MHz = 190KHz
?
例2. 晶振是16MHz,总线频率为16MHz,分频至150KHz-200KHz,求ECLKDIV中EDIV的值。
?a. Tbus = 1/16000000 s = 0.0625 us
?b. PRDIV 8 = 0
?c. 16MHz < 12.8MHz
d.PRDIV8=1; PRDCLK = 16/8MHz =2MHz
e.?2*(5+0.0625) = 10.125非整数
f. EDIV[5:0] = INT(10.125) = 10【注意】机器不是按人的“四舍五入”的习惯,而是截取前面的整数部分,所以这里是10。
g. EECLK = 2MHz/(1+10) = 181KHz
?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读