文章總列表

VOLVO+開發故事 (9),A-SS OFF開發過程

這篇我想分享A-SS OFF開發的技術細節;裡面有些Hack汽車CAN Bus的思路可以參考


先找到觸發信號
想要A-SS在引擎發動後關閉,那就得在CAN Bus辨識引擎發動的訊息,發動後才能對A-SS動手腳。所以我得監聽CAN Bus,在上萬筆記錄裡大海撈針

我不可能寫信和VOLVO要他們CAN Bus規格(理我才怪),更沒有現成的VOLVO CAN Bus分析工具,我只能自製工具。以下是嘗試過的方法,沒有哪招特別靈驗,一般我只能用著堅忍不拔的毅力撐著分析下去

我大多透過Linux和CAN Bus打交道,這裡寫程式方便些;
  • Linux有現成的can-utils套件,裡面的candump是所有工作的源頭,可以錄下記錄檔
    • 直接讀記錄聽起來很笨,抓手感是必要的
    • 錄下來的記錄可以搭配grep指令快速分析
    • 或是candump也能監看特定封包
  • 錄下的記錄,塞到Excel分析
    • 微軟的旗艦級軟體,可以把紀錄分門別類,統計數量,過濾,非常好用
  • 也可以寫軟體對封包處理,進行可視化分析,找到引擎發動的信號

找到關A-SS的封包
接下來要再找怎麼讓A-SS關燈
  • 監控CAN Bus,測試各種場景按下A-SS的按鈕的封包。下面是我嘗試過的各種組態,盯著看完全看不懂的紀錄,在裡面找規則(總不能發信問VOLVO吧)
  • 我做過不少開發工具。下圖是生產兼開發的設備,現在有個鋁盒,檔次高多了(笑)

    • 自製工具吃苦頭:電路板有個焊點鬆脫,導致這盒幾個月來都不穩定
  • 外出精簡工具盒,我喜歡豐富的色彩,嬌小的體積,方便攜帶
  • 對俄羅斯的產品逆向工程,分析封包。雖然不認識,但我覺得與他在心靈上有著高層次的交流(也許他不願意就是)
    • 附帶一提,老婆是對的,做腸子鏡如果會流血,夜用型用就對了,洗床單很麻煩
      • 至於有人說這世界上有棉條可以用(這個就過份了>_<)

開發韌體 & 測試

找到引擎狀態和A-SS封包,寫韌體串起來,最後的精華是短短20行code


驗證一下功能正確與否,下圖上方黃條代表引擎發動,下方黃條成功把A-SS關閉,搞定!



我不是專業做CAN Bus逆向工程,短短幾個步驟也花了幾百個鐘頭,不管怎樣,我搞定他了!現在發動汽車,我再也不用伸手去關A-SS,開心!!


致謝

文章最後,我要特別感謝協助測試A-SS功能的車友,沒你們幫忙,我驗證的極限只能是一輛XC60,感謝你們幫忙試用,協助完成這個專案
  • 台北楊sir
  • 新北黃sir,
  • 桃園陳sir
  • 新竹徐sir,張sir,張sir,陳sir
  • 宜蘭張sir
  • 高雄楊sir

留言

這個網誌中的熱門文章

幼犬書桌椅選擇心得 升降桌 兒童桌椅

STM32 UART + DMA,使用HAL實作TX/RX,以及不定長度接收

CANON G3000 廢墨瓶改裝