第 1 / 50 课 · 核心课程。返回课程合集。
先沿一帧图像走一遍
典型摄像头链路可以写成传感器→CSI 接收→ISP→图像缓冲→缩放或颜色转换→NPU,也可以分出一路送视频编码器或显示。实际芯片可能在模块间使用片内通路而不把每一步都写回 DDR,必须看芯片框图和 SDK 的绑定关系。
CPU 负责启动、配置、调度和一部分计算,不表示每个像素都由 CPU 逐个搬运。I²C 配置传感器寄存器,CSI-2 传输图像,这两条路径不能混为一谈:读到 sensor ID 只证明控制路径部分工作。
给框图补上三个层次
第一层标处理模块及输入输出格式;第二层标 SRAM、DDR 和缓冲所有权;第三层标电源、时钟、复位、引脚和中断依赖。同一个“无图像”现象,可能来自任何一层。
数据流箭头应写清 RAW10、NV12、RGB 或压缩码流等格式。控制流箭头写配置接口、状态通知与错误返回。不要用一根无含义的线代表所有联系。
课程边界与学习顺序
01~07 建立电气与时序基础,08~18 认识计算单元和启动存储,19~26 追踪地址与数据搬运,27~41 学外设和多媒体接口,42~45 进入驱动、实时性与排障。46~50 是无线、工业网络、FPGA、长距离视频和可靠性选修。
本系列讲通用机制;寄存器地址、电压、时序和支持模式以实际芯片版本文档为准。已写的ISP 基础、NPU 转换和视觉进阶分别承接图像处理、工具链和模型任务。
练习与参考结论
画一张自己项目的框图,为每条数据箭头填写格式、尺寸、帧率和缓冲位置。再遮住 SDK API 名称,解释每个模块的职责。
参考检查:1920×1080 的 NV12 有效数据约为 3.11 MB/帧,30 帧每秒仅一次线性传输约为 93.31 MB/s。这个值不包含 stride 对齐、读回、协议与仲裁开销,不能当作整机 DDR 带宽。
完整课程目录
- 01 从摄像头框图认识 SoC
- 02 电平、地与逻辑阈值
- 03 差分、阻抗、端接与信号完整性
- 04 PMIC、供电时序与掉电行为
- 05 晶振、PLL、时钟树与跨时钟域
- 06 复位域、看门狗与故障恢复
- 07 ADC、DAC、参考电压与采样
- 08 MCU、MPU、SoC 与操作系统
- 09 CPU、异常、中断与多核
- 10 GPU:并行计算、图形与数据搬运
- 11 DSP:滤波、FFT、定点数与饱和
- 12 NPU:张量计算、片上存储与 TOPS
- 13 ISP:从传感器 RAW 到可用图像
- 14 视频编解码器与图像加速器
- 15 Boot ROM、Bootloader 与系统启动
- 16 NOR、NAND、擦写与 ECC
- 17 eMMC:总线模式、内部管理与分区
- 18 安全启动、固件签名与 A/B 升级
- 19 寄存器、地址空间与 MMIO
- 20 SRAM、DDR、带宽与延迟
- 21 Cache、一致性与可见性
- 22 DMA、描述符与环形缓冲
- 23 MMU、IOMMU 与三种地址
- 24 AXI、AHB、APB 与片内互连
- 25 零拷贝、dma-buf 与缓冲生命周期
- 26 共享内存、Mailbox 与核间通信
- 27 GPIO、Pinmux、上下拉与引脚状态
- 28 UART、RS-232 与 RS-485
- 29 I²C:地址、ACK、重复起始与上拉
- 30 SPI、QSPI 与 Flash 访问
- 31 定时器、PWM、输入捕获与编码器
- 32 I²S、PCM、TDM 与音频时钟
- 33 CAN 与 CAN FD:仲裁、帧和错误状态
- 34 USB:角色、端点、传输类型与 UVC
- 35 SD 与 SDIO:存储卡和外设功能
- 36 Ethernet:MAC、PHY、MDIO 与吞吐
- 37 PCIe:链路、枚举、BAR、中断与 DMA
- 38 MIPI 全景:CSI、DSI 与 PHY
- 39 摄像头接入:供电、复位、MCLK 与配置
- 40 CSI-2:数据类型、虚拟通道与带宽预算
- 41 显示链路:DSI、RGB、LVDS 与 HDMI
- 42 设备树、probe、IRQ 与资源生命周期
- 43 实时性、中断延迟与优先级反转
- 44 万用表、示波器、逻辑分析仪与 JTAG
- 45 综合排障:无图、花屏、丢帧与 NPU 慢
- 46 选修:Wi-Fi、Bluetooth 与蜂窝通信
- 47 选修:工业以太网、EtherCAT 与 TSN
- 48 选修:FPGA、流水线与时序约束
- 49 选修:长距离视频 SerDes 与 A-PHY
- 50 选修:温度、功耗、EMC 与长期可靠性