BOSE Lifestyle 5 music system, 改裝 IR 遙控


https://wp.me/ph3BR-2bA

BOSE Lifestyle® 5 music system

阿姊姊, 真的姓阿名姊姊, 跟另外一個朋友許咪咪有拚, 不知道有沒有 [大] 這姓氏, 還有一個禤米糕, 覺得都特殊奇怪的姓名, 比起來同鄉兄弟那些大牛, 二牛, 小牛, 那些就覺得不特別了. 據說搬家搬到只剩下主機其他配件都遺失, 顯示也失效, 說有感情的東西希望修一下能用就好. 修復 VFD 顯示器很簡單, 配個陽春喇叭擴大機也容易, 但是要恢復遙控的功能可就不簡單了, 因為開蓋看不到有紅外線接收器, 難道是用 RF (無線電) ? 看看裡面的設計及用料, 1995年出廠, 台灣的原廠貨, 底部貼紙, 舶仕貿易股份有限公司, 應該是本土代理商. 發現兩個鐵盒子, 明顯有其中的大的那顆印字寫著 TUNER (調諧器, 收音機必有) AM/FM RF 沒錯, 那另外一個鐵盒很可能就是遙控的盒子.

BOSE 美國網站有說這型號, 其他就沒了. 瀏覽一下網路搜尋一下, 找到了一個德國人的 GIT, 裡面很清楚顯示這款或者類似的, 基本資料很全, 說明 BOSE 是用 27.145 MHz 遙控, https://github.com/probonopd/Lifestyle

找到了類似的維修手冊, 叫做 CD5, 比一下基礎的資訊, 很大機會是這台, 所以在GITHUB上叉了回來自用, 讀了一下基本資料, 大概了解德國人的先創和總結, 應該是找到了改紅外線遙控的頭緒, https://github.com/xiaolaba/Lifestyle, 增加了一些自行整理的資訊. 再自行配合自製紅外線遙控器, 相信不久就可以有成果, 拆到見骨, 果然就發現了端倪.

看圖識字, TUNER, REMOTE RECEIVER, 26.690MHz Xtal, Q406, 不過, 機殼可能需要開洞, IR 才有辦法遙控.

 

德國人也同樣做了解碼的動作, 所以遙控器的控制碼訊號完全"不需要煩惱", 只要複製並實驗, 就可以確定能不能對應這個機器, 德國人的原碼在這裡, https://github.com/probonopd/irdb/blob/master/codes/Bose/Lifestyle/186%2C85.csv

為了方便自己, 一樣到GITHUB上叉回來自用, 順便算了 HEX, 方便編寫程序實驗.

據說是 24 key 的遙控器

# function name protocol device subdevice function HEX
1 MUTE NEC2 186 85 1 0xB95501
2 VOLUME – NEC2 186 85 2 0xB95502
3 VOLUME + NEC2 186 85 3 0xB95503
4 AM/FM NEC2 186 85 6 0xB95506
5 SURROUND – NEC2 186 85 10 0xB9550A
6 SURROUND + NEC2 186 85 11 0xB9550B
7 VIDEO 2 NEC2 186 85 13 0xB9550D
8 VIDEO 1 NEC2 186 85 14 0xB9550E
9 AUX NEC2 186 85 15 0xB9550F
10 SKIP << NEC2 186 85 24 0xB95518
11 SKIP >> NEC2 186 85 25 0xB95519
12 STOP NEC2 186 85 26 0xB9551A
13 SPEAKER STEREO NEC2 186 85 75 0xB9554B
14 ON/OFF NEC2 186 85 76 0xB9554C
15 MUTE ALL NEC2 186 85 77 0xB9554D
16 SPEAKER SURROUND NEC2 186 85 78 0xB9554E
17 SPEAKER STEREO/CNTR NEC2 186 85 79 0xB9554F
18 TAPE NEC2 186 85 82 0xB95552
19 CD NEC2 186 85 83 0xB95553
20 PLAY NEC2 186 85 85 0xB95555
21 PAUSE NEC2 186 85 86 0xB95556
22 RANDOM NEC2 186 85 92 0xB9555C
23 NEXT DISC NEC2 186 85 93 0xB9555D
24 MUTE ALL NEC2 186 85 223 0xB955DF

 

有看看 BOSE 提供的陳年說明書, 其中兩頁有出現有關遙控器的, 一個15 keys, 一個叫做豪華型 36 keys, 對不起來…

 

如果真沒有可用的資訊, 那只能掃描, 但是 4BYTE, 32BIT (1- FFFFFFFF 的數量), 看來是不可行的, 就算把假設 BOSE 的第一碼固定是 186, 還是有24BIT (1-FFFFFF = 16777275), 每個碼算 110 mS, 共需要 16777275 x 110 / 1000 Sec = 1,845,493 sec = 1281 天, 想想看人一輩子就3萬多天, 還得身體健康沒意外, 還是會掃到天荒地老, 不太值得那樣作. 而且還需要判斷掃到沒, 所以根本是 MISSION INMPOSIPA, 阿姊姊說的, 後來才明白他們在說湯庫魯斯演的那齣mission impossible. 這個詞語學到的, 跟當那年學到的那個打小白球的開球的 FUCKYOU 雷同.

 

既然明知道普通一個凡人, 窮畢生時間都無法掃描完工, 那就從最簡單的做起, 直接套用德國人的那個, 就實驗單一的命令, [關機], 看看能對應這台, 不過有一點很肯定, 老外的機器跟這個1995年的舶來品雖是同一系列, 但是一定是不同的版本, 因為老外描述他機器有 PCB 有 Q400 印字沒上零件, 疑似IR 接收器的零件位置, 但是這個看到的並沒有 Q400, 而是 Q406, 就是靠近那幾個按鈕案件的位置附近, 那意思就是不同時期出廠產的機器, PCB 及零件編號都不同. YOUTUBE 也有人演示了, 的確有可能不一樣, 所以遙控器或者遙控碼應該有差別的, 例如這個比較, (圖檔上傳到 GITHUB), 左邊的是孤兒機, 右邊是 YOTUBE 別人展示的機器, 顯示器附近, TUNER 排列及位置, 很明顯不同, 不過沒有焊零件的Q400 / Q406, 都是同樣位於相同的位置

h_ttps://raw.githubusercontent.com/xiaolaba/Lifestyle/master/lifestyle_5_1995_model_later.JPG

 

看看圖, 猜猜看, 兩種機器同樣有 RF 遙控接收器, 所以估計就算PCB設計會有變化, 但是不應該連軟體都大改, 萬一有客戶的遙控器壞了要換新, 維持原來的遙控碼會比較簡單, 除非不同型號的遙控器, 那 [關機] 這個遙控碼應該要維持不變才對. 好了, 實驗一下, 果然從無的放矢立馬變成一矢中的, 關機的遙控碼確認是 186,85,76,/76, 4 BYTE, NEC 紅外線遙控碼格式, 9ms High, 4.5ms Low, 4 BYTES, STOP, 用白話來講,

IO = H, 維持 9ms, IO = L, 維持 4.5ms (發送HEADER)

若 BIT = 0, IO = H, 維持 562us, IO = L, 維持 562us

若 BIT = 1, IO = H, 維持 562us, IO = L, 維持 562us x 3

繼續下一個 BIT, 重複以上, 直到完成 4 BYTES 資料發送

IO = H, 維持 562us, IO = L, 維持 110 ms (發送STOP)

這樣就完成了.


void IR_COMMAND (uint8_t command){
 IR_HEADER();
 IR_BYTE(186);
 IR_BYTE(85);
 IR_BYTE(command);
 IR_BYTE(command^0xff);
 IR_STOP();
}

好像很簡單. 因為確認了這個機器接受遙控碼 186,85 頭兩個碼, 而第三碼和第四碼是取反的互驗證, 就是只有 0 – 255 可以用作通知機器該做什麼, 因此只要 256 次的掃描, 同時觀察機器或它的顯示器有沒有反應, 大概就可以自製遙控器了. 至於用 IR, RF, 還是 WIFI, 都不是重點.

掃描所得的遙控碼, 跟上面德國人列表的有些出入, 部分相同. 雖然沒有完全能用, 不過好事就是窮畢生掃描不可能變成剩下掃描 255 次, 應該一天就好, 有時間再玩. 擱置了好幾個月, 出差就全部停擺, 以前做過什麼大該都忘得差不多, 趁著還有一些比較深的記憶, 航程車程有空檔就慢慢一點一點寫下來. 掃描的工具或者軟體就自己做, 試試看能不能寫出一個可用的. 這種靜態的應用, 純粹花時間就可以, 沒有難度, 不過要寫到可以用, 還是要慢慢一步一步來做, 不是找飯吃的活兒, 有空就玩一下, 反正機器可以用了, 順道聽聽 CD, 好機器的聲音和一般是有差別的. 例如用 MARANTZ CD 播放機, 同場用一般的光碟機播放同一個CD, 就算盜版也好, Audiolab 擴大機也是同一套, 只會煮飯的阿姨也能聽出明顯的分別, 那證明賣得貴有點道理. 停了一陣子, 想想看, 用 IR 還是有點麻煩, 不如用 ESP8266, 便宜又大碗的 IoT, 直接 WIFI 控制有如何 ?! ANDROID 手機再寫個 APP, 搞搞雲端音響……天呀, 真的燒壞腦袋, 有把握做成不一定要組出來, 業餘玩意不要走火入魔, 最簡單的組合就好了, 聽好的音樂, 用合適器材就夠, 不要沉迷才是, HI-END 是 [有錢人] 燒錢用的, 凡人沒那功夫.

做完這個, 生平做了3個紅外線遙控器, 恰巧都是 NEC 格式的控制訊號, 從抄人家的用 LIBRARY, 到自行寫訊號調製38KHz, 到最陽春的 BUSY-WAIT delay, 最終證明一件事前, 時間和同步就是一切. 所以這次用的最簡單的做法, 發送控制訊號, 真的就是口語化的那個作法, 看下面節錄的源碼, IR_HEADER


// IO = H, 維持 9ms, IO = L, 維持 4.5ms (發送HEADER)

void IR_HEADER (void) {
    PORTD = 0x4; //PD2, IO = H
    delay(9);  //維持 9ms
    PORTD = 0x0; //PD2, IO = L
    delay(4);  ////維持 4ms + 500us = 4.5ms
    delayMicroseconds(500);
}

除了寫碼或者實驗紅外線遙控的可行性, 經過那個關機的實驗證明可以了, 沒有繼續其它的實驗, 先來看看這種舶來品的設計好不好. 畢竟1995年的產品設計並沒有高效率的電源管理, 意思就是待機的耗電會比二十年後任何產品都較嚴重, 特別是這個機器用的是12VAC交流的電源輸入, 用12VDC的話, 那顆TOSHIBA TC9163N會很燙手, 12VAC則會正常沒有溫度, 原因為何? 那要看看電源供應的設計了. 還是手工餅乾, 練習看PCB 畫電路圖, 奇怪下載的那個維修手手冊居然沒有電路圖, 卻是使用長長的文字解說原理, 看來是怕被抄襲, 或者有另外的電路圖沒有公開, 不知道寫信問 BOSE 會不會願意對停產的產品公開呢!?

 

根據手冊說明, 12VAC 經過半波整流, 一共提供五個電壓供內部電路使用, 例如,

1) +10.2V (Q1, 2SB1142), -12V (VR1, 79L12, 100 mA 以下), 音頻電路的正負供電, 2個, 開機後由 MCU 控制打開, OFF 狀態是 0V, 沒有供電. +10V 那個孔, 量不到電壓 ??! 但是機器工作正常; +5V 一樣沒有電壓, WHY ? 後來拆除底板, 看到 PCB 是雙面的, 另外一面測量就正確有讀數, 再仔細看看孔裡面, 原來沒有過孔, 沒有導體, 所以在PCB這面測量沒有電壓, 看來是BOSE出品的一個小瑕疵, 雖然不影響實際機器運作, 但是檢查或者維修就有坑. 有興趣或者有孔自己焊一下就可以.

2) M+, 經過 R8, D6, C13, 整流供電給 CD 機主軸馬達, 不穩壓的.

3) +8V (VR2, 78M08CT), 插電即有, 耗電的原因之一, 給 CD 雷射頭和伺服機構供電. 下圖有看到這顆, 藍色圈圈裏面左邊的那顆, 另外還有R5灰色那個電阻 10 ohm 也是熱的.

4) +5V (VR3, 78M05CT), 插電即有, 耗電的原因之一, 給 MCU U402, U595, CD controller U501, U502 等供電. 下圖有看到這顆, 藍色圈圈裏面左邊的那顆, 另外還有R6灰色那個電阻 10 ohm 也是熱的.

按照文字說明, 也看了PCB, 大概畫出來就這樣. 而 VFD 顯示屏要用到的 -24V, 3VAC, -15V, 則沒有繼續研究, 所以省略過.

 

 

 

RF 遙控器的部分, 確定是有鐵殼的那個 RR101 (偷偷瞄到 XTAL 是 26,690 KSS4M….就是 26.690MHz, 故意還是發射也是這個頻率?) 接收後解調的控制訊號, NEC2格式, 手冊上有清楚列明會送到MCU, 控制器是U402 MC68HC05C12, PIN#37, TCAP.

而 U402 PIN#19 則是負責打開/切斷 +10V還有-12V 的控制訊號, 目的是 POWER_ON_MUTE. 遙控器可以單獨控制 A / B 兩組四個喇叭靜音, 稱為 MUTE_A 和 MUTE_B. 寫那麼多, 啊不是要自造紅外線遙控器而以嗎!? 難道要盜版? 其實明白了設計的原理, 真可以盜版做出來, 但是沒有商業價值的東西, 純粹玩樂, 反正人家每年推出新產品, 你盜版還是要努力行銷才有結果, 所以玩玩就好, 不過玩也要玩得專業, 匠人精神是必須有的態度, 不然就只能流於表面, 玩不出特別, 既然要玩, 就用力玩.

 

有了硬件接收器, 回來看看 NEC 遙控碼的基礎, 讀過一堆文章後融會貫通, 終於完全明白了NEC遙控碼的精粹, 其實說穿了也是不難,

重點在 T = 9/16 = 526.5 uS

2T 為一個單元, 分別由 ON_OFF, OFF_OFF, ON_ON 三種狀態

表現 0 則為 ON_OFF

表現 1 則為 ON_OFF, OFF_OFF

引導碼 則為 ON_ON x 8 次 = 16T, OFF_OFF x 4 次 = 8T

如此類推.

簡單撮要, 把 9mS 分成 16等份, 每等份的時間長度是 526.5 uS, 以這個 T 為單位, 透過不同的組合, 表現0和1, 跟三菱車遙控器的 OOK 一樣的原理 (OOK解釋的原文作者已經移除, 這個是wayback archive 下載的本地存檔 solidremote-ook-fsk-modulation.pdf). 前面已經提過, NEC 遙控碼一共32BIT, 引導碼(header) 16T + 8 T, 結束碼 (Stop) 2T. 詳細看下圖比較容易, 因此終於明白了以前實驗用PHOTO TRANSISTOR MRD701接受紅外線遙控訊號自動取出遙控碼而不需要 TSOP38 之類的專門解調IC的原因,

 

 

待續..

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.