声道测试音频_嵌入式平台上的自动音频接口测试
![](/assets/blank.gif)
从模拟音频到数字音频端口,各种类型的接口层出不穷。每种类型的接口在设计和测试中都面临自身的挑战。在组装和生产过程中,这些接口的测试涵盖了整个路径,从模拟或数字前端到处理单元的数字音频输入端口。本文介绍一种常用的技术,用于检测音频接口测试中与装配相关的故障问题。音频接口如今已无所不在。应用于工业物联网(IIOT)的大多数单板计算机(SBC)上也有它们的身影。从模拟音频到数字音频端口,各种类型的接口层出不穷。每种类型的接口在设计和测试中都面临自身的挑战。在组装和生产过程中,这些接口的测试涵盖了整个路径,从模拟或数字前端到处理单元的数字音频输入端口。嵌入式平台上的音频前端和生产测试设置环境中的通用音频数据流路径如下所示(图1):
![](/assets/blank.gif)
前端接收器IC故障。
I2S总线的装配相关故障,如卡在高电平(连接到电源)或卡在低电平(接地)或多路信号线之间的短路。
音频接口测试只是比较大的生产测试系统的一部分,而整个生产测试系统将测试嵌入式电路板上的所有接口。下面介绍一种常用的技术,用于检测音频接口测试中与装配相关的故障问题。对于前端接收器IC故障的检测则需要使用不同的技术,本文不做描述。技术1:主观测试主观测试是指捕获音频数据样本几秒钟,将它们与聆听测试中播放的实际音频进行比较。该技术的缺点是需要人为干预并且耗时。比如,如果存在多个立体声声道,那么用户需要聆听并确认每个声道。为克服这一缺点,我们提出一种创新的方法来测试音频接口信号,并自动完成整个过程。技术2 :自动化测试要理解这种自动测试技术,有必要先了解I2S接口的一些基本概念。I2S总线有三个信号 BCLK(位时钟)、WCLK(字时钟)、DATA(数据信号)。如果BCLK或WCLK出错(卡在高电平或低电平),则处理器音频输入端口将无法进行正常捕获,从而显示出相应的时钟故障。如果时钟信号正常,那么无论DATA值为何,音频都会被捕获。如果DATA停留在1或0,则音频数据缓冲区中将包含每个16位样本的所有FFFF或所有0000。因此,当我们生成MD5校验和时,将得到两个相应的值:MD5(FFFF)和MD5(0000)。而对于音频数据的每个其它值,其MD5校验和的值都将不同。这个概念可用于自动化和检查音频捕获信号。这种测试方法是在适当音频被播放时才捕获信号,静音状态时无法捕获。这确保了仅捕获我们的音频文件而且缓冲区中的数据是正确的。一旦音频数据缓冲区存储了大约100个样本,就可以生成其MD5校验和。如果DATA信号停留在高电平,则其MD5校验和值与MD5(FFFF)相同;如果停留在低电平,则其MD5校验和值将与MD5(0000)相同。如果DATA信号正常切换,则MD5校验和将是其他任意随机值。因此,根据MD5校验和的值,我们可以判断DATA信号是否存在故障。I2S总线通常有多个数据信号。我们通过一个示例来说明,假定I2S有四个数据信号DATAx(x = 0,1,2,3)。我们在其中一个DATA信号上提供音频数据而在所有剩余数据信号上提供0。然后生成所有DATAx(x = 0,1,2,3)信号上捕获数据的MD5校验和,并确认MD5校验和的值是否如预期。如果仅在DATA0上提供音频数据,则DATA1-3信号的MD5校验和应该是MD5(0000),而DATA0的MD5校验和应为一些随机值。如表1所示,罗列了分别对四个数据信号执行该测试得到的迭代结果。表1:音频的迭代测试(来源:作者制表)该技术的局限性在于它仅可用于识别上述故障。对于某些用例,它无法区分哪里存在故障。例如,如果多个信号线短路,则该技术可以检测到存在此故障但不能清晰地说明具体哪些线路短路。结论上述方法已经过验证,目前已成功用于测试Ittiam开发的许多硬件板上的音频输入接口。现在我们已经看到,它可以减少音频接口的整体测试时间,从而降低电路板测试成本。作者:ayusman mohanty责编:Yvonne Geng‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧推荐文章:
三星折叠屏手机刚改完,iFixit马上又拆一次……
拆解iPhone 11和Apple Watch 5,设计有古怪?
半导体制造中用的气体是从哪来的?
97岁“锂电池之父”等三位科学家获2019年诺贝尔化学奖
三星的“艰难决定”:关闭最后一家在华工厂
声道测试音频_嵌入式平台上的自动音频接口测试相关推荐
- 自动驾驶 | MINet:嵌入式平台上的实时Lidar点云数据分割算法,速度可达 20-80 FPS!...
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 这篇文章是激光雷达点云数据分割算法的嵌入式平台上的部署实现.主要的创新点有两点:一是利用多路分支采用不 ...
- linux嵌入式开发arm7,基于ARM7系列芯片嵌入式平台上实现的设计方案-嵌入式系统-与非网...
本文介绍的方法是在用ARM7系列芯片S3C4510B和μClinux构建的嵌入式平台上实现的.在嵌入式系统设计过程中,系统的掉电保护越来越受到重视整个掉电保护实现的基本思路是:产生掉电信号,捕捉掉电信 ...
- opus在arm的嵌入式平台上的移植和开发
最近产品中要用到opus,圣上一声令下,把opus移植到我们平台上,什么?opus?opus是什么?在一脸 茫然中,我这特种兵码农就赤手空拳上战场了. 废话少说,赶紧在网站:https://opus- ...
- linux 音频处理工具,Linux 上的最佳音频编辑工具推荐 | Linux 中国
在 Linux 上,有很多种音频编辑器可供你选用.不论你是一个专业的音乐制作人,还是只想学学怎么做出超棒的音乐的爱好者,这些强大的音频编辑器都是很有用的工具. -- Ankush Das 在 Linu ...
- java web 播放音频_用webAudio和canvas实现音频可视化
前两天遇到了要显示音频波形图的需求,因为时间紧,就直接用了wavesufer.js,这两天有空,就研究了一下怎么用webAudio实现音频的可视化. 大致流程是对音源进行解析,解析得到的数据是个频谱数 ...
- linux alsa 音频管理,在Linux上的高级音频控制
Linux音频控制与Linux音频系统结构一样混乱. 长篇小说,经过多年的发展,默认的声音控制工具看起来像这样: 设置音量级别的默认和唯一选项可能对于大多数用户来说是足够的,但是当您想要设置特定音频级 ...
- 怎么用计算机录制mp3的音频,怎么在电脑上录制在线音频 高音质音频如何录制...
系统本身有个录音机应该有许多功用的,录取系统本身声音肯定没问题. 也可以搜索格式工厂或者爱剪辑,超级捕快这些软件,其中格式工厂支持音频视频的剪辑转换等用途,超级捕快可以直接录制在线视频和音频等内容(不 ...
- QT接收Linux内核,嵌入式linux上QT标准键盘输入的实现
在嵌入式平台上运行QTE时,使用的键盘通常不是标准键盘,而是嵌入式设备外扩的普通按键.那么实现QTE键盘输入的方法大体上可以分为两类: (1)编写一个普通按键驱动,然后开辟一个QT线程读取按键值,在通 ...
- AVS解码器在DSP平台上的优化
AVS( Audio Video Coding STandard)是由我国数字 音视频标准工作组制定的具有自主知识产权的第二代音视频压缩准.AVS实行1 元专利费用的原则,相比其它音视频编解码标准具有 ...
- qt 调用linux键盘输入,嵌入式linux上QT标准键盘输入的实现
1.嵌入式linux上QT标准键盘输入的实现 在嵌入式平台上运行QTE时,使用的键盘通常不是标准键盘,而是嵌入式设备外扩的普通按键.那么实现QTE键盘输入的方法大体上可以分为两类: (1)编写一个普通 ...
最新文章
- 使用结构体输出员工工资表
- Java数据结构——解析算术表达式
- css 识别变量中的换行符_Python编程 第二章——变量和简单数据类型
- 7-20上午刷题未知点集合
- mysql 指定目录_mysql 更改默认数据目录
- oracle闪回某个时间点的数据库,oracle11g 使用闪回查询恢复表到过去某一个时间点...
- swift 拖动按钮_Swift 简单控件示例:滑块(UISlider)
- TiKV 是如何存取数据的(下)
- heapsort(Java)(最小堆)
- VS 2005 下载地址
- GitHub桌面版汉化
- COSCon'21 大数据(D)论坛介绍
- 吴恩达反向传播算法推导,吴恩达卷积神经网络ppt
- 英伟达显示器停止服务器,NVIDIA 451.67版显卡驱动发布:修复23个Bug、拯救144Hz HDMI显示器...
- python中_x、__x、__xx__的区别
- Ubuntu安装qt 5.12
- 【注入】C# 构造注入的方法
- centos6.7 安装端口映射工具 rinetd
- 2019上半年各大手机销量榜单:华为第一,苹果第五,三星没落!
- Log4j分级别记录日志文件