電子電路

  • 電學基礎
    • 電壓 / 電流 / 歐姆定律
  • 被動元件
    • 電阻 / 電容 / 電感 / RC電路
  • 主動元件
    • 二極體 / 電晶體 / 運算放大器
  • 模擬電路
    • 濾波器 / 放大器 / 震盪器
  • 數位電路
    • 邏輯閘 / 555 / 計數器
  • PCB設計與整合
    • KiCad / Arduino 實作
比較項目 主動元件(Active) 被動元件(Passive)
是否提供能量 ✔ 需要外部電源,可放大或產生能量 ✘ 不提供能量,只吸收或儲存能量
能量轉換功能 ✔ 可以將電能轉換為其他形式(例如放大、開關控制) ✘ 只能消耗或暫存能量
控制能力 ✔ 能控制電流(例如開關、訊號調整) ✘ 無法主動控制,響應取決於輸入
非線性性質 常為非線性元件(如電晶體、二極體) 多為線性元件(如電阻、電容)
舉例 電晶體(BJT, MOSFET)、二極體、IC、運算放大器等 電阻器(R)、電容器(C)、電感器(L)

分壓電路

Lab ADC

EEPROM

是儲存單元,負責存放硬體描述(如 FRU 資訊)或 BMC 的設定數據。

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

M24C64-RMN6TP-2-GP
Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

FRU

是硬體資訊,描述伺服器硬體模組,用於資產追蹤與維修。

I2C

  • 一種低速的雙線通信協議,用於連接主機(如 BMC)和多個外設(如 EEPROM、溫度感測器等)。有主從架構,主機發起通信,從機回應。在 BMC 的應用:用來監控硬體設備的狀態,例如存取 EEPROM 儲存韌體資訊、讀取溫度感測器數據,或控制 GPIO 擴展器。

  • BMC 的應用:用來監控硬體設備的狀態,例如存取 EEPROM 儲存韌體資訊、讀取溫度感測器數據,或控制 GPIO 擴展器。

  • Philips (現為 NXP)

  • 適用 低成本 簡單的通訊

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

  • Feature

  • Usecase

    • 感測器
    • 記憶體(e.g. EEPROM)
  • 優缺點

    • Pros
      • 通用性高,協議簡單
    • Cons
      • 沒有內建錯誤檢測(例如 CRC)
      • 缺乏嚴格的時間約束。
  • Protocol

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

  • Cmd

  • 操作範例

  1. 找到 I2C bus 和地址:
    ​​​​i2cdetect -y <bus-number>
    
  2. 從地址 0x00 讀取 8 bytes 的數據(例如:儲存韌體版本):
    ​​​​i2ctransfer -y <bus-number> w1@<device-address> 0x00 r8
    
  3. 寫入一筆資料到地址 0x10
    ​​​​i2ctransfer -y <bus-number> w2@<device-address> 0x10 0xAA
    
  • 掃有哪些I2C:

    • i2cdetect -l
    • ls /sys/class/i2c-dev
  • 看哪些連結的有回應

    ​​​​root@ums120:~# i2cdetect -y 14
    ​​​​     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    ​​​​00:                         -- -- -- -- -- -- -- --
    ​​​​10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    ​​​​20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    ​​​​30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    ​​​​40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
    ​​​​50: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- --
    ​​​​60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    ​​​​70: -- -- -- -- -- -- -- --
    
  • 一個 Byte 操作

    • example
      ​​​​​​​​i2cget -y 1 0x50 0x10
      
    • example
      ​​​​​​​​i2cset -y 1 0x50 0x10 0x20
      
  • 複雜 Byte 操作
    寫入兩個byte(0x10, 0x20) 到 地址 0x50 讀取 128 bytes

    ​​​​i2ctransfer -y 1 w2@0x50 0x10 0x20 r128 
    

Lab Temp Sensor

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Lab FRU

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Lab IPMI

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

SMBus

  • (常用)
  • 簡單解釋: I²C 的延伸版,加入更多系統管理功能,例如封包錯誤檢查(PEC)和時序控制,用於更可靠的數據通信。
  • 在 BMC 的應用: 常用於與智慧電池(Smart Battery)或溫度感測器等關鍵設備通信,幫助 BMC 進行更可靠的系統健康監控。
  • protocol
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →
  • common cmd
    Image Not Showing Possible Reasons
    • The image was uploaded to a note which you don't have access to
    • The note which the image was originally uploaded to has been deleted
    Learn More →

PMBus

  • 通常用於電源
  • PMBus:基於 I²C/SMBus 的高階協議,專門用於電源管理,允許對電源設備進行監控和控制,例如調節電壓、電流或讀取溫度。用於監控電源供應器(PSU)的狀態,確保伺服器的電源供應正常,並在異常時發出告警。

I2C vs SMBus vs PMBus

I2C SMBus PMBus
改進 資料格式,時間約束, CRC 檢查和裝置發現,標準化的命令 基於 SMBus,標準化的電源管理指令集。裝置間的互操作性(Interoperability)。精細的控制(如數字電源模組)
Philips (現為 NXP) Intel
Multi-Master, Multi-Slave
Use case 感測器,記憶體(如 EEPROM) 系統關鍵元件的通訊(如溫度監控、電源管理)溫度監控。電壓監控。晶片健康狀態監測。
Pros 通用性高,協議簡單 穩定,內建的錯誤檢測 標準化的指令集,減少不同廠商之間的兼容問題。源參數監控與配置
Cons 1.沒有內建錯誤檢測(例如 CRC)2.缺乏嚴格的時間約束。 1.不如 I²C 靈活。2.傳輸速度限制較低 電源管理裝置,不具備通用性。
image

SPI

  • SPI (Serial Peripheral Interface) is a synchronous serial communication protocol used for short-distance communication between a master device (e.g., microcontroller) and one or more slave devices (e.g., sensors, flash memory).

  • 同步

  • 短距離

  • application: for interfacing flash memory (e.g., NOR/NAND), sensors, and display modules.

    image
    image

    image

  • Usecase

    • 韌體更新(Firmware Update):BMC 通過 SPI 接口在系統運行時更新 BIOS。
    • 系統啟動(Boot):在伺服器啟動時,CPU 通過 SPI 讀取 SPI Flash 內的韌體。
    • 遠端修復(Recovery):BMC 通過 SPI 幫助恢復受損的固件。
  • Protocol

    image

Lab 更新 flash

image
image

image

image
image

image

UART

UART Controller and COM Port

  • Universal Asynchronous Receiver/Transmitter
    是一種序列通訊協定的硬體控制器,將資料從「平行資料匯流排(如 CPU 寄存器)」轉換成「位元流(bit stream)」以便透過 TX/RX 腳位傳送。
名稱 是什麼? 本質角色
UART Controller 一種硬體模組或電路(通常在 SoC、南橋晶片、MCU 裡) 負責「位元」與「字元」的轉換、傳輸控制邏輯
COM Port 作業系統中對 UART 裝置的名稱(如 /dev/ttyS0COM1: OS 抽象出來的裝置節點,用來存取 UART 控制器

UART Controller 的功能:

  • 位元編碼與解碼:例如 8N1 → 8 個資料位、無 parity、1 個停止位
  • 波特率設定:如 115200 bps(即每秒可傳 11.5 萬個 bit)
  • 中斷控制:傳完/收完一個字元觸發 IRQ 通知 CPU
  • FIFO buffer:硬體緩衝避免漏資料

存在位置:

  • MCU 內部(如 STM32 的 USART)
  • SoC(如 Raspberry Pi 的 miniUART、PL011)
  • PC 主機板南橋晶片或 LPC-to-UART
  • PCIe/UART 擴充卡上的 16550 UART 晶片

COM Port 是什麼?

  • 作業系統為了讓軟體存取 UART 而提供的裝置節點或「入口名稱」。

windows

裝置名稱 對應意義
COM1 第一個 UART 控制器(通常對應 0x3F8 I/O port)
COM2 第二個 UART 控制器(通常對應 0x2F8)

Linux

裝置節點 解釋
/dev/ttyS0 第一個傳統 UART 控制器
/dev/ttyUSB0 透過 USB-to-Serial 裝置產生的虛擬 UART
/dev/ttyAMA0 特定 ARM SoC(如 Raspberry Pi)上的 UART

CPU Program

COM Port

UART Driver

UART Controller

TX/RX Pins

項目 UART Controller COM Port
本質 硬體模組 OS 上的裝置名稱
功能 傳輸控制、編碼解碼、FIFO 提供使用者層讀寫介面
類型 嵌入式/外接晶片 Windows: COM1、Linux: /dev/ttyS0
與使用者關係 背後黑盒 使用者直接讀寫的對象

什麼是 UART routing?

  • UART routing 是在 DTS 中定義每條 UART 的角色與接腳對應,讓 kernel 知道怎麼初始化它。
  • 對 OpenBMC 來說,這樣的路由資訊關鍵於:
    1. 哪個 UART 提供給主機作為 serial console?(如 ttyS0 → SoL)
    2. 哪個 UART 用來與外部裝置通訊?(如 MCU、CPLD、sensor)
    3. 哪些 UART 是無用或要 disabled

GPIO

  • GPIO (General Purpose Input/Output) is a versatile pin on a microcontroller or System on Chip (SoC) that can be configured as either an input or an output. Key features include input mode, output mode, and additional functionalities such as pull-up/pull-down resistors and interrupt generation.

image
image

image

image

image

image

Lab Blinking LED

image
image

Lab ADC voltage

image
image

image

  • read schmantic 看astspeed 2600 spec
    可以去 /sys/bus/platform/drivers/gpio_aspeeddevmem {}
  • 驗證去 /sys/class/hwmon/hwmon5 可以看掛載在 hwmon 的值 ``

image
image

image

MCTP

MCTP (Management Component Transport Protocol)
管理元件傳輸協議

  • 功能:MCTP 是一種定義在不同物理介質(如 I²C/SMBus、PCIe、Ethernet 等)上傳輸管理資訊的標準協議。它提供了在不同系統管理元件之間的高效通訊方法。
  • 特點
    • 支援多種底層傳輸介質。
    • 提供通用的封包格式,讓不同的管理協議(如 PLDM、SPDM)可以共存。
    • 提供分層結構,讓傳輸層與應用層分離。
  • 應用場景
    • 用於傳遞設備管理指令、狀態報告或固件更新。
    • 在 BMC 中,MCTP 經常作為管理通訊的骨幹。

PLDM

PLDM (Platform Level Data Model)

平台級數據模型

  • 功能:PLDM 是用於系統管理的一套協議集合,旨在統一管理功能的數據結構和通訊方式。
  • 核心特點
    • 提供了標準化的管理命令和響應格式。
    • 支援多種功能模組(例如:Firmware Update、Event Logging、Monitoring 等)。
  • 模組分類
    1. PLDM for Firmware Update:提供標準化的固件更新方法。
    2. PLDM for Sensor and Control:用於傳感器數據讀取和控制。
    3. PLDM for Redfish Device Enablement:將 PLDM 與 Redfish 整合,方便系統管理。
    4. PLDM for Event Logging:用於記錄系統事件。
  • 應用場景
    • 將 BMC 與其他系統管理元件(如電源管理模組)進行交互。
    • 為硬體廠商提供標準化的管理協議,減少客製化開發的工作量。

SPDM

SPDM (Security Protocol and Data Model)

安全協議與數據模型

  • 功能:SPDM 是一個用於設備間安全通信的協議,主要用於身份驗證、機密性和完整性保護。
  • 特點
    • 提供雙向身份驗證:設備之間可以相互驗證其身份。
    • 支援基於硬體信任根(如 TPM)的安全機制。
    • 提供數據加密與完整性保護,確保敏感數據不被竄改或洩露。
  • 應用場景
    • 用於硬體設備之間的可信通信,例如 BMC 與其他管理模組之間的安全連線。
    • 在固件更新中確保數據來源可信。
    • 應對硬體供應鏈中的安全挑戰(如防範偽造設備)。

SoC

ast 2600

AST2600 的主要特點

  1. 處理器架構
    • 搭載 雙核心 ARM Cortex-A7 處理器作為主核,運行速度高達 1.2GHz,提供高效能。
    • 內建一個 ARM Cortex-M3 協處理器,用於即時控制和節省能耗。
    • 採用 28nm 製程,功耗更低,性能更佳。
  2. 內存和存儲支持
    • 支援 DDR4 和 DDR3 記憶體,容量最高可達 8GB。
    • 提供 SPI、eMMC、SD 等多種存儲接口,滿足多樣化存儲需求。
  3. 網絡功能
    • 集成 雙 GbE 網卡(PHY),支持 NC-SI(Network Controller Sideband Interface)。
    • 提供多通道網絡虛擬化功能,實現更靈活的網絡管理。
  4. 顯示和圖形
    • 支援 2D 硬體加速引擎,提供基本的圖形渲染能力。
    • 支援 HDMI 和 VGA 接口,分辨率最高可達 1920x1200
  5. 安全功能
    • 集成 TPM(Trusted Platform Module)2.0,提供硬體級安全保護。
    • 支援 Secure Boot 功能,保證固件來源可信。
    • 支援加密引擎,用於硬體加速的 AES、SHA 和 RSA 演算法。
  6. 系統管理與協議支持
    • 支援業界主流的管理協議,包括 IPMI 2.0RedfishMCTPPLDMSPDM
    • 兼容多種操作系統,如 Linux(常見於 OpenBMC 平台)。
  7. I/O 和擴展性
    • 提供多種 I/O 接口,包括 PCIe、USB、I²C、SPI、UART 和 GPIO。
    • 支援多個 I²C 控制器,方便連接外部感測器和其他元件。

AST2600 的應用場景

  1. 伺服器管理
    • 作為 BMC,用於監控伺服器硬體狀態(如溫度、電壓、風扇速度等)。
    • 支援遠端開關機、固件更新和事件日誌管理。
  2. 雲端資料中心
    • 通過 Redfish API 實現統一的伺服器管理和自動化。
    • 高性能和低功耗特性適合高密度伺服器部署。
  3. 嵌入式控制
    • ARM Cortex-M3 核心可用於即時任務(如電源控制或嵌入式監測)。
    • 提供強大的硬體加密能力,用於敏感數據處理。
  4. 高效能計算(HPC)
    • 通過 MCTP 和 PLDM 進行高效的硬體管理。
    • 提供可靠的安全機制以保護運算環境。

**

邏輯分析儀

JTAG

Sensors

TMP75

  • TMPx75 Temperature Sensor spec
    image

    image

    image

    image

    0x1027
    0x027
    16*2+7
    39
    image