1. 课程导入
1.1 8155的发展历程:一颗芯片的诞生
说起8155,得先聊聊它的“前世今生”。
8155的完整型号是SA8155P,来自高通。它属于高通第三代数字座舱平台。第一代是820A,第二代是SA8195P。到了8155这一代,工艺从14nm跳到了7nm。嗯,这个跨度不小。
我记得2019年刚拿到8155的样片时,第一反应是——这颗SoC的集成度太高了。以前做座舱方案,仪表用一颗MCU,中控用一颗应用处理器,再加一颗独立的DSP做语音。三颗芯片,三套BSP,三套调试工具。8155把这三件事全包了。
为什么会这样?说白了,座舱的需求变了。用户要的不再是“能导航、能听歌”,而是“多屏联动、语音交互、人脸识别、AR导航”同时跑。老架构扛不住。
8155的量产时间点很关键——2020年。那一年,国内新势力开始卷座舱体验。8155几乎是唯一的选择。到今天,你打开任何一款20万以上的新能源车,座舱芯片大概率就是8155。
核心判断:8155不是性能最强的座舱SoC,但它是最“恰到好处”的一颗。7nm工艺、Kryo 485 CPU、Adreno 640 GPU、Hexagon 690 DSP,这套组合在功耗、性能、生态之间找到了平衡点。
1.2 8155在智能座舱中的地位:为什么是它?
我经常跟团队说一句话:选座舱SoC,不是选参数,是选生态。
8155的地位,可以从三个维度看:
- 市场占有率:2021-2023年,国内智能座舱SoC市场,8155占比超过60%。几乎所有主流车厂都有8155车型。
- 软件生态:Android Automotive、QNX Hypervisor、Linux,三大操作系统在8155上都有成熟移植方案。我做过QNX+Android双系统方案,8155的硬件虚拟化支持非常完整。
- 开发者基础:高通提供了完整的SDK和文档。BSP工程师上手快,社区活跃。你遇到的大部分问题,网上都能找到讨论。
你想想看,一颗SoC能同时跑QNX(仪表、安全域)和Android(娱乐域),中间用Hypervisor隔离。8155的硬件分区和内存管理单元,天生就是为这种场景设计的。
个人经验:我在做8155的QNX BSP移植时,最头疼的不是驱动,而是中断分配。8155有多个GIC(通用中断控制器),要把安全中断和非安全中断分到不同的虚拟机。这个配置一旦出错,系统启动就挂。后来我写了一个脚本,自动检查中断路由表,才把这个问题彻底解决。
1.3 核心技术参数与性能指标:数字背后的意义
直接上表格,这是8155的核心参数。我挑几个重点讲。
| 参数项 | 规格 | 说明 |
|---|---|---|
| 制程工艺 | 7nm FinFET | 台积电N7工艺,功耗控制优秀 |
| CPU | Kryo 485,8核(1+3+4) | 1颗Cortex-A76 @2.84GHz + 3颗A76 @2.42GHz + 4颗A55 @1.8GHz |
| GPU | Adreno 640 | 支持3路4K显示输出,60fps |
| DSP | Hexagon 690 | 集成HVX向量扩展,AI算力约8TOPS |
| 内存 | LPDDR4x / LPDDR5 | 最高支持16GB,带宽约34GB/s |
| 存储 | UFS 2.1 / 3.0 | 支持eMMC 5.1 |
| 显示 | DP + DSI | 最多支持4屏独立显示 |
| 视频编解码 | H.264/H.265/VP9 | 4K@60fps解码,4K@30fps编码 |
| 网络 | 千兆以太网 + Wi-Fi 6 | 支持TSN(时间敏感网络) |
| 安全 | 高通安全执行环境(SEE) | 支持TEE、Secure Boot、密钥管理 |
挑几个关键点展开说:
CPU架构:1+3+4的三丛集设计
8155的CPU不是简单的8核A76。它用了三丛集:
- 1颗超大核(Prime Core):2.84GHz,跑最重的任务,比如仪表渲染、导航计算。
- 3颗大核(Performance Core):2.42GHz,跑Android应用、语音识别。
- 4颗小核(Efficiency Core):1.8GHz,跑后台服务、网络栈。
这种设计的好处是功耗和性能的平衡。我在做QNX调度优化时,会把安全相关的任务(仪表显示、ADAS报警)绑到超大核上,确保低延迟。娱乐任务丢到大核和小核上,不影响安全域。
避坑指南:我曾经在8155上遇到过一个问题——小核频率太低,导致UFS存储的IRQ处理延迟过高,系统出现卡顿。后来我把存储中断绑到了大核上,问题解决。记住:8155的中断亲和性配置,一定要根据任务优先级手动调整,别全交给内核自动调度。
GPU:Adreno 640的显示能力
Adreno 640支持3路4K@60fps输出。实际项目中,常见的配置是:
- 仪表屏:1920x720 @60fps,QNX渲染
- 中控屏:1920x1080 @60fps,Android渲染
- 副驾屏:1920x1080 @60fps,Android渲染
三路显示同时跑,GPU负载大约在60%-70%。如果再加一路HUD(抬头显示),负载会到85%以上。这时候就要考虑GPU频率调节策略了。
DSP:Hexagon 690的AI算力
8TOPS的AI算力,放在2024年看不算高。但在8155发布的2020年,这个数字是座舱芯片里最高的。Hexagon 690的HVX(Hexagon Vector eXtensions)向量扩展,专门为神经网络推理优化。
实际项目中,8155的DSP主要跑:
- 语音唤醒和识别(离线)
- 驾驶员监测(DMS)
- 人脸识别
- 降噪和回声消除
这些任务如果全用CPU跑,功耗会高30%以上。用DSP跑,功耗低,延迟也稳定。
1.4 8155的系统架构图
下面这张图,是我根据8155的TRM(技术参考手册)整理的。它展示了8155内部的主要模块和互联关系。
这张图里,我特别想强调两点:
- 系统互联总线(NoC):8155内部用的是多通道AXI互联,支持QoS(服务质量)和虚拟化。这意味着你可以给安全域分配独立的总线带宽,不让娱乐域的突发流量影响仪表显示。
- 安全子系统:高通SEE(安全执行环境)是独立于主CPU的硬件安全模块。Secure Boot、密钥管理、TEE都在这里。QNX的BSP移植中,安全子系统的初始化顺序非常关键——必须先于Hypervisor启动。
1.5 小结:8155为什么值得学?
做嵌入式系统这么多年,我见过太多SoC。有些性能强但功耗高,有些生态好但文档差。8155是少有的“六边形战士”——性能、功耗、生态、文档、工具链、社区支持,每一项都在80分以上。
更重要的是,8155代表了座舱SoC的典型架构:异构多核、硬件虚拟化、安全隔离、AI加速。这些概念,在未来的座舱芯片(比如8295、SA8775P)上只会更强,不会消失。
学透8155,你就能理解座舱SoC的底层逻辑。后面章节,我们会从QNX BSP的角度,一步步把8155的启动、驱动、虚拟化、安全机制全部拆开来看。