[汽车MCU – KEA] KEA芯片问题??

[复制链接]
3637|17
 楼主| caijun_2012 发表于 2014-6-30 21:15 | 显示全部楼层 |阅读模式
KEA芯片手册
1.FLASH ECC校验原理
问题1,32位FLASH数据加7位 ECC检验位,我想知道7位ECC检验数据存储在那里?
问题2,写FLASH,ECC码是通过芯片硬件生成还是软件生成??????
问题3,读FLASH时,怎么通过ECC验证数据正确性??????
2,如图

问题1:使能I/O做模拟口时,怎么对我输入信号有干扰,如示波器前段波形?????
问题2:使能I/O做数字输入口,输入波形正常,如示波器后半段?????

gxliu08 发表于 2014-6-30 22:34 | 显示全部楼层
你都拿到KEA片子或板子了?
FSL_FAE_STEVE 发表于 2014-7-1 15:46 | 显示全部楼层
1. 当内容写入芯片时,由硬件计算会随后写入ECC校验数据,但这些数据用户不可见。
2. 硬件生成,随后写入的。
3. 硬件实现读的数据和ECC数据校验,若对或有1位错误,则返回正确值,若有2位错误,产生ECC中断。

图看不到了,楼主可以重新发一下吗?
FSL_FAE_STEVE 发表于 2014-7-1 15:46 | 显示全部楼层
1. 当内容写入芯片时,由硬件计算会随后写入ECC校验数据,但这些数据用户不可见。
2. 硬件生成,随后写入的。
3. 硬件实现读的数据和ECC数据校验,若对或有1位错误,则返回正确值,若有2位错误,产生ECC中断。

图看不到了,楼主可以重新发一下吗?
 楼主| caijun_2012 发表于 2014-7-1 19:42 | 显示全部楼层
首先谢谢你回答:ECC原理我明白,就是读出FLASH数据+原始ECC校验码等于0。。。。
3. 硬件实现读的数据和ECC数据校验,若对或有1位错误,则返回正确值,若有2位错误,产生ECC中断。
例如:我读某一个FLASH地址,我可以获得FLASH数据,怎么获得它硬件生成ECC校验码?????
 楼主| caijun_2012 发表于 2014-7-1 19:44 | 显示全部楼层
楼主,图见附件
image004.jpg
 楼主| caijun_2012 发表于 2014-7-1 19:46 | 显示全部楼层
3. 硬件实现读的数据和ECC数据校验,若对或有1位错误,则返回正确值,若有2位错误,产生ECC中断。
例如:我读某一个FLASH地址,能获得FLASH对应地址数据,那硬件生成ECC校验码怎么获得呢?????
 楼主| caijun_2012 发表于 2014-7-1 19:49 | 显示全部楼层
难道我读FLASH数据过程时,FLASH数据就自动与ECC校验码比较了吗???我只要判断状态寄存器就可以吗???
FSL_TICS_ZJJ 发表于 2014-7-2 08:59 | 显示全部楼层
caijun_2012 发表于 2014-7-1 19:46
3. 硬件实现读的数据和ECC数据校验,若对或有1位错误,则返回正确值,若有2位错误,产生ECC中断。
例如:我 ...

楼主你好。
ECC校验码是硬件内部实现,对于用户来说,正如你所讲,只需要关注FERSTAT寄存器去查看是否出现了1位或者2位的错误,然后需要手动清楚这个标志。
 楼主| caijun_2012 发表于 2014-7-2 09:12 | 显示全部楼层
楼主你好?
请问,KEAZN8是多小字节生成一个ECC校验码呢?????能一次读一个BLOCK区域校验吗????
MC9S12GXXX  16位手册有提到,如下。。
32 data bits plus 7 syndrome ECC (error correction code) bits allow single bit error correction
and double fault detection。
但KEAZN8没有提到。。。。
xinyinxing 发表于 2014-7-2 09:20 | 显示全部楼层
楼上问题问的很好,我也想知道多大就可以进行验证了,KE中也有这块内容,但是没有看到具体多大就产生验证。
FSL_FAE_STEVE 发表于 2014-7-2 11:28 | 显示全部楼层
正常情况下,ECC校验码对于用户是不可见的,ECC校验码生成与数据位数有关,32bit 数据生成7bit ECC校验码,16bit 数据生成6bit ECC校验码,KEA的话是一个WORD也就是16bit产生ECC校验码。FLASH在读取的时候ECC电路会自动进行验证,用户只需要查看相应的状态寄存器即可。
 楼主| caijun_2012 发表于 2014-7-2 11:43 | 显示全部楼层
版主,你好!
   那就是每次读一个WORD,判断一次状态寄存器了????
FSL_TICS_ZJJ 发表于 2014-7-2 11:48 | 显示全部楼层
caijun_2012 发表于 2014-7-2 11:43
版主,你好!
   那就是每次读一个WORD,判断一次状态寄存器了????

楼主你好。
我认为如果每次都去check状态,效率蛮低的。
如果为了提高效率,减小代码量,可以直接把你要读的块都读完再去检查,如果SFDIF置位就不用管,直接清标志就行。如果是DFDIF置位,你就把整个块再重读一遍。
FSL_FAE_STEVE 发表于 2014-7-2 12:20 | 显示全部楼层
关于GPIO的问题,楼主是在那个开发板上实现的,是单片机哪一个PIN呢,可否详细说明?
 楼主| caijun_2012 发表于 2014-7-2 16:20 | 显示全部楼层
1.KEAZN8手册没有你提到SFDIF,DFDIF标志位。。。
2.单片机PTC0
lvyunhua 发表于 2014-7-3 21:34 | 显示全部楼层
关注并学习中。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

226

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部