圖解AUTOSAR_SWS_IOHardwareAbstraction

AUTOSAR IO硬件抽象層詳解

基于AUTOSAR標準的IO硬件抽象層設計與實現指南

目錄

  • 1. 概述
  • 2. 架構設計
    • 2.1 模塊架構概覽
    • 2.2 內部組件結構
    • 2.3 與其他模塊的交互接口
  • 3. 狀態機
    • 3.1 狀態定義
    • 3.2 狀態轉換
    • 3.3 狀態行為
  • 4. ADC信號處理流程
    • 4.1 初始化流程
    • 4.2 轉換請求和處理
    • 4.3 通知機制
    • 4.4 按需讀取模式
  • 5. 低功耗模式
    • 5.1 低功耗狀態管理概述
    • 5.2 異步電源狀態切換
    • 5.3 同步電源狀態切換
    • 5.4 低功耗模式實現策略
  • 6. ECU信號模型
    • 6.1 ECU信號概念
    • 6.2 信號類型和屬性
    • 6.3 信號處理機制
  • 7. 總結
    • 7.1 設計要點
    • 7.2 實現建議
    • 7.3 應用場景

1. 概述

AUTOSAR IO硬件抽象層(IO Hardware Abstraction)是AUTOSAR分層架構中ECU抽象層的重要組成部分,其主要目的是提供對MCAL驅動的訪問,通過將IO硬件抽象層端口映射到ECU信號來實現。通過這種抽象,軟件組件開發人員無需了解MCAL驅動API的細節和物理層值的單位,極大地提高了軟件的可移植性和可重用性。

IO硬件抽象層不應被視為單個模塊,它可以實現為多個模塊。本文檔旨在提供IO硬件抽象層的詳細設計和實現指南,幫助開發人員理解其工作原理和使用方法。


2. 架構設計

2.1 模塊架構概覽

IO硬件抽象層在AUTOSAR軟件架構中扮演著承上啟下的關鍵角色,它位于ECU抽象層,連接應用層的軟件組件和MCAL層的驅動程序。下圖展示了IO硬件抽象層的整體架構及其與其他模塊的關系:

在這里插入圖片描述

圖2-1:AUTOSAR IO硬件抽象層模塊架構圖

2.2 內部組件結構

IO硬件抽象層內部由三個主要組件構成,它們共同協作提供完整的硬件抽象功能:

  1. IoHwAb服務:提供核心功能接口,包括初始化、配置和信號訪問服務。這是軟件組件與IO硬件抽象層交互的主要入口點。

  2. 信號處理:負責處理各類信號的轉換、濾波和驗證。將物理層的原始信號轉換為軟件組件可以理解的抽象信號,同時提供信號有效性驗證。

  3. IoHwAb硬件保護:實現各種硬件保護策略,如過流保護、短路檢測和溫度監控,確保硬件安全運行。當檢測到異常情況時,會觸發適當的保護措施。

2.3 與其他模塊的交互接口

IO硬件抽象層與AUTOSAR架構中的多個模塊交互,主要接口包括:

  • 與應用層的接口

    • 通過RTE提供標準化的ECU信號訪問接口
    • 支持軟件組件通過端口通信訪問硬件資源
    • 屏蔽底層硬件細節,簡化應用開發
  • 與MCAL層的接口

    • 與ADC驅動交互實現模擬信號采集
    • 與DIO驅動交互實現數字信號讀寫
    • 與PWM/ICU/PORT/GPT/SPI/OCU等驅動交互實現特定硬件功能
  • 與系統服務的接口

    • 與ECU狀態管理器(EcuM)交互處理初始化和關閉
    • 與默認錯誤追蹤器(DET)交互報告錯誤
  • 與通信驅動的接口

    • 與SPI外部設備等通信接口交互

通過這種分層和標準化的接口設計,IO硬件抽象層有效地隔離了應用軟件與底層硬件,實現了"編寫一次,隨處運行"的軟件可移植性目標,同時為復雜的ECU信號處理提供了靈活而強大的框架。


3. 狀態機

3.1 狀態定義

IO硬件抽象層的生命周期由明確定義的狀態機管理,確保模塊在任何時刻都處于可控的狀態。下圖展示了完整的狀態機設計:

在這里插入圖片描述

圖3-1:AUTOSAR IO硬件抽象層狀態機

IO硬件抽象層狀態機包含以下五個主要狀態:

  1. 未初始化(Uninit)

    • 模塊上電后的初始狀態
    • 此狀態下模塊不處理任何請求
    • 等待EcuM調用初始化函數
  2. 初始化中(Initializing)

    • 由EcuM觸發進入此狀態
    • 按順序執行初始化MCAL驅動、初始化信號處理和初始化硬件保護步驟
    • 完成所有初始化步驟后轉入正常運行狀態
  3. 正常運行(Running)

    • 模塊的主要工作狀態
    • 包含多個子狀態:空閑、信號處理和硬件保護
    • 響應應用層請求并提供全部功能服務
  4. 故障(Fault)

    • 當檢測到嚴重故障時進入
    • 執行故障處理和恢復操作
    • 嘗試恢復失敗時可能需要重置模塊
  5. 關閉中(Stopping)

    • 由EcuM關閉請求觸發
    • 按順序執行關閉操作:停止信號處理、停止硬件保護和通知MCAL驅動
    • 完成關閉操作后返回未初始化狀態

3.2 狀態轉換

IO硬件抽象層狀態機的主要轉換包括:

  1. 未初始化→初始化中

    • 觸發條件:IoHwAb_Init()函數調用
    • 行為:開始執行初始化序列
  2. 初始化中→正常運行

    • 觸發條件:所有初始化步驟完成
    • 行為:模塊變為完全可操作狀態
  3. 正常運行→故障

    • 觸發條件:檢測到無法在正常操作中處理的嚴重故障
    • 行為:進入故障處理流程
  4. 故障→初始化中

    • 觸發條件:故障恢復需要重新初始化
    • 行為:重置并重新初始化模塊
  5. 正常運行→關閉中

    • 觸發條件:IoHwAb_DeInit()調用或EcuM關閉請求
    • 行為:開始執行關閉序列
  6. 關閉中→未初始化

    • 觸發條件:所有關閉步驟完成
    • 行為:模塊返回初始狀態

3.3 狀態行為

每個主狀態下有特定的行為模式:

  • 正常運行狀態下的子狀態

    1. 空閑:模塊等待來自應用層的請求
    2. 信號處理:包括信號獲取、濾波和驗證三個步驟
    3. 硬件保護:定期執行故障檢測,發現故障時執行保護動作并通知應用
  • 故障處理行為

    • 對不同類型的故障執行特定的處理策略
    • 嘗試恢復操作,如重新初始化子系統
    • 若失敗,可能需上報給應用層并等待系統層面的干預
  • 初始化和關閉行為

    • 嚴格按照預定義的順序執行
    • 確保各組件間的依賴關系得到正確處理
    • 任何步驟失敗都會導致整個過程失敗

通過這種嚴格定義的狀態機,IO硬件抽象層能夠在復雜的操作條件下保持穩定且可預測的行為,有效管理資源并處理異常情況,提高系統的可靠性和安全性。


4. ADC信號處理流程

模擬數字轉換(ADC)是IO硬件抽象層中最常用的功能之一,它涉及到多層模塊間的復雜交互和信號處理。下圖詳細展示了ADC信號處理的序列流程:

在這里插入圖片描述

圖4-1:AUTOSAR IO硬件抽象層ADC轉換序列

4.1 初始化流程

ADC信號處理的初始化是整個IO硬件抽象層初始化過程的一部分,主要步驟包括:

  1. 觸發初始化

    • 應用層傳感器/執行器組件調用IoHwAb_Init<Init_Id>(IoHwAb<Init_Id>_ConfigType*)
    • IO硬件抽象層接收初始化請求并開始配置
  2. 配置ADC驅動

    • IO硬件抽象層調用Adc_Init(const Adc_ConfigType*)
    • ADC驅動執行硬件初始化,配置ADC轉換單元
    • 完成后返回狀態給IO硬件抽象層
  3. 完成初始化

    • 所有必要的配置完成后,IO硬件抽象層向應用層返回初始化成功
    • 此時系統已準備好處理ADC轉換請求

4.2 轉換請求和處理

在正常運行狀態下,ADC轉換請求按照以下流程處理:

  1. 發起轉換請求

    • 應用層調用IoHwAb_GetVoltage(af_pressure)等函數請求模擬信號轉換
    • IO硬件抽象層接收請求并準備處理
  2. 啟用通知機制

    • IO硬件抽象層調用Adc_EnableGroupNotification(Adc_GroupType)
    • 這確保轉換完成后能通過回調通知IO硬件抽象層
  3. 啟動ADC轉換

    • IO硬件抽象層調用Adc_StartGroupConversion(Adc_GroupType)
    • ADC驅動命令硬件開始轉換過程
    • ADC硬件從傳感器/執行器硬件讀取模擬信號
  4. 請求確認

    • 轉換啟動后,IO硬件抽象層向應用層返回"轉換請求已接受"的確認
    • 此時轉換尚未完成,應用層需等待通知或主動查詢結果

4.3 通知機制

ADC轉換完成后的通知處理流程:

  1. 轉換完成中斷

    • ADC硬件完成轉換后產生中斷
    • ADC驅動捕獲中斷并處理
  2. 通知回調

    • ADC驅動調用IO硬件抽象層注冊的回調函數IoHwAb_Adc_Notification_Group1()
    • IO硬件抽象層接收通知并開始處理結果
  3. 信號處理

    • IO硬件抽象層對原始ADC值進行處理,包括濾波和驗證
    • 將處理后的有效數據準備提供給應用層
  4. 應用層通知

    • IO硬件抽象層通過SetRTEEvent()通知應用層數據已準備就緒
    • 應用層收到通知后可以讀取轉換結果
  5. 數據讀取

    • 應用層調用IoHwAb_ReadVoltage(af_pressure, &buffer)讀取結果
    • IO硬件抽象層調用Adc_ReadGroup(AdcGroup, DataBufferPtr)獲取數據
    • 經過處理的轉換結果返回給應用層

4.4 按需讀取模式

除了通知機制外,IO硬件抽象層還支持按需讀取模式:

  1. 直接讀取請求

    • 應用層調用IoHwAb_GetVoltage()請求當前值
    • IO硬件抽象層直接處理請求,無需等待異步通知
  2. 單通道讀取

    • IO硬件抽象層調用Adc_ReadChannel(Adc_ChannelType)讀取特定通道
    • ADC驅動直接從硬件讀取當前值并返回
  3. 信號處理與返回

    • IO硬件抽象層對讀取的原始值進行處理和校驗
    • 將處理后的結果返回給應用層

通過這種多層次的ADC信號處理流程,IO硬件抽象層實現了以下關鍵功能:

  • 提供統一的應用層接口,屏蔽底層硬件差異
  • 支持異步通知和同步讀取兩種操作模式
  • 在原始信號與應用層之間提供信號處理和驗證
  • 有效管理硬件資源,確保正確的初始化和關閉順序

這些功能使應用開發人員能夠以標準化且簡單的方式訪問模擬信號,而無需關注底層硬件細節和復雜的信號處理邏輯。


5. 低功耗模式

在汽車電子系統中,電源管理是一個至關重要的功能,尤其對于現代汽車中的復雜ECU網絡。IO硬件抽象層在電源管理中扮演著重要角色,協調多個外設的電源狀態切換。下圖展示了低功耗狀態切換的序列流程:

在這里插入圖片描述

圖5-1:AUTOSAR IO硬件抽象層低功耗狀態切換序列

5.1 低功耗狀態管理概述

低功耗狀態管理是IO硬件抽象層提供的重要功能,主要包括:

  • 功耗模式協調:協調多個外設模塊(如ADC、PWM等)統一進入/退出低功耗狀態
  • 狀態準備和切換分離:將低功耗狀態切換分為準備和實際切換兩個階段,保證系統穩定性
  • 支持同步和異步模式:根據系統要求,提供同步(阻塞式)和異步(非阻塞式)兩種切換方式

低功耗狀態管理涉及多個系統組件,包括:

  1. 基礎軟件模式管理器(BswM):負責系統級模式管理,發起低功耗請求
  2. 運行時環境(RTE):提供應用層與基礎軟件層的通信通道
  3. IO硬件抽象層:協調多個MCAL驅動的電源狀態切換
  4. MCAL驅動:直接控制硬件進入/退出低功耗狀態

5.2 異步電源狀態切換

異步電源狀態切換是一種非阻塞式切換機制,特別適用于切換時間較長的場景。其流程如下:

  1. 準備階段

    • BswM通過RTE調用IoHwAb_PreparePowerState_LowPowerModeA()啟動準備流程
    • IO硬件抽象層查詢各驅動的當前電源狀態,如調用Adc_GetCurrentPowerState()
    • IO硬件抽象層調用各驅動的準備函數,如Adc_PreparePowerState()Pwm_PreparePowerState()
    • 準備函數立即返回,表示準備過程已啟動,但尚未完成
    • IO硬件抽象層向RTE返回"準備開始"狀態
  2. 周期性檢查

    • 系統周期性任務調用IO硬件抽象層的PeriodicTask()函數
    • IO硬件抽象層內部調用IoHwAb_PollForResults()檢查各驅動準備狀態
    • 若所有驅動尚未準備完成,周期性檢查繼續進行
  3. 通知完成

    • 驅動準備完成后,通過回調通知IO硬件抽象層
    • ADC驅動調用IoHwAb_Adc_NotifyReadyForPowerStateLowPowerModeA()
    • PWM驅動調用IoHwAb_Pwm_NotifyReadyForPowerStateLowPowerModeA()
    • IO硬件抽象層標記對應驅動已準備完成
  4. 執行切換

    • 確認所有驅動均已準備完成后,IO硬件抽象層調用IoHwAb_EnterPowerStateLP1()
    • IO硬件抽象層調用各驅動的實際設置函數,如Adc_SetPowerState()Pwm_SetPowerState()
    • 驅動執行實際的硬件電源狀態切換
    • IO硬件抽象層通知RTE狀態切換完成,RTE更新BswM的模式端口

5.3 同步電源狀態切換

同步電源狀態切換是一種阻塞式切換機制,適用于需要快速切換或確定切換時間的場景。其流程如下:

  1. 準備和切換階段

    • BswM通過RTE調用IoHwAb_PreparePowerState_LowPowerModeA()
    • IO硬件抽象層查詢各驅動當前電源狀態
    • IO硬件抽象層以阻塞方式調用各驅動準備函數,等待其完成
    • 所有驅動準備完成后,IO硬件抽象層立即調用IoHwAbs_EnterPowerStateLowPowerModeA()
    • IO硬件抽象層調用各驅動的實際設置函數,完成電源狀態切換
    • IO硬件抽象層通知RTE狀態切換完成,RTE更新BswM的模式端口
    • 整個過程在同一函數調用中完成,調用方阻塞等待
  2. 主要差異

    • 同步模式下無需周期性檢查和通知機制
    • 準備和切換在同一調用序列中完成
    • 調用方(通常是BswM)需等待整個過程完成

5.4 低功耗模式實現策略

IO硬件抽象層的低功耗管理實現涉及多個方面:

  • 協調機制

    • 使用狀態標志跟蹤各驅動的準備狀態
    • 實現超時機制處理驅動未能及時準備的情況
    • 確保所有驅動的狀態一致性
  • 接口標準化

    • 為各類驅動提供統一的電源管理接口
    • 支持不同電源模式的定義和切換
    • 處理驅動間的依賴關系
  • 錯誤處理

    • 妥善處理準備或切換過程中的錯誤
    • 提供回退機制在發生錯誤時恢復正常運行
    • 報告異常情況給系統管理模塊

通過這些機制,IO硬件抽象層有效地實現了復雜多驅動環境下的低功耗管理,既滿足了節能要求,又保證了系統的穩定性和可靠性。這對于汽車電子系統尤為重要,特別是在電池供電或需要降低能耗的場景中。


6. ECU信號模型

ECU信號是IO硬件抽象層的核心概念,代表了物理電氣信號在軟件中的抽象表示。下圖展示了完整的ECU信號類模型:

在這里插入圖片描述

圖6-1:AUTOSAR IO硬件抽象層ECU信號模型

6.1 ECU信號概念

ECU信號是將物理電氣信號抽象為軟件接口的關鍵機制,具有以下特點:

  1. 定義與范圍

    • ECU信號代表一個電氣信號,通常對應一個或多個ECU物理引腳
    • 每個信號具有唯一標識符、確定的類型和方向屬性
    • 信號可以關聯多種屬性,描述其特性和處理要求
  2. 抽象級別

    • 對應用層提供完全抽象的接口,屏蔽底層硬件細節
    • 應用軟件組件通過ECU信號訪問硬件資源,無需了解驅動細節
    • 保護硬件不受軟件錯誤使用的影響
  3. 基本結構

    • ECUSignal基類:定義所有信號的共有特性
      • 信號標識符:唯一識別信號的ID
      • 信號類型:指明信號的基本類型
      • 信號方向:INPUT(輸入型)或OUTPUT(輸出型)
      • 信號屬性列表:關聯到該信號的各類屬性對象

6.2 信號類型和屬性

IO硬件抽象層支持多種信號類型和屬性,以適應不同的硬件接口需求:

  1. 信號類型

    • AnalogInput:模擬輸入信號,如溫度、壓力傳感器信號

      • 具有數據類型、數值范圍、分辨率和精度等屬性
      • 通常通過ADC驅動實現
    • AnalogOutput:模擬輸出信號,如控制電壓、驅動信號

      • 定義輸出電壓范圍、分辨率和最大延遲
      • 通常通過DAC或PWM驅動實現
    • DigitalInput:數字輸入信號,如開關狀態、按鈕

      • 簡單的布爾類型(0或1)
      • 通過DIO驅動實現
    • DigitalOutput:數字輸出信號,如LED控制、繼電器控制

      • 布爾類型輸出,定義延遲要求
      • 通過DIO驅動實現
    • PWMSignal:脈寬調制信號,用于電機控制、燈光調節等

      • 定義周期時間和占空比
      • 通過PWM驅動實現
  2. 信號屬性

    • FilteringAttribute:過濾/防抖屬性

      • 定義信號的過濾方式(原始或已過濾)
      • 指定帶寬和截止頻率
      • 主要用于輸入信號,消除噪聲和抖動
    • AgeAttribute:老化屬性

      • 定義信號值的最大有效時間
      • 規定超時后的處理行為
      • 對輸入信號定義讀取值有效期,對輸出信號定義寫入超時
    • DiagnosisAttribute:診斷屬性

      • 定義信號的診斷狀態監控方式
      • 支持短路、開路、過溫等故障檢測
      • 與診斷功能協同工作
    • ChangeReportingAttribute:變更報告屬性

      • 控制信號值變化時的通知機制
      • 定義回調函數,在值變化時調用
      • 減少應用層輪詢需求

6.3 信號處理機制

IO硬件抽象層對ECU信號實施多層次處理,確保信號的可靠性和一致性:

  1. 信號映射

    • 將RTE端口映射到具體的ECU信號
    • 通過配置工具生成映射關系
    • 支持多對一、一對多的復雜映射關系
  2. 信號轉換

    • 執行物理值與軟件值之間的轉換
    • 應用縮放因子和偏移量
    • 確保單位和范圍的正確性
  3. 信號保護

    • 實施范圍檢查,防止無效值
    • 提供故障保護機制
    • 在檢測到故障時采取安全動作
  4. 信號共享

    • 支持多個軟件組件共享同一物理信號
    • 管理訪問沖突和優先級
    • 確保數據一致性

通過這種結構化的ECU信號模型,IO硬件抽象層實現了應用軟件與硬件驅動之間的有效解耦,既提高了軟件的可重用性和可移植性,又為硬件保護和故障管理提供了強大的機制,是AUTOSAR分層架構不可或缺的中間層。


7. 總結

本文詳細介紹了AUTOSAR IO硬件抽象層的設計與實現,從架構設計、狀態機管理、信號處理流程到低功耗模式和ECU信號模型,全面闡述了這一關鍵模塊的內部工作機制和外部接口。

7.1 設計要點

AUTOSAR IO硬件抽象層的核心設計要點包括:

  1. 分層抽象

    • 嚴格遵循AUTOSAR分層架構原則,處于ECU抽象層
    • 向上提供標準化的信號接口,向下適配多種驅動
    • 實現應用軟件與硬件驅動的有效解耦
  2. 狀態管理

    • 采用狀態機模式管理模塊生命周期
    • 定義清晰的狀態轉換條件和行為
    • 有效處理異常情況和故障恢復
  3. 信號處理

    • ECU信號作為核心抽象概念
    • 支持多種信號類型和豐富的屬性定義
    • 提供信號轉換、過濾和保護機制
  4. 低功耗管理

    • 協調多個外設的電源狀態變化
    • 支持同步/異步切換模式
    • 確保系統級低功耗狀態一致性

7.2 實現建議

在實際實現IO硬件抽象層時,應考慮以下關鍵點:

  1. 模塊化設計

    • 將功能劃分為明確的子模塊,如信號處理、硬件保護等
    • 定義清晰的內部接口,便于維護和測試
    • 支持配置工具自動生成特定ECU的實現
  2. 錯誤處理機制

    • 實現全面的錯誤檢測與報告
    • 分級處理開發期錯誤和運行時錯誤
    • 提供故障診斷和記錄功能
  3. 性能優化

    • 關注實時性要求,尤其是信號處理路徑
    • 優化內存使用,避免過度緩存
    • 平衡抽象層次與執行效率
  4. 測試策略

    • 針對不同信號類型開發專用測試用例
    • 驗證各種故障條件下的行為
    • 確保所有狀態轉換路徑都得到測試

7.3 應用場景

IO硬件抽象層在不同汽車應用場景中發揮著關鍵作用:

  1. 傳感器接口

    • 將各種物理傳感器(溫度、壓力、位置等)抽象為統一接口
    • 處理信號噪聲、濾波和有效性驗證
    • 使應用軟件無需關注傳感器具體類型和特性
  2. 執行器控制

    • 驅動各類執行器(電機、閥門、指示燈等)
    • 提供故障保護和診斷功能
    • 實現標準化的控制接口
  3. 多ECU平臺

    • 支持同一應用軟件在不同硬件平臺上運行
    • 屏蔽底層硬件差異,提高軟件可重用性
    • 簡化跨平臺開發和維護
  4. 診斷與維護

    • 提供標準化的診斷接口
    • 支持生產和服務階段的測試需求
    • 便于問題定位和系統維護

IO硬件抽象層作為AUTOSAR架構的關鍵組成部分,通過標準化的接口和靈活的實現策略,有效解決了汽車電子系統復雜度不斷提高帶來的挑戰,為構建高質量、可靠的汽車軟件系統提供了堅實的基礎。未來隨著汽車電子技術的發展,IO硬件抽象層將進一步演進,以適應更復雜的硬件環境和更嚴格的功能安全要求。

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

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

相關文章

Python正則表達式(一)

目錄 一、正則表達式的基本概念 1、基本概念 2、正則表達式的特殊字符 二、范圍符號和量詞 1、范圍符號 2、匹配漢字 3、量詞 三、正則表達式函數 1、使用正則表達式&#xff1a; 2、re.match()函數 3、re.search()函數 4、findall()函數 5、re.finditer()函數 6…

北京交通大學第三屆C語言積分賽

作者有言在先&#xff1a; 題解的作用是交流思路&#xff0c;不是抄作業的。可以把重點放在思路分析上而不是代碼上&#xff0c;畢竟每個人的代碼風格是不一樣的&#xff0c;看別人的代碼就跟做程序填空題一樣。先看明白思路再看代碼。 還有就是&#xff0c;deepseek真的很好用…

機器學習之條件概率

1. 引言 概率模型在機器學習中廣泛應用于數據分析、模式識別和推理任務。本文將調研幾種重要的概率模型,包括EM算法、MCMC、樸素貝葉斯、貝葉斯網絡、概率圖模型(CRF、HMM)以及最大熵模型,介紹其基本原理、算法流程、應用場景及優勢。 2. EM算法(Expectation-Maximizati…

硬件基礎--03_電流

電流 十九世紀初:[電流方向]是指正電荷的移動方向。 后來:對于金屬導體&#xff0c;正電荷沒移動&#xff0c;其實是電子在移動。 為了定義的統一性[電流方向]仍然定義為正電荷的移動方向 所以:[電流方向]與[電子移動方向]是相反的。 概念:電荷的定向移動&#xff0c;形成了電…

multi paxos協議

1. Redo Log 同步的核心目標 ?數據一致性&#xff1a;確保所有副本在事務提交后具有相同的數據視圖。?容錯性&#xff1a;在主副本故障時&#xff0c;從副本能快速接管并恢復數據。?高吞吐&#xff1a;通過批量同步和并行處理提升效率。 2. Multi Paxos 協議的同步流程 M…

借壹起航東風,中國工廠出海開啟新征程

在經濟全球化不斷深入的當下&#xff0c;中國工廠正以積極的姿態投身海外市場&#xff0c;渴望在全球商業版圖中占據一席之地&#xff0c;綻放獨特的光彩。然而&#xff0c;出海之路充滿了挑戰與艱辛&#xff0c;品牌塑造困難重重、詢盤量不穩定、營銷成本居高不下等問題&#…

【MySQL】監控MySQL

目錄 使用狀態變量監控MySQL 使用性能模式&#xff08;Performance Schema&#xff09;監控MySQL 1.性能模式 2.性能模式設置表 3.sys模式 使用狀態變量監控MySQL 使用 show status 語句評估系統運行狀況。 可以添加范圍修飾符global或session來顯示全局或本地狀態信息。…

在linux系統上卸載并重新安裝Docker及配置國內鏡像源指

前言 Docker 作為容器化技術的核心工具&#xff0c;廣泛應用于開發、測試和部署環境。但在某些情況下&#xff08;如版本沖突、配置錯誤等&#xff09;&#xff0c;可能需要徹底卸載并重新安裝 Docker。此外&#xff0c;國內用戶直接訪問 Docker 官方鏡像源可能速度較慢&#…

Mysql內置函數篇

&#x1f3dd;?專欄&#xff1a;Mysql_貓咪-9527的博客-CSDN博客 &#x1f305;主頁&#xff1a;貓咪-9527-CSDN博客 “欲窮千里目&#xff0c;更上一層樓。會當凌絕頂&#xff0c;一覽眾山小。” 目錄 7.函數 7.1 日期函數 函數總&#xff1a;?編輯 獲得當前日期 獲得…

小愛控制OK影視搜索視頻

在adb connect ip以后&#xff0c;可以這樣打開Ok影視&#xff0c;并且進行控制 pm list packages -3 #只顯示第三方 dumpsys package com.fongmi.android.tv |grep Activity #返回 com.fongmi.android.tv/.ui.activity.HomeActivity am start -n com.fongmi.android.tv/.u…

電機倍頻曲線的一些奇異特性-原因分析及應用

這里對感應電機倍頻曲線的特征進行了說明&#xff0c;然后將其特性用于電機轉差率和工況的測量。先給出可以直接利用的結論&#xff1a; 電機的工況和轉差率譜線會體現為5x,7x譜線調制在基頻附近。兩條調制過攜帶s信息的譜線距離基頻譜線的距離。 與真實轉速相對同步轉速的頻差…

雙指針技巧在C++中的應用:從基礎到進階

目錄 1.簡介 2.同向雙指針 2.1.數組去重 2.2.最大子數組和 2.3.鏈表反轉 2.4.字符串匹配&#xff08;簡單版&#xff09; 3.對向雙指針 3.1.兩數之和&#xff08;有序數組&#xff09; 3.2.盛最多水的容器 4.快慢指針 4.1.判斷鏈表是否有環 4.2.尋找鏈表的中間節點…

語言解碼雙生花:人類經驗與AI算法的鏡像之旅

大家好&#xff0c;我是吾鳴。 今天吾鳴要給大家分享一份由浙江大學出品的DeepSeek報告&#xff0c;報告從語言的奧秘&#xff0c;人類是如何通過語言來解碼世界&#xff0c;AI又是如何理解人類的語言&#xff0c;同時介紹了當下爆火的DeepSeek-V3和DeepSeek-R1兩種大模型的進化…

如何避免測試數據準備不充分或不可復用

避免測試數據準備不充分或不可復用的關鍵方法包括明確數據需求、統一數據管理工具、建立數據復用機制、定期維護更新測試數據以及加強團隊溝通與協作。 其中&#xff0c;統一數據管理工具對確保數據質量和復用性尤為重要。例如&#xff0c;許多團隊采用專門的測試數據管理工具以…

HTTP 核心知識點整理

1. HTTP 基礎 ?定義&#xff1a;HTTP&#xff08;HyperText Transfer Protocol&#xff09;是應用層協議&#xff0c;基于 ?請求-響應模型&#xff0c;用于客戶端&#xff08;瀏覽器&#xff09;與服務器之間的通信。?特點&#xff1a; ?無狀態&#xff1a;每次請求獨立&a…

湯臣倍健業績倒車:2024年利潤下滑超六成,三大核心品牌銷量失守

撰稿|行星 來源|貝多財經 湯臣倍健的2024年&#xff0c;“隱痛”不少。 3月22日&#xff0c;國內膳食營養補充劑供應商湯臣倍健股份有限公司&#xff08;SZ:300416&#xff0c;下稱“湯臣倍健”&#xff09;公布了2024年年度報告。財報顯示&#xff0c;湯臣倍健過去一年出現了…

C#中的Lambda表達式?

在C#中&#xff0c;?Lambda表達式?是一種比匿名方法更簡潔、更靈活的語法形式&#xff0c;用于定義匿名函數&#xff08;Anonymous Function&#xff09;。它通過>運算符實現&#xff0c;能夠大幅簡化委托和表達式樹的編寫&#xff0c;是現代C#編程中廣泛使用的核心特性之…

通信系統的性能指標

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、通信系統的性能指標概述二、數字通信系統的有效性指標三、數字通信系統的可靠性指標總結 前言 一、通信系統的性能指標概述 其中一個提高&#xff0c;另一個…

Linux:(模擬HTTP協議,GET和POST方法,Http的狀態碼)

目錄 一、認識HTTP協議 1.上網的本質 2.應用層的運行邏輯 3.HTTP的概念 二、url 1.認識網址 三、HTTP協議的宏觀理解 1.HTTP請求 2.HTTP響應 3.實際的HTTP請求 &#xff08;1&#xff09;測試代碼 &#xff08;2&#xff09;接收HTTP請求 &#xff08;3&#xff09…

動態規劃之完全背包

引言&#xff1a; 完全背包 隸屬于動態規劃中的背包問題。而 01背包 又是完全背包的基石&#xff0c;所以不懂01背包的&#xff0c;有必要了解一下。 什么是完全背包&#xff1f; 01背包問題&#xff1a;有一個背包承重為V&#xff0c;有N個物品&#xff0c;每個物品的價值(…