陳曉軍
接修一臺三星數(shù)碼王DX-668B中九接收機(jī),故障表現(xiàn)是:開機(jī)沒有任何反應(yīng)。根據(jù)過去經(jīng)驗(yàn)推斷這種故障大多都是電源不正?;蛞蛩C(jī)失誤導(dǎo)致Flash芯片內(nèi)軟件錯誤造成的,機(jī)器應(yīng)該很容易修復(fù)。
打開機(jī)器外殼,沒有發(fā)現(xiàn)電容鼓包之類的明顯故障,通電測量以IC1 THX203H為核心的電源板20V、15V和3.3V三路電壓輸出均正常,再測量主板上兩路由+3.3V經(jīng)LDO芯片1117C18C降壓獲得的+1.8V也正常,看來整機(jī)電源工作都是正常的,懷疑是之前因升級內(nèi)部軟件而刷機(jī)失敗造成的故障。該主板采用的是Hi2023EC+Hi3121+RDA5812雙晶10芯方案,如圖1所示,機(jī)器后面是5針接口,通過觀察PCB板上的走線發(fā)現(xiàn)接口定義依次是:TX、RX、Vcc、GND和BL(從高頻頭處開始),用萬用表測其電壓分別是:3.3V、3.6V、5V(該電壓是15V經(jīng)R471 2K降壓后獲得)、0V和0V,很明顯RX引腳有點(diǎn)偏高,而BL腳與正常時是1.6V相差也很大。抱著試試看的態(tài)度用刷機(jī)小板將機(jī)器與戴爾Latitude D600筆記本電腦相連,再打開ABS_Flasher_V1.6軟件,給接收機(jī)通電后無法聯(lián)機(jī),又用一只限流電阻將VCC與BL相連,再在軟件里點(diǎn)“復(fù)位”按鈕還是無任何反應(yīng),看來Flash芯片U103 MX25L8005內(nèi)部的BootLoader程序已經(jīng)損壞了。
要想修復(fù)此機(jī)就得想辦法往MX25L8005中寫入正確的Bin固件,可是現(xiàn)在已經(jīng)不聯(lián)機(jī)了,怎么辦呢?通過查找相關(guān)資料得知可以通過“借雞下蛋”來解決,即可以找一臺比較容易與電腦聯(lián)機(jī)的國芯方案中九接收機(jī),再將待寫入程序的MX25L8005安裝到國芯機(jī)子上去,借助國芯刷機(jī)軟件將正確的Bin固件寫入,最后重新安裝好MX25L8005即可。該辦法雖然很好,可問題是筆者手里的國芯芯片接收機(jī)一個月前就送給親友家了,現(xiàn)在手里沒有同類型的機(jī)器,看來還得另辟蹊徑來解決。又在網(wǎng)上一翻狂搜之后發(fā)現(xiàn),可以通過自制25系列并口編程器來修復(fù)磚機(jī),剛好筆者的戴爾Latitude D600筆記本電腦帶有并口,所以決定試一試。25系列Flash芯片引腳功能如下表所示,并口編程器的原理見圖2所示,
從圖中可以看到:25系列Flash芯片只有TMS(同時通過上拉電阻接到Vcc)、TDO、TDI和TCK四根線通過串聯(lián)180Ω電阻與計(jì)算機(jī)并口相應(yīng)的引腳相連,外加Gnd才五根線,而WP和HOLD引腳都是直接接至Vcc,串連兩只二極管的作用是將+5V電壓降至+3.3V左右,因此電路還是比較簡單的。馬上找來相應(yīng)的器材:并口是從一個舊計(jì)算機(jī)加密狗上拆下來的,180Ω電阻不易找,參照以前DM500 JTAG電路,決定用100Ω電阻代替,其它元件從廢板上拆下即可。于是打開858風(fēng)槍準(zhǔn)備把MX25L8005從主板上拆下來照電路進(jìn)行焊接,此時筆者突然想到:MX25L8005體積很小,若取下后再搭線焊接實(shí)在不方便,能否利用“就湯煮面條”的辦法來解決呢?即MX25L8005芯片不從原主板上拆下,直接使用原主板上的電路來為MX25L8005進(jìn)行供電,只用很短的電纜將TMS、TDO、TDI和TCK四根線與并口連接,因?yàn)镸X25L8005芯片在原主板上的工作條件應(yīng)該與在圖2中并口編程器上的工作條件差不多的。又查看了該接收機(jī)的主板,發(fā)現(xiàn)MX25L8005與Hi2023EC是通過RM13(47Ω)排阻相連,排阻剛好是4個,正是對應(yīng)MX25L8005的TMS、TDO、TDI和TCK四個引腳,如圖3所示,為減少燒錄程序時Hi2023EC對MX25L8005芯片的影響,將該RM13排阻拆除,用導(dǎo)線和100Ω電阻將TMS、TDO、TDI、TCK及地線與并口上對應(yīng)引腳連接,再插上計(jì)算機(jī)并口,如圖4所示。
接下來就是完成燒錄程序的任務(wù)了。首先就是選擇適合三星數(shù)碼王DX-668B中九接收機(jī)的Bin文件,經(jīng)過網(wǎng)上一翻搜索,終于下載到與原機(jī)硬件配置完全相同的天成TCD-299ABS接收機(jī)Bin文件,由于下載到的Bin文件是2010年初未升級前備份的數(shù)據(jù),所以還必須用最新版“小蜜蜂(海爾自搜修改工具)”軟件處理成能夠自動升級的軟件才能使用,如圖5所示。Bin文件準(zhǔn)備好后,運(yùn)行SPI并口編程器軟件SPI Flash V1.8(注:SPI Flash軟件目前版本較多,不過V1.8穩(wěn)定且容易與編程器連接),在軟件右上角的端口選項(xiàng)中選擇LPT1,右邊的芯片類型中選擇 EON EN25T(因?yàn)楣P者認(rèn)為EON芯片市面上較多,所以就選擇了此種類型,若無法識別也可以根據(jù)實(shí)際情況選擇其它類型的芯片試試),當(dāng)選擇好芯片的型號后,軟件會彈出如圖6所示的對話框,點(diǎn)“確定”按鈕以便進(jìn)行下一步操作。打開接收機(jī)電源,再點(diǎn)擊軟件上標(biāo)有ID字樣的圖標(biāo),沒想到這時彈出的“SPI器件信息”對話框能夠正確的顯示出該機(jī)器上的25系列Flash芯片的型號和大小,同時軟件下方也顯示“Device read OK”字樣,見圖7所示,看來計(jì)算機(jī)與MX25L8005芯片間的通信正常,點(diǎn)“確定”退出“SPI器件信息”對話框。接下來點(diǎn)擊“擦除器件”按鈕清空MX25L8005內(nèi)的數(shù)據(jù),然后單點(diǎn)“打開”按鈕并定位到剛才制作好的Bin文件,如圖8所示,這時軟件主界面中顯示的便是Bin文件的數(shù)據(jù),點(diǎn)擊工具欄中的“編程器件”按鈕軟件便向MX25L8005中寫入數(shù)據(jù),如圖9所示,等到軟件底部顯示“Device Programmed OK”字樣時表示編程完畢,由于SPI Flash軟件在通信時沒有指定流控制,也沒有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù),因此還必須進(jìn)行校驗(yàn)操作以保證寫入的數(shù)據(jù)與原文件一致,單擊“校驗(yàn)”按鈕即可實(shí)現(xiàn)對數(shù)據(jù)的校驗(yàn),如圖10所示,若軟件底欄中出現(xiàn)“Device Verified OK”字樣代表數(shù)據(jù)寫入準(zhǔn)確無誤。當(dāng)數(shù)據(jù)校驗(yàn)無法通過時,可以重新擦除器件中的數(shù)據(jù)再次寫入并進(jìn)行校驗(yàn),一般多操作幾次就正常了,筆者共進(jìn)行了五次這樣的操作才將數(shù)據(jù)正確無誤的寫入到MX25L8005芯片中。數(shù)據(jù)寫好之后關(guān)閉接收機(jī)電源,拆除掉五根引線,將RM13排阻重新焊回主板,懷著忐忑不安的心情再次打開接收機(jī)電源,沒想到機(jī)器面板先是顯示“000”字樣,接著綠燈閃了一下,然后又出現(xiàn)“ON”字樣,最后又顯示頻道號“058”字樣,如圖11所示,很明顯機(jī)器現(xiàn)在已經(jīng)能正常啟動了,馬上接上電視機(jī)和室外饋線,開機(jī)后便自動搜索節(jié)目,搜索完畢后46套節(jié)目收看正常,至此,三星數(shù)碼王DX-668B中九“磚機(jī)”成功修復(fù)。
機(jī)器成功修復(fù)后,筆者出于好奇又測量了主板上的五針升級接口電壓,發(fā)現(xiàn)此時BL腳已經(jīng)恢復(fù)至1.6V,用升級小板也能與電腦中的ABS_Flasher_V1.6軟件正常連接,不過當(dāng)點(diǎn)擊讀取或?qū)懭隑in固件按鈕時均無任何反應(yīng),看來該接收機(jī)Hi2023EC芯片內(nèi)的升級接口電路已經(jīng)損壞了,筆者估計(jì)的原因可能是之前的使用者在刷機(jī)時錯誤連接了相關(guān)引腳造成的。
【知識鏈接】
SPI(Serial Peripheral Interface 串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,是Motorola公司首先在其MC68HCXX系列處理器上定義的,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。SPI有三個寄存器,分別為:控制寄存器SPCR,狀態(tài)寄存器SPSR,數(shù)據(jù)寄存器SPDR;外圍設(shè)備可以是FlashRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動器、A/D轉(zhuǎn)換器和MCU等。SPI總線系統(tǒng)可直接與各個廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時鐘線(SCLK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(有些SPI接口芯片帶有中斷信號線INT、有的SPI接口芯片沒有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。SPI接口是在CPU和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快,速度可達(dá)到幾Mbps。在點(diǎn)對點(diǎn)的通信中,SPI接口不需要進(jìn)行尋址操作,且為全雙工通信,顯得簡單高效;在多個從器件的系統(tǒng)中,每個從器件需要獨(dú)立的使能信號,硬件上比I2C系統(tǒng)要稍微復(fù)雜一些。SPI接口的缺點(diǎn)是沒有指定的流控制,沒有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù)。