第328章 天程車規晶片樣車集成
秦崢站在天行者整車集成中心的測試車間裡,面前是一台被拆空了中控台和座椅的工程樣車。線束從儀表台的骨架里伸出來,像一團被剖開的血管,每一根都貼著黃色的標籤紙,上面標註著信號名稱和測試點。樣車的後排被改造成了數據採集站,三台工業電腦疊在一起,風扇的嗡鳴聲蓋過了車間裡空調的低頻震動。
天程車規晶片的第一次樣車集成,原定於今天上午九點開始。
現在是上午十點四十分,晶片還沒有裝上去。
不是因為晶片沒準備好,而是因為整車的電子電氣架構在最後一刻暴露了一個秦崢沒有預料到的問題——天程晶片的物理尺寸和散熱方案,與天行者原有設計的安裝位置發生了干涉。不是差很多,是差了不到四毫米。但在這類集成中,四毫米和四米沒有區別,裝不進去就是裝不進去。
「散熱鰭片和空調管路的接口支架打架。」整車集成負責人老周蹲在發動機艙旁邊,手裡拿著一把卡尺,量了一遍又一遍。「天程晶片的FCBGA封裝比我們之前用的樣品厚了零點三毫米,加上底部的散熱墊和頂部的散熱鰭片,總高度比設計值多了三點七毫米。這三點七毫米剛好頂到空調管路的最低點。」
章宸站在旁邊,臉色不太好看。天程晶片的封裝厚度增加是因為在最後階段增加了一層電源完整性優化的金屬層,這個改動通過了所有電氣性能測試,但沒有人想到會和天行者的空調管路干涉。
「不是你的問題。」秦崢對章宸說,聲音很平靜。「天行者的電子電氣架構是一年前凍結的,那時候天程晶片的封裝還沒定。這種整車集成層面的干涉,是系統集成團隊的責任,不是晶片團隊的責任。」
老周站起來,把卡尺收進口袋,調出一張整車的3D數模,投在旁邊的屏幕上。「三個解決方案。第一,改空調管路的走向,繞開散熱鰭片。代價是重新開模做管路,至少兩周,而且可能會影響空調系統的製冷效率。」
「第二,換薄一點的散熱墊。現有的散熱墊厚度是一點五毫米,可以換成一毫米的,導熱係數不變,代價是熱阻增加,晶片結溫可能會升高兩到三度。天程晶片的工作結溫上限是一百二十五度,升高兩三度還在範圍內,但餘量會被吃掉。」
「第三,不改硬體,改安裝方式。把天程晶片的主板旋轉一百八十度安裝,散熱鰭片的位置會從空調管路的正下方偏移到側方,干涉消失。代價是線束要重新走,有幾根線束的長度不夠,需要換更長或者加延長線。」
秦崢聽完,幾乎沒有猶豫。
「方案三。不改硬體,不犧牲性能,不降低熱餘量。線束延長線,庫存有沒有?」
「有。天行者的線束是模塊化設計的,延長線是標準件,倉庫里有現貨。」老周已經在數模上把旋轉後的線束走向標了出來,「但要重新做電磁兼容測試,線束變長了,輻射發射和抗干擾特性會變。」
「做。今天下午之前把延長線換上,晚上跑電磁兼容預掃。如果預掃不過,再考慮方案二。」
章宸看了秦崢一眼,沒有說話。他知道秦崢為什麼選方案三——不是因為方案三最快,而是因為方案三不改變任何性能參數。在樣車集成這個階段,每一點性能餘量都是寶貴的,不能為了省事就把它吃掉。
集成團隊開始動手。老周帶著三個工程師拆主板、旋轉方向、重新布線。秦崢站在旁邊看著,沒有插手,也沒有催促。他的終端一直在震動,是天行者量產團隊的進度報告和供應鏈的物料到貨確認,但他沒有看,因為現在最重要的事情是讓天程晶片在今晚之前跑起來。
下午三點,主板重新安裝完成。線束延長線接好後,整個發動機艙看起來比之前亂了一些,但所有接口都卡到位了,散熱鰭片和空調管路之間留出了將近八毫米的間隙,干涉問題解決。
老周把萬用表接上電源線,測了一遍供電電壓。十二伏穩定,五伏穩定,三點三伏穩定。
「上電。」秦崢說。
老周按下了電源開關。
主板上的指示燈亮了。先是紅色的待機燈,然後是綠色的核心電源燈,最後是藍色的系統心跳燈——一閃一閃,頻率穩定,說明天程晶片已經成功上電,內部的電源管理單元和時鐘電路工作正常。
數據採集站的屏幕上開始滾動串口日誌。秦崢走過去,一行一行地看。
「BootROM啟動……PLL鎖定……DDR初始化……PCIE鏈路訓練……GPU核心喚醒……NPU引擎加載……全部通過。」
老周長出了一口氣,靠在樣車的車門上。
「晶片活了。」
秦崢沒有笑。晶片活了只是第一步,真正的考驗在後面——作業系統能不能跑起來?功能安全框架能不能初始化?和整車的通信總線能不能握手?自動駕駛模型的推理延遲能不能滿足要求?
「刷系統。」他說。
老周把一塊裝著天樞OS車機版的固態硬碟插到主板上,按下復位鍵。屏幕上開始滾動更密集的日誌——內核加載、驅動初始化、服務啟動、安全模塊自檢。
三分鐘後,天行者的中控屏幕亮了。
不是完整的界面,只是最底層的啟動畫面——天樞OS的LOGO下面有一行小字:「功能安全模式·驗證中」。畫面不是很流暢,幀率明顯偏低,但能亮,能響應觸摸,能和儀錶盤通信。
秦崢伸手在中控屏幕上劃了一下,調出天程晶片的運行狀態頁。CPU溫度五十二度,GPU溫度四十八度,NPU溫度四十五度,核心電壓正常,功耗二十三瓦。所有數字都在預期範圍內。
「第一步完成。」他說,語氣里沒有喜悅,只有一種冷靜的確認。「接下來跑功能安全診斷。」
功能安全診斷是天程車規晶片樣車集成的核心關卡。天權5車規版在設計時就按照ISO 26262 ASIL-D的最高功能安全等級要求來做的,但實驗室里的仿真驗證和真實整車環境中的診斷覆蓋度是兩回事。
老周調出功能安全診斷套件,開始跑第一組用例——電源管理單元的故障注入測試。套件會模擬各種電源異常,看晶片的安全機制能不能在規定時間內檢測到並進入安全狀態。
第一組:核心電壓過壓。模擬電壓從一點二伏緩慢升高到一點五伏。天程晶片的電壓監控電路在一點三二伏時觸發了預警,在一點三八伏時觸發了故障響應,系統在零點八毫秒內完成了上下文保存並進入安全狀態。通過。
第二組:核心電壓欠壓。模擬電壓從一點二伏緩慢降到零點九伏。監控電路在一點零八伏時觸發預警,在零點九八伏時觸發故障響應,系統在一點二毫秒內完成安全關斷。通過。
第三組:時鐘丟失。模擬外部晶振信號中斷。天程晶片的內部時鐘監控電路在二百微秒內檢測到異常,自動切換到備用RC振盪器,系統繼續運行,性能下降但功能完整。通過。
前三組都通過了,但秦崢的表情沒有放鬆。他知道真正難的不是這些常規故障,而是那些在實驗室里很難模擬、但在真實車輛上可能會出現的複合故障。
果然,跑到第四組的時候,問題出現了。
第四組是通信總線的故障注入——模擬CAN總線的消息丟失和校驗錯誤。天程晶片通過CAN總線與整車的車身控制器、剎車系統、轉向系統通信。測試套件會在總線上隨機注入錯誤幀,看晶片的錯誤處理機制能不能正確識別並隔離故障。
前五分鐘,一切正常。晶片的錯誤檢測邏輯捕獲了每一個注入的錯誤幀,記錄到日誌中,但沒有觸發安全響應——因為這些錯誤不影響核心功能。
第六分鐘,老周注入了一個更複雜的故障模式——連續五個有效幀中插入一個錯誤幀,重複一百次。這種模式模擬的是某個傳感器間歇性故障導致的通信質量下降。
天程晶片的處理邏輯在第三十七次重複時出現了一個小問題——錯誤幀處理模塊的緩存滿了,導致後續幾個錯誤幀被丟棄,沒有記錄到日誌中。但核心功能沒有受影響,安全狀態也沒有被觸發。
「這不是功能安全問題,是診斷完整性問題。」章宸看了日誌後說,「錯誤幀太多,處理模塊的緩存溢出,丟了一些日誌。但錯誤幀本身已經被總線控制器識別並丟棄了,沒有進入上層應用。所以對功能安全沒有影響,只是我們丟了幾條診斷記錄。」
秦崢把這個問題記在了測試報告的「待改進」欄里,但沒有把它列為阻塞問題。診斷記錄丟失不會影響行車安全,只是會給售後故障分析帶來一些不便。
真正的阻塞問題出現在第七組測試——自動駕駛模型推理的實時性驗證。
天程晶片的NPU引擎需要在規定時間內完成自動駕駛模型的推理,輸出控制指令。天行者的要求是:從傳感器數據輸入到控制指令輸出,端到端延遲不超過五十毫秒。
在實驗室的仿真環境中,天程晶片的NPU引擎跑這個模型的平均延遲是三十八毫秒,最差延遲四十四毫秒,滿足要求。
但在樣車集成的真實環境中,老周跑完第一輪實測後,屏幕上顯示的數字讓所有人都沉默了。
平均延遲四十七毫秒,最差延遲六十三毫秒。
六十三毫秒,超過了五十毫秒的要求。
「哪裡來的延遲?」秦崢的聲音不大,但每個字都帶著重量。
老周調出了延遲分解圖。數據從攝像頭和雷達進入天程晶片,經過預處理、NPU推理、後處理、控制指令生成,每一個環節的延遲都被精確測量。
預處理:六毫秒。和實驗室一致。
NPU推理:二十八毫秒。和實驗室一致。
後處理:十一毫秒。實驗室是九毫秒,多了兩毫秒。
控制指令生成:十八毫秒。實驗室是十毫秒,多了八毫秒。
問題出在後處理和指令生成環節。這兩個環節在實驗室里跑得很好,但在樣車上變慢了。
章宸蹲下來,盯著數據採集站的屏幕,手指在觸摸板上快速移動,調出了後處理和指令生成環節的詳細日誌。
「後處理多了兩毫秒,是因為數據量變大了。實驗室里我們用的是固定的合成數據,格式規整,處理起來很快。但真實攝像頭的數據有噪聲、有畸變、有丟幀,後處理算法需要做更多的校驗和修正,所以慢了。」
「指令生成多了八毫秒,是因為和整車通信的協議棧延遲。實驗室里我們用的是模擬的通信環境,延遲固定且很低。但真實車輛的總線負載很高,車身控制器、剎車系統、轉向系統、電池管理系統都在上面發消息,天程晶片的指令生成模塊需要等待總線空閒才能發送控制指令,等待的時間就是延遲的主要來源。」
秦崢聽完,沉默了幾秒。
「指令生成模塊的延遲,能不能通過調整任務優先級來減少?比如把控制指令的發送優先級提到最高,其他消息讓路?」
老周搖了搖頭:「CAN總線的優先級是硬體固定的,不是軟體可調的。控制指令用的消息ID優先級已經是最高的了,但總線負載太高的時候,高優先級的消息也要排隊。」
「那能不能換一種通信方式?不用CAN,用乙太網?」
「可以,但天行者的當前版本不支持。下一代車型已經在規劃乙太網骨幹網了,但這一代不行。」
秦崢在筆記本上寫了一個詞:「妥協」。
不是對性能妥協,而是對現實妥協。天程晶片的第一次樣車集成,後處理延遲和指令生成延遲的問題不能等到下一代車型解決,必須在當前平台上找到工程上可行的優化方案。
「後處理延遲,讓算法團隊優化代碼,把校驗和修正的開銷降低百分之三十。兩周內出優化版本。」
「指令生成延遲,不改硬體,改策略——讓天程晶片的控制指令生成模塊提前計算,提前排隊,不等到最後一刻才發。只要總線一有空閒,就把最新的一條指令發出去。這樣雖然單次發送的延遲沒變,但平均有效延遲會降低。老周,你回去和通信團隊碰一下,三天內給我一個可行性評估。」
老周點了點頭。
秦崢轉身看著章宸。
「天程晶片的NPU推理延遲沒有問題,但後處理和指令生成的延遲問題,需要在晶片層面提供更多的硬體加速支持。後處理的校驗和修正算法,能不能在下一代晶片裡用專用硬體實現?指令生成的排隊和發送,能不能集成到晶片的通信控制器里?」
章宸明白秦崢的意思。這不是對天程晶片的批評,而是對下一代晶片的需求輸入。
「後處理的硬體加速,天權5的規劃里已經有了,但原定是放在第二版。我可以把它提到第一版。指令生成和通信控制的集成,需要和總線團隊一起設計,周期會長一些,但可以在天權5的第二版里實現。」
秦崢點了點頭。
時間已經快到晚上七點。測試車間裡的燈光顯得格外白,照在樣車裸露的金屬骨架上,反射出一種冷冽的光。
老周繼續跑剩下的測試用例——溫度循環、振動耐受、電磁兼容、電源瞬態響應。每一項都要跑至少兩個小時,有些要跑一整個晚上。
秦崢沒有走。他搬了一把椅子,坐在樣車旁邊,打開終端,開始處理白天積壓的消息。天行者的量產進度、供應鏈的物料到貨、經銷商的訂單排期,每一條都需要他簽字或決策。
章宸也沒有走。他蹲在樣車旁邊,盯著數據採集站的屏幕,看溫度循環測試中天程晶片的結溫曲線。曲線在前三個循環里平穩波動,最高八十九度,最低五十二度,都在規格範圍內。
晚上九點,趙靜來了。
她不是來參加測試的,而是來送小芯對天程晶片樣車集成數據的分析結果。悟道平台那邊負載調優的會議剛結束,她就帶著團隊跑了兩個小時的數據分析。
「後處理延遲的增加,小芯找到了一個規律。」趙靜把一份報告遞給秦崢。「不是所有的攝像頭數據都會導致延遲增加,只有某些特定的場景——比如逆光、雨霧、夜間低照度——數據噪聲大,後處理校驗開銷高。如果能在ISP圖像信號處理階段就把噪聲降低,後處理的負擔就會減輕。」
「ISP的參數能不能動態調整?」秦崢問。
「可以。小芯可以根據場景自動調整ISP參數,但這個功能目前只在手機上用過,車規版需要重新驗證。」
「驗證。兩周內給結論。」
趙靜把任務記下來,然後看了一眼樣車。天程晶片已經跑了將近十個小時,主板上的藍色心跳燈還在穩定地閃爍。
「它能扛住嗎?」趙靜問。
秦崢順著她的目光看過去,看到了那顆小小的晶片。
「能。」他說。「它不是實驗室里的樣品,是量產版的晶片。天程晶片在設計的時候就考慮到了今天的場景——高溫、振動、電磁干擾、總線負載。它不是為了在完美環境裡跑演示而設計的,是為了在真實世界的爛路上跑十萬公里而設計的。」
趙靜沒有接話。她看著那顆晶片,想起了章宸說過的那句話——晶片是承諾,不是妥協。
天程晶片的承諾,就是在空調管路干涉、總線負載過高、後處理算法變慢、指令生成排隊的情況下,依然能把車穩穩地剎住,依然能把方向盤準確地轉過彎,依然能在暴雨和黑夜中把路看清楚。
這個承諾,今天的第一輪集成測試沒有完全兌現。後處理和指令生成的延遲超標,意味著承諾還沒有完全落地。
但秦崢知道問題在哪裡,知道怎麼改,知道需要多久。
這就夠了。
夜裡十一點,第一輪樣車集成的所有測試用例跑完了。通過的占百分之八十七,失敗的占百分之七,需要進一步分析的占百分之六。
失敗的主要集中在後處理延遲、指令生成延遲、以及幾個邊緣情況下的功能安全響應時間。沒有致命問題,沒有安全風險,但有不達標的地方。
秦崢把測試報告發給了陳醒、林薇、章宸、以及汽車業務的所有核心成員。報告的最後一頁,他寫了一段話:
「天程車規晶片的第一次樣車集成,晶片本身沒有結構性問題。暴露的問題都是系統集成層面的——總線負載、算法效率、通信策略。這些問題可解,預計四周內完成優化和二次驗證。天程晶片的硬體底子足夠好,撐得起天行者的功能安全要求和性能要求。下一步的工作重點是:後處理算法優化、指令生成策略調整、ISP動態參數驗證、以及第二輪樣車集成的全工況測試。」
陳醒的回覆在五分鐘後到了,只有一行字:「四周後,我要看到天程晶片在天行者上跑完一百小時的全工況路測。」
秦崢把這句話轉發給了所有相關人員,然後關掉終端,站起來。
樣車旁邊的地板上散落著線束、卡尺、螺絲刀、萬用表表筆。老周帶著團隊在收拾設備,有人蹲在地上撿螺絲,有人把數據採集站的電腦關機,有人把延長線一圈一圈地繞好。
秦崢走到樣車旁邊,伸手摸了摸天程晶片的散熱鰭片。溫熱的,不燙手,大概五十幾度。風扇還在轉,吹出來的風帶著一股淡淡的松香味,是電路板焊接殘留的味道。
他站了一小會兒,然後轉身走出測試車間。
走廊里很安靜,只有遠處安保巡邏的腳步聲。他沿著走廊往停車場走,經過一間間已經關了燈的辦公室,一扇扇緊閉的門。
走到門口的時候,他的終端震動了。
是老周發來的消息,只有一句話:「秦總,後處理算法的優化方向定了,明天上午出第一版方案。」
秦崢回復了一個字:「好。」
然後他推開門,走進夜色里。
停車場的燈還亮著,他的車孤零零地停在一排空車位中間。他拉開車門,坐進去,沒有立刻發動,而是靠在座椅上,閉了一會兒眼。
今天,天程車規晶片在樣車上活了。不是完美地活了,而是帶著問題、帶著待優化的空間、帶著四周的工作清單活了。
但活了就是活了。
從今天起,天程晶片不再是一顆在實驗室里被精心呵護的樣品,而是一顆在真實整車上被高溫烤、被振動顛、被電磁干擾、被總線負載壓的量產晶片。它會在接下來的四周里被反覆折磨、反覆測試、反覆優化,直到它能在天行者的發動機艙里穩穩地站住,能在暴雨和黑夜中把路看清楚,能在十萬公里的真實路測中證明自己值得被信任。
秦崢發動了車,駛出停車場。
後視鏡里,測試車間的燈還亮著。老周他們還在裡面,在整理數據、在寫報告、在準備明天的優化方案。
明天,後處理算法的第一版優化方案會出來。
後天,指令生成策略的調整會開始驗證。
一周後,ISP動態參數的驗證會有初步結論。
四周後,天程晶片會在天行者上跑完一百小時的全工況路測。
然後,就是第329章要面對的事情——追光設備國產化路線的產業化會議。那條線和汽車線不同,但同樣硬,同樣不能妥協。
秦崢把車開上高速公路,路燈一盞一盞地往後飛。
他知道,明天早上八點,他還要回到這間測試車間,繼續盯天程晶片的第二輪集成。後處理算法的優化方案要看,指令生成策略的調整要驗證,ISP參數的驗證要跟進。
但今晚,他可以睡四個小時。
四個小時之後,天程晶片還會在那裡,藍色心跳燈還會穩定地閃爍,等待被優化、被測試、被驗證、被證明。
他踩下油門,車加速駛入夜色深處。
天程車規晶片的第一次樣車集成,原定於今天上午九點開始。
現在是上午十點四十分,晶片還沒有裝上去。
不是因為晶片沒準備好,而是因為整車的電子電氣架構在最後一刻暴露了一個秦崢沒有預料到的問題——天程晶片的物理尺寸和散熱方案,與天行者原有設計的安裝位置發生了干涉。不是差很多,是差了不到四毫米。但在這類集成中,四毫米和四米沒有區別,裝不進去就是裝不進去。
「散熱鰭片和空調管路的接口支架打架。」整車集成負責人老周蹲在發動機艙旁邊,手裡拿著一把卡尺,量了一遍又一遍。「天程晶片的FCBGA封裝比我們之前用的樣品厚了零點三毫米,加上底部的散熱墊和頂部的散熱鰭片,總高度比設計值多了三點七毫米。這三點七毫米剛好頂到空調管路的最低點。」
章宸站在旁邊,臉色不太好看。天程晶片的封裝厚度增加是因為在最後階段增加了一層電源完整性優化的金屬層,這個改動通過了所有電氣性能測試,但沒有人想到會和天行者的空調管路干涉。
「不是你的問題。」秦崢對章宸說,聲音很平靜。「天行者的電子電氣架構是一年前凍結的,那時候天程晶片的封裝還沒定。這種整車集成層面的干涉,是系統集成團隊的責任,不是晶片團隊的責任。」
老周站起來,把卡尺收進口袋,調出一張整車的3D數模,投在旁邊的屏幕上。「三個解決方案。第一,改空調管路的走向,繞開散熱鰭片。代價是重新開模做管路,至少兩周,而且可能會影響空調系統的製冷效率。」
「第二,換薄一點的散熱墊。現有的散熱墊厚度是一點五毫米,可以換成一毫米的,導熱係數不變,代價是熱阻增加,晶片結溫可能會升高兩到三度。天程晶片的工作結溫上限是一百二十五度,升高兩三度還在範圍內,但餘量會被吃掉。」
「第三,不改硬體,改安裝方式。把天程晶片的主板旋轉一百八十度安裝,散熱鰭片的位置會從空調管路的正下方偏移到側方,干涉消失。代價是線束要重新走,有幾根線束的長度不夠,需要換更長或者加延長線。」
秦崢聽完,幾乎沒有猶豫。
「方案三。不改硬體,不犧牲性能,不降低熱餘量。線束延長線,庫存有沒有?」
「有。天行者的線束是模塊化設計的,延長線是標準件,倉庫里有現貨。」老周已經在數模上把旋轉後的線束走向標了出來,「但要重新做電磁兼容測試,線束變長了,輻射發射和抗干擾特性會變。」
「做。今天下午之前把延長線換上,晚上跑電磁兼容預掃。如果預掃不過,再考慮方案二。」
章宸看了秦崢一眼,沒有說話。他知道秦崢為什麼選方案三——不是因為方案三最快,而是因為方案三不改變任何性能參數。在樣車集成這個階段,每一點性能餘量都是寶貴的,不能為了省事就把它吃掉。
集成團隊開始動手。老周帶著三個工程師拆主板、旋轉方向、重新布線。秦崢站在旁邊看著,沒有插手,也沒有催促。他的終端一直在震動,是天行者量產團隊的進度報告和供應鏈的物料到貨確認,但他沒有看,因為現在最重要的事情是讓天程晶片在今晚之前跑起來。
下午三點,主板重新安裝完成。線束延長線接好後,整個發動機艙看起來比之前亂了一些,但所有接口都卡到位了,散熱鰭片和空調管路之間留出了將近八毫米的間隙,干涉問題解決。
老周把萬用表接上電源線,測了一遍供電電壓。十二伏穩定,五伏穩定,三點三伏穩定。
「上電。」秦崢說。
老周按下了電源開關。
主板上的指示燈亮了。先是紅色的待機燈,然後是綠色的核心電源燈,最後是藍色的系統心跳燈——一閃一閃,頻率穩定,說明天程晶片已經成功上電,內部的電源管理單元和時鐘電路工作正常。
數據採集站的屏幕上開始滾動串口日誌。秦崢走過去,一行一行地看。
「BootROM啟動……PLL鎖定……DDR初始化……PCIE鏈路訓練……GPU核心喚醒……NPU引擎加載……全部通過。」
老周長出了一口氣,靠在樣車的車門上。
「晶片活了。」
秦崢沒有笑。晶片活了只是第一步,真正的考驗在後面——作業系統能不能跑起來?功能安全框架能不能初始化?和整車的通信總線能不能握手?自動駕駛模型的推理延遲能不能滿足要求?
「刷系統。」他說。
老周把一塊裝著天樞OS車機版的固態硬碟插到主板上,按下復位鍵。屏幕上開始滾動更密集的日誌——內核加載、驅動初始化、服務啟動、安全模塊自檢。
三分鐘後,天行者的中控屏幕亮了。
不是完整的界面,只是最底層的啟動畫面——天樞OS的LOGO下面有一行小字:「功能安全模式·驗證中」。畫面不是很流暢,幀率明顯偏低,但能亮,能響應觸摸,能和儀錶盤通信。
秦崢伸手在中控屏幕上劃了一下,調出天程晶片的運行狀態頁。CPU溫度五十二度,GPU溫度四十八度,NPU溫度四十五度,核心電壓正常,功耗二十三瓦。所有數字都在預期範圍內。
「第一步完成。」他說,語氣里沒有喜悅,只有一種冷靜的確認。「接下來跑功能安全診斷。」
功能安全診斷是天程車規晶片樣車集成的核心關卡。天權5車規版在設計時就按照ISO 26262 ASIL-D的最高功能安全等級要求來做的,但實驗室里的仿真驗證和真實整車環境中的診斷覆蓋度是兩回事。
老周調出功能安全診斷套件,開始跑第一組用例——電源管理單元的故障注入測試。套件會模擬各種電源異常,看晶片的安全機制能不能在規定時間內檢測到並進入安全狀態。
第一組:核心電壓過壓。模擬電壓從一點二伏緩慢升高到一點五伏。天程晶片的電壓監控電路在一點三二伏時觸發了預警,在一點三八伏時觸發了故障響應,系統在零點八毫秒內完成了上下文保存並進入安全狀態。通過。
第二組:核心電壓欠壓。模擬電壓從一點二伏緩慢降到零點九伏。監控電路在一點零八伏時觸發預警,在零點九八伏時觸發故障響應,系統在一點二毫秒內完成安全關斷。通過。
第三組:時鐘丟失。模擬外部晶振信號中斷。天程晶片的內部時鐘監控電路在二百微秒內檢測到異常,自動切換到備用RC振盪器,系統繼續運行,性能下降但功能完整。通過。
前三組都通過了,但秦崢的表情沒有放鬆。他知道真正難的不是這些常規故障,而是那些在實驗室里很難模擬、但在真實車輛上可能會出現的複合故障。
果然,跑到第四組的時候,問題出現了。
第四組是通信總線的故障注入——模擬CAN總線的消息丟失和校驗錯誤。天程晶片通過CAN總線與整車的車身控制器、剎車系統、轉向系統通信。測試套件會在總線上隨機注入錯誤幀,看晶片的錯誤處理機制能不能正確識別並隔離故障。
前五分鐘,一切正常。晶片的錯誤檢測邏輯捕獲了每一個注入的錯誤幀,記錄到日誌中,但沒有觸發安全響應——因為這些錯誤不影響核心功能。
第六分鐘,老周注入了一個更複雜的故障模式——連續五個有效幀中插入一個錯誤幀,重複一百次。這種模式模擬的是某個傳感器間歇性故障導致的通信質量下降。
天程晶片的處理邏輯在第三十七次重複時出現了一個小問題——錯誤幀處理模塊的緩存滿了,導致後續幾個錯誤幀被丟棄,沒有記錄到日誌中。但核心功能沒有受影響,安全狀態也沒有被觸發。
「這不是功能安全問題,是診斷完整性問題。」章宸看了日誌後說,「錯誤幀太多,處理模塊的緩存溢出,丟了一些日誌。但錯誤幀本身已經被總線控制器識別並丟棄了,沒有進入上層應用。所以對功能安全沒有影響,只是我們丟了幾條診斷記錄。」
秦崢把這個問題記在了測試報告的「待改進」欄里,但沒有把它列為阻塞問題。診斷記錄丟失不會影響行車安全,只是會給售後故障分析帶來一些不便。
真正的阻塞問題出現在第七組測試——自動駕駛模型推理的實時性驗證。
天程晶片的NPU引擎需要在規定時間內完成自動駕駛模型的推理,輸出控制指令。天行者的要求是:從傳感器數據輸入到控制指令輸出,端到端延遲不超過五十毫秒。
在實驗室的仿真環境中,天程晶片的NPU引擎跑這個模型的平均延遲是三十八毫秒,最差延遲四十四毫秒,滿足要求。
但在樣車集成的真實環境中,老周跑完第一輪實測後,屏幕上顯示的數字讓所有人都沉默了。
平均延遲四十七毫秒,最差延遲六十三毫秒。
六十三毫秒,超過了五十毫秒的要求。
「哪裡來的延遲?」秦崢的聲音不大,但每個字都帶著重量。
老周調出了延遲分解圖。數據從攝像頭和雷達進入天程晶片,經過預處理、NPU推理、後處理、控制指令生成,每一個環節的延遲都被精確測量。
預處理:六毫秒。和實驗室一致。
NPU推理:二十八毫秒。和實驗室一致。
後處理:十一毫秒。實驗室是九毫秒,多了兩毫秒。
控制指令生成:十八毫秒。實驗室是十毫秒,多了八毫秒。
問題出在後處理和指令生成環節。這兩個環節在實驗室里跑得很好,但在樣車上變慢了。
章宸蹲下來,盯著數據採集站的屏幕,手指在觸摸板上快速移動,調出了後處理和指令生成環節的詳細日誌。
「後處理多了兩毫秒,是因為數據量變大了。實驗室里我們用的是固定的合成數據,格式規整,處理起來很快。但真實攝像頭的數據有噪聲、有畸變、有丟幀,後處理算法需要做更多的校驗和修正,所以慢了。」
「指令生成多了八毫秒,是因為和整車通信的協議棧延遲。實驗室里我們用的是模擬的通信環境,延遲固定且很低。但真實車輛的總線負載很高,車身控制器、剎車系統、轉向系統、電池管理系統都在上面發消息,天程晶片的指令生成模塊需要等待總線空閒才能發送控制指令,等待的時間就是延遲的主要來源。」
秦崢聽完,沉默了幾秒。
「指令生成模塊的延遲,能不能通過調整任務優先級來減少?比如把控制指令的發送優先級提到最高,其他消息讓路?」
老周搖了搖頭:「CAN總線的優先級是硬體固定的,不是軟體可調的。控制指令用的消息ID優先級已經是最高的了,但總線負載太高的時候,高優先級的消息也要排隊。」
「那能不能換一種通信方式?不用CAN,用乙太網?」
「可以,但天行者的當前版本不支持。下一代車型已經在規劃乙太網骨幹網了,但這一代不行。」
秦崢在筆記本上寫了一個詞:「妥協」。
不是對性能妥協,而是對現實妥協。天程晶片的第一次樣車集成,後處理延遲和指令生成延遲的問題不能等到下一代車型解決,必須在當前平台上找到工程上可行的優化方案。
「後處理延遲,讓算法團隊優化代碼,把校驗和修正的開銷降低百分之三十。兩周內出優化版本。」
「指令生成延遲,不改硬體,改策略——讓天程晶片的控制指令生成模塊提前計算,提前排隊,不等到最後一刻才發。只要總線一有空閒,就把最新的一條指令發出去。這樣雖然單次發送的延遲沒變,但平均有效延遲會降低。老周,你回去和通信團隊碰一下,三天內給我一個可行性評估。」
老周點了點頭。
秦崢轉身看著章宸。
「天程晶片的NPU推理延遲沒有問題,但後處理和指令生成的延遲問題,需要在晶片層面提供更多的硬體加速支持。後處理的校驗和修正算法,能不能在下一代晶片裡用專用硬體實現?指令生成的排隊和發送,能不能集成到晶片的通信控制器里?」
章宸明白秦崢的意思。這不是對天程晶片的批評,而是對下一代晶片的需求輸入。
「後處理的硬體加速,天權5的規劃里已經有了,但原定是放在第二版。我可以把它提到第一版。指令生成和通信控制的集成,需要和總線團隊一起設計,周期會長一些,但可以在天權5的第二版里實現。」
秦崢點了點頭。
時間已經快到晚上七點。測試車間裡的燈光顯得格外白,照在樣車裸露的金屬骨架上,反射出一種冷冽的光。
老周繼續跑剩下的測試用例——溫度循環、振動耐受、電磁兼容、電源瞬態響應。每一項都要跑至少兩個小時,有些要跑一整個晚上。
秦崢沒有走。他搬了一把椅子,坐在樣車旁邊,打開終端,開始處理白天積壓的消息。天行者的量產進度、供應鏈的物料到貨、經銷商的訂單排期,每一條都需要他簽字或決策。
章宸也沒有走。他蹲在樣車旁邊,盯著數據採集站的屏幕,看溫度循環測試中天程晶片的結溫曲線。曲線在前三個循環里平穩波動,最高八十九度,最低五十二度,都在規格範圍內。
晚上九點,趙靜來了。
她不是來參加測試的,而是來送小芯對天程晶片樣車集成數據的分析結果。悟道平台那邊負載調優的會議剛結束,她就帶著團隊跑了兩個小時的數據分析。
「後處理延遲的增加,小芯找到了一個規律。」趙靜把一份報告遞給秦崢。「不是所有的攝像頭數據都會導致延遲增加,只有某些特定的場景——比如逆光、雨霧、夜間低照度——數據噪聲大,後處理校驗開銷高。如果能在ISP圖像信號處理階段就把噪聲降低,後處理的負擔就會減輕。」
「ISP的參數能不能動態調整?」秦崢問。
「可以。小芯可以根據場景自動調整ISP參數,但這個功能目前只在手機上用過,車規版需要重新驗證。」
「驗證。兩周內給結論。」
趙靜把任務記下來,然後看了一眼樣車。天程晶片已經跑了將近十個小時,主板上的藍色心跳燈還在穩定地閃爍。
「它能扛住嗎?」趙靜問。
秦崢順著她的目光看過去,看到了那顆小小的晶片。
「能。」他說。「它不是實驗室里的樣品,是量產版的晶片。天程晶片在設計的時候就考慮到了今天的場景——高溫、振動、電磁干擾、總線負載。它不是為了在完美環境裡跑演示而設計的,是為了在真實世界的爛路上跑十萬公里而設計的。」
趙靜沒有接話。她看著那顆晶片,想起了章宸說過的那句話——晶片是承諾,不是妥協。
天程晶片的承諾,就是在空調管路干涉、總線負載過高、後處理算法變慢、指令生成排隊的情況下,依然能把車穩穩地剎住,依然能把方向盤準確地轉過彎,依然能在暴雨和黑夜中把路看清楚。
這個承諾,今天的第一輪集成測試沒有完全兌現。後處理和指令生成的延遲超標,意味著承諾還沒有完全落地。
但秦崢知道問題在哪裡,知道怎麼改,知道需要多久。
這就夠了。
夜裡十一點,第一輪樣車集成的所有測試用例跑完了。通過的占百分之八十七,失敗的占百分之七,需要進一步分析的占百分之六。
失敗的主要集中在後處理延遲、指令生成延遲、以及幾個邊緣情況下的功能安全響應時間。沒有致命問題,沒有安全風險,但有不達標的地方。
秦崢把測試報告發給了陳醒、林薇、章宸、以及汽車業務的所有核心成員。報告的最後一頁,他寫了一段話:
「天程車規晶片的第一次樣車集成,晶片本身沒有結構性問題。暴露的問題都是系統集成層面的——總線負載、算法效率、通信策略。這些問題可解,預計四周內完成優化和二次驗證。天程晶片的硬體底子足夠好,撐得起天行者的功能安全要求和性能要求。下一步的工作重點是:後處理算法優化、指令生成策略調整、ISP動態參數驗證、以及第二輪樣車集成的全工況測試。」
陳醒的回覆在五分鐘後到了,只有一行字:「四周後,我要看到天程晶片在天行者上跑完一百小時的全工況路測。」
秦崢把這句話轉發給了所有相關人員,然後關掉終端,站起來。
樣車旁邊的地板上散落著線束、卡尺、螺絲刀、萬用表表筆。老周帶著團隊在收拾設備,有人蹲在地上撿螺絲,有人把數據採集站的電腦關機,有人把延長線一圈一圈地繞好。
秦崢走到樣車旁邊,伸手摸了摸天程晶片的散熱鰭片。溫熱的,不燙手,大概五十幾度。風扇還在轉,吹出來的風帶著一股淡淡的松香味,是電路板焊接殘留的味道。
他站了一小會兒,然後轉身走出測試車間。
走廊里很安靜,只有遠處安保巡邏的腳步聲。他沿著走廊往停車場走,經過一間間已經關了燈的辦公室,一扇扇緊閉的門。
走到門口的時候,他的終端震動了。
是老周發來的消息,只有一句話:「秦總,後處理算法的優化方向定了,明天上午出第一版方案。」
秦崢回復了一個字:「好。」
然後他推開門,走進夜色里。
停車場的燈還亮著,他的車孤零零地停在一排空車位中間。他拉開車門,坐進去,沒有立刻發動,而是靠在座椅上,閉了一會兒眼。
今天,天程車規晶片在樣車上活了。不是完美地活了,而是帶著問題、帶著待優化的空間、帶著四周的工作清單活了。
但活了就是活了。
從今天起,天程晶片不再是一顆在實驗室里被精心呵護的樣品,而是一顆在真實整車上被高溫烤、被振動顛、被電磁干擾、被總線負載壓的量產晶片。它會在接下來的四周里被反覆折磨、反覆測試、反覆優化,直到它能在天行者的發動機艙里穩穩地站住,能在暴雨和黑夜中把路看清楚,能在十萬公里的真實路測中證明自己值得被信任。
秦崢發動了車,駛出停車場。
後視鏡里,測試車間的燈還亮著。老周他們還在裡面,在整理數據、在寫報告、在準備明天的優化方案。
明天,後處理算法的第一版優化方案會出來。
後天,指令生成策略的調整會開始驗證。
一周後,ISP動態參數的驗證會有初步結論。
四周後,天程晶片會在天行者上跑完一百小時的全工況路測。
然後,就是第329章要面對的事情——追光設備國產化路線的產業化會議。那條線和汽車線不同,但同樣硬,同樣不能妥協。
秦崢把車開上高速公路,路燈一盞一盞地往後飛。
他知道,明天早上八點,他還要回到這間測試車間,繼續盯天程晶片的第二輪集成。後處理算法的優化方案要看,指令生成策略的調整要驗證,ISP參數的驗證要跟進。
但今晚,他可以睡四個小時。
四個小時之後,天程晶片還會在那裡,藍色心跳燈還會穩定地閃爍,等待被優化、被測試、被驗證、被證明。
他踩下油門,車加速駛入夜色深處。