2013年初,高通开始进军车载处理器市场,首款产品是2013年底的602a,在2014年初正式推出,不过推出后反应平平。车载系统开发周期远比手机开发周期长,芯片至少要考虑5年后的市场,高通在2016年初推出820a(两款芯片,一款为820a,不带modem,另一款为820am,带modem),超前性能立刻获得好评。
捷豹路虎第一个使用820a做座舱域控制器,在2017年下半年就有路虎星脉和捷豹i-pace两款量产车使用820a,随后大众、本田、吉利、psa、比亚迪、玛莎拉蒂也纷纷采用820a做座舱域控制器。本田的10代雅阁美版也采用820a,已正式上市,国内则因为1.5t发动机机油增多问题,10代雅阁推迟上市。
上图为路虎揽胜星脉的座舱,采用4块屏幕,其中全液晶仪表为12.3英寸,infotainment为10英寸,车载信息显示也为10英寸,屏上有两个硕大的铝合金旋钮,还有一块hud使用的3.1英寸显示屏。可能由日本松下或哈曼打造。infotainment屏幕在启动后会自动前倾,方便驾驶者观看。infotainment屏下方的车载信息显示屏可以对车辆的空调、座椅和车辆设定进行控制,除了空调温度旋钮和音量旋钮,其余都用触控操作。仪表系统采用qnx,infotainment用linux+安卓界面。未来可能用android auto。
捷豹的第一款纯电动车i-pace采用了类似星脉的设计,只是把车载信息显示屏换成了5.5英寸。这套系统中规中矩,唯一的出彩之处是激光hud。捷豹路虎是第一个使用激光hud的车厂,激光hud显示对比度极高,色彩艳丽。
虽然不能算严格意义上的ar hud,但是已经很不错了,能与adas和导航地图系统通信。
820a相比nxp的i.mx8或者瑞萨的r-car h3,亦或者德州仪器的jacinto ex,优势有几点:
820a的绝大部分开发成本已经由手机厂家分摊完毕,有充足的降价空间
820本来就是针对移动设备的,低功耗不言而喻
cpu和gpu性能强大,同时也是特别为安卓系统设计的
820a最大优势,内含了4g modem,无需再添加通讯模块
820a的劣势在于它最初不是针对车载市场的,不是按照iso26262标准的开发流程得来的,安全等级连asil a级都达不到,只有aec-q100 3级。r-car h3是达到了asil b级,i.mx8暂时还未申请asil级别,但以nxp的能力,也能达到asil b级。当然可以通过添加其他元件让整体系统达到iso 26262标准,但毕竟是个麻烦。
和奔驰mbux相比,820am做域控制器的座舱并未给人带来多少惊喜,820am又多了一个强劲的对手,那就是英伟达的parker。parker一开始就是瞄准车载市场的,采用asil b级安全架构,内含锁步的r5内核,有内存纠正功能。parker的另一优势是深度学习能力。820a的硬件也具备深度学习能力,但是高通的起步稍微晚了点,高通在2017年7月才发布了npe的sdk。所以这方面应用还未看到,估计要等到下一代820座舱系统了。未来820域控制器可能接管部分adas功能,如360环视,车道线与行人识别,前撞报警,车道线偏离报警,不过应该只用于报警系统,不会用于主动执行系统,毕竟它没有考虑功能安全,用起来还是让人略微不放心。
此外深度学习这东西,没有太多理论依据,更多的像蛮力的搜索——非常深的层数,几千万甚至上亿参数,然后调整参数拟合输入与输出。这是一个不可解释的黑盒子,用在汽车以外的手机上没什么问题,但汽车领域要有充足的可解释性,这样才能评估安全风险。不过要想实现语义级的识别,深度学习几乎是最好的方法,尽管汽车行业不喜欢这种黑盒子,但还是不得不高度重视深度学习。
高通的npe主要在caffe2和tensor flow上运行,caffe2主要是图形类,tensor flow还可以处理语音类。820内部采用异构架构,有三个运算单元,包括cpu、gpu、dsp分别针对不同类型的应用。
820内部的hexagon 680 dsp内置了一个1024bit的smid矢量数据寄存器,高通称之为hexagon vector extensions—hexagon矢量扩展,简写为hvx。hvx每次可以处理四条vliw向量指令,每个循环可以处理多达4096bit数据,需要注意的是,一般实际应用中的指令比dsp支持的最大指令宽度要小很多,不过借助于simd和系统的特性,单个指令可以一次操作多个数据,因此在计算中很多数据可以被一次性填充进入处理过程,实现效能的最大化。
另外,hvx为了实现上下文切换功能,还设计了32个向量寄存器。规格方面,hvx支持32位的定点十进制数的操作,一般为int8位,但不支持浮点计算,毕竟成本还是要考虑的。vx内部拥有l1数据和指令缓存,4个并行的vliw标量处理单元,单元的运行频率为500mhz,还有共享的l2缓存。
此外,hvx中还有两组独立的矢量单元,这样设计实际上是为了执行多线程任务,比如同时处理音频和图像处理,矢量单元可以独立进行计算。adas中的视觉处理如360度环视,车道线识别,也就是量化的8比特数据交给dsp比较合适。dsp的能耗比差不多是最优秀的。非量化的32比特数据交给cpu或gpu处理。
上图为npe工作流程
座舱领域的深度学习可能会以语音识别或nlp自然语音处理为主要任务,并且是本地化离线与云端结合的nlp。离线nlp对目前高端cpu或者gpu来说处理能力问题不大,关键是存储语音库模型,消耗成本较高,存储器价格持续上涨令人头痛。再有可能就是知识产权的问题,离线的数据包有可能被人破解。
上图为完整的深度学习平台,可以说深度学习就是靠英伟达的gpu发展起来的,没有英伟达的gpu,深度学习不会走到今天这等地步,今天大部分深度学习的训练部分加速都是gpu完成的。而英伟达在一开始就布局长远,早在2007年推出cuda的时候,就想到用cuda建立了类似英特尔的生态圈。虽然官方发布的 cuda toolkit 并不总是最高效的实现,而是存在一定认知“黑洞”,一般用户无论如何优化cuda c程序都无法逾越性能瓶颈。
而官方发布的库,从早期的cublas,cufft到后来面向深度学习的cudnn,都不是用cuda c写的,而是nvidia内部的编译器完成的(这个是没有公开的版本),这样对nvidia好处显而易见,既能卖硬件,又能在软件上保持领先,增加用户粘度。从用户角度而言,使用高度封装的库可以降低开发、调试的门槛,直接调用c api就可以实现自己的算法,无需了解cuda c的设计细节。即使是谷歌,也是选择cuda而不是opencl作为tensorflow的后端。
问题来了,高通的gpu自然不可能用cuda,只能用opencl。cuda则有强大的生态体系,尤其是深度学习训练领域,远比opencl易用。opencl虽然句法上与cuda接近,但是它更加强调底层操作,因此难度较高,但正因为如此,opencl才能跨平台运行。基于c语言的cuda被包装成一种容易编写的代码,因此即使是不熟悉芯片构造的科研人员,也可能利用cuda工具编写出实用的程序,程序员更喜欢cuda。
当然opencl与cuda不是严格意义上的竞争关系,cuda是一个并行计算的架构,包含有一个指令集架构和相应的硬件引擎。opencl是一个并行计算的应用程序编程接口(api)。cuda c是一种高级语言,那些对硬件了解不多的非专业人士也能轻松上手;而opencl则是针对硬件的应用程序开发接口,它能给程序员更多对硬件的控制权,相应的上手及开发会比较难一些。所以用高通的gpu做深度学习,难度颇高,好在高通还有个dsp,虽然这个dsp只能做定点运算,但是还是有点用处的,比如语音处理时消除背景噪音。
英伟达的parker在性能方面优势比较明显,在深度学习领域优势更明显,但是在功耗方面很可能不如高通820am,虽然高通未给出准确的tdp数字,英伟达也未给出准确数值,有说7.5瓦,也有说最高21瓦。tdp这个指标已经有点过时了,很难准确评价芯片的功耗,但手机对功耗要求肯定比车载更加苛刻,尤其是高通810被人投诉发热严重,820肯定不会掉以轻心,车载的估计也适当降低cpu性能来降低功耗。
中美贸易争端的大背景下,高通收购nxp很有可能得不到批准。未来高通的820a,英伟达的paker会对老牌厂家nxp的i.mx8 (i.mx8qm、 i.mx8qp要到2018年3季度才有量产样片,且还是28纳米的fd-soi工艺),瑞萨的r-car h3、德州仪器的jacinto 6 plus构成强大的威胁。820a可能会挤占i.mx8的中端市场,parker则可能会主打高端市场,挤压r-car h3的市场。
都是噪声惹的祸:ENOB消失之谜(第2 部分)
示波器十大基础知识
紫外老化试验箱的使用注意事项及保养方法
华硕重磅发布自己第一款RTX 3070
牛奎光分享了对未来十年中国硬科技投资机会的洞察
捷豹路虎第一个使用820A做座舱域控制器
三星智能手机市场份额被中国对手蚕食 新品Note9被外媒讽刺似曾相识
法国公司FLY-R带来的无人机原型
捷通华声灵云智能外呼助力电信业务推广
MS1681单通道 6 阶高清视频滤波驱动
MEMS传感器怎样提高汽车电子的性能
PyTorch教程-19.1. 什么是超参数优化?
离心机反应釜事故频发,一定要安装离心机反应釜氧气分析仪吗?
Basys3开发板的MicroBlaze串口实验
5G推动智能制造/物联网/工业互联网发展
碳化硅基MEMS器件助力高性能气体检测应用
苹果iOS 13.3和watchOS 6.1.1已确定将于下周发布
提高多层板层压品质工艺技术总结
美国批准AMD及英特尔向华为供货?关键在于能不能自研
LED异形显示屏定制