2. 高通座舱平台概览
做车载系统集成这些年,我接触过不少芯片平台。但说实话,高通骁龙SA8295和SA8255这两颗SoC,确实把座舱硬件的天花板又往上推了一大截。今天咱们就掰开揉碎了聊聊,这两颗芯片到底强在哪,硬件参考设计该怎么搭,外设接口又该怎么接。
2.1 SA8295与SA8255:核心特性对比
先看一张对比表,心里有个底:
| 特性 | SA8295 | SA8255 |
|---|---|---|
| 制程工艺 | 5nm | 5nm |
| CPU | Kryo 695 (8核, 最高2.9GHz) | Kryo 695 (6核, 最高2.5GHz) |
| GPU | Adreno 690 (支持3路4K) | Adreno 662 (支持2路4K) |
| DSP | Hexagon V66 (双HVX) | Hexagon V65 (单HVX) |
| ISP | 双ISP, 支持8路摄像头 | 单ISP, 支持4路摄像头 |
| AI算力 | 30 TOPS | 15 TOPS |
| 典型场景 | 旗舰座舱+环视+舱内感知 | 中高端座舱+基础环视 |
我的经验:选型时别只看算力。SA8295的30 TOPS是AI引擎的峰值,实际跑模型要看带宽和内存延迟。我遇到过客户拿SA8295跑一个轻量级模型,结果发现瓶颈在DSP到内存的搬运上——嗯,这个坑后面细说。
2.2 CPU/GPU/DSP/ISP:各模块怎么分工
2.2.1 CPU:Kryo 695的调度策略
SA8295的8核Kryo 695,分成1个超大核+3个大核+4个小核。我个人习惯把实时任务(比如CAN报文解析)绑在小核上,把UI渲染和AI推理绑在大核上。为什么?小核省电,而且实时任务不需要高频,关键是延迟要稳定。
举个例子:
// 绑核示例(伪代码)
// 小核:CAN接收线程
pthread_setaffinity_np(can_thread, &small_core_mask);
// 大核:UI渲染线程
pthread_setaffinity_np(ui_thread, &big_core_mask);
避坑指南:我曾经把环视算法线程绑在超大核上,结果发现GPU抢带宽时,超大核反而被拖慢。后来改成绑在大核上,配合DSP做预处理,帧率反而上去了。所以别迷信超大核,要看整体数据流。
2.2.2 GPU:Adreno 690的多屏渲染
Adreno 690支持3路4K@60fps同时输出。说白了,就是仪表盘、中控、副驾屏各跑各的,互不干扰。但要注意——GPU的显存带宽是共享的。如果你三路都开HDR,带宽很容易打满。
我建议的做法:
- 仪表盘用低延迟模式(不缓存,直接推)
- 中控用标准模式(带双缓冲)
- 副驾屏用省电模式(降帧到30fps)
2.2.3 DSP:Hexagon V66的视觉加速
Hexagon V66带双HVX向量扩展,专门干图像预处理。你想想看,环视算法里最耗时的就是鱼眼校正和透视变换。这些活如果扔给CPU,8核全跑满也就30fps;但交给DSP,轻松跑到60fps。
我习惯把DSP当做一个“图像协处理器”:
// DSP任务分配示例
// HVX0: 鱼眼校正 + 亮度均衡
// HVX1: 透视变换 + 拼接融合
// CPU: 只做目标检测的后处理
2.2.4 ISP:双ISP的摄像头管理
SA8295的双ISP,每个ISP可以同时处理4路摄像头。这意味着你可以接8路摄像头——4路环视+2路舱内+2路侧视。但要注意,ISP的带宽是固定的,每路的分辨率和帧率要算清楚。
| 摄像头类型 | 分辨率 | 帧率 | ISP通道占用 |
|---|---|---|---|
| 环视(4路) | 1920x1080 | 30fps | 4通道 |
| 舱内(2路) | 1280x720 | 30fps | 2通道 |
| 侧视(2路) | 1280x720 | 15fps | 2通道 |
注意:ISP的MIPI CSI接口是固定的,不能随意切换。我曾经在项目里把环视和舱内摄像头接反了,结果ISP的时钟域对不上,画面一直闪。后来老老实实按参考设计走线,问题才解决。
2.3 硬件参考设计:Power Tree、Memory、PMIC
2.3.1 Power Tree:供电树怎么搭
SA8295的功耗不低,峰值能到15W。供电树的设计直接决定系统稳定性。我习惯分三路:
- VDD_CORE:0.7V~0.9V,给CPU/GPU核心供电,电流需求大(>10A)
- VDD_MEM:1.1V,给LPDDR5供电,纹波要控制在30mV以内
- VDD_IO:1.8V/3.3V,给外设接口供电,注意上电时序
上电时序很关键。高通要求VDD_CORE先上,然后VDD_MEM,最后VDD_IO。顺序错了,SoC可能锁死。我见过一个团队把顺序搞反了,结果芯片一直无法启动,查了三天才发现是PMIC的配置问题。
2.3.2 Memory:LPDDR5的选型与布局
SA8295支持LPDDR5,频率最高6400Mbps。我建议至少配8GB,跑环视+座舱才够用。布局上要注意:
- 走线等长:每组DQ信号长度差不超过50mil
- 参考层完整:LPDDR5下面不要走其他信号
- 去耦电容:每颗DRAM颗粒旁边放4颗0.1uF+2颗1uF
我的习惯:Memory的仿真一定要做。我遇到过一版PCB,LPDDR5的时序裕量只有20ps,量产时高温下频繁报错。后来加了一颗PLL时钟缓冲器,才把裕量拉到80ps。仿真能省很多返工时间。
2.3.3 PMIC:电源管理芯片的选择
高通官方推荐搭配PMIC是PMM8550。这颗PMIC集成了6路BUCK和10路LDO,基本覆盖SA8295的所有供电需求。但要注意:
- BUCK的电感选型:4.7uH+22uF,ESR要低
- LDO的压差:输入输出压差不要超过0.5V,否则发热严重
- I2C配置:PMIC的寄存器默认值不一定适合你的设计,要仔细读datasheet
2.4 外设接口:MIPI CSI、以太网、CAN、USB
2.4.1 MIPI CSI:摄像头接口的布线要点
SA8295提供4路MIPI CSI,每路4 lane,速率最高2.5Gbps/lane。布线时要注意:
- 差分阻抗:100Ω ±10%
- 等长:每对差分线长度差不超过5mil
- 屏蔽:CSI走线两侧要包地,间距至少3倍线宽
我踩过最大的坑是CSI信号串扰。有一次环视画面出现横纹,查了半天发现是CSI2和CSI3的走线挨得太近,间距只有2倍线宽。拉开到4倍线宽后,问题消失。
2.4.2 以太网:车载千兆网的设计
SA8295内置一个千兆以太网MAC,支持1000BASE-T1(车载单对线)。我建议用Broadcom的BCM89811做PHY,兼容性好。设计要点:
- MDI差分对:100Ω,走线要短
- 时钟:25MHz晶振,精度±50ppm
- 隔离:变压器要选车载级,耐压2kV
2.4.3 CAN:总线接口的隔离设计
SA8295有2路CAN-FD控制器。我习惯加隔离:
// CAN隔离方案
// SoC端:CAN控制器 -> ISO1042隔离芯片 -> CAN收发器 -> DB9
// 隔离电压:5kV
// 速率:5Mbps (CAN-FD)
注意:CAN总线一定要加共模扼流圈。我遇到过一辆车在EMC测试时,CAN总线辐射超标,加了共模扼流圈后直接降了15dB。别省这个元件。
2.4.4 USB:多路USB的供电管理
SA8295支持3路USB 3.0。每路USB的VBUS要独立供电,建议用TI的TPS2546做电源开关。设计时注意:
- 过流保护:每路限流1.5A
- ESD保护:USB D+/D-要加TVS管
- 信号完整性:USB 3.0的差分对要走内层,避免跨分割
2.5 知识结构总览
下面这张SVG图,把SA8295/SA8255的硬件架构串起来了。你可以把它当作设计时的检查清单:
这张图把SoC核心、外设接口、参考设计三块串起来了。你设计时,可以按这个结构逐项检查,不容易漏。