微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > BQ4050的dataflash读取(用上位机)

BQ4050的dataflash读取(用上位机)

时间:10-02 整理:3721RD 点击:

如图,准备写个上位机读取CUV的值,试了好几种方式都没读取出来,麻烦各位做过的朋友帮帮,

告知读取的方式即可,谢谢

请问你用的是哪个BQ,若果是BQ40Z50-R1,先确认其他数据能否正常读取,用EV2300或者MCU去读取。DataFlash操作要先对BQ解锁,用ManufacturerAccess 命令去处理,详见BQ40Z50-r1 TRM 117页。而且,DF的操作只能用block操作,即,每次不管读或者写都需要操作32Bytes,有CRC校验的话还要加入CRC校验。写DF要在FULLUNSEAL下进行,读DF在UNSEAL下即可进行。

大致步骤:1.先确认ManufacturerBlockAccess()是否已经使能,如果没有先使能ManufacturerBlockAccess().功能: wr+44+2+21+00+CRC;     

                    2.UNSEAL解锁:a. wr+44(CMD)+length(2)+14+04+CRC;

                                                    b.wr+44+2+72+36+CRC;  (04143672为BQ的默认解锁密码)

                    3.读DF。假如DF的起始地址为0x4000。则,你要读取的CUV在0x4480-0x449f段:a. wr+44+2+80+44+CRC;(向44写入DF地址);

                                                                                                                                                                          b.wr+44+rd+0x22(length)+80+40+data1.....+data32+CRC;

                        其中,I2类型读到的data2和data3就是你所需要的值了。

                    4.SEAL(上锁):wr+44+2+30+00+CRC;

刚刚用EV2300测试一下,测试OK,另外请教一下FULLUNSEAL是怎么做的?顺便跟您咨询一下这个写的流程,我担心我们BOSS要求以后也会做,谢谢您

FULLUNSEAL和UNSEAL原理一样:先进行UNSEAL ,再:a.    wr+44+2+FF+FF+CRC;

                                                                                                             b.   wr+44+2+FF+FF+CRC;  //FULLUNSEAL的默认密码为FFFFFFFF

其实,最好 的方法就是用逻辑分析仪抓EV2300和BQ的通讯数据,所有的读写操作一目了然。

好的,谢谢您~

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

网站地图

Top