接手一个U盘的电路调试工作,使用的芯片是UT165,NAND型号是SAMSUNG的K9F2G08U0A,量产工具是连胜的Version1.65.12.0(UT165:ut65rom.erp-MPTool),芯片版本是A0A,Mark的时间是0816(0817)。
接受的时候的状况是:电路板上焊接好了UT165和一片NAND(设计是支持2片的),给我交接的师兄说已经能检测到NAND,但是不能烧写。
接手后就开始测试,首先是上电进行测试了,通后检测,发现不能得到设备的ID,也不能检测到NAND。不过此时能发现在计算机的资源管理器中有设备,查看信息时有设备的ID:USB/CID_1307&PID_0613\5&30124DE0&01,同时LED在闪烁。使用MPTool检测,发现不能得到设备的ID,也不能检测到NAND,在Status栏有显示“Code:0x12”。
进行信号检测:
使用示波器,在NAND的F_CE0和F_CE2引脚扑捉波形,发现在MPT工具下使用F3刷新时,有波形得到。可是扑捉F0_RBn上的波形时却没有任何现象。原因还不清楚。
在这样没有头绪的情况下师兄给我了一个U盘模块,让我进行测试,其实就是一个U盘了只是没有焊接NAND。拿到模块后首先在电脑上检测,然后在去焊接测试。插上后MP工具很快就能检测到设备,看了看上面的控制芯片MARK的时间按是09的,不过是A0A的,看来只是不是同一个批次了。并且在直接插上后能检测到有135M的内存,师兄说不用管那个~~(后来那个恨,没有再试下,并截个图了)。发现能检测后就去焊接芯片了,NAND使用的是SAMSUNG的K9F2G08U0A,焊接好后进行测试,发现没有现象,和没焊一样。不用想就是焊接的问题了,有回去重新焊接,补焊。重新测试,o(∩_∩)o 哈哈,1G的空间检测到了,还有SAMSUNG的字样呢。看来这就是一个正确的现象了。进行刷机,卸载MPTool,重新插上U盘。在我的电脑上出现了那熟悉的U盘的盘符,打开在里面创建个文件啥的,一切顺利。
然后换用我们的电路板,使用和U盘模块一样的NAND。上电检测,晕~~居然在MP工具里没有任何显示,此时我做了一个整个过程中最失败的一个决定:既然U盘上的芯片是好的,那个如果把那个换下来是不是就好了呢。所以就换了~~结果,没有结果,不过有现象,MP工具能检测到设备,不过在Prot1端口显示的是个红色的问号,Capacity选项里是64M。真的晕了,所以就去把NAND给焊掉了以为这样能和刚买的U盘模块一样。结果这一些列的问题就把自己搞晕了,当然是和没有焊掉之前一样的现象了。此时无奈之举决定把芯片还给U盘,回复U盘的共能。好啊~~那就去焊了,很快焊好了,接上电脑。~~傻了,什么都没了~,测电压吧,发现3.3的输出为0,经过一些查找发现是REG33OUT的3.3V输出引脚对滴短路了。o(︶︿︶)o 唉悲剧啊 ~~看电路看了半天,最后怀疑是自己焊接时不小心把UT165的3号脚(3.3输出)和4号脚(test_en,短地)短接了,然后把3.3v的一路电源给烧毁了。
之后用我现有的物料进行了2次测试,发现都不能使用MP工具检测到。但是能在计算机上检测到是unknown device。看属性里什么也没有。没有了接手时候的设备ID了。测试失败,去师兄那里领罚,经过一番学习,决定再买2个U盘模块回来测试。
领罚心得:测试中没有正视调试的含义,我在调试中一直在做的工作是焊接-焊接-焊接。接到pc上不行,然后跑去焊接。而没有认真的冷静的去分析原因,没有去扑捉重要信号的波形。思想上犯的错误时,因为有了一块好的板子以为直接拿过来就能用了,所有就去换来换去的,以望我的物料在U盘模块上正常,或者U盘模块上的芯片在我的板子上能OK,结果把U盘给废了。。。期间我做的调试工作就是简单的机械的替换和焊接,而迷失了真正调试的含义。
不过我确实发现,现有的物料不好,因为有的芯片电源本来就不正常的,上电后直接把我的5V电源拉低到了3.3V。并且芯片上的MARK也不清晰。怀疑是散新或回收的。
。。。。
等待吧,等买的模块。
不过再开始测试就要理清思路,做好记录,而不可以盲目的去焊接。
1.新的块使用MP工具检测,记录检测到的信息。
2.记录重要信号引脚的波形,尤其是F0_RBn引脚上的信号。
3.把U盘模块上的芯片更换到我们的板子上,在没有NAND的情况下进行测试,并记录相关信息
4. 焊接NAND进一步测试,并记录重要信号的波形
。。。
2010-11-15
星期一,快递还真快,新买的U盘模块昨天就到了。
有了前面的教训之后,对这两块新买的模块就格外珍惜了。决定一步步的去测试,做记录。
1. 上电检测,使用MP工具看检测到的数据是什么
2. 看能部能画出U盘的原理图
3. 焊下其中一块的主芯片,并焊接到自己板子上进行测试
测试记录:
首先在没有使用MP工具时的检结果如下:
LED一直是灭的
图1
图2
然后是用MP工具:
此时LED在闪烁
图3
单击‘端口刷新’-F3有下面窗口弹出
图4
端口刷新之后的界面会有一点变化如下:
图5
两块板子的记录是一样的。现在的现象和我第一用的不太一样的,之前的还能检测到ID啥的。但是和我后来测试的结果倒是有点相似,一个红色的问号,不过我的LED不能一直闪。
看下电路板上的电路吧:
只有6个电阻,复位电路一个1K的,LED电路一个470的,振荡电路一个1M的,电源入口处有个38欧姆的,另外电源入口有一个0欧姆(感觉装的是个电阻)的电感,NAND的6号脚(RB2#)通过一个0欧姆电阻接地。
震荡电路两个电容,3.3v,1.8v电压输出各一个电容,5V输入有一个电容。
还有一个LED.
在加上两个芯片,一个12Mhz的晶振和一个USB接口就是板子上的所有东西了。
把其中一块电路板上的芯片焊下,换到我的电路板上。
上电测试:电压都正常,1.77v和3.2v。
设备管理器中的信息如下图:
图6 :两块板子分别是,自己的和U盘模块。
分别打开属性对话框,有下图数据:
图7
但是我的电路板LED不会闪烁。
使用MP工具检测截图如下:
图8
图9
检查电路中发现自己的电路和模块上电路唯一不同的地方就是模块上的F0_RBn和F1_RBn是短接的,另外NAND上的RB2#是通过电阻接地的,自己板子上是RB2#和RB1#短接的。
测试中有个奇怪的现象,MP工具检测到自己的板子之后,再按端口刷新-F3之后就没有信息了,只是Port1显示红色,而模块上的电路不会有这中现象。
分析原因:
1. LED不亮可能是LED焊接方向有误
2. 自己的板子和模块同时接上按下F3时,模块的检测一直都有,而自己的板子却会出现检测不到的现象
* 有可能是因为USB线太长的缘故,也有可能是没有接38欧姆的电阻的原因,也有可能是晶振的原因(可晶振能起振,因该排除这个可能的)
现在不能急于焊接NAND,首先要解决的是LED不亮的问题。
因为LED是用来只是U盘控制芯片状态的:
Busy(快速闪烁), Wait(低频闪烁), Off(灭)
使用U盘模块焊接NAND,刷机测试,能检测到NAND的ID,但是单击开始按钮之后就一直在刷机,而不能停止或刷机成功。LED等一直闪烁状态。测量电源电压正常。
图10
图11
傻了:这可就是师兄最开始给我交接时,我们板子的状况啊~~
想想,之前成功过,模块本身是回流焊接,应该不会有问题,NAND是我手工焊接的,可能会有接触不好的,所以决定再焊一下,加些焊锡,保证焊接质量。
然后再进行测试,o(∩_∩)o 哈哈,就那么OK了。看来宝刀一老啊~~还要加强焊接技能的训练才是
如图:
图12
看着上图中出现的SAMSUNG,感觉真实久违了。
至此,新买的一块板子也好了。
剩下的就是我们的电路了,LED还没亮过。加油吧!
有了上面的教训,决定自己板上的芯片也要重新焊接一下,再做测试。
先不管,刚发现一个参数的含义,就是检测是在‘状态’栏里显示的参数,是报错的代码。
有错误代码表如下:
0x10 Disk can't be formated as the selected file system
0x11 Disk mounted flash chips doesn't match the setting
0x12 Disk size does't match the setting
0x13 Disk is write-protected
0x14 Disk size is zero
0x28 Run SCSI command Failed
0x41 ISP / CIS blk search Failed
0x42 Build flash LUT Failed
0x44 Bad block count is out of range
0x48 Bad block count exceed tolerance
0x51 Single/Dual channel check Failed
0x52 USB 2.0 check Failed
0x54 Firmware version mismatch with controller type
0x58 Bad block count of table is not match with number of scanned bad block
0x61 Rebuild Flash BAD Blk Failed
0x62 Autorun Image Error
0x64 Sensor Error
0x68 Erase Block Failed
0x72 Initialize ISP Failed
0x74 Check Disk Information Failed
0x78 Update Disk Information Failed
0x82 Flash Manufacture checking error
0x84 Sensor Get Image Failed
0x88 Run Disk Stress R/W Failed
0x91 Clear Hidden Blk Failed
0x92 Source folder doesn't exist or source file is missing
0x94 Check Disk MBR/FAT Failed
0x98 Format Disk Failed
0xa1 Size of source files is large than partition size during running
0xa2 Partition Setting Error
0xa4 Size of source files is large than partition size
0xa8 Copy Files Failed
自己的板上检测的是0x12 0x28。
检测结果如下图:
就带着这个问题到网上找找了,看有没有什么资源。结果还真找到了点什么。
给个链接:http://bbs.mydigit.cn/read.php?tid=131008&page=1
在14楼的时候,贴主说问题已经解决了,是因为:无法量产与识别是因为使用了一个抵挡山寨USB延长线造成的,直接接到主机USB口问题就解决了'.
这个问题之前我也分析过,只是没有去验证。看来要找个好一点的USB下载线来试下了,因为我用的是1-2块钱的usb线。还是用下那个10块钱的吧。
哈哈:搞定了!!!
上个贴图:
感觉那是个爽啊~~
最后的贴图:
心得:自己用的工具一定要用好的。不然会死的很惨。谨以告诫后来者。
先不慌高兴,这才成功了一半,还有一片呢~~
焊接->测试:
不错检测成功16Gb:
单击开始:
晕,居然有这个:
然后就是不祥的结果
看来革命尚未成功啊~~~
看检测的结果是2048GB,空间是足够的,所以不忍心(其实是不敢,因为没做过)像http://bbs.mydigit.cn/read.php?tid=101615中所说的那样全部擦除,感觉那样没有意义。
还是怀疑焊接的问题,继续检查。
遗憾的是焊接已经检查过了,确实没有问题。
那么可能出问题的还是在这USB线上了,我用的线有1.5m。如果能有0.5m的线估计就没有问题了。
等明天试试吧。
继续调试中。。。。。。。。。
因为手边没有好用较短的USB线,所以先找找其他原因。
参考这里http://bbs.mydigit.cn/read.php?tid=101615所说的检查坏块,也做过了,是没有几个的。
突然有个想法,昨天用一片NAND就好了,用两块之后就不好,那么我把昨天好的那一块焊下会是什么结果呢?
绝处逢源,刚要去焊,看到同事有一根移动硬盘的线,哈哈~~先试试再说。。。
。。。。
。。。。
晕了。不像事先想的那样是线的问题。现象和原来一样。
没办法,还是焊下一块吧。
焊好了结果如下图:
报错信息:0x12 0x54
看下不是焊接的问题就先回复到昨天1G的状态吧。
单片NAND时的操作过程是:start->chklbk->format->OK
换成两片NAND时的操作是:start->chklbk->stress %*/UpdataUSBInfo->0x28 0x48
遇到现在的情况,需要理智的来分析
1片没问题,2片就有问题。RB信号线上的上拉电阻也已经接上了,还是不行。单独使用第二片根本就检测不到。
基本可以排除是线的问题了,因为线已经很短了,用的是移动硬盘上的线,已经增加了驱动能力。那么会是哪里的问题呢?
功夫不负有心人啊~~没有思路的时候跑去请教师兄了~~描述了现象之后,又看了看电路。
1片和2片唯一不同的就是CE了,原理图中的描述接法有好几种,而我们的原理图中是每片2个CE的。结果师兄告诉我说,所使用的芯片是1个CE的。。。。。。。。。。。
。。。。。。。。那个郁闷啊~~
先看手册,确认无误,好修改去。
问题解决了。传上参考的电路,如有违反版权问题,请联系,定在第一时间删除。
留下的就是自己的反省了。
1. 做事一定要细心,尤其做电路一定要有记录。遇到问题一定要理智冷静的去思考;
2. 调试阶段的物料最好用优质的,不要用散新或拆装的;
3. 工具,一定要用好的;
4. 做项目至少要两个人,思路更广点,也许不经意的一句话就能给对方灵感。
转载请注明出处,谢谢。
文章评论(0条评论)
登录后参与讨论