<%@LANGUAGE="VBSCRIPT"%> <% if(request("ID") <> "") then Command1__Mid =request("ID") Dim Ret__MMColParam Ret__MMColParam = "1" if (Request.QueryString("ID") <> "") then Ret__MMColParam = Request.QueryString("ID") set Ret = Server.CreateObject("ADODB.Recordset") Ret.ActiveConnection = MM_conmx_STRING Ret.Source = "SELECT * FROM tb_guestbook WHERE G_ID="+Replace(Ret__MMColParam, "'", "")+" " Ret.CursorType = 0 Ret.CursorLocation = 2 Ret.LockType = 3 Ret.Open() Ret_numRows = 0 Dim Rer__MMColParam Rer__MMColParam = "1" if (Request.QueryString("ID") <> "") then Rer__MMColParam = Request.QueryString("ID") set Rer = Server.CreateObject("ADODB.Recordset") Rer.ActiveConnection = MM_conmx_STRING Rer.Source = "SELECT * FROM tb_guestbook WHERE G_Rid = '" + Replace(Rer__MMColParam, "'", "") + "' order by G_Rdata desc " Rer.CursorType = 0 Rer.CursorLocation = 2 Rer.LockType = 3 Rer.Open() Rer_numRows = 0 %> <% set Command1 = Server.CreateObject("ADODB.Command") Command1.ActiveConnection = MM_conmx_STRING Command1.CommandText = "UPDATE tb_guestbook SET Hot =Hot+1 WHERE G_ID =" + Replace(Command1__Mid, "'", "") + "" Command1.CommandType = 1 Command1.CommandTimeout = 0 Command1.Prepared = true Command1.Execute() %> <% Dim Repeat1__numRows Repeat1__numRows = 20 Dim Repeat1__index Repeat1__index = 0 Rer_numRows = Rer_numRows + Repeat1__numRows %> <% ' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables ' set the record count Rer_total = Rer.RecordCount ' set the number of rows displayed on this page If (Rer_numRows < 0) Then Rer_numRows = Rer_total Elseif (Rer_numRows = 0) Then Rer_numRows = 1 End If ' set the first and last displayed record Rer_first = 1 Rer_last = Rer_first + Rer_numRows - 1 ' if we have the correct record count, check the other stats If (Rer_total <> -1) Then If (Rer_first > Rer_total) Then Rer_first = Rer_total If (Rer_last > Rer_total) Then Rer_last = Rer_total If (Rer_numRows > Rer_total) Then Rer_numRows = Rer_total End If %> <% ' *** Recordset Stats: if we don't know the record count, manually count them If (Rer_total = -1) Then ' count the total records by iterating through the recordset Rer_total=0 While (Not Rer.EOF) Rer_total = Rer_total + 1 Rer.MoveNext Wend ' reset the cursor to the beginning If (Rer.CursorType > 0) Then Rer.MoveFirst Else Rer.Requery End If ' set the number of rows displayed on this page If (Rer_numRows < 0 Or Rer_numRows > Rer_total) Then Rer_numRows = Rer_total End If ' set the first and last displayed record Rer_first = 1 Rer_last = Rer_first + Rer_numRows - 1 If (Rer_first > Rer_total) Then Rer_first = Rer_total If (Rer_last > Rer_total) Then Rer_last = Rer_total End If %> <% ' *** Move To Record and Go To Record: declare variables Set MM_rs = Rer MM_rsCount = Rer_total MM_size = Rer_numRows MM_uniqueCol = "" MM_paramName = "" MM_offset = 0 MM_atTotal = false MM_paramIsDefined = false If (MM_paramName <> "") Then MM_paramIsDefined = (Request.QueryString(MM_paramName) <> "") End If %> <% ' *** Move To Record: handle 'index' or 'offset' parameter if (Not MM_paramIsDefined And MM_rsCount <> 0) then ' use index parameter if defined, otherwise use offset parameter r = Request.QueryString("index") If r = "" Then r = Request.QueryString("offset") If r <> "" Then MM_offset = Int(r) ' if we have a record count, check if we are past the end of the recordset If (MM_rsCount <> -1) Then If (MM_offset >= MM_rsCount Or MM_offset = -1) Then ' past end or move last If ((MM_rsCount Mod MM_size) > 0) Then ' last page not a full repeat region MM_offset = MM_rsCount - (MM_rsCount Mod MM_size) Else MM_offset = MM_rsCount - MM_size End If End If End If ' move the cursor to the selected record i = 0 While ((Not MM_rs.EOF) And (i < MM_offset Or MM_offset = -1)) MM_rs.MoveNext i = i + 1 Wend If (MM_rs.EOF) Then MM_offset = i ' set MM_offset to the last possible record End If %> <% ' *** Move To Record: if we dont know the record count, check the display range If (MM_rsCount = -1) Then ' walk to the end of the display range for this page i = MM_offset While (Not MM_rs.EOF And (MM_size < 0 Or i < MM_offset + MM_size)) MM_rs.MoveNext i = i + 1 Wend ' if we walked off the end of the recordset, set MM_rsCount and MM_size If (MM_rs.EOF) Then MM_rsCount = i If (MM_size < 0 Or MM_size > MM_rsCount) Then MM_size = MM_rsCount End If ' if we walked off the end, set the offset based on page size If (MM_rs.EOF And Not MM_paramIsDefined) Then If (MM_offset > MM_rsCount - MM_size Or MM_offset = -1) Then If ((MM_rsCount Mod MM_size) > 0) Then MM_offset = MM_rsCount - (MM_rsCount Mod MM_size) Else MM_offset = MM_rsCount - MM_size End If End If End If ' reset the cursor to the beginning If (MM_rs.CursorType > 0) Then MM_rs.MoveFirst Else MM_rs.Requery End If ' move the cursor to the selected record i = 0 While (Not MM_rs.EOF And i < MM_offset) MM_rs.MoveNext i = i + 1 Wend End If %> <% ' *** Move To Record: update recordset stats ' set the first and last displayed record Rer_first = MM_offset + 1 Rer_last = MM_offset + MM_size If (MM_rsCount <> -1) Then If (Rer_first > MM_rsCount) Then Rer_first = MM_rsCount If (Rer_last > MM_rsCount) Then Rer_last = MM_rsCount End If ' set the boolean used by hide region to check if we are on the last record MM_atTotal = (MM_rsCount <> -1 And MM_offset + MM_size >= MM_rsCount) %> <% ' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters ' create the list of parameters which should not be maintained MM_removeList = "&index=" If (MM_paramName <> "") Then MM_removeList = MM_removeList & "&" & MM_paramName & "=" MM_keepURL="":MM_keepForm="":MM_keepBoth="":MM_keepNone="" ' add the URL parameters to the MM_keepURL string For Each Item In Request.QueryString NextItem = "&" & Item & "=" If (InStr(1,MM_removeList,NextItem,1) = 0) Then MM_keepURL = MM_keepURL & NextItem & Server.URLencode(Request.QueryString(Item)) End If Next ' add the Form variables to the MM_keepForm string For Each Item In Request.Form NextItem = "&" & Item & "=" If (InStr(1,MM_removeList,NextItem,1) = 0) Then MM_keepForm = MM_keepForm & NextItem & Server.URLencode(Request.Form(Item)) End If Next ' create the Form + URL string and remove the intial '&' from each of the strings MM_keepBoth = MM_keepURL & MM_keepForm if (MM_keepBoth <> "") Then MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1) if (MM_keepURL <> "") Then MM_keepURL = Right(MM_keepURL, Len(MM_keepURL) - 1) if (MM_keepForm <> "") Then MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1) ' a utility function used for adding additional parameters to these strings Function MM_joinChar(firstItem) If (firstItem <> "") Then MM_joinChar = "&" Else MM_joinChar = "" End If End Function %> <% ' *** Move To Record: set the strings for the first, last, next, and previous links MM_keepMove = MM_keepBoth MM_moveParam = "index" ' if the page has a repeated region, remove 'offset' from the maintained parameters If (MM_size > 0) Then MM_moveParam = "offset" If (MM_keepMove <> "") Then params = Split(MM_keepMove, "&") MM_keepMove = "" For i = 0 To UBound(params) nextItem = Left(params(i), InStr(params(i),"=") - 1) If (StrComp(nextItem,MM_moveParam,1) <> 0) Then MM_keepMove = MM_keepMove & "&" & params(i) End If Next If (MM_keepMove <> "") Then MM_keepMove = Right(MM_keepMove, Len(MM_keepMove) - 1) End If End If End If ' set the strings for the move to links If (MM_keepMove <> "") Then MM_keepMove = MM_keepMove & "&" urlStr = Request.ServerVariables("URL") & "?" & MM_keepMove & MM_moveParam & "=" MM_moveFirst = urlStr & "0" MM_moveLast = urlStr & "-1" MM_moveNext = urlStr & Cstr(MM_offset + MM_size) prev = MM_offset - MM_size If (prev < 0) Then prev = 0 MM_movePrev = urlStr & Cstr(prev) %> <% Dim Rer_TFMcurrentPage Dim Rer_TFMtotalPages If MM_size > 0 Then Rer_TFMcurrentPage = Round(Rer_last/MM_size + .4999) Rer_TFMtotalPages = Round(Rer_total/MM_size + .4999) End If %> <% Function T3_AutoHyperlink2(strContent, strTarget) If NOT IsNull(strContent) OR strContent <> "" then T3_AutoHyperlink2 = Replace(strContent, "http://www", "www") Set RegHyperlink = NEW RegExp RegHyperlink.Pattern = "www.\b[^\s]*\S" RegHyperlink.Global = True Set HyperlinkMatches = RegHyperlink.Execute(T3_AutoHyperlink2) For Each Hyperlink In HyperlinkMatches T3_AutoHyperlink2 = Replace(T3_AutoHyperlink2,Hyperlink.Value, "http://" & Hyperlink.Value & "") Next RegHyperlink.Pattern = "\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.(co.uk|com|net|org|gov|edu)" RegHyperlink.Global = True Set EmailMatches = RegHyperlink.Execute(T3_AutoHyperlink2) For Each Email In EmailMatches T3_AutoHyperlink2 = Replace(T3_AutoHyperlink2,Email.Value, "" & Email.Value & "") Next T3_AutoHyperlink2 = Replace(T3_AutoHyperlink2,chr(13),"
") Else T3_AutoHyperlink2 = "" End If End Function %> E-ONE网站====持术交流 <% pucimgid = 6 temname = "and namesize='6'" %>
I2C总线彩电检修方法和技巧
   现在的大屏幕彩电大多是I2C总线彩电,一旦发生故障,检修起来以往的经验和思路往往用不上:一是I2C总线彩电常出现有违常规的故障现象,检修起来感觉无从下手;二是不知道如何判断I2C总线系统是否正常;三是不知道如何更换CPU及存储器。事实上,只要大家突破了这三点,I2C总线彩电的检修也就迎刃而解。

一、I2C总线彩电的判断方法
    许多维修人员只要看到CPU上标有“SDA”和“SCL”字样,就认为此机是I2C总线彩电,其实不然,CPU 上标有“SDA”和“SCL”字样,仅仅说明CPU上引出了I2C总线,但厂家是否开发了总线控制功能,还得看总线上都挂了些什么电路。若存储器和小信号处理器都挂在总线上,说明此机是I2C总线彩电。检修这类彩电时,就得按I2C总线彩电的检修特点进行,我们通常所说的I2C总线彩电指的就是这一类。若存储器和小信号处理器中有一个未挂在总线上,就算不上真正的I2C总线彩电,检修这类彩电时,仍按老办法进行处理。

二、I2C总线彩电故障自检
    由于I2C总线系统是一个由硬件和软件有机结合的微机系统,它能对系统故障进行自检,并显示检测结果,为维修人员提供自检信息,维修人员通过对故障信息的分析来判断故障的大致部位及故障的性质。目前,彩电自检信息的显示方式有如下几种。
    1、指示灯显示方式
    当CPU检测到系统有故障时,便点亮指示灯进入闪烁状态,维修人员可以根据指示灯闪烁规律来判断故障部位。例如:索尼贵翔系列彩电(KV—ES29M90、KV—EFM90等)就使用这种方式。当CPU检测到某被控器件有故障时,便进入总线保护状态,整机三无,此时,面板上的指示灯进行闪烁。维修人员可根据指示灯的闪烁次数来判断故障部位,详细情况如下表所示。

指示灯闪烁次数

1

2

3

4

故障电路

存储器
(IC003)

AV切换开关
(IC1201)

小信号处理
(IC104)

环绕声处理
(IC206)

  2、屏幕显示方式
    当CPU检测到被控电路有故障时,便将故障部位及故障性质采用字符显示在屏幕上,维修人员可根据显示的结果来判断故障性质。例如:长虹G2966彩电就采用这种方式,当屏幕显示有SDA—GND或SCL—GND时,则说明总线与地短路。
    3、故障代码显示方式
    当CPU检测到总线系统有故障时,便以代码的形式显示屏幕上,维修人员可根据故障代码来判断故障部位。例如:飞利浦MD1.0A机芯就使用这种方式,每次开机后,CPU都要通过I2C总线对系统中的有关电路进行检测并以数字代码形式显示检测结果,维修人员可根据所显示的数字代码来判断故障部位。

三、I2C总线彩电的特殊故障现象
    1、总线保护
    总线保护是I2C总线彩电的一种特殊现象。当CPU 检测到系统有严重问题时(如总线短路、输出端口与电源开路等),CPU便会执行总线保护程序,系统进入保护状态,此时彩电可能会出现一些特殊的故障现象,例如:不能开机,白净光栅,按键失灵,黑屏现象,电源继电器“嗒嗒”响等。因此当碰到这些现象时,首先可按普通故障进行处理,若未能找到故障点,就转换思路查一查是否总线系统不正常而引起总线系统不正常而引起总线保护,通过转换思路后,有时很容易找到故障所在。下表列出了变通彩电和I2C总线彩电中的一些部件损坏后可能引起的故障现象

损坏部件

普通彩电故障现象

I2C总线彩电故障现象

存储器

机器能正常工作,但不能存台

会导致总线保护,不能开机,或开机后,整机无法工作。

小信号处理器

只引起图像或光栅故障

可能导致总线保护,引起无光栅甚至不能开机。

伴音处理器

只引起伴音故障,图像正常

可能导致总线保护,引起控制系统异常,甚至三无现象。

TV/AV切换

只引起图、声故障

同上

高频头

只引起图、声故障

同上


   从上表可以看出,当挂在I2C总线上的任何一个被控器损坏时,系统都有可能进入总线保护状态,引起一引起有违常规的故障现象,这一点应引起维修人员的高度注意。
    2、软件错误
    软件错误所引起的故障现象是I2C总线彩电的又一特殊现象,在普通遥控彩电中,一台彩电所能实现的功能只与这台彩电所采用的电路有关,例如电路中设有双路AV输入电路,就决定该机具有两路AV输入功能,但在I2C总线彩电中,彩电所能实现的功能不仅与电路(硬件)有关,即硬件电路的存在必须与软件数据的设置相对应,否则,即使设有双路AV输入电路,也不一定具有双路AV 输入功能。维修人员常会碰到这样的情况,有时电视机出现故障时,查遍了所有电路也找不到故障,但检查软件后,立即发现了问题。
 
四、值得注意的几个引脚
    许多I2C总线彩电的CPU及被控器上设有特殊功能引脚,这些引脚的电压,对I2C总线的控制功能有较大的影响,只有当这些引脚的电压正常时,I2C总线系统才能正常工作。
    1、CPU上I2C总线通/断控制脚
    I2C总线通/断控制脚是生产厂家为了便于调试(或测试)而设置的,在通常情况下,该脚为高电平,CPU拥有总线控制权,并可通过总线传输数据。当该脚变为低电平时,CPU就不再拥有I2C总线控制权,它将控制权交给生产线上调试计算机管理。因此当该脚电压失常时,电视机可能会进入工厂调试状态,这个脚常用“FACTORY”、“BUSOFFIN”或“BUSON/OFF”等符号来表示。目前设有此脚的CPU如下表所示。

CPU型号

所在机芯或机型

总线通/断控制脚

表示符号

47C1638AU353

长虹NC-3机芯

48

BUS OFF IN

AN1871274

长虹CN-5机芯

36

FACTORY

TMP87CP38N

长虹NC-63机芯

34

BUS OFF IN

CHT0807

长虹CN-9机芯

20

BUS ON/OFF

CHT0406

长虹CN-12机芯

32

CS

M37220M3

康佳“三菱”机芯

35

BAQ

LC863316A

康佳A10机芯

32

PC

MN152810
嘉华KC54彩电
50
FACTORY
P83C266BDR
厦华XT-29D8M
38
PROT/SERVICE
CXP80420-139
海信TC2919KP
1
BUS OFF IN
M37210M4-786SP
熊猫2918
7
BUS OFF IN
CXP80424-146
东芝F2DP机芯
1
BUS OFF IN
CXP85332
东芝F3SS机芯
3
BUS OFF IN
M37102M8
三洋A8机芯
13
I2C ON/OFF
  
   当上述引脚变成低电平时,CPU就无法对各被控电路进行控制,此时会造成系统失控的现象。当然,也有许多CPU上未设此脚。
    2、CPU上的保护端子
    许多I2C总线彩电的CPU上设有保护端子,常用“PROTECT”、“SAFTY”、“X—RAY”等符号表示,正常工作时,该端子为高电平(或低电平);当电源或扫描电路出现异常时,该端子立即跳变为低电平(或高电平),CPU关闭总线,进入保护状态,此时,整机如同遥控关机一般,但用遥控器也不能开机。下图是海信TC2199D彩电的保护电路: CPU的(31)脚为保护端子,正常工作时,电压接近5V,当行电路出现异常而引起行逆程脉冲过高时,A点电压会上升,VD448导通,VT449饱和,(31)脚变为低电平,CPU进入保护状态,并关闭总线,同时从(7)脚输出待机控制电压,使整机进入待机状态。下图是三洋A8芯的保护电路:  CPU的(19)脚为高电平,当5V—1、9V、8V、20V、12V—1及26V电源中的某一路出现短路现象时,(19)脚就变为低电平,CPU进入保护状态,并从(33)脚输出交替变化的高/低电平,使指示灯闪烁,以作故障指示。由此可见,当I2C总线彩电出现待机(不能二次开机)故障时,千万别忘了检查CPU的保护端子。
    3、I2C总线接口专用电源脚
    为了避免数字电路与模拟电路之间的相互干扰现象,某些高档小信号处理器上设有I2C总线接口专用电源引脚,这个脚常用“I2C”、“ I2C VCC”或“BUS VCC”等符号来表示,若此脚电压不正常,I2C总线接口也就不能正常工作。如三洋公司推出的LA76810芯片就设有此脚(25)脚,正常工作时,该脚为5.0V,若该脚电压不正常,就会到供电,从而使总线电压下降。出现三无故障。东芝公司推出的TA1215AN芯片也设有此脚(4)脚,并采用+5.0V供电,若电压不正常,会出现黑屏现象。
    4、辅助地址选择引脚
    在同一总线系统中,有时会挂两个或两个以上的相同部件,为了让CPU能分别对它们进行寻址,就要求这些部件的地址有所区别,故在被控电路上增设辅助地址引脚,只有当该脚电平设置正确时,CPU才能通过I2C总线对其进行控制,否则,电路无法正常工作,辅助地址引脚上常标有“ADD”、“ADR”或“ADRESS”等字样。下表列出了部分被控器的辅助地址引脚及表示符号,可供大家参考。当然,也不是所有被控电路都设有此脚

芯片

功能

辅助地址脚

表示符号

TA8777N

TV/AV切换

18

ADD

TA1218AN

TV/AV切换

27

ADRESS

TDA9170

亮度/色差校正

32

ADR

TDA9177

亮度/色差校正

6

ADR

TDA8540

视频开关

5、7、11

S

TEA6430

音频开关

22

ADR

TSA5518M

频率综合器

12

ADR


五、I2C总线系统的检测方法
    1、如何判断总线系统是否正常
    检修I2C总线彩电时,可通过测量总线电压及波形来判断总线控制系统是否正常。测量时,应对CPU的总线输出端及被控器的总线输入端都进行测量,若测量的结果符合如下规律,说明总线系统大致正常。
    ①检修时,若发现CPU的总线输出端与被控器的总线输入端电压相差很大,说明总线有开路现象,应查总线上的串接电阻。
    ②检修时,若发现总线电压低于正常值,则查以下一些部位:
总线供电电源及上拉电阻:因总线输出电路属开路形式,当供电电源丢失或上拉电阻断路时,总线输出端与地之间所接元件是否漏电或击穿:为了提高总线的抗干扰能力,许多彩电的总线与地之间接有电容或稳压二极管,当它们漏电或击穿时,总线电压会下降。
    被控电路的总线接口:当被控电路的总线接口出现故障(如内部电路击穿等)时,也会引起总线电压下降,此时可采用断路法进行检查,即断开被控电路与总路线的连接,看总线电压是否恢复。若总线电压恢复了,说明该被控电路便是故障所在。若总线电压仍未恢复,则再断开其他被控电路,直到找到故障为止。另外被控电路总线接口供电不正常时,也有可能导致总线电压下降。
CPU本身:若通过上述检查,仍未找到故障,则应检查CPU本身。
    ③若检修时,发现总线电压为高电平,操作遥控器及本机键盘时,电压又不抖动,且总线上也无波形存在,则说明故障很可能发生在CPU或存储器上,应重点检查CPU的工作条件(供电电路、时钟电路、复位电路、键盘电路)及存储器的外围元件。若未发现问题,可试着更换存储器和CPU。
    ④若总线电压及波形正常,只是个别功能丢失,则查软件设置,一般通过正确设置数据后,即可排除故障。值得注意的是,在操作本机键盘或遥控器时,不可能所有的按键都能引起I2C总线电压抖动或波形变化,一些键的控制过程不需I2C总线来完成,I2C总线的电压和波形自然也就不会变化。

六、CPU及存储器的更换
    I2C总线彩电所用的CPU不同于普通遥控彩电所用的CPU,其芯片内ROM中写有控制软件,有些厂家还专门以软件号来对CPU进行命名。当CPU损坏后,不能随便从市面上购一块硬件型号相同的CPU换上,这样做很可能使机器无法正常工作,而必须选用厂家提供的原型号的CPU进行更换。另外,同一硬件型号的CPU一般会在不同厂家所生产的电视机上应用,尽管它们的图标型号一样,但它们之间一般不能相互替换。
    I2C总线彩电的存储器中存有控制信息和用户信息,当存储器损坏后,整机就不能政常工作,因此必须对存储器进行更换,现在市售的存储器都是空白的,里面未存控制信息,即使换上了新存储器,整机也未必能正常工作,还必须对新换上的存储器进行初始化,这个过程又称拷贝,只有通过拷贝后的存储器才存有控制信息,才能确保整机正常工作。
    国产彩电一般采用自动拷贝方式或半自动拷贝方式,自动拷贝方式是指更换存储器后,只要重新开机,CPU就会对存储器中的数据进行检查,若发现存储器是空的,CPU就执行拷贝程序,将内部ROM中的控制信息自动写入新存储器中。目前,绝大多数彩电使用这种方式。半自动拷贝方式是指更换存储器后,只需将彩电置于维修模式,再执行约定的操作,便可将CPU内部ROM中的控制信息写入新存储器中。例如:长虹CN—5机芯就使用这种方式,更换存储器后,将微处理器⑨脚接地,同时按住本机“节目增”键和“菜单”键,再接通电源,就可将微处理器中的数据拷贝到新存储器中。 对存储器初始化后,彩电虽能正常工作,但不一定处于最佳工作状态,此时还得进入维修模式,对机器进行适当的调整,直到获得最佳效果为止。 最后,特别说明三点:①检修I2C总线彩电时,首先要熟悉机器进入维修模式的方法和软件调整清单;②当图像质量不能达标时,不妨先调后修;③碰到彩电某功能丢失或怪故障时,不妨从I2C总线系统入手,先查软件设置,再查总线系统中的电路。

七、I2C总线彩电检修实例
    例1:海信TC2199D彩电,出现黑屏现象,且无伴音。
    开机,发现显像管灯丝亮,说明行电路已工作,黑屏
现象可能是末级视放电路处于截止状态而引起的。按以往的检修经验,先查末级视放电路及小信号处理电路,一无所获,故而转变思路,查I2C总线控制系统,结果发现CPU的(29)脚电压为0.1V左右,远低于正常值(4.6V),(如下图),而小信号1处理N201的(11)脚电压却为高电平,由此可知,总线上有开路现象,进一步检查,发现R843的阻值已变为无穷大,用一只100Ω的电阻替换后,故障排除。
    小结:这是一例总线开路的故障,一只小小的电阻,却使总线陷于瘫痪,若不了解I2C总线彩电的故障特点。只查未级视放和小信号处理器很难找到故障。因而当I2C总线彩电出现黑屏故障时,切莫忘了检查总线系统。附带说一句,在海信TC2199D、TC2181F、TC2189等机中,总线均用I2C  DATA、I2C  CLOCK及BUSDATA、BUSCLOCK表示,这种表示法,在国产机中比较少见。

    例2:黄河HC2188彩电,开面后,整机处于待机状态,遥控及本机键盘全部失灵。
    从故障现象上看,故障应出在控制系统,按常规方法,先查CPU的供电、复位及时钟电路,均正常,转而检查总线系统(参考下图),测(37)脚、(38)脚总线电压,都正常,再查(11)脚、(12)脚总线电压,也正常,于是怀疑存储器或CPU损坏,导致总线进入保护状态,更换存储器后,故障排除。
该机为自动拷贝方式,更换存储器后,重新开机,CPU就会运行拷贝程序,并将CPU内ROM中的数据通过总线定入新存储器中。
  小结:该故障告诉我们,在I2C总线彩电中,存储器损坏可能会引起不能开机的故障。而普通彩电的存储器损坏时,机器却能够正常开启,也能正常收看,只是丧失记忆功能而已。

 

<% Ret.Close() %> <% Rer.Close() conn.close set conn=nothing %>