技术支持

超乎你想象-PC based逻辑分析仪串行总线解码系列之一I2S解码

超乎你想像—PC based逻辑分析仪串行解码分析系列之一
I2S总线解码分析
嵌入式系统中包含许多不同类型的设备,在传统上这些设备一般用并行总线相互通信及与外部通信。但是到今天,嵌入式系统中越来越多的串行总线来替代并行总线,这都出于串行总线的优势:1.减少了信号数量,就节省了电路板的空间2.嵌入式时钟3.差分信号具有良好的抗干扰能力4.良好的纠错能力。所以现在也有各种各样的设备来分析这些串行总线,有专门的、针对性非常强的总线协议分析仪,有在示波器上增加总线分析的选件,但这些设备都价格不菲。更关键的是每增加一种总线分析,就将交上这一笔不菲的费用。今天想让大家了解的是一种免费且全面的方案,Acute PC based逻辑分析仪标配低速串行总线的解码分析功能,所支持的总线几乎囊括了当下所有流行的低速串行总线,我们将以一个系列来介绍Acute PC based逻辑分析仪在低速串行总线解码方面的应用,这期我们将首先介绍I2S总线的解码分析,首先让我们来看下I2S的简介。
I2S简介
I2S是IC间传输数字音频数据的一种接口标准,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,常被使用在传送CD的PCM音频信号到CD播放器中的DAC上。在I2S的标准中,规定了硬件接口规范及数字音频数据的格式,采用序列的方式传输2组(左右声道)数据。由三条传输线组成:
1. 频率线(SCK),对应数字音频的每一位数据,SCK都有1个脉冲。SCLK的频率=2×采样频率×采样位数。
2. 字符选择线(WS),为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。
3. 数据线(SD),用二进制补码表示的音频数据,数据格式最大到20 bits。

Acute PC based逻辑分析仪针对I2S总线可做的分析功能如下:
1. 将波形字段解析出来
这是总线分析解码最基本的功能,所以这个是必备,请参考下图中的实际案例

 

2.  将波形以声音波形绘制出来

可于波形区画出声音的波形,这也是Acute PC based逻辑分析仪在I2S总线分析的特别功能之一,在使用 I2S 总线作为音频传输的开发阶段,常常会以正弦波三角波来测试I2S 传输数据是否有错误, 这时候, 若直接去看数值, 会变得很浪费时间以及很难直观的观察。 因此, 能把 I2S传输数据能以声音波形的方式呈现出來, 将会直观且立即看出是否正常请参考下图中的实际案例

3.       录音重放

此功能可以把所有数据收集起来后,于分析完毕后进行播放。您可以用最快的方式确认声音是否已经正常传送,而不必逐项检视数据。由于播放的时间长度,会根据逻辑分析仪能纪录的数据深度有关,建议您可将逻辑分析仪的数据深度拉大,并减少逻辑分析仪使用的通道数量。

 

Acute PC based逻辑分析仪针对I2S总线的硬件触发:

  上面我们介绍了Acute PC based逻辑分析仪针对I2S的解码分析应用,接下来Acute PC based逻辑分析仪还有一整套针对I2S的硬件触发电路,对于工程师来说,完善的触发可以帮助工程师迅速的定位他们所需的问题。接下来我们就点来看下Acute PC based逻辑分析仪I2S触发方面的优势:

 

1.启用I2S触发

到「硬件参数设置」选择「I2S Trigger」,如下图所示。取样率范围从 1Hz

2.触发参数设置

按下「确定」后,点击工具栏上的「触发条件」或是从菜单的「硬件」点击「触发条件」,点击「I2S总线协议触发」,会出现如下图所示。

a.  通道設置

选择通道,I2S需三个通道组成一个信号组(SCK, WS, SD)

b.  数据宽度

设置触发数据的位数,1-32(bits),通常为 8, 12, 16, 24, 32

a.  通道选择

可选择Both, Left, Right声道来触发。

b.  数据格式

设定触发的数值时可选择使用ValueVoltagedB三种方式来输入设定值。

Ø   选择Value:直接输入I2S数值。

Ø   选择Voltage:需要在满格电压值的字段里先输入以电压的最大值,触发的范围由负满格电压值到正满格电压值之间。

Ø   选择dB:直接输入欲触发的衰减dB

当数据格式选择ValuePattern中的数值可输入十六进制十进制。十六进制时后面需加一个"h",十进制则不用任何辨识符号。例如:65(十进制)41h(十六进制)

触发方式选择Data Match时可以设定不同的条件来进行触发,如:=(等于)!=(不等于)<(小于)>(大于)In Range(Pattern APattern B之间)Out Range(Pattern APattern B之外)

Duration(# of frames),与Pass count不同,此参数是指连续且不中断的符合触发条件时就触发,可输入范围1 ~ 65536

c.  触发方式

Ÿ Data Match音频数据值的比对,信号符合条件时即触发。

Ÿ Rising Edge上升缘触发,比较相同声道中的连续两个信号,后面的信号比前面的信号还大并且相差值超出设定值即触发。

Ÿ Falling Edgd下降缘触发,比较相同声道中的连续两个信号,后面的信号比前面的信号还小并且相差值超出设定值即触发。

Ÿ Glitch毛刺触发,针对讯号突然上升/下降后马上下降/上升形成一个毛刺时使用,当信号突然上升/下降的幅度超过设定值即触发。

 

 

 

·       Mute设定值为P时,当讯号X-P < X < +P的范围内则触发

 

 

·       Clip若设定值为P时,当讯号X–P < X +P > X的范围内则触发。

·       Timing Violation间检查,提供六种设定时间的条件,当六种设定条件中的任一条件符合时就触发,能有效地帮助使用者作验证,找出错误的地方。

补充说明,因为Timing Violation需要比较准确的验证,只允许在硬件设置为200MHz Sample Rate的时候才能使用。

Master:预设Master时的建议值。

Slave:预设Slave时的建议值。

Custom可自定义时间检查的参数。

SCK Period Min.Clock的周期小于设定值就触发。

SCK Period Max.Clock的周期大于设定值就触发。

SCK High Duty Min.Clock High小于设定值的时间就触发。

SCK Low Duty Min.Clock Low小于设定值的时间就触发。

Setup TimeClock边化缘往前找,直到Data转态为止的这段时间就是Setup Time,当Setup Time小于设定值就触发。

Hold TimeClock边化缘往后找,直到Data转态为止的这段时间就是

 

   总结:

    到此为止,这一期关于I2S总线的解码分析功能介绍完毕,总体来说Acute PC Based逻辑分析仪针对I2S总线的分析,提供了高效而又全面的解决方案。当然最关键它是免费的,只要你购买了Acute PC Based逻辑分析仪,你就拥有了它。下一期我们将介绍PC based逻辑分析仪串行解码分析系列之二—I2C,敬请期待! 
 

 

 

^