在 Python Console 的操作
先選定一個 edge,綠色文字是系統的訊息。
寫一小段程式,計算角度
在 Python Console 的操作
先選定一個 edge,綠色文字是系統的訊息。
寫一小段程式,計算角度
二手擴大機 Sony STR-DH590 無聲故障排除
只有 Direct 模式有聲音
----
晶片印字:ANALOG DEVICES ADSP-21486 (SHARC DSP)
位置:板子正中間(照片 1000054845.jpg 中間)。
功能:這就是正宗的 SHARC 浮點音效 DSP 晶片!
負責 DTS-HD、Dolby TrueHD 等多聲道數位音訊解碼。
負責空間校正、等化器(EQ)與各種 Sound Field(音場模式)矩陣運算。
診斷重點:切換音場沒有聲音,這顆晶片虛焊或周邊沒工作是最大嫌疑!
晶片印字:Panasonic MN864788
位置:板子左上方(緊鄰後方的 HDMI 端子)。
功能:負責多路 HDMI 輸入的切換、HDCP 版權協定握手、提取 HDMI 中的音訊串流(I2S)並轉交給 DSP。
現狀評估:TV 輸入 Direct 模式有聲音,說明這顆 Panasonic 晶片的 HDMI 接收與基本音訊提取功能是正常的。
晶片印字:SPANSION / Cypress MB9BF328 (ARM Cortex-M3 核心)
位置:板子右上方。
功能:擴大機的「大腦」,負責處理遙控器訊號、面板 LCD 顯示、按鈕操作、繼電器控制,並透過 I2C/SPI 巴士去指揮 DSP 和 HDMI 晶片工作。
現狀評估:面板能正常顯示選單、切換模式,說明 MCU 大腦運作正常。
晶片印字:TI / Burr-Brown PCM1681
位置:板子右側,ARM MCU 的右下方(照片 1000054848.jpg)。
功能:24-bit 192kHz 24聲道 DAC,負責把 DSP 運算好的數位音訊(I2S)轉換成類比訊號,再送往後級放大器。
診斷重點:Direct 模式走的是純類比直通,不一定會完整經過這顆多聲道 DAC。若 DSP 運作正常但 DAC 沒工作,也會導致數位音場無聲。
晶片印字:Winbond 25Q16JVSIC(8-pin SOP 封裝)
位置:緊鄰 Panasonic 晶片與 ADSP-21486 晶片中間(照片 1000054849.jpg)。
功能:16M-bit (2MB) SPI Flash 記憶體,裡面存放的就是 DSP 的 Boot 程式碼與音場處理演算法。
診斷重點:這顆 8-pin 小晶片如果腳位虛焊、電壓異常,或者裡面的韌體資料壞掉,DSP 開機載入失敗,就會直接導致「Direct 模式有聲,其他音場與藍芽全滅」。
晶片印字:ON Semi / SANYO LC89075WA(板子右下角)
功能:負責 SPDIF/光纖同軸數位音訊接收(DIR)或 HDMI 音訊介面轉接。
既然這是一顆 ADSP-21486 LQFP 100-pin/176-pin 封裝:
絕緣棒壓測:
通電、切到藍芽播放音樂。
用木筷子或塑膠棒,用力按壓正中間那顆 ANALOG DEVICES ADSP-21486 晶片以及旁邊那顆 8-pin 的 Winbond 25Q16。
看看聲音會不會突發性地冒出來。
微加熱測試:
用吹風機熱風對著 ADSP-21486 與 Winbond 25Q16 吹 15~30 秒(讓晶片變溫熱)。
立即測試藍芽或音場,若有聲音出來,就是典型的針腳虛焊(Cold Solder Joint)。
補焊方法(超級簡單):
塗上膏狀助焊劑(Flux)。
熱風槍開 $350^\circ\text{C}$(風速中等),對著 ADSP-21486 的四周針腳環繞吹 1 分鐘;或者用細尖烙鐵沾錫,把四周針腳輕輕拖焊一遍。
有了這幾張清晰圖,目標非常明確了:重點攻克正中間那顆 Analog Devices ADSP-21486 DSP!
----
MB9BF328SA ,LQFP: FPT-144P-M08 (0.5mm pitch)
------
Sony STR-DH590 進入維修工程模式(Service Mode)與查看歷史故障紀錄(Diagnostic Mode)的方式,可以透過面板上的實體按鍵組合來觸發。
請依照以下步驟操作:
先將擴大機關機,讓機器處於 待機模式(Standby)。
同時按住機身面板上的 TONE Mode 與 2CH/DIRECT 兩個按鈕不放。
在按住這兩個按鈕的同時,按下 ON/STANDBY(電源鍵) 開機。
機身螢幕會顯示特殊的初始化字樣(如 DC WORK 或 SW VERSION / MAIN T),代表成功進入 Service Mode。
進入工程模式後,主要可以透過以下方式檢查 DSP 與通訊狀態:
使用面板上的 TUNING + / - 或 PRESET + / -(或轉動多功能旋鈕)來切換工程選單項目。
尋找以下關鍵字:
DSP ERR 或 DSP NG:代表 MCU 指令傳給 ADSP-21486 超時或沒有 response。
I2C ERR / SPI ERR:代表控制匯流排通訊失敗(通常是 DSP 沒供電、Reset 被拉低或針腳虛焊)。
SF ERR(Sound Field Error):代表音場演算法載入失敗。
在選單中找到 DSP VER 或 DS Version:
正常狀況:會顯示一串版號(例如 DSP 1.02 之類的數字)。
異常狀況(DSP 沒工作/虛焊/ Flash 壞):會顯示 DSP ----、DSP ??? 或 DSP NG。這能 100% 確定 MCU 根本讀不到 ADSP-21486!
測試完畢後,要回歸正常使用模式:
按下面板上的 ON/STANDBY 關機。
再次開機即可回到一般的操作介面。
💡 除錯建議:可以先開機進去看看
DSP VER顯示的是不是空值(----),如果真的是空值,就能更加確定就是 ADSP-21486 沒通電或四邊針腳虛焊了!
------
在 Linux 下,dump firmware
-------
完全可以! Linux 在處理這類硬體開發、燒錄與韌體 Dump 時,其實比 Windows 更穩定、更乾淨,因為完全不需要煩惱 Windows 那套奇奇怪怪的驅動程式(如 Zadig 或 CH341PAR)安裝問題。
Linux 核心(Kernel)預設就已經內建了 ch341 的 USB-Serial 模組,搭配開源界最強大的燒錄工具 flashrom,幾條命令就能搞定!
以下是在 Linux (Arch / Gentoo / Ubuntu 等) 下備份這顆 Winbond 25Q16 的完整實操流程:
在終端機(Terminal)安裝 flashrom(強大的開源 SPI Flash 燒錄工具):
Arch Linux:
sudo pacman -S flashrom
Gentoo:
sudo emerge --ask dev-embedded/flashrom
Ubuntu / Debian:
sudo apt install flashrom
將 CH341A(接好 SOP8 夾子與晶片)插上電腦的 USB 埠,執行 lsusb 查看:
lsusb | grep -i ch341
正常輸出:應該會看到類似 Bus 001 Device 005: ID 1a86:5512 QinHeng Electronics CH341 in EPP/MEM/I2C mode 的字樣(1a86:5512 代表它正處於 SPI/I2C 燒錄模式)。
flashrom 支援直接指定 ch341a_spi 程式器。請執行:
sudo flashrom -p ch341a_spi
可能看到的結果:
成功識別:
flashrom 會印出找到的晶片型號,例如:
Found Winbond flash chip "W25Q16.V" (2048 kB, SPI)...
多個匹配項目:
如果晶片太常見,flashrom 可能會提示你需要指定精確型號(例如 Winbond W25Q16.V),這時照著提示加上 -c 參數即可(見下一步驟)。
未檢測到 (No EEPROM/flash chip found):
代表夾子沒夾好、針腳氧化,或者主板上的電路干擾了 SPI 訊號,需要重新調整夾子位置。
在嵌入式韌體備份中,最重要的一步就是校驗(Verification)。為了確保免拆夾沒有因為干擾而讀到「壞資料」,建議連續 Dump 兩次並比對雜湊值:
sudo flashrom -p ch341a_spi -c "W25Q16.V" -r dump1.bin
(請將 "W25Q16.V" 替換為步驟三中 flashrom 建議的精確晶片名稱)
sudo flashrom -p ch341a_spi -c "W25Q16.V" -r dump2.bin
md5sum dump1.bin dump2.bin
如果兩者的 Hash 值完全相同(例如兩行都顯示 a1b2c3...):
恭喜你!這代表讀取過程 $100\%$ 穩定,dump1.bin 就是這顆 Winbond 25Q16 極度完美的 2MB 原始鏡像備份!
如果 Hash 值不同:
說明夾子接觸不良或電路干擾,請重新調整夾子或考慮吹下晶片再讀。
如果你比較偏好圖形介面(GUI),Linux 上也有非常好用的第三方燒錄 GUI:
QFlashrom 或 Flashrom-GUI:基於 Qt 的 flashrom 前端。
AsProgrammer / NeoProgrammer (透過 Wine):這兩個 Windows 燒錄軟體在 Wine 下對 CH341A 的 Passthrough 支援度極高,直接用 Wine 執行 .exe 也能完美運作。
用 Linux 的 flashrom + md5sum 來備份韌體,效率極高而且紀錄非常精確!接上夾子試著把這 2MB 的微碼 Dump 出來備份吧!
-------