發表文章

目前顯示的是 10月, 2022的文章

文章總列表

ESP32(10) CAN Logger功能驗收

圖片
插在OBD2上的樣本二號像是平安符,注意,第三片小板子上去了。這篇是這系列的最後一篇了,我們來看看它的功能 [Put them together,功能確認] 先前比較少著墨軟體,這裡聊一下軟體設計 驗證部分我使用Linux的的 CAN-Utils 套件,他是Volkswagen Group Electronic Research編寫的( 版權宣告 ),這一系列工具非常方便。下面的命令會間隔1ms灌包,封包數值會遞增,方便檢查有無掉封包 cangen can1 -g1 -L8 -Di 實驗完成,真的有檔案跑出來 第一個封包序號0x114,最後序號0x15934F,一共1413961封包,和圖二編輯器行號吻合,沒掉封包。連續錄送1500秒,大約1秒942發。CAN本身會塞一些stuffing bit,這大概125K CAN極速 本來在一個task收CAN和寫資料,加深CAN queue還會掉封包。開出專門寫SD卡的task,並且入口的queue放深一點,從此不掉封包 如 前一篇 所述,電源供應元件有發熱問題,跑上面實驗會熱當,上車會掛。改buck不知道要多久,靈機一動:如果一枚LDO太燙,那就放兩顆吧。我果然是天才啊,立刻過關 [Configuration As Service] 這次編寫軟體有個新嘗試,把設定和RTOS相關資料結構塞入structure,取代一堆#define和全域變數。過往他們散在軟體裡不容易看出關聯,現在這樣是要花點記憶體,我感覺還不錯。既然能讀SD卡,也有機會開機讀取設定後,動態修改組態 [上車吧] 趁晚上涼快開車出來實驗,要搞車子,地下室有蚊子,白天又很熱,還是晚上好 很快發現不合用的地方:要等車子CAN封包停止,軟體才關檔。一輪實驗要10分鐘,直接關電檔案大小都是0什麼都沒有。在書桌上寫那麼爽,一出來立刻踩坑 果斷修改機制:檔案寫滿16000筆記錄,關檔開下一個檔案,搭配一顆LED,開新檔切換亮暗,用眼睛能判斷是否斷電。回去再多補上一顆按鈕,做完實驗按下立刻關檔 [CAN封包分析指南] 假如想分析CAN log,找到駕駛座車門打開或關閉的封包要怎麼做?想30秒再繼續看 我錄了一份log包含以下操作,用寫好的分析工具把log轉成 報告 ,報告對所有封包作圖。比起閱讀log file,看圖舒服很多吧 門開著,開始實驗 (關門1秒,開門3秒)* 5

ESP32(9) Low Power 2

圖片
買10支iPhone14是大土豪,我買10片EVB當奈米土豪。這一路做下來,會燒壞幾片呢 [樣品二號] 前一篇 沒達成最低耗電,這次想拿空板直接測,我有點抗拒剪USB線,畢竟TYPE-C的線不多,我也沒做USB測量電流小道具(好像該做一個) 第二招是解焊3.3V LDO,直接對3.3V供電。反正都要動手了,樣品二號的設計圖順便畫一下。這次我讓V_usb跳到另外一片板子的LDO,想測量V_usb電流也做得到了 操起熱風槍解焊完,修改電源,收發線路,SD卡插槽,再用熱熔膠加固。樣品二號誕生了 [Low Power第二輪] 樣品二號做完了, Test Code 可以回收再利用測試。這回我的手藝不錯,一次搞定 UART可以印 SD卡可以寫 CAN封包可以收發 懶病發作,繼續板子會動,直接跑軟體吧… 咦26uA,實驗做完了!至於理論值20uA驗證,量出每個元件breakdown,先放過自己吧。所以 前一次 沒搞定反映我低劣的工藝水平QQ [運作耗電] Low Power還沒結束,運作耗電繼續要填坑。用LDO供電,從12v降轉5v的壓差7v全部會發熱;這顆小小的SOT-23熱呼呼的!我用Pi的can-utils套件,產生不同速度的CAN封包測試耗電,得到下面的結果。最高速2ms操作太久還會熱當,科科 20mA operation, 140mW, CAN packet interval = 100ms 30mA operation, 210mW, CAN packet interval = 10ms 40mA operation, 280mW, CAN packet interval = 4ms 60mA operation, 420mW, CAN packet interval = 2ms 我調過CPU參數,降頻,打開FreeRTOS tickless idle都沒效。他們文件說CAN bus啟動, CPU會操作在最高速 !我猜是CPU調速度,APB clock速度跟著動,這些周邊又簡單做統一吃APB clock,導致CPU不能降速 哎呀,把周邊擺上去跟做到位是兩件事,下顆IC再繼續加油吧;不然客人用了CAN bus耗電降不下來,這還是不到位 但是供電的線路,長期還是要從LDO變成buck,或是元件本身要很省電… 這系列Low power大概還會再有第三篇,繼續折騰,換上buc