2. SA8155硬件架构基础
SA8155(高通骁龙8155车规平台)是智能座舱域控制器的典型SoC,其多媒体链路能否跑通,首先取决于对硬件架构的正确理解。Camera从MIPI CSI进入ISP,Display经DPU输出到DP/DSI,中间要穿过VPU、GPU、NPU、DSP与DDR总线,任何一环的带宽、时钟或电源域配置错误,都会表现为花屏、掉帧或黑屏。本节从SoC总体框图出发,梳理多媒体相关模块、内存与总线拓扑,以及Camera与Display的外设接口。
一、SoC总体框图与多媒体模块分工
SA8155采用多核异构架构,可粗略分为计算域、多媒体域、AI域和连接域。CPU(Kryo 485,通常8核)负责系统调度、HAL层与业务逻辑;GPU(Adreno 6xx)承担图形渲染、图层合成与部分图像后处理;NPU负责DMS/OMS等视觉推理;DSP(Hexagon,含cDSP与sDSP)处理音频、传感器融合与低功耗常驻任务;ISP负责RAW域处理;DPU负责显示合成与扫描输出;VPU负责视频编解码。Camera与Display链路并不只依赖ISP和DPU,而是多个模块协同的结果。
- CPU:运行QNX/Android/Linux,管理Camera HAL、Display HAL、V4L2与DRM/KMS。
- GPU:执行EGL/OpenGL ES合成,处理多图层缩放、旋转与色彩转换。
- NPU:运行人脸、手势、疲劳检测模型,输入常来自Camera的YUV或RGB帧。
- DSP:承担音频前后处理、语音唤醒,也可参与部分图像预处理。
- ISP:完成去马赛克、降噪、3A、HDR、色调映射,输出NV12/YUV420。
- DPU:多图层叠加、Gamma、色彩管理,输出到DP/DSI/eDP。
- VPU:H.264/H.265编解码,用于录像、投屏与视频会议。
二、内存与总线拓扑
SA8155的DDR控制器连接LPDDR4X/LPDDR5,所有多媒体模块通过NoC(Network on Chip)与系统总线访问内存。Camera RAW帧、ISP中间帧、GPU纹理、DPU扫描缓冲都占用DDR带宽。总线拓扑可理解为“多主多从”:ISP、GPU、DPU、VPU、NPU、CPU均为总线主设备,DDR与SRAM为从设备。带宽争抢是多媒体链路最常见的隐性故障源。
三、Camera与Display外设接口
Camera侧,SA8155提供多路MIPI CSI-2接口,常见配置为4 lane或2 lane,连接解串器(Deserializer)后接入多路摄像头。CSI信号经PHY进入ISP,再写入DDR供GPU/NPU/VPU消费。Display侧,输出接口包括DP、DSI、eDP,DPU将合成后的图层送入对应编码器,再驱动屏幕或桥接芯片。
| 接口 | 方向 | 典型用途 | 关键参数 |
|---|---|---|---|
| MIPI CSI-2 | 输入 | 前视/环视/DMS摄像头 | lane数、数据率、VC通道 |
| MIPI DSI | 输出 | 仪表屏、中控屏 | lane数、像素时钟、时序 |
| DisplayPort | 输出 | 副驾屏、HUD、外接显示 | 链路速率、MST、EDID |
| eDP | 输出 | 高分辨率仪表 | lane数、背光PWM |
| I2C/GPIO | 双向 | SerDes配置、复位、中断 | 地址、上电时序 |
四、案例:从Camera到Display的一次完整数据流
以DMS摄像头叠加到中控屏为例:摄像头经CSI进入ISP,ISP输出NV12写入DDR;NPU读取该帧做疲劳检测,输出结果给CPU;GPU将Camera预览层、UI层、告警层合成为一张图层;DPU读取GPU合成结果,叠加硬件光标与Gamma后经DSI输出到屏幕。整条链路涉及CSI、ISP、DDR、NPU、GPU、DPU、DSI七个环节。
五、常见误区与复盘要点
复盘时建议按“接口—时钟—电源—带宽—时序”五步排查:先确认CSI/DSI链路是否link up,再核对像素时钟与lane速率,然后检查各电源域与复位时序,接着用带宽工具观察DDR占用,最后用示波器或DPU寄存器确认输出时序。掌握这套硬件拓扑,后续Camera HAL与Display HAL的调试才有稳定的参照系。
# 查看CSI链路状态(示例)
cat /sys/kernel/debug/cam_sensor/status
# 查看DPU输出时序
cat /sys/kernel/debug/dpu/0/timing
# 查看DDR带宽占用
cat /sys/kernel/debug/ddr/bw_stat