Intel于2002年发布了HDA的1.0版本,并在2010年发布1.0a版本;无独有偶,MIPI这一协会于2014年发布了MIPI SoundWire®,给设计者和用户提供了另外一套声音方案,并在2019年发布了1.2版本。
Soundwire协议,是针对移动设备,包括手机、平板和可穿戴设备而量身定制的。有一个最近几年才开发使用场景是手机,手机上现在杜比声道是综合使用上方的听筒和下方的扬声器综合实现的。Soundwire在支持1Master x multi Slave场景方面有原生的优势,并且硬件连接更加简单一些。
The SoundWire specification for audio peripheral devices such as codecs, MEMS microphones, power amplifiers, and wireless interfaces.
These IC devices are typically used in smartphones, tablets, and wearable devices.
Soundwire这一协议,横跨在主板上数字和模拟的交界处,对于现在大多专精数电的硬件工程师来说,算是一个很少涉及的领域了,这篇文章就来简单分析下Soundwire设备在系统里的地位和功能,以及一些拓扑。
SLIMBUS
在进入soundwire之前,先简单再聊聊slimbus(Serial Low-power Inter-chip Media Bus),这也是MIPI联盟开发的一种音频接口,用于连接基带/应用处理器和音频芯片,总线协议保证既能发控制信息,又能发数据信息,这样就可以替换传统的数据和控制两种接口如I2S和I2C。
Slimbus同样使用DATA和CLK这一两线连接方式,异步通信,并且支持时分复用,大多是用于低功耗系统,时钟最高支持28MHz。
与Soundwire相比,这个协议更加简单,功耗也更低;但是一个单向协议,设备不能发送信息。
硬件连接
类似于I2C,Soundwire可以支持最少CLK+DATA的组合,只需两根线完成信号收发:
但不同的有两点,第一是Soundwire可以拓展DATA,来拓展带宽:
第二是Soundwire采用DDR(Double Data Rate)技术,1bit在下降沿被驱动,在上升沿被采样。数据可以在上升沿和下
降沿被采样,所以数据传输频率时时钟的两倍。
通信协议上,采用了NRZI技术,简单来说,就是碰到1改变电平,碰到0就不动;所以每次读取数据都要参考前一时钟沿的数据进行判断。
NRZI是一种线或(wire-OR)技术,意思是如果有slave(在Soundwire协议里叫Owner)想要输出逻辑1的时候,相比于其他设备有更高优先级。
软件
Soundwire需要从strap pin提前指定设备的地址,每个设备都需要有独一无二的Device ID,如下图
传输细节就不讲了,我又不做~~
总结
音频接口发展这么多年,合合分分,从分立器件走向all in one的潮流,最近几年随着高端机型崛起,又走向分立器件了。同时协议也从I2S改变到PDM,然后是HDA和Soundwire,各自都借用了很多其他协议的优点,但最核心的仍然是外围的模拟信号处理和内部的降噪,细节作为一个音频的外行人就不再讨论了,后面如果有机会再从厂商那里学习吧。
各个协议与Soundwire的对比如下图:







