{"id":37,"date":"2026-08-11T21:04:06","date_gmt":"2026-08-11T13:04:06","guid":{"rendered":"https:\/\/bmsvr.com\/?p=37"},"modified":"2026-08-11T21:04:06","modified_gmt":"2026-08-11T13:04:06","slug":"autosar-%e5%9c%a8-bms-%e8%bd%af%e4%bb%b6%e4%b8%ad%e7%9a%84%e5%ba%94%e7%94%a8%ef%bc%9a%e4%bb%8e-classic-%e5%88%b0-adaptive-%e7%9a%84%e5%b7%a5%e7%a8%8b%e5%ae%9e%e8%b7%b5","status":"publish","type":"post","link":"https:\/\/bmsvr.com\/?p=37","title":{"rendered":"AutoSAR \u5728 BMS \u8f6f\u4ef6\u4e2d\u7684\u5e94\u7528\uff1a\u4ece Classic \u5230 Adaptive \u7684\u5de5\u7a0b\u5b9e\u8df5"},"content":{"rendered":"<h1 id=\"autosar-bms-classic-adaptive\">AutoSAR \u5728 BMS \u8f6f\u4ef6\u4e2d\u7684\u5e94\u7528\uff1a\u4ece Classic \u5230 Adaptive \u7684\u5de5\u7a0b\u5b9e\u8df5<\/h1>\n<blockquote>\n<p>BMS \u7684\u8f6f\u4ef6\u590d\u6742\u5ea6\u6b63\u5448\u6307\u6570\u7ea7\u589e\u957f\u3002\u5f53\u529f\u80fd\u5b89\u5168\u8981\u6c42 ASIL-D\u3001OTA \u5347\u7ea7\u6210\u4e3a\u6807\u914d\u3001\u57df\u63a7\u67b6\u6784\u9010\u6b65\u843d\u5730\uff0c\u4f20\u7edf\u7684\u88f8\u673a\/RTOS \u5f00\u53d1\u6a21\u5f0f\u5df2\u7ecf\u6349\u895f\u89c1\u8098\u3002AutoSAR \u4f5c\u4e3a\u6c7d\u8f66\u8f6f\u4ef6\u6807\u51c6\u5316\u7684\u57fa\u77f3\uff0c\u6b63\u5728\u6df1\u523b\u91cd\u5851 BMS \u7684\u8f6f\u4ef6\u67b6\u6784\u3002\u672c\u6587\u5c06\u6df1\u5165\u89e3\u6790 AutoSAR \u5728 BMS \u4e2d\u7684\u5177\u4f53\u5e94\u7528\u573a\u666f\u3001\u5206\u5c42\u5b9e\u73b0\u7b56\u7565\uff0c\u4ee5\u53ca\u4ece Classic Platform \u5411 Adaptive Platform \u6f14\u8fdb\u7684\u5de5\u7a0b\u8def\u5f84\u3002<\/p>\n<\/blockquote>\n<hr>\n<h2 id=\"1-bms-autosar\">1. \u4e3a\u4ec0\u4e48 BMS \u9700\u8981 AutoSAR\uff1f<\/h2>\n<p>BMS \u8f6f\u4ef6\u9762\u4e34\u7684\u6838\u5fc3\u6311\u6218\u4e0d\u662f&#8221;\u80fd\u4e0d\u80fd\u5199\u51fa\u903b\u8f91&#8221;\uff0c\u800c\u662f\u4ee5\u4e0b\u4e09\u4e2a\u6839\u672c\u77db\u76fe\uff1a<\/p>\n<table class=\"wp-block-table\">\n<thead>\n<tr>\n<th>\u77db\u76fe<\/th>\n<th>\u5177\u4f53\u8868\u73b0<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u5b89\u5168 vs \u590d\u6742\u5ea6<\/strong><\/td>\n<td>ASIL-D \u8981\u6c42\u5355\u70b9\u6545\u969c\u8986\u76d6\u7387 \u226599%\uff0c\u4f46 BMS \u8f6f\u4ef6\u89c4\u6a21\u52a8\u8f84\u6570\u5341\u4e07\u884c\uff0c\u4f20\u7edf\u88f8\u673a\u4ee3\u7801\u5ba1\u8ba1\u6210\u672c\u6781\u9ad8<\/td>\n<\/tr>\n<tr>\n<td><strong>\u8fed\u4ee3\u901f\u5ea6 vs \u7a33\u5b9a\u6027<\/strong><\/td>\n<td>OEM \u8981\u6c42 OTA \u8fdc\u7a0b\u5347\u7ea7\uff0c\u4f46\u5e95\u5c42\u9a71\u52a8\u4e0e\u4e0a\u5c42\u7b56\u7565\u8026\u5408\u8fc7\u7d27\uff0c\u4fee\u6539\u4e00\u5904\u53ef\u80fd\u7275\u52a8\u5168\u5c40<\/td>\n<\/tr>\n<tr>\n<td><strong>\u4f9b\u5e94\u94fe\u534f\u4f5c<\/strong><\/td>\n<td>\u7535\u82af\u5382\u3001BMS \u63a7\u5236\u5668\u5382\u3001\u6574\u8f66\u5382\u4e09\u65b9\u534f\u4f5c\uff0c\u7f3a\u5c11\u7edf\u4e00\u7684\u63a5\u53e3\u6807\u51c6\u548c\u7ec4\u4ef6\u590d\u7528\u673a\u5236<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>AutoSAR \u7684\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e <strong>&#8220;\u4e3a\u590d\u6742\u6c7d\u8f66\u8f6f\u4ef6\u63d0\u4f9b\u6807\u51c6\u5316\u7684\u4e2d\u95f4\u4ef6\u62bd\u8c61&#8221;<\/strong>\u3002\u5bf9 BMS \u800c\u8a00\uff0c\u8fd9\u610f\u5473\u7740\uff1a<\/p>\n<ul>\n<li><strong>\u786c\u4ef6\u65e0\u5173\u7684\u5e94\u7528\u5c42<\/strong>\uff1aAFE \u9009\u578b\u4ece NXP MC33771 \u5207\u6362\u5230 ADI LTC6811\uff0c\u53ea\u9700\u4fee\u6539 MCAL \u9a71\u52a8\uff0cSWC\uff08Software Component\uff09\u96f6\u6539\u52a8<\/li>\n<li><strong>\u53ef\u9a8c\u8bc1\u7684\u5b89\u5168\u67b6\u6784<\/strong>\uff1a\u901a\u8fc7 E2E Protection\u3001WDGM\u3001Program Flow Monitoring \u5b9e\u73b0\u7aef\u5230\u7aef\u5b89\u5168\u76d1\u63a7<\/li>\n<li><strong>\u6a21\u5757\u5316\u4e0e\u53ef\u590d\u7528\u6027<\/strong>\uff1aSOC \u4f30\u7b97\u3001SOH \u4f30\u7b97\u3001\u5747\u8861\u7b56\u7565\u7b49\u6838\u5fc3\u7b97\u6cd5\u53ef\u4ee5\u72ec\u7acb\u5f00\u53d1\u3001\u72ec\u7acb\u6d4b\u8bd5\u3001\u8de8\u9879\u76ee\u590d\u7528<\/li>\n<\/ul>\n<hr>\n<h2 id=\"2-bms-autosar-classic\">2. BMS \u7684 AutoSAR Classic \u67b6\u6784\u5206\u5c42<\/h2>\n<p>\u5178\u578b\u7684 BMS \u5355\u677f\u63a7\u5236\u5668\uff08SBC + AFE + MCU\uff09\u91c7\u7528 Classic Platform\uff0c\u5206\u5c42\u5982\u4e0b\uff1a<\/p>\n<pre class=\"codehilite\"><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502  Application Layer (SWC)                        \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n\u2502  \u2502 SOC Est. \u2502 \u2502 SOH Est. \u2502 \u2502 Cell Balancing \u2502  \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n\u2502  \u2502 SOF Est. \u2502 \u2502 PowerLim \u2502 \u2502 Thermal Mgmt   \u2502  \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502  RTE (Runtime Environment)                      \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502  BSW (Basic Software)                           \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n\u2502  \u2502 Services    \u2502 \u2502 ECU Abst \u2502 \u2502 MCAL        \u2502  \u2502\n\u2502  \u2502 (NvM, WdgM, \u2502 \u2502 (AdcIf,  \u2502 \u2502 (Adc, Spi,  \u2502  \u2502\n\u2502  \u2502  EcuM, BswM) \u2502 \u2502  CanIf)  \u2502 \u2502  Dio, Gpt)  \u2502  \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n\u2502  \u2502 Complex Drivers (SPI-Daisy Chain,         \u2502  \u2502\n\u2502  \u2502  SBC Driver, Custom Crypto)               \u2502  \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502  Microcontroller (e.g. NXP S32K344, Infineon   \u2502\n\u2502  TC3xx, Renesas RH850)                         \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n<h3 id=\"21-mcal-afe\">2.1 MCAL \u5c42\uff1aAFE \u901a\u4fe1\u94fe\u8def\u7684\u5173\u952e<\/h3>\n<p>BMS \u4e2d AFE \u7684 SPI \u901a\u4fe1\u5f80\u5f80\u662f\u7cfb\u7edf\u4e2d\u6700\u5173\u952e\u7684\u5e95\u5c42\u94fe\u8def\u3002AutoSAR MCAL \u7684\u6807\u51c6 SPI \u9a71\u52a8\u53ea\u80fd\u5904\u7406 <strong>\u70b9\u5bf9\u70b9<\/strong> \u901a\u4fe1\uff0c\u800c\u5b9e\u9645 BMS \u4e2d\u901a\u5e38\u91c7\u7528 <strong>SPI \u83ca\u82b1\u94fe<\/strong>\uff08Daisy Chain\uff09\u8fde\u63a5\u591a\u4e2a AFE\uff0810-18 \u9897 AFE \u7ea7\u8054\uff09\u3002<\/p>\n<p><strong>\u56e0\u6b64\uff0cAFE \u7684 SPI \u83ca\u82b1\u94fe\u9a71\u52a8\u5fc5\u987b\u4f5c\u4e3a Complex Driver (CDD) \u5b9e\u73b0<\/strong>\uff0c\u8fd9\u5728 AutoSAR \u89c4\u8303\u4e2d\u5c5e\u4e8e\u5408\u6cd5\u4f46\u9700\u8981\u7279\u6b8a\u5904\u7406\u7684\u90e8\u5206\u3002<\/p>\n<p>\u5173\u952e\u7684\u5de5\u7a0b\u51b3\u7b56\u70b9\u5728\u4e8e <strong>CDD \u4e0e SWC \u7684\u4ea4\u4e92\u6a21\u5f0f<\/strong>\uff1a<\/p>\n<pre class=\"codehilite\"><code>\u65b9\u6848 A: CDD \u2192 Callback \u2192 RTE \u2192 SWC\n    \u251c\u2500\u2500 \u4f18\u70b9\uff1a\u7b26\u5408 AutoSAR \u5206\u5c42\u89c4\u8303\n    \u2514\u2500\u2500 \u7f3a\u70b9\uff1a\u989d\u5916\u7684 RTE \u4e0a\u4e0b\u6587\u5207\u6362\u5ef6\u8fdf\n\n\u65b9\u6848 B: CDD \u2192 Direct Function Call \u2192 Application\n    \u251c\u2500\u2500 \u4f18\u70b9\uff1a\u6700\u4f4e\u5ef6\u8fdf\uff08\u9002\u7528\u4e8e\u8fc7\u6d41\u4fdd\u62a4\u7b49\u5feb\u901f\u54cd\u5e94\u573a\u666f\uff09\n    \u2514\u2500\u2500 \u7f3a\u70b9\uff1a\u7834\u574f\u4e86\u5206\u5c42\u9694\u79bb\u539f\u5219\n<\/code><\/pre>\n<p>\u5b9e\u9645\u9879\u76ee\u4e2d\u901a\u5e38\u91c7\u7528 <strong>\u6df7\u5408\u7b56\u7565<\/strong>\uff1a\u5e38\u89c4\u6570\u636e\u91c7\u96c6\u8d70\u65b9\u6848 A\uff0c\u800c\u786c\u4ef6\u8fc7\u6d41\u4fdd\u62a4\u3001\u77ed\u8def\u4fdd\u62a4\u7b49 \u03bcs \u7ea7\u54cd\u5e94\u9700\u6c42\u8d70\u65b9\u6848 B \u7684\u76f4\u8fde\u8def\u5f84\uff0c\u5e76\u5728\u5b89\u5168\u624b\u518c\u4e2d\u660e\u786e\u6807\u6ce8\u4e3a\u5b89\u5168\u76f8\u5173\u7684\u67b6\u6784\u504f\u5dee\u3002<\/p>\n<h3 id=\"22-bsw-bms\">2.2 BSW \u670d\u52a1\u5c42\uff1aBMS \u7279\u5316\u7684\u529f\u80fd\u5b89\u5168\u7ec4\u4ef6<\/h3>\n<p>BMS \u5728 BSW \u5c42\u6709\u51e0\u4e2a\u7279\u6b8a\u9700\u6c42\u662f\u901a\u7528 AutoSAR \u6808\u9700\u8981\u5b9a\u5236\u5316\u914d\u7f6e\u7684\uff1a<\/p>\n<p><strong>NvM\uff08Non-Volatile Memory\uff09\u7684\u7279\u6b8a\u5904\u7406\uff1a<\/strong><\/p>\n<p>BMS \u9700\u8981\u5728 NVM \u4e2d\u5b58\u50a8\u5927\u91cf\u72b6\u6001\u6570\u636e\u2014\u2014SOC\/SOH \u6821\u51c6\u503c\u3001\u5747\u8861\u5386\u53f2\u3001\u6545\u969c\u65e5\u5fd7\u3001\u7d2f\u8ba1\u5145\u653e\u7535\u91cf\u7b49\u3002\u8fd9\u4e9b\u6570\u636e\u5fc5\u987b\u4fdd\u8bc1 <strong>\u6389\u7535\u4e0d\u4e22\u5931 + \u5199\u5165\u5bff\u547d\u7ba1\u7406<\/strong>\u3002<\/p>\n<pre class=\"codehilite\"><code class=\"language-c\">\/\/ NvM Block \u914d\u7f6e\u793a\u4f8b\uff08ARXML \u903b\u8f91\u7b49\u6548\uff09\nNvM_BlockDescriptorType BMS_SoC_Calibration_Block = {\n    .NvM_BlockId           = 0x0101,\n    .NvM_BlockLength       = 128,\n    .NvM_NvBlockNum        = 1,\n    .NvM_NvBlockCrcType    = NVM_CRC32,\n    .NvM_ResistantToLayout = TRUE,      \/\/ \u8de8\u7248\u672c\u517c\u5bb9\n    .NvM_WriteVerification = TRUE,      \/\/ \u56de\u8bfb\u6821\u9a8c\n    .NvM_WriteCyclesLimit  = 50000      \/\/ \u75b2\u52b3\u7ba1\u7406\n};\n<\/code><\/pre>\n<p><strong>WdgM\uff08Watchdog Manager\uff09\u7684\u6311\u6218\uff1a<\/strong><\/p>\n<p>BMS \u7684\u770b\u95e8\u72d7\u9700\u8981\u540c\u65f6\u670d\u52a1\u4e8e\u529f\u80fd\u5b89\u5168\uff08ASIL-C\/D \u7b49\u7ea7\uff09\u548c\u7cfb\u7edf\u53ef\u9760\u6027\u4e24\u4e2a\u76ee\u6807\u3002\u5b9e\u8df5\u4e2d\u63a8\u8350\u4f7f\u7528\u72ec\u7acb\u7684 <strong>Program Flow Monitoring<\/strong> \u673a\u5236\uff1a<\/p>\n<pre class=\"codehilite\"><code>Alive Supervision\n\u251c\u2500\u2500 SWC_SoCEstimation_Checkpoint \u2192 \u6bcf 10ms\n\u251c\u2500\u2500 SWC_CellMonitoring_Checkpoint \u2192 \u6bcf 5ms\n\u251c\u2500\u2500 CDD_AFE_Communication_Checkpoint \u2192 \u6bcf 1ms\n\u2514\u2500\u2500 WdgM_MainFunction \u2192 \u6c47\u603b\u4e0a\u62a5\n<\/code><\/pre>\n<p>\u5982\u679c\u4e00\u4e2a Checkpoint \u8d85\u65f6\uff08Deadline Miss\uff09\uff0cWdgM \u4e0d\u662f\u76f4\u63a5\u590d\u4f4d\uff0c\u800c\u662f\uff1a<br \/>\n1. \u89e6\u53d1 E2E \u4fdd\u62a4\u7684\u56de\u9000\u7b56\u7565\uff08Fallback\uff09<br \/>\n2. \u5c1d\u8bd5\u8f6f\u590d\u4f4d\u8be5 SWC<br \/>\n3. \u8fde\u7eed 3 \u6b21\u8d85\u65f6\u624d\u89e6\u53d1\u7cfb\u7edf\u7ea7 Safe State\uff08\u65ad\u5f00\u4e3b\u7ee7\u7535\u5668\uff09<\/p>\n<hr>\n<h2 id=\"3-bms-swc\">3. \u5173\u952e BMS \u7b97\u6cd5\u7684 SWC \u5316\u8bbe\u8ba1<\/h2>\n<h3 id=\"31-soc-swc\">3.1 SOC \u4f30\u7b97 SWC<\/h3>\n<p>SOC \u4f30\u7b97\u662f\u6700\u6838\u5fc3\u7684 BMS SWC\uff0c\u5178\u578b\u7684 RTE \u63a5\u53e3\u5982\u4e0b\uff1a<\/p>\n<pre class=\"codehilite\"><code class=\"language-c\">\/\/ RTE Port \u5b9a\u4e49\uff08\u6982\u5ff5\u7ea7\uff09\n\/\/ S\/R Interface: SoCEstimation \u2192\n\/\/   Required: CellVoltage[18], CellCurrent, CellTemp[6], PackStatus\n\/\/   Provided: SoC_Value, SoC_Confidence, SoC_MinCell, SoC_MaxCell\n\n\/\/ RTE Data Receive (Runnable: SoC_Calculate)\nStd_ReturnType SoC_Calculate(uint8 InstanceId)\n{\n    \/\/ 1. \u8bfb\u53d6\u8f93\u5165\n    Rte_Read_R_CellVoltage(&amp;cellVoltage);      \/\/ uint16[18]\n    Rte_Read_R_CellCurrent(&amp;packCurrent);       \/\/ sint32\n    Rte_Read_R_CellTemperature(&amp;cellTemp);      \/\/ sint16[6]\n\n    \/\/ 2. \u6838\u5fc3\u7b97\u6cd5\u2014\u2014\u6269\u5c55\u5361\u5c14\u66fc\u6ee4\u6ce2\n    \/\/ \u72b6\u6001\u5411\u91cf: x = [SOC, Vp1, Vp2]^T\n    \/\/ \u89c2\u6d4b\u5411\u91cf: z = [Vt] (\u7ec8\u7aef\u7535\u538b)\n\n    \/\/ \u9884\u6d4b\u6b65 (\u57fa\u4e8e 1-RC \u6216 2-RC \u7b49\u6548\u7535\u8def\u6a21\u578b)\n    EKF_Predict(&amp;ekf_state, packCurrent, deltaT);\n\n    \/\/ \u66f4\u65b0\u6b65 (\u4ec5\u5728\u6ee1\u8db3\u53ef\u89c2\u6d4b\u6761\u4ef6\u65f6\u6267\u884c)\n    if (packCurrent &lt; CURRENT_THRESHOLD &amp;&amp; abs(packCurrent) &lt; CURRENT_THRESHOLD) {\n        EKF_Update(&amp;ekf_state, cellVoltage[0], packCurrent);\n    }\n\n    \/\/ 3. \u5199\u5165\u8f93\u51fa\n    Rte_Write_P_SoC_Value(ekf_state.soc);\n    Rte_Write_P_SoC_Confidence(ekf_state.covariance);\n\n    return RTE_E_OK;\n}\n<\/code><\/pre>\n<p><strong>\u5de5\u7a0b\u8981\u70b9\uff1a<\/strong><\/p>\n<ul>\n<li>EKF \u7684\u77e9\u9635\u8fd0\u7b97\uff083&#215;3 \u77e9\u9635\u6c42\u9006\uff09\u5728\u5d4c\u5165\u5f0f MCU \u4e0a\u9700\u8981\u5b9a\u70b9\u5316\u5b9e\u73b0\uff0c\u907f\u514d\u6d6e\u70b9\u6027\u80fd\u5f00\u9500<\/li>\n<li>SOC \u4f30\u7b97\u7684\u8f93\u5165\u5fc5\u987b\u7ecf\u8fc7 E2E Protection\uff08CRC + Counter\uff09\uff0c\u9632\u6b62 SPI \u4f20\u8f93\u9519\u8bef\u5bfc\u81f4\u4f30\u7b97\u504f\u5dee<\/li>\n<li>\u63a8\u8350\u589e\u52a0 <strong>SOC \u5408\u7406\u6027\u76d1\u63a7<\/strong>\uff08Plausibility Check\uff09\u72ec\u7acb SWC\uff0c\u901a\u8fc7\u5e93\u4ed1\u8ba1\u6570\u4ea4\u53c9\u9a8c\u8bc1<\/li>\n<\/ul>\n<h3 id=\"32-swc\">3.2 \u5747\u8861\u7b56\u7565 SWC<\/h3>\n<p>\u88ab\u52a8\u5747\u8861\u548c\u4e3b\u52a8\u5747\u8861\u7684 SWC \u8bbe\u8ba1\u6709\u663e\u8457\u5dee\u5f02\uff1a<\/p>\n<pre class=\"codehilite\"><code>Passive Balancing SWC\n\u251c\u2500\u2500 \u8f93\u5165\uff1a\u5355\u4f53\u7535\u538b\u3001SOC\u3001\u6e29\u5ea6\u3001\u5747\u8861\u72b6\u6001\n\u251c\u2500\u2500 \u6838\u5fc3\u903b\u8f91\uff1a\n\u2502   \u251c\u2500\u2500 \u7535\u538b\u5dee\u9608\u503c\u5224\u5b9a (DeltaV &gt; 10mV)\n\u2502   \u251c\u2500\u2500 \u5747\u8861\u7535\u6d41\u8ba1\u7b97 (\u57fa\u4e8e R_balance)\n\u2502   \u251c\u2500\u2500 \u5360\u7a7a\u6bd4\u8ba1\u7b97 (PWM_balance = f(DeltaSOC, T_junction))\n\u2502   \u2514\u2500\u2500 \u70ed\u7ba1\u7406\u7ea6\u675f (\u4e0d\u80fd\u540c\u65f6\u5747\u8861\u76f8\u90bb\u7535\u82af)\n\u2514\u2500\u2500 \u8f93\u51fa\uff1a\u5747\u8861\u5f00\u5173\u9635\u5217\u63a7\u5236 (18-bit mask)\n\nActive Balancing SWC (\u57fa\u4e8e\u53d8\u538b\u5668\/\u98de\u7535\u5bb9)\n\u251c\u2500\u2500 \u989d\u5916\u8f93\u5165\uff1a\u7535\u611f\/\u53d8\u538b\u5668\u6548\u7387\u66f2\u7ebf\u3001\u5f00\u5173\u9891\u7387\n\u251c\u2500\u2500 \u6838\u5fc3\u903b\u8f91\uff1a\n\u2502   \u251c\u2500\u2500 \u6e90\u7535\u82af-\u76ee\u6807\u7535\u82af\u914d\u5bf9\u4f18\u5316\n\u2502   \u251c\u2500\u2500 \u80fd\u91cf\u4f20\u8f93\u6548\u7387\u6700\u5927\u5316 (MPPT-like)\n\u2502   \u2514\u2500\u2500 \u5f00\u5173\u635f\u8017\u4f30\u8ba1\n\u2514\u2500\u2500 \u989d\u5916\u8f93\u51fa\uff1aH-Bridge \u9a71\u52a8\u4fe1\u53f7 + \u6545\u969c\u4fdd\u62a4\n<\/code><\/pre>\n<p>\u5747\u8861\u7b56\u7565 SWC \u7684\u4e00\u4e2a\u5173\u952e\u67b6\u6784\u51b3\u7b56\u662f <strong>\u540c\u6b65\u6027<\/strong>\uff1a\u4e3b\u5747\u8861\u5faa\u73af\u5efa\u8bae\u653e\u5728 100ms \u5468\u671f\u7684\u6162\u901f Task \u4e2d\u8fd0\u884c\uff0c\u800c\u5747\u8861\u5f00\u5173\u7684\u786c\u4ef6\u4fdd\u62a4\uff08\u8fc7\u6e29\u5173\u65ad\uff09\u5fc5\u987b\u653e\u5728 1ms \u5feb\u901f Task \u4e2d\u4f5c\u4e3a\u5b89\u5168\u76d1\u63a7\u3002<\/p>\n<hr>\n<h2 id=\"4-classic-adaptive-bms\">4. Classic \u5230 Adaptive \u7684\u6f14\u8fdb\uff1aBMS \u57df\u63a7\u573a\u666f<\/h2>\n<p>\u5f53 BMS \u4ece\u5355\u4f53\u63a7\u5236\u5668\u6f14\u8fdb\u5230 <strong>\u57df\u63a7\u5236\u5668\uff08Domain Controller\uff09+ \u667a\u80fd\u4f20\u611f\u5668<\/strong> \u67b6\u6784\u65f6\uff0cClassic Platform \u5728\u4ee5\u4e0b\u51e0\u4e2a\u7ef4\u5ea6\u5f00\u59cb\u53d7\u9650\uff1a<\/p>\n<table class=\"wp-block-table\">\n<thead>\n<tr>\n<th>\u7ef4\u5ea6<\/th>\n<th>Classic Platform \u5c40\u9650<\/th>\n<th>Adaptive Platform \u4f18\u52bf<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u7b97\u529b<\/strong><\/td>\n<td>TC3xx \u5355\u6838 300MHz\uff0c\u8dd1 EKF \u5c1a\u53ef\uff0c\u65e0\u6cd5\u90e8\u7f72 DNN\/RNN<\/td>\n<td>SoC\uff08\u5982 Xilinx ZU5\uff09+ Linux\uff0c\u652f\u6301 TensorFlow Lite<\/td>\n<\/tr>\n<tr>\n<td><strong>OTA<\/strong><\/td>\n<td>\u9700\u8981 OEM \u5b9a\u5236 Bootloader\uff0cFlash \u5206\u533a\u590d\u6742<\/td>\n<td>\u539f\u751f\u652f\u6301 POSIX \u6587\u4ef6\u7cfb\u7edf + Docker \u5bb9\u5668\u5316 OTA<\/td>\n<\/tr>\n<tr>\n<td><strong>\u7f51\u7edc<\/strong><\/td>\n<td>CAN\/CAN-FD \u4e3a\u4e3b\uff0c\u5e26\u5bbd\u53d7\u9650<\/td>\n<td>\u4ee5\u592a\u7f51\uff08SOME\/IP\uff09\uff0c\u652f\u6301\u5927\u6570\u636e\u91cf\u4f20\u8f93<\/td>\n<\/tr>\n<tr>\n<td><strong>\u654f\u6377\u5f00\u53d1<\/strong><\/td>\n<td>\u914d\u7f6e\u5de5\u5177 + \u4ee3\u7801\u751f\u6210\uff0c\u8fed\u4ee3\u5468\u671f\u957f<\/td>\n<td>C++11\/14\/17\uff0c\u6807\u51c6 CMake\uff0cCI\/CD \u53cb\u597d<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"41-bms-adaptive\">4.1 BMS \u57df\u63a7\u7684 Adaptive \u67b6\u6784<\/h3>\n<pre class=\"codehilite\"><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502  BMS Domain Controller (AUTOSAR Adaptive)        \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n\u2502  \u2502  Application (AA - Adaptive Application)   \u2502  \u2502\n\u2502  \u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502  \u2502\n\u2502  \u2502  \u2502 AI-SOC   \u2502 \u2502 Cloud-   \u2502 \u2502 Predictive \u2502 \u2502  \u2502\n\u2502  \u2502  \u2502 (DNN)    \u2502 \u2502 Diagnose \u2502 \u2502 Balancing  \u2502 \u2502  \u2502\n\u2502  \u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502  \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n\u2502  \u2502  ARA (AUTOSAR Runtime for Adaptive)        \u2502  \u2502\n\u2502  \u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502  \u2502\n\u2502  \u2502  \u2502 ara:: \u2502 \u2502 ara:: \u2502 \u2502ara\u2502 \u2502 ara::     \u2502 \u2502  \u2502\n\u2502  \u2502  \u2502  com  \u2502 \u2502  diag \u2502 \u2502:: \u2502 \u2502  crypto   \u2502 \u2502  \u2502\n\u2502  \u2502  \u2502       \u2502 \u2502       \u2502 \u2502log\u2502 \u2502           \u2502 \u2502  \u2502\n\u2502  \u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2502  \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n\u2502  \u2502  Foundation \/ OS (Linux + Xen Hypervisor)  \u2502  \u2502\n\u2502  \u2502  \u251c\u2500\u2500 Safe World: QNX (ASIL-B \u529f\u80fd\u5b89\u5168)     \u2502  \u2502\n\u2502  \u2502  \u2514\u2500\u2500 Normal World: Linux (\u975e\u5b89\u5168\u529f\u80fd)       \u2502  \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n          \u2502 SOME\/IP (Ethernet)\n          \u25bc\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 Smart Cell     \u2502  \u2502 Smart Current  \u2502\n\u2502 Monitor (CP)   \u2502  \u2502 Sensor (CP)   \u2502\n\u2502 (AutoSAR CL)   \u2502  \u2502 (AutoSAR CL)  \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n<h3 id=\"42\">4.2 \u6df7\u5408\u67b6\u6784\u7684\u901a\u4fe1\u8bbe\u8ba1<\/h3>\n<p>\u57df\u63a7\uff08Adaptive\uff09\u4e0e\u667a\u80fd\u4f20\u611f\u5668\uff08Classic\uff09\u4e4b\u95f4\u7684\u901a\u4fe1\u901a\u8fc7 <strong>SOME\/IP<\/strong> \u627f\u8f7d\uff1a<\/p>\n<pre class=\"codehilite\"><code class=\"language-cpp\">\/\/ Adaptive \u4fa7\uff1aSOME\/IP Service Discovery + Event Subscribe\n#include &lt;ara\/com\/com.h&gt;\n\n\/\/ SOC \u72b6\u6001\u4e8b\u4ef6\uff08\u5468\u671f\u6027\u53d1\u5e03\uff0c100ms\uff09\nstruct SoCStatusEvent {\n    float soc;                       \/\/ SOC \u767e\u5206\u6bd4\n    float confidence;                \/\/ \u7f6e\u4fe1\u5ea6 [0,1]\n    std::array&lt;float, 18&gt; cellV;     \/\/ \u5355\u4f53\u7535\u538b\n    std::array&lt;float, 6&gt;  cellT;     \/\/ \u6e29\u5ea6\u91c7\u6837\n};\n\n\/\/ \u901a\u8fc7 ARA::COM \u53d1\u5e03\nclass SoCEventPublisher {\n    ara::com::EventPublisher&lt;SoCStatusEvent&gt; m_publisher;\npublic:\n    void Publish(const SoCStatusEvent&amp; event) {\n        m_publisher.Send(event);\n    }\n};\n<\/code><\/pre>\n<hr>\n<h2 id=\"5\">5. \u5b9e\u6218\u7ecf\u9a8c\uff1a\u5de5\u7a0b\u843d\u5730\u4e2d\u7684\u5751\u4e0e\u5bf9\u7b56<\/h2>\n<h3 id=\"51\">5.1 \u914d\u7f6e\u7ba1\u7406\u5730\u72f1<\/h3>\n<p>AutoSAR \u7684\u914d\u7f6e\u590d\u6742\u5ea6\u5f80\u5f80\u88ab\u4f4e\u4f30\u3002\u4e00\u4e2a\u4e2d\u7b49\u89c4\u6a21\u7684 BMS Classic \u9879\u76ee\uff0cARXML \u914d\u7f6e\u6587\u4ef6\u53ef\u80fd\u8d85\u8fc7 200 \u4e2a\uff0c\u6d89\u53ca BSW \u6a21\u5757\u914d\u7f6e\u3001SWC \u63cf\u8ff0\u3001RTE \u6620\u5c04\u3001ECU \u63d0\u53d6\u7b49\u3002<strong>\u914d\u7f6e\u4e00\u81f4\u6027<\/strong> \u662f\u9879\u76ee\u5ef6\u671f\u7684\u4e3b\u8981\u6839\u56e0\u3002<\/p>\n<p><strong>\u5bf9\u7b56\uff1a<\/strong><br \/>\n&#8211; \u4f7f\u7528\u811a\u672c\u5316\u914d\u7f6e\u7ba1\u7406\uff08Python + ARXML \u89e3\u6790\u5668\uff09\u66ff\u4ee3\u624b\u52a8 Vector DaVinci Developer \u914d\u7f6e<br \/>\n&#8211; \u5c06\u914d\u7f6e\u62c6\u5206\u4e3a ODM\uff08OEM Domain Model\uff09\u548c BSW-MDT\uff08BSW Module Definition Template\uff09\uff0c\u7528 CI \u6d41\u6c34\u7ebf\u81ea\u52a8\u6821\u9a8c\u4e00\u81f4\u6027<br \/>\n&#8211; \u5efa\u7acb <strong>\u914d\u7f6e\u53d8\u66f4\u5f71\u54cd\u5206\u6790<\/strong> \u5de5\u5177\u94fe\uff08\u4f8b\u5982\u8ffd\u8e2a\u4e00\u4e2a Port \u7684\u4fee\u6539\u4f1a\u89e6\u53d1\u54ea\u4e9b ECU Extract \u66f4\u65b0\uff09<\/p>\n<h3 id=\"52-timing-analysis-bms\">5.2 Timing Analysis \u7684 BMS \u7279\u6709\u95ee\u9898<\/h3>\n<p>BMS \u7684\u65f6\u5e8f\u5206\u6790\u6709\u4e24\u4e2a\u7279\u6b8a\u6311\u6218\uff1a<\/p>\n<ol>\n<li>\n<p><strong>AFE \u626b\u63cf\u7684\u5f02\u6b65\u6027<\/strong>\uff1a18 \u9897\u7535\u82af\u7684\u7535\u538b\u4e0d\u80fd&#8221;\u540c\u65f6&#8221;\u83b7\u53d6\uff08SPI \u83ca\u82b1\u94fe\u9010\u4e2a\u8bfb\u53d6\uff09\uff0c\u5bfc\u81f4 SOC SWC \u770b\u5230\u7684\u8f93\u5165\u5728\u65f6\u95f4\u8f74\u4e0a\u5e76\u975e\u4e25\u683c\u5bf9\u9f50\u3002\u8fd9\u9700\u8981\u5f15\u5165 <strong>\u65f6\u95f4\u6233\u6807\u8bb0 + \u8865\u507f\u5916\u63a8<\/strong> \u673a\u5236\u3002<\/p>\n<\/li>\n<li>\n<p><strong>\u957f\u5468\u671f\u4efb\u52a1\u7684\u53ef\u8c03\u5ea6\u6027\u95ee\u9898<\/strong>\uff1a\u4f8b\u5982 SOC \u7684\u5b89\u65f6\u79ef\u5206\u9700\u8981 10ms \u5468\u671f\uff0c\u800c OCV \u6821\u6b63\u53ef\u80fd 10 \u79d2\u624d\u89e6\u53d1\u4e00\u6b21\u3002\u5982\u679c OCV \u6821\u6b63\u7684\u53ef\u8fd0\u884c\u4f53\uff08Runnable\uff09\u6267\u884c\u65f6\u95f4\u8fc7\u957f\uff08\u4f8b\u5982\u6d89\u53ca Flash \u5199\u5165\uff09\uff0c\u53ef\u80fd\u5bfc\u81f4 10ms Task \u7684 Deadline \u4e22\u5931\u3002<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u5bf9\u7b56\uff1a<\/strong><br \/>\n&#8211; \u5c06 OCV \u6821\u6b63\u62c6\u5206\u4e3a\u591a\u6b65\u72b6\u6001\u673a\uff0c\u5206\u5e27\u6267\u884c<br \/>\n&#8211; \u5728 RTE \u4e2d\u914d\u7f6e Exclusive Area \u4fdd\u62a4\u5171\u4eab\u6570\u636e<br \/>\n&#8211; \u4f7f\u7528 Timing Protection\uff08WdgM \u7684 Deadline Monitoring\uff09<\/p>\n<h3 id=\"53\">5.3 \u8de8\u9879\u76ee\u590d\u7528\u7b56\u7565<\/h3>\n<p>\u5b9e\u9645\u7684 Tier-1 \u4e0d\u53ef\u80fd\u4e3a\u6bcf\u4e2a\u9879\u76ee\u4ece\u5934\u5f00\u53d1 BMS \u8f6f\u4ef6\u3002\u63a8\u8350\u7684\u590d\u7528\u5c42\u6b21\uff1a<\/p>\n<pre class=\"codehilite\"><code>Level 1: BSW \u914d\u7f6e\u590d\u7528\uff08MCAL + EcuM + CanSM \u7b49\uff09\n    \u2514\u2500\u2500 \u9879\u76ee\u95f4\u5dee\u5f02\u5c0f\uff0c\u590d\u7528\u7387 &gt; 80%\n\nLevel 2: CDD \u590d\u7528\uff08AFE \u9a71\u52a8\u3001SBC \u9a71\u52a8\uff09\n    \u2514\u2500\u2500 \u4f9d\u8d56 AFE \u9009\u578b\uff0c\u540c\u4e00\u7cfb\u5217\u53ef\u590d\u7528\uff0c\u4e0d\u540c\u7cfb\u5217\u9700\u9002\u914d\n\nLevel 3: SWC \u7b97\u6cd5\u590d\u7528\uff08SOC\/SOH\/SOF\/Balancing\uff09\n    \u2514\u2500\u2500 \u6838\u5fc3 EKF\/\u6a21\u578b\u7b97\u6cd5 100% \u590d\u7528\uff0c\u6807\u5b9a\u53c2\u6570\u9879\u76ee\u5316\n\nLevel 4: \u7cfb\u7edf\u96c6\u6210\u590d\u7528\uff08RTE Mapping + ECU Extract\uff09\n    \u2514\u2500\u2500 \u590d\u7528\u7387\u4f4e\uff08&lt; 30%\uff09\uff0c\u5f3a\u4f9d\u8d56 ECU \u62d3\u6251\n<\/code><\/pre>\n<hr>\n<h2 id=\"6\">6. \u603b\u7ed3\u4e0e\u5c55\u671b<\/h2>\n<p>AutoSAR \u5728 BMS \u4e2d\u7684\u5e94\u7528\u5df2\u7ecf\u4ece &#8220;\u8981\u4e0d\u8981\u7528&#8221; \u7684\u9636\u6bb5\u8fdb\u5165\u4e86 &#8220;\u5982\u4f55\u7528\u5f97\u597d&#8221; \u7684\u9636\u6bb5\u3002\u4ee5\u4e0b\u662f\u6211\u4eec\u5bf9\u884c\u4e1a\u8d8b\u52bf\u7684\u5224\u65ad\uff1a<\/p>\n<ol>\n<li>\n<p><strong>Classic \u4e0d\u4f1a\u6d88\u4ea1<\/strong>\uff1a\u5bf9\u4e8e 12V\/48V \u5c0f\u7535\u6c60\u548c\u4ece\u677f\u7ea7 CMU\uff08Cell Monitoring Unit\uff09\uff0cClassic Platform \u4ecd\u7136\u662f\u4e3b\u6d41\u9009\u62e9\uff0c\u56e0\u4e3a\u5176\u786e\u5b9a\u6027\u548c\u4f4e\u8d44\u6e90\u5f00\u9500\u65e0\u53ef\u66ff\u4ee3\u3002<\/p>\n<\/li>\n<li>\n<p><strong>Adaptive \u6b63\u5728\u5207\u5165\u9ad8\u538b\u57df\u63a7<\/strong>\uff1a\u52a8\u529b\u7535\u6c60\u57df\u63a7\u5236\u5668\uff08BDU\/BMS Domain\uff09\u6b63\u5728\u6210\u4e3a Adaptive Platform \u7684\u6700\u4f73\u843d\u5730\u573a\u666f\uff0c\u7279\u522b\u662f\u878d\u5408\u4e86\u4e91\u7aef\u5927\u6570\u636e\u9a71\u52a8\u7684 AI-SOC \u7b97\u6cd5\u540e\u3002<\/p>\n<\/li>\n<li>\n<p><strong>\u6df7\u5408\u5f02\u6784\u662f\u5173\u952e<\/strong>\uff1a\u672a\u6765\u7684 BMS \u8f6f\u4ef6\u67b6\u6784\u5c06\u662f Classic\uff08\u5b89\u5168\u5b9e\u65f6\u63a7\u5236\uff09+ Adaptive\uff08\u9ad8\u6027\u80fd\u8ba1\u7b97 + AI + \u4e91\u7aef\u8fde\u63a5\uff09\u7684\u6df7\u5408\u5f02\u6784\u6a21\u5f0f\uff0c\u901a\u8fc7 SOME\/IP + DDS \u5b9e\u73b0\u8de8\u5e73\u53f0\u901a\u4fe1\u3002<\/p>\n<\/li>\n<li>\n<p><strong>\u914d\u7f6e\u81ea\u52a8\u5316\u662f\u5de5\u7a0b\u521a\u9700<\/strong>\uff1a\u4efb\u4f55\u4e0d\u4f7f\u7528\u811a\u672c\u5316\u914d\u7f6e\u7ba1\u7406\u7684 AutoSAR BMS \u9879\u76ee\uff0c\u5176\u8f6f\u4ef6\u96c6\u6210\u9636\u6bb5\u7684\u5de5\u65f6\u5c06\u81f3\u5c11\u81a8\u80c0 3 \u500d\u3002<\/p>\n<\/li>\n<\/ol>\n<blockquote>\n<p><strong>\u6700\u540e\u4e00\u70b9\u5efa\u8bae<\/strong>\uff1a\u5982\u679c\u4f60\u6240\u5728\u7684\u56e2\u961f\u6b63\u5728\u8003\u8651\u542f\u52a8 AutoSAR BMS \u9879\u76ee\uff0c\u8bf7\u628a 40% \u7684\u8bc4\u4f30\u7cbe\u529b\u82b1\u5728\u5de5\u5177\u94fe\u548c\u914d\u7f6e\u7ba1\u7406\u6d41\u7a0b\u4e0a\uff0c30% \u82b1\u5728\u529f\u80fd\u5b89\u5168\u67b6\u6784\u8bbe\u8ba1\u4e0a\uff0c\u5269\u4e0b\u7684 30% \u624d\u662f\u7b97\u6cd5\u548c\u4e1a\u52a1\u903b\u8f91\u3002\u8fd9\u662f\u6211\u4eec\u4ece\u591a\u4e2a\u91cf\u4ea7\u9879\u76ee\u4e2d\u7528\u771f\u91d1\u767d\u94f6\u6362\u6765\u7684\u7ecf\u9a8c\u3002<\/p>\n<\/blockquote>\n<hr>\n<p><em>Tags: #AutoSAR #BMS #\u5d4c\u5165\u5f0f\u8f6f\u4ef6 #\u529f\u80fd\u5b89\u5168 #\u57df\u63a7\u5236\u5668<\/em><br \/>\n<em>\u9996\u6b21\u53d1\u5e03\uff1a2026-08-11<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AutoSAR \u5728 BMS \u8f6f\u4ef6\u4e2d\u7684\u5e94\u7528\uff1a\u4ece Classic \u5230 Adaptive \u7684\u5de5\u7a0b\u5b9e\u8df5 BMS \u7684\u8f6f\u4ef6 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[25,16,27,28,29,26],"class_list":["post-37","post","type-post","status-publish","format-standard","hentry","category-24","tag-autosar","tag-bms","tag-27","tag-28","tag-29","tag-26"],"_links":{"self":[{"href":"https:\/\/bmsvr.com\/index.php?rest_route=\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bmsvr.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bmsvr.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bmsvr.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bmsvr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=37"}],"version-history":[{"count":1,"href":"https:\/\/bmsvr.com\/index.php?rest_route=\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":38,"href":"https:\/\/bmsvr.com\/index.php?rest_route=\/wp\/v2\/posts\/37\/revisions\/38"}],"wp:attachment":[{"href":"https:\/\/bmsvr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bmsvr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bmsvr.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}