AUTOSAR進階圖解==>AUTOSAR_SWS_PDURouter

AUTOSAR PDU Router詳解文檔

AUTOSAR通信架構中的核心路由模塊

目錄

  • 1. 概述
  • 2. PDU Router模塊架構
  • 3. PDU Router配置模型
  • 4. PDU Router路由流程
  • 5. PDU Router狀態機
  • 6. 總結

1. 概述

PDU Router模塊是AUTOSAR通信架構中的核心組件,負責在AUTOSAR軟件組件之間路由I-PDU(Interaction Layer Protocol Data Units)。該模塊提供了靈活的I-PDU轉發機制,支持多種路由模式,包括單播、多播和網關功能。

1.1 PDU Router的作用

根據源文檔描述,PDU Router模塊主要提供以下功能:

  • I-PDU路由轉發:基于靜態配置的路由表,將I-PDU從源模塊轉發到目標模塊
  • 網關功能:支持不同通信接口之間的I-PDU轉發,實現網絡間通信
  • 多播支持:支持1:n路由,將單個I-PDU轉發到多個目標模塊
  • 緩沖區管理:提供FIFO和Last-is-best兩種緩沖策略
  • 傳輸協議支持:支持CAN、FlexRay、LIN等傳輸協議模塊的網關功能

1.2 核心特性

  • 靜態配置:路由路徑基于靜態配置表,不支持動態路由
  • 通用接口:采用通用接口設計,支持任意上層和下層模塊組合
  • 后構建支持:支持后構建可加載和可選擇配置
  • 錯誤處理:提供完整的錯誤檢測和報告機制

2. PDU Router模塊架構

PDU Router模塊在AUTOSAR通信架構中位于中間層,連接上層應用模塊和下層通信接口模塊。

在這里插入圖片描述

圖2-1:PDU Router模塊在AUTOSAR通信架構中的位置和關系

2.1 架構層次

應用層

  • COM模塊:通信管理模塊,負責信號和I-PDU的轉換
  • DCM模塊:診斷通信管理模塊,處理診斷請求和響應
  • IPduM模塊:I-PDU復用器,支持I-PDU的動態復用
  • DLT模塊:數據鏈路測試模塊,提供通信測試功能

PDU Router模塊

  • PDU Router引擎:核心路由引擎,執行I-PDU的路由決策和轉發
  • 路由路徑表:靜態配置的路由規則表,定義I-PDU的路由路徑
  • 緩沖區管理:管理I-PDU的緩沖存儲,支持FIFO和Last-is-best策略

通信接口層

  • CAN接口(CanIf):CAN總線接口模塊
  • FlexRay接口(FrIf):FlexRay總線接口模塊
  • LIN接口(LinIf):LIN總線接口模塊
  • 以太網接口(EthIf):以太網接口模塊

傳輸協議層

  • CAN傳輸協議(CanTp):CAN總線傳輸協議模塊
  • FlexRay傳輸協議(FrTp):FlexRay傳輸協議模塊
  • LIN傳輸協議(LinTp):LIN傳輸協議模塊
  • J1939傳輸協議(J1939Tp):J1939協議模塊

2.2 接口關系

PDU Router模塊通過以下接口與上下層模塊交互:

  • 上層接口:提供PduR_<User:Up>TransmitPduR_<User:Up>CancelTransmit等API
  • 下層接口:提供PduR_<User:Lo>RxIndicationPduR_<User:Lo>TxConfirmation等API
  • 傳輸協議接口:提供PduR_<User:LoTp>StartOfReceptionPduR_<User:LoTp>CopyRxData等API

2.3 代碼示例

/* PDU Router模塊初始化示例 */
Std_ReturnType PduR_Init(const PduR_PBConfigType* ConfigPtr)
{Std_ReturnType result = E_OK;/* 參數檢查 */if (ConfigPtr == NULL) {DET_ReportError(PDUR_MODULE_ID, 0, PDUR_INIT_SID, PDUR_E_PARAM_POINTER);return E_NOT_OK;}/* 初始化路由路徑表 */result = PduR_Internal_InitRoutingTable(ConfigPtr);if (result != E_OK) {return E_NOT_OK;}/* 初始化緩沖區管理器 */result = PduR_Internal_InitBufferManager(ConfigPtr);if (result != E_OK) {return E_NOT_OK;}/* 設置模塊狀態為在線 */PduR_Internal_SetModuleState(PDUR_ONLINE);return E_OK;
}/* 上層模塊傳輸請求示例 */
Std_ReturnType PduR_ComTransmit(PduIdType TxPduId, const PduInfoType* PduInfoPtr)
{Std_ReturnType result = E_OK;PduR_RoutingPathType* routingPath;/* 參數檢查 */if (PduInfoPtr == NULL) {DET_ReportError(PDUR_MODULE_ID, 0, PDUR_COM_TRANSMIT_SID, PDUR_E_PARAM_POINTER);return E_NOT_OK;}/* 查找路由路徑 */routingPath = PduR_Internal_GetRoutingPath(TxPduId);if (routingPath == NULL) {DET_ReportError(PDUR_MODULE_ID, 0, PDUR_COM_TRANSMIT_SID, PDUR_E_PDU_ID_INVALID);return E_NOT_OK;}/* 執行路由轉發 */result = PduR_Internal_ForwardToDestinations(routingPath, PduInfoPtr);return result;
}

3. PDU Router配置模型

PDU Router模塊的配置采用層次化的數據結構,支持靈活的模塊配置和路由規則定義。

圖3-1:PDU Router配置模型的數據結構關系

3.1 主要配置類

PduR_PBConfigType

  • 功能:PDU Router模塊的主配置類,包含所有配置數據
  • 關鍵屬性
    • PduRBswModules[]:BSW模塊配置數組
    • PduRGeneral:通用配置參數
    • PduRRoutingPathGroups[]:路由路徑組配置
    • PduRRoutingPaths[]:路由路徑配置
    • PduRSrcPdus[]:源PDU配置
    • PduRDestPdus[]:目標PDU配置
    • PduRTxBuffers[]:傳輸緩沖區配置
    • PduRDefaultValues[]:默認值配置

PduRGeneralType

  • 功能:PDU Router模塊的通用配置參數
  • 關鍵屬性
    • PduRDevErrorDetect:開發錯誤檢測開關
    • PduRVersionInfoApi:版本信息API開關
    • PduRMaxRoutingPathCnt:最大路由路徑數量
    • PduRMaxTxBufferCnt:最大傳輸緩沖區數量
    • PduRMaxRoutingPathGroupCnt:最大路由路徑組數量

3.2 路由配置類

PduRRoutingPathType

  • 功能:定義單個I-PDU的路由規則
  • 關鍵屬性
    • PduRRoutingPathId:路由路徑唯一標識符
    • PduRSrcPduRef:源PDU引用
    • PduRDestPduRefs[]:目標PDU引用數組
    • PduRDestTxBufferRef:目標傳輸緩沖區引用
    • PduRTpThreshold:傳輸協議閾值
    • PduRMaxPduLength:最大PDU長度
    • PduRBufferAllocation:緩沖區分配策略

PduRRoutingPathGroupType

  • 功能:路由路徑組配置,用于批量管理路由路徑
  • 關鍵屬性
    • PduRRoutingPathGroupId:路由路徑組標識符
    • PduRRoutingPathGroupRefs[]:路由路徑引用數組
    • PduRGroupEnableAtInit:初始化時啟用標志

3.3 緩沖區配置類

PduRTxBufferType

  • 功能:傳輸緩沖區配置,用于存儲待傳輸的I-PDU
  • 關鍵屬性
    • PduRTxBufferId:緩沖區唯一標識符
    • PduRTxBufferSize:緩沖區大小
    • PduRTxBufferRef:緩沖區內存引用
    • PduRTxBufferAllocation:緩沖區分配方式

3.4 代碼示例

/* PDU Router配置結構定義 */
typedef struct {PduRBswModuleType* PduRBswModules;PduRGeneralType PduRGeneral;PduRRoutingPathGroupType* PduRRoutingPathGroups;PduRRoutingPathType* PduRRoutingPaths;PduRSrcPduType* PduRSrcPdus;PduRDestPduType* PduRDestPdus;PduRTxBufferType* PduRTxBuffers;PduRDefaultValueType* PduRDefaultValues;
} PduR_PBConfigType;/* 路由路徑配置結構 */
typedef struct {uint16 PduRRoutingPathId;PduRSrcPduType* PduRSrcPduRef;PduRDestPduType** PduRDestPduRefs;PduRTxBufferType* PduRDestTxBufferRef;uint16 PduRTpThreshold;uint16 PduRMaxPduLength;PduR_BufferAllocationType PduRBufferAllocation;
} PduRRoutingPathType;/* 配置初始化示例 */
void PduR_InitializeConfiguration(PduR_PBConfigType* config)
{/* 初始化通用配置 */config->PduRGeneral.PduRDevErrorDetect = TRUE;config->PduRGeneral.PduRVersionInfoApi = TRUE;config->PduRGeneral.PduRMaxRoutingPathCnt = 100;config->PduRGeneral.PduRMaxTxBufferCnt = 50;config->PduRGeneral.PduRMaxRoutingPathGroupCnt = 10;/* 初始化路由路徑 */for (int i = 0; i < config->PduRGeneral.PduRMaxRoutingPathCnt; i++) {config->PduRRoutingPaths[i].PduRRoutingPathId = i;config->PduRRoutingPaths[i].PduRTpThreshold = 0;config->PduRRoutingPaths[i].PduRMaxPduLength = 4095;config->PduRRoutingPaths[i].PduRBufferAllocation = PDUR_BUFFER_ALLOCATION_DEDICATED;}/* 初始化傳輸緩沖區 */for (int i = 0; i < config->PduRGeneral.PduRMaxTxBufferCnt; i++) {config->PduRTxBuffers[i].PduRTxBufferId = i;config->PduRTxBuffers[i].PduRTxBufferSize = 4095;config->PduRTxBuffers[i].PduRTxBufferAllocation = PDUR_BUFFER_ALLOCATION_STATIC;}
}

4. PDU Router路由流程

PDU Router模塊支持多種路由場景,包括上層模塊發送、通信接口網關和傳輸協議網關等。

在這里插入圖片描述

圖4-1:PDU Router模塊的路由流程和交互序列

4.1 上層模塊發送I-PDU流程

場景描述:COM模塊向多個目標模塊發送I-PDU,實現1:n路由

參與者

  • COM模塊:上層應用模塊,發起I-PDU傳輸請求
  • PDU Router引擎:核心路由引擎,處理路由決策和轉發
  • 路由路徑表:靜態配置的路由規則表
  • 緩沖區管理:管理I-PDU的緩沖存儲
  • CAN接口、FlexRay接口:下層通信接口模塊

流程步驟

  1. 傳輸請求:COM模塊調用PduR_ComTransmit發起傳輸請求
  2. 路由查詢:PDU Router引擎查詢路由路徑表,獲取目標模塊列表
  3. 數據提供方式判斷
    • 直接數據提供:立即調用目標模塊的傳輸接口
    • 觸發傳輸數據提供:先存儲數據,等待目標模塊請求

4.2 通信接口網關流程

場景描述:CAN接口接收I-PDU并轉發到FlexRay接口,實現網關功能

參與者

  • CAN接口:源通信接口,接收I-PDU
  • PDU Router引擎:執行網關轉發邏輯
  • FlexRay接口:目標通信接口,發送I-PDU

流程步驟

  1. 接收指示:CAN接口調用PduR_CanIfRxIndication通知PDU Router
  2. 目標查詢:PDU Router引擎查詢路由路徑,確定目標模塊
  3. 轉發處理
    • 直接轉發:立即調用目標接口的傳輸函數
    • FIFO緩沖:存儲到FIFO隊列,等待目標模塊請求

4.3 傳輸協議網關流程

場景描述:CAN傳輸協議接收多幀數據并轉發到FlexRay傳輸協議

參與者

  • CAN傳輸協議:源傳輸協議模塊
  • PDU Router引擎:管理TP網關邏輯
  • FlexRay傳輸協議:目標傳輸協議模塊

流程步驟

  1. 開始接收:CAN傳輸協議調用PduR_CanTpStartOfReception開始接收
  2. 路由查詢:PDU Router引擎查詢路由路徑,確定目標TP模塊
  3. 網關模式選擇
    • 直接網關:等待完整接收后開始傳輸
    • 網關on-the-fly:達到閾值后開始傳輸

4.4 代碼示例

/* 上層模塊傳輸處理示例 */
Std_ReturnType PduR_Internal_ForwardToDestinations(PduR_RoutingPathType* routingPath, const PduInfoType* pduInfo)
{Std_ReturnType result = E_OK;uint8 destCount = 0;PduRDestPduType* destPdu;/* 遍歷所有目標PDU */while ((destPdu = routingPath->PduRDestPduRefs[destCount]) != NULL) {/* 根據數據提供方式處理 */if (destPdu->PduRDestPduDataProvision == PDUR_DIRECT) {/* 直接數據提供 */result = PduR_Internal_TransmitDirect(destPdu, pduInfo);} else {/* 觸發傳輸數據提供 */result = PduR_Internal_StoreForTriggerTransmit(destPdu, pduInfo);}if (result != E_OK) {/* 處理傳輸失敗 */DET_ReportError(PDUR_MODULE_ID, 0, PDUR_FORWARD_SID, PDUR_E_TRANSMIT_FAILED);}destCount++;}return result;
}/* 通信接口接收處理示例 */
void PduR_CanIfRxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr)
{PduR_RoutingPathType* routingPath;Std_ReturnType result = E_OK;/* 查找路由路徑 */routingPath = PduR_Internal_GetRoutingPath(RxPduId);if (routingPath == NULL) {/* 無路由路徑,丟棄I-PDU */return;}/* 執行網關轉發 */result = PduR_Internal_GatewayForward(routingPath, PduInfoPtr);if (result != E_OK) {/* 處理網關失敗 */DET_ReportError(PDUR_MODULE_ID, 0, PDUR_GATEWAY_SID, PDUR_E_GATEWAY_FAILED);}
}/* 傳輸協議網關處理示例 */
BufReq_ReturnType PduR_CanTpStartOfReception(PduIdType RxPduId, PduLengthType TpSduLength,PduLengthType* RxBufferSizePtr)
{PduR_RoutingPathType* routingPath;BufReq_ReturnType result = BUFREQ_OK;/* 查找路由路徑 */routingPath = PduR_Internal_GetRoutingPath(RxPduId);if (routingPath == NULL) {return BUFREQ_E_NOT_OK;}/* 分配緩沖區 */result = PduR_Internal_AllocateBuffer(routingPath, TpSduLength, RxBufferSizePtr);if (result == BUFREQ_OK) {/* 開始目標TP傳輸 */PduR_Internal_StartDestinationTpTransmit(routingPath, TpSduLength);}return result;
}

5. PDU Router狀態機

PDU Router模塊采用狀態機設計,管理模塊的生命周期和運行狀態。

在這里插入圖片描述

圖5-1:PDU Router模塊的狀態轉換和生命周期管理

5.1 主要狀態

未初始化狀態(Uninitialized)

  • 含義:模塊尚未初始化,無法提供任何服務
  • 特征
    • 所有內部數據結構未初始化
    • 路由路徑表為空
    • 緩沖區管理器未就緒
  • 進入條件:系統啟動時
  • 退出條件:調用PduR_Init函數成功初始化

在線運行狀態(Online)

  • 含義:模塊正常運行,提供完整的路由服務
  • 特征
    • 支持所有PDU Router功能
    • 處理I-PDU路由和網關
    • 支持管理操作
    • 錯誤檢測和處理

5.2 子狀態

空閑狀態(Idle)

  • 含義:等待處理請求的狀態
  • 特征
    • 等待I-PDU傳輸請求
    • 等待接收指示
    • 等待管理API調用

路由處理狀態(Routing)

  • 含義:處理I-PDU路由轉發
  • 特征
    • 支持1:1, 1:n, n:1路由
    • 直接數據提供和觸發傳輸
    • 多播支持
    • 傳輸確認處理

網關處理狀態(Gateway)

  • 含義:處理通信接口間網關
  • 特征
    • 通信接口間網關
    • FIFO緩沖支持
    • 直接轉發和緩沖轉發
    • 錯誤處理

TP網關處理狀態(TPGateway)

  • 含義:處理傳輸協議間網關
  • 特征
    • 傳輸協議間網關
    • 支持直接網關和on-the-fly
    • 緩沖區動態分配
    • 閾值控制傳輸

5.3 狀態轉換

初始化轉換

  • UninitializedOnline:初始化完成
  • OnlineOffline:系統關閉或錯誤
  • OfflineUninitialized:重新初始化

運行狀態轉換

  • IdleRouting:收到傳輸請求
  • IdleGateway:收到接收指示
  • IdleTPGateway:收到TP接收指示
  • IdleManagement:收到管理API調用

5.4 代碼示例

/* PDU Router狀態機實現 */
typedef enum {PDUR_STATE_UNINITIALIZED,PDUR_STATE_ONLINE,PDUR_STATE_OFFLINE
} PduR_ModuleStateType;typedef enum {PDUR_SUBSTATE_IDLE,PDUR_SUBSTATE_ROUTING,PDUR_SUBSTATE_GATEWAY,PDUR_SUBSTATE_TP_GATEWAY,PDUR_SUBSTATE_MANAGEMENT
} PduR_SubStateType;/* 狀態機處理函數 */
void PduR_MainFunction(void)
{PduR_ModuleStateType currentState;PduR_SubStateType currentSubState;/* 獲取當前狀態 */currentState = PduR_Internal_GetModuleState();currentSubState = PduR_Internal_GetSubState();switch (currentState) {case PDUR_STATE_UNINITIALIZED:/* 未初始化狀態,等待初始化 */break;case PDUR_STATE_ONLINE:/* 在線狀態,處理子狀態 */PduR_Internal_ProcessSubState(currentSubState);break;case PDUR_STATE_OFFLINE:/* 離線狀態,等待重新初始化 */break;default:/* 錯誤狀態處理 */DET_ReportError(PDUR_MODULE_ID, 0, PDUR_MAINFUNCTION_SID, PDUR_E_INVALID_STATE);break;}
}/* 子狀態處理函數 */
void PduR_Internal_ProcessSubState(PduR_SubStateType subState)
{switch (subState) {case PDUR_SUBSTATE_IDLE:/* 空閑狀態,檢查是否有待處理請求 */if (PduR_Internal_HasTransmitRequest()) {PduR_Internal_SetSubState(PDUR_SUBSTATE_ROUTING);} else if (PduR_Internal_HasRxIndication()) {PduR_Internal_SetSubState(PDUR_SUBSTATE_GATEWAY);} else if (PduR_Internal_HasTpRxIndication()) {PduR_Internal_SetSubState(PDUR_SUBSTATE_TP_GATEWAY);}break;case PDUR_SUBSTATE_ROUTING:/* 路由處理狀態 */PduR_Internal_ProcessRouting();PduR_Internal_SetSubState(PDUR_SUBSTATE_IDLE);break;case PDUR_SUBSTATE_GATEWAY:/* 網關處理狀態 */PduR_Internal_ProcessGateway();PduR_Internal_SetSubState(PDUR_SUBSTATE_IDLE);break;case PDUR_SUBSTATE_TP_GATEWAY:/* TP網關處理狀態 */PduR_Internal_ProcessTpGateway();PduR_Internal_SetSubState(PDUR_SUBSTATE_IDLE);break;case PDUR_SUBSTATE_MANAGEMENT:/* 管理操作狀態 */PduR_Internal_ProcessManagement();PduR_Internal_SetSubState(PDUR_SUBSTATE_IDLE);break;default:/* 錯誤子狀態處理 */DET_ReportError(PDUR_MODULE_ID, 0, PDUR_PROCESS_SUBSTATE_SID, PDUR_E_INVALID_SUBSTATE);PduR_Internal_SetSubState(PDUR_SUBSTATE_IDLE);break;}
}/* 狀態轉換函數 */
void PduR_Internal_SetModuleState(PduR_ModuleStateType newState)
{PduR_ModuleStateType oldState = PduR_Internal_GetModuleState();/* 狀態轉換驗證 */if (PduR_Internal_IsValidStateTransition(oldState, newState)) {PduR_Internal_ModuleState = newState;/* 狀態轉換后的處理 */switch (newState) {case PDUR_STATE_ONLINE:/* 進入在線狀態,初始化子狀態 */PduR_Internal_SetSubState(PDUR_SUBSTATE_IDLE);break;case PDUR_STATE_OFFLINE:/* 進入離線狀態,清理資源 */PduR_Internal_CleanupResources();break;default:break;}} else {/* 無效狀態轉換 */DET_ReportError(PDUR_MODULE_ID, 0, PDUR_SET_STATE_SID, PDUR_E_INVALID_STATE_TRANSITION);}
}

6. 總結

PDU Router模塊作為AUTOSAR通信架構的核心組件,提供了靈活、高效的I-PDU路由服務。通過靜態配置的路由表和狀態機設計,該模塊能夠滿足各種復雜的通信需求。

6.1 主要優勢

  • 通用性:支持任意上層和下層模塊組合,適應不同的系統架構
  • 靈活性:支持多種路由模式,包括單播、多播和網關功能
  • 可靠性:提供完整的錯誤檢測和處理機制
  • 可配置性:支持后構建可加載和可選擇配置,便于系統優化

6.2 應用場景

  • 車載網絡網關:實現不同總線系統間的數據轉發
  • 診斷通信:支持診斷數據的路由和轉發
  • 信號路由:實現應用層信號到通信接口的路由
  • 多播通信:支持一對多的數據廣播

6.3 技術特點

  • 靜態路由:基于配置表的路由決策,確保實時性能
  • 緩沖區管理:支持FIFO和Last-is-best兩種緩沖策略
  • 傳輸協議支持:完整的TP模塊網關功能
  • 錯誤處理:符合AUTOSAR標準的錯誤檢測和報告

PDU Router模塊的設計充分體現了AUTOSAR架構的模塊化和標準化特點,為汽車電子系統的通信提供了可靠的基礎設施。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98507.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98507.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98507.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RHEL7.9、RHEL9.3——源碼安裝MySQL

目錄 一、環境部署 1. 克隆rhel7.9虛擬機 二、源碼安裝MySQL 1. 準備工作 2. 源碼部署mysql8.0.40 1&#xff09;安裝編譯mysql所需軟件包 2&#xff09;編譯安裝mysql8.0.40 3&#xff09;生成啟動腳本 一、環境部署 1. 克隆rhel7.9虛擬機 改名為 “RHEL79_mysql_master” 并…

解決Win11 安全中心刪掉存在隱患的工具

打開設置&#xff0c; 找到Windows安全中心&#xff0c;找到病毒和威脅防護&#xff0c;選擇排除項&#xff0c;點 添加或刪除排除項添加文件&#xff0c;文件夾&#xff0c;工具按照自己需求選擇。或&#xff0c;刪除文件注意&#xff1a;隱患的工具或者文件安裝或者用完&…

通過URI Scheme實現從Web網頁上打開本地C++應用程序(以騰訊會議為例,附完整實現源碼)

目錄 1、需求描述 2、選擇URI Scheme實現 3、何為URI Scheme&#xff1f; 4、將自定義的URL Scheme信息寫入注冊表的C源碼實現 5、如何實現最開始的3種需求 6、后續需要考慮的細節問題 之前陸續收到一些從Web頁面上啟動我們C客戶端軟件的需求&#xff0c;希望我們能提供一…

機器學習02——模型評估與選擇(過擬合與欠擬合、K折交叉驗證、均方誤差、混淆矩陣)

上一章&#xff1a;機器學習01——機器學習概述 下一章&#xff1a;機器學習03——線性模型 機器學習實戰項目&#xff1a;【從 0 到 1 落地】機器學習實操項目目錄&#xff1a;覆蓋入門到進階&#xff0c;大學生就業 / 競賽必備 文章目錄一、經驗誤差與過擬合&#xff08;一&a…

基于 Django 與 Bootstrap 構建的現代化設備管理平臺

整體步驟概覽 創建項目和應用設計模型&#xff08;Model&#xff09; - 定義設備的數據結構配置用戶認證&#xff08;Auth&#xff09; - 使用 Django 自帶的強大用戶系統創建視圖&#xff08;View&#xff09; - 處理業務邏輯&#xff1a;登錄、列表、增刪改查編寫模板&#x…

微軟依舊穩定發揮,Windows 最新更新性能「開倒車」

微軟在前不久為Release Preview測試用戶推送了最新Windows11 25H2版本。按照慣例&#xff0c;正式版將于9月或者10月與咱們見面。雖然看起來是個跨版本的大更新&#xff0c;但是更新方式將服務堆棧更新&#xff08;SSU&#xff09;與最新累積更新&#xff08;LCU&#xff09;。…

一手實測,文心x1.1的升級很驚喜啊

一手實測&#xff0c;文心x1.1的升級很驚喜啊 前言 月9日&#xff0c;在 WAVE SUMMIT深度學習開發者大會上 百度發布了一個新的思考模型文心x1.1&#xff1a; X1 Turbo 升級為 X1.1 了。 文心4.5 Turbo 和 X1 Turbo 是2025年4月25日發布的&#xff0c;距今已經半年過去了&…

Flask 核心基礎:從 路由裝飾器 到 __name__ 變量 的底層邏輯解析

Flask 核心基礎&#xff1a;從路由裝飾器到 name 變量的底層邏輯解析 在使用 Flask 開發 Web 應用時&#xff0c;我們總會從 app Flask(__name__) 和 app.route("/") 這兩行代碼開始。看似簡單的語法背后&#xff0c;藏著 Python 裝飾器機制與 Flask 框架設計的核心…

中國AI云市場報告:阿里云份額達35.8%,高于2至4名總和

9月9日&#xff0c;國際權威市場調研機構英富曼&#xff08;Omdia&#xff09;發布《中國AI云市場&#xff0c;1H25》報告&#xff0c;報告顯示&#xff0c;2025年上半年&#xff0c;中國AI云市場規模達223億元&#xff0c;阿里云占比35.8%位列第一&#xff0c;市場份額高于2到…

鴻蒙Next開發指南:UIContext接口解析與全屏拉起元服務實戰

前言在鴻蒙應用開發過程中&#xff0c;我們經常會遇到需要獲取UI上下文實例或者在非UI上下文中調用UI相關方法的場景。隨著HarmonyOS NEXT的不斷發展&#xff0c;UIContext API為我們提供了更加優雅的解決方案。本文將詳細介紹如何使用UIContext中對應的接口獲取與實例綁定的對…

leaflet讀取mvt格式

如圖所示&#xff0c;是全國的數據&#xff0c;截圖是部分數據先安裝&#xff1a;npm install leaflet npm install leaflet.vectorgrid如果是其余的框架直接用就行&#xff1a;import * as L from leaflet; import leaflet.vectorgrid;我用的是angular,所以是ts中聲明&#xf…

OSG中交互(鼠標、鍵盤)處理

OpenSceneGraph (OSG) 中的交互處理,包括鼠標和鍵盤事件。 一、OSG 事件處理體系 OSG 使用一個基于訪問者模式的事件處理體系,核心類包括: osgGA::GUIEventHandler: 所有事件處理器的基類 osgViewer::Viewer: 查看器,管理事件隊列和分發 osgGA::EventQueue: 事件隊列…

微碩雙N-MOS管WST3392在汽車智能氛圍燈系統中的應用

汽車智能氛圍燈系統是現代車輛提升駕乘體驗的重要配置&#xff0c;其多通道LED的精密調光與控制需選用高性能、小體積的功率開關器件。微碩WINSOK的WST3392是一款雙N溝道MOS管&#xff0c;具有30V耐壓、3.7A連續電流和46mΩ的低導通電阻&#xff0c;特別適用于氛圍燈系統中的多…

深入 Kubernetes:從零到生產的工程實踐與原理洞察

&#x1f31f; Hello&#xff0c;我是蔣星熠Jaxonic&#xff01; &#x1f308; 在浩瀚無垠的技術宇宙中&#xff0c;我是一名執著的星際旅人&#xff0c;用代碼繪制探索的軌跡。 &#x1f680; 每一個算法都是我點燃的推進器&#xff0c;每一行代碼都是我航行的星圖。 &#x…

為何三折疊手機只有華為可以?看華為Mate XTs非凡大師就知道

9月4日&#xff0c;華為在深圳舉行華為Mate XTs非凡大師及全場景新品發布會&#xff0c;不同于過往手機發布會對芯片配置只字不提&#xff0c;此次發布會公開展示了華為Mate XTs非凡大師內部芯片配置——麒麟9020芯片&#xff0c;時隔四年&#xff0c;終于在發布會上看到芯片公…

TensorFlow 2.x 核心 API 與模型構建

TensorFlow 2.x 核心 API 與模型構建TensorFlow 是一個強大的開源機器學習庫&#xff0c;尤其在深度學習領域應用廣泛。TensorFlow 2.x 在易用性和效率方面做了大量改進&#xff0c;引入了Keras作為其高級API&#xff0c;使得模型構建和訓練更加直觀和便捷。本文將介紹 TensorF…

TENGJUN防水TYPE-C連接器:工業級防護,認證級可靠,賦能嚴苛場景連接

在工業控制、戶外電子、水下設備等對連接穩定性與防護性要求極致的場景中&#xff0c;TENGJUN防水TYPE-C連接器以“硬核性能全面認證”的雙重優勢&#xff0c;成為關鍵連接環節的信賴之選。從結構設計到認證標準&#xff0c;每一處細節都為應對復雜環境而生&#xff0c;重新定義…

【小呆的隨機振動力學筆記】概率論基礎

文章目錄0. 概率論基礎0.1 概率的初步認知0.2 隨機變量的分布0.3 隨機變量的數字特征0.3.1 隨機變量的期望算子0.3.2 隨機變量的矩0.4 隨機變量的特征函數0.5 高數基礎附錄A 典型分布0. 概率論基礎 \quad\quad在生活中或自然中&#xff0c;處處都存在隨機現象&#xff0c;比如每…

使用海康機器人相機SDK實現基本參數配置(C語言示例)

在機器視覺項目開發中&#xff0c;相機的初始化、參數讀取與設置是最基礎也是最關鍵的環節。本文基于海康機器人&#xff08;Hikrobot&#xff09;提供的MVS SDK&#xff0c;使用C語言實現了一個簡潔的控制程序&#xff0c;完成設備枚舉、連接以及常用參數的獲取與設置。 &…

【IoTDB】時序數據庫選型指南:為何IoTDB成為工業大數據場景的首選?

【作者主頁】Francek Chen 【專欄介紹】???大數據與數據庫應用??? 大數據是規模龐大、類型多樣且增長迅速的數據集合&#xff0c;需特殊技術處理分析以挖掘價值。數據庫作為數據管理的關鍵工具&#xff0c;具備高效存儲、精準查詢與安全維護能力。二者緊密結合&#xff0…