本帖最后由 shirleyhuang 于 2017-11-2 15:04 编辑
电视型号:清华同方电视LE-32TX2000; 主芯片方案:MT5301; 板号:SZTHTFTV1906 V3.2; 故障现象:通电蓝色指示灯亮,按键、遥控均不能操作; 投稿人:吕成建;
拆机测量电源板的所有输出电压都为正常值,PSON为高电平,屏背光开启信号和调光信号都是低电平,逻辑板的12伏也没有,判断主板异常; 于是开始测量主板基本工作条件关键点,测量主板的待机3.3V、数字3.3V、DDR1.5V、内核供电 1.2V电压和阻抗都基本在正常值,测量复位3.3V为正常值,测量AVDD10_LDO为正常值,测量复位电压3.3V正常,测量按键端口KEY1和EYK2时发现有一路接近0伏,这两路电压正常时为2.0伏。 现在判断其中一路有故障,断开按键板后测量还是一样,测量对地阻值只有80欧姆左右,线路查找未找到短路漏电点,判断为主芯片损坏,回想到以前也修过这故障,把按键端口经过100欧姆左右电阻直接接3.3就修复了,此方法会牺牲一部分按键功能,但可以免去更换主芯片,按照此法改好电路后试机红灯点亮,按下开机键后蓝灯点亮,心中一阵窃喜,可等了好半天也不见图像出现,看来故障不简单呀! 接好809H编程器查看打印信息如下: # Boot- DRAM Channel A Calibration. Byte : Gating( ~ ?, Size=犪, Mid=?, Set=. Byte : Gating( ~ ?, Size=? Mid=, Set=?. Byte 0 : DQS(11 ~ 37), Size 27, Set22. Byte 1 : DQS(2 ~ 30), Size 29, Set 14. DRAM A Size = 256 Mbytes. Boot Start Pmain 0x000032fc LZHS addr:0x00003340 LZHS size:0x0003deb8 LZHS checksum:0x00000048 Boot Start Lmain MT5365 Boot Loader v0.9 Boot reason: A/C power on!! Load VGA internalEDID................. -------------use external edid, disableinternal edid------------------ SIF_Master0: new design SIF_Master1: old design Set IRCLKSEL as 6 for USR TYPE IR! Boot reason: A/C power on!!T8032 initA/C on case loader stage... Load T8032 FW (addr: 0x d163d0, size: 24576)success!! LDR_FlashCopy 0xf010 0x17480 0x80 Detect flash #0: MXIC(25L160) Boot reason: A/C power on!!Bootreason: A/C power on!!Org:0x30 Flags:0x30 Set IRCLKSEL as 6 for USR TYPE IR! Disable VGA wakeup DRAM Channel A Calibration. Byte : Gating( ~ ?, Size=犪, Mid=?, Set=. Byte : Gating( ~ ?, Size=? Mid=, Set=?. Byte 0 : DQS(11 ~ 37), Size 27, Set22. Byte 1 : DQS(3 ~ 30), Size 28, Set 14. DRAM A Size = 256 Mbytes. Boot Start Pmain 0x000032fc LZHS addr:0x00003340 LZHS size:0x0003deb8 LZHS checksum:0x00000048 Boot Start Lmain MT5365 Boot Loader v0.9 SIF_Master0: new design SIF_Master1: old design Set IRCLKSEL as 6 for USR TYPE IR! T8032 change to loader stage... LDR_FlashCopy 0xf010 0x17480 0x80 Detect flash #0: MXIC(25L160) A_Mute GPIO=8 release AMP mute GPIO=8 release Reset Demod GPIO=23, 0->1 Error WT6720 register setting WT6720 gpio init NOR load lzhs header from:0x40000 Decompression uboot to 0x00f00000... LZHS hardware decode start LZHS hardware decode done Starting image... U-Boot starts... NAND Flash: Detect NAND flash ID: 0x9510DAAD Detect HY27UF082G2B NAND flash: 256MB 256 MiB Booting sequence is from NAND Flash *** Warning - bad CRC or NAND, usingdefault environment Erasing Nand... Erasing at 0x200000 -- 100% complete. Writing to Nand... done In: serial Out: serial Err: serial eeprom para:140(6ffc90)u4MemLen:0x00000009 eeprom para:149(6ffc84)u4MemLen:0x00000009 eeprom para:152(6ffc78)u4MemLen:0x00000009 eeprom para:140(6ffc4c)u4MemLen:0x00000009 eeprom para:149(6ffc4c)u4MemLen:0x00000009 eeprom para:152(6ffc4c)u4MemLen:0x00000009 eeprom para:140(6ffec0)u4MemLen:0x00000009 Hit any key to stop autoboot: 0 Partition rootfsA defined at mtdparts: ID:6, Offset:0x00c00000,Size:0x00a00000 Loading from nand0, offset 0x800000 Automatic boot of image at addr0x00008000 ... ## Booting kernel from Legacy Image at00008000 ... XIP Kernel Image ... OK OK Starting kernel ...内核运行标志
UncompressingLinux......................................................................................done, booting the kernel. Linux version 2.6.27 (root@mtkvm) (gccversion 4.4.2 (GCC for MediaTek 4.4.2-20100324)) #1 PREEMPT Fri Apr 8 00:28:50CST 2011 CPU: ARMv6-compatible processor[410fb764] revision 4 (ARMv7), cr=00c5387d Machine: MT5365 Memory policy: ECC disabled, Datacache writeback CPU0: D VIPT write-back cache CPU0: I cache: 16384 bytes,associativity 4, 32 byte lines, 128 sets CPU0: D cache: 16384 bytes,associativity 4, 32 byte lines, 128 sets Built 1 zonelists in Zone order,mobility grouping on. Total pages: 36576 Kernel command line:root=/dev/mtdblock6 lpj=3506176 console=ttyMT0,115200n1mtdparts=mt53xx-nand:2M(uboot),2M(uboot_env),2M(sigA),2M(sigB),2M(kernelA),2M(kernelB),10M(rootfsA),10M(rootfsB),25M(basic),180M(rw_area),1M(perm),128k(reserved),2M(channelsA),2M(channelsB),2M(pq),2M(aq),3M(logo) PID hash table entries: 1024 (order:10, 4096 bytes) Console: colour dummy device 80x30 console [ttyMT0] enabled Dentry cache hash table entries: 32768(order: 5, 131072 bytes) Inode-cache hash table entries: 16384(order: 4, 65536 bytes) Memory: 144MB = 144MB total Memory: 143188KB available (2488Kcode, 148K data, 92K init) Calibrating delay loop (skipped)preset value.. 1402.47 BogoMIPS (lpj=3506176) Mount-cache hash table entries: 512 CPU: Testing write buffer coherencyk net_namespace: 288 bytes NET: Registered protocol family 16 NET: Registered protocol family 2 IP route cache hash table entries:2048 (order: 1, 8192 bytes) TCP established hash table entries:8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192(order: 3, 32768 bytes) TCP: Hash tables configured(established 8192 bind 8192) TCP reno registered NET: Registered protocol family 1 NetWinder Floating Point EmulatorV0.97 (double precision) squashfs: version 3.4 (2008/08/26)Phillip Lougher msgmni has been set to 279 io scheduler noop registered (default) Serial: MT5365 driver $Revision: #1 $ ttyMT0 at MMIO 0xf000c000 (irq = 17)is a MT5365 Serial ttyMT1 at MMIO 0xf000c000 (irq = 17)is a MT5365 Serial ttyMT2 at MMIO 0xf0028800 (irq = 0) isa MT5365 Serial brd: module loaded star: eth_base=0xc9800000 star: pinmux_base=0xc9802400 star: ipll_base1=0xc9804000 star: desc addr:0xffc00000(virtual)/0x08928000(physical) Star Ethernet: IC+IP101A PHY star: PHY addr = 0x0001 star: Star MAC init done Detect NAND flash ID: 0x9510DAAD Detect HY27UF082G2B NAND flash: 256MB NAND device: Manufacturer ID: 0xad,Chip ID: 0xda (Hynix NAND 256MiB 3,3V 8-bit) 17 cmdlinepart partitions found on MTDdevice mt53xx-nand Creating 17 MTD partitions on"mt53xx-nand": 0x00000000-0x00200000 :"uboot" 0x00200000-0x00400000 :"uboot_env" 0x00400000-0x00600000 :"sigA" 0x00600000-0x00800000 : "sigB" 0x00800000-0x00a00000 :"kernelA" 0x00a00000-0x00c00000 :"kernelB" 0x00c00000-0x01600000 :"rootfsA" 0x01600000-0x02000000 :"rootfsB" 0x02000000-0x03900000 :"basic" 0x03900000-0x0ed00000 :"rw_area" 0x0ed00000-0x0ee00000 :"perm" 0x0ee00000-0x0ee20000 :"reserved" 0x0ee20000-0x0f020000 :"channelsA" 0x0f020000-0x0f220000 :"channelsB" 0x0f220000-0x0f420000 : "pq" 0x0f420000-0x0f620000 : "aq" 0x0f620000-0x0f920000 :"logo" mice: PS/2 mouse device common for allmice TCP cubic registered NET: Registered protocol family 17 VFS: Mounted root (squashfsfilesystem) readonly. Freeing init memory: 92K INIT: version 2.86 booting Mounting local filesystems: mountmount: according to /proc/mounts, /dev/root is already mounted on / Running rc.local... net.ipv4.tcp_window_scaling = 6 # mount basic UBI device number 0, total 200 LEBs(25395200 bytes, 24.2 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes(124.0 KiB) real 0m 0.08s user 0m 0.00s sys 0m 0.03s Un-Correctable ECC found: page =0x6AD9, Sector = 0x1 Un-Correctable ECC found: page =0x6AD9, Sector = 0x1 Un-Correctable ECC found: page =0x6AD9, Sector = 0x1 Un-Correctable ECC found: page =0x6AD9, Sector = 0x1 UBI error: ubi_io_read: error -1 whilereading 126976 bytes from PEB 171:4096, read 47104 bytes UBIFS error (pid 267):ubifs_start_scan: cannot read 126976 bytes from LEB 1:0, error -1 Un-Correctable ECC found: page =0x6AD9, Sector = 0x1 Un-Correctable ECC found: page =0x6AD9, Sector = 0x1 Un-Correctable ECC found: page =0x6AD9, Sector = 0x1 Un-Correctable ECC found: page =0x6AD9, Sector = 0x1 UBI error: ubi_io_read: error -1 whilereading 126976 bytes from PEB 171:4096, read 47104 bytes UBIFS error (pid 267):ubifs_recover_master_node: failed to recover master node mount: permission denied. (are youroot?) Command exited with non-zero status 1 real 0m 0.07s user 0m 0.00s sys 0m 0.06s insmod: can't read '/basic/fusion.ko': No such file or directory insmod: can't read '/basic/dtv_driver_adpt.ko': No such file ordirectory /etc/rc.d/rc.local: line 100: /basic/dtvap: not found,这里是不正常的。 咨询iFix技术团队的各位老师,分析此打印属于内核没加载完成,需要升级系统或者刷写NAND,尝试U盘升级和进入控制台下敲命令升级未果,只能对Nand Flash整片拷贝了,查找以前的备份,没有找到一样的,只找到一款32TM1800的Nand Flash备份,这两款机器的主功能几乎一样,差别在于32TM1800的缺少一个低音输出,不影响开机! 于是把这块主板的NAND备份的数据刷进去试机,原故障不变,接下来就陷入困境了,清空24C32,换主芯片MT5301都尝试了故障仍然一样,打印信息也不变,只能暂时搁置。 心有不甘,静下心来想想到底哪里不对呢,重新理了一遍整个维修过程,仍然判断软件故障,于是把原机Nand Flash的数据和写入的代用数据进行了一个比较,在这个过程中发现原机的Nand Flash用的是256M,32TM1800的数据是128M的写进去肯定不对。 看来找到问题的关键了,开始寻找一样的数据,功夫不负有心人,终于两天后在同行那里找得一块相同的主板,他的机器是46寸的,恰好也有RT809H编程器,于是求他帮忙读出数据(经常备份很重要啊)!
重新写入备份软件后,打印完整的跑过去了,开机看到正常的图像;
装上机器后,显示也正常,担心两种机器功能可能不完全一样,试着用U盘升级原机软件,之前U盘升级不识别,现在U盘升级也识别了。
升级完成后所有功能正常,维修结束!收获激动和喜悦,回想维修过程,由于自己没有注意细节,走了很多弯路,也从中吸取到教训,把我的维修经历分享给大家,以免大家跟我一样不注意细节而走弯路!
后记:Nand Flash由于本身硬件的内在特性,会导致偶尔的出现位反转的现象。所谓的位反转,指的是原先Nand Flash中的某个位发生了变化,即要么从1变成0了,要么从0变成1了。
Nand Flash的位反转现象,主要是由以下一些原因/效应所导致:
1. 漂移效应:漂移效应指的是,Nand Flash中cell的电压值,慢慢地发生了变化,变的和原始值不一样了。
2.写入干扰所产生的错误:此现象有时候也叫做,过度写入效应。对于某个页面的写入操作,引起非相关的其他的页面的某个位发生跳变。
3.读操作干扰产生的错误:此效应是,对一个页进行数据读取操作,却使得对应的某个位的数据,产生了永久性的变化,即Nand Flash上这个位的值变了。
如果只是对于单个位的跳变,也许问题看起来并不是很严重。然而,如果恰巧是某个重要文件的某位变化了,那么问题就严重了。
如果位反转,只是读取数据出来时候报告出来的位反转,那么很简单,只需要重新再去读取一次数据,即可解决此问题。
但是,如果是Nand Flash物理上的某个位真正的翻转了,那么需要通过对应的ECC校验去解决。
相对Nor Flash来说,Nand Flash中,位反转的现象,相对更加容易发生。因此,Nand Flash厂家都推荐在使用Nand Flash的时候,最好要应用ECC算法。
当Nand Flash应用于多媒体信息,比如存储音视频文件,那么位反转所造成的问题,并不严重。
当用于存储操作系统,配置文件和其他敏感信息的时候,必须要用ECC,以实现数据的校验,保证数据的正确性。 所以在实际维修中,iFix给出的建议是Nand Flash尽量用原型号,不要买某宝销售的残次品,读写时候保持引脚干净。
|