菜单 English Ukrainian 俄语 主页

面向爱好者和专业人士的免费技术图书馆 免费技术库


无线电电子与电气工程百科全书
免费图书馆 / 无线电电子和电气设备方案

MP3 和 Opus 音频播放器。 无线电电子电气工程百科全书

免费技术库

无线电电子与电气工程百科全书 / 声音的

文章评论 文章评论

本文介绍了一种自制的便携式播放器,用于播放 microSD 存储卡中常见格式的音乐文件。 它组装在 NOKIA 32 手机外壳内的 STM407F6VGT1100 微控制器上。

播放器方案如图所示。 1.它最大限度地利用了STM32F4DISCOVERY开发板上可用的电子元件,包括STM32F407VGT6(DD1)微控制器、LD3985M25R(DA1)和LD3985M33R(DA3)集成稳压器、CS43L22(DD2)编解码器以及必要的无源元件。 从手机 NOKIA 1100 开始,除了外壳和电池之外,还有用于连接 XS3 耳机的连接器、带有 LCD HG1 的前面板、由印刷电路板上的同心接触垫形成的按钮 SB1-SB17 薄膜以及使用用于连接 G1 电池的连接器。 此外,播放器主板还包含一个 microSD 存储卡 TFC-WPCE-08 (XS1) 支架、一组用于连接 Xp1 编程器的接触垫、一个 miniUSB-B 5075BMR-05-SM (XS2) 连接器。

MP3 和 Opus 音频播放器
米。 1.播放器布局(点击放大)

二极管组件 VD1、VD4、VD5、VD6 用于防止连接到连接器 XS2 和 XS3 的静电放电电路。 其余连接器位于电池盒内,不需要保护。 芯片(DA2)是一个G1锂离子电池充电控制器,最大电压为4,2V。电阻R9降低了充电过程中该芯片上的压降,导致其发热。 电阻R10设置最大充电电流I最大盐度 根据公式 I每 ap.max = 1000/R10。 将电阻 R10 设置为千欧姆,即可获得以毫安为单位的充电电流值。

建议对锂离子电池充电的电流不超过1C,其中C为电池容量。 所使用的BL-5C电池容量约为1000mAh,LTC4054ES5-4.2芯片的最大允许充电电流为800mA。 由于充电是通过 USB 总线进行的,因此还必须考虑其负载能力(500 mA)。 因此,R10 的推荐值为 2 kOhm。 另外,通过测量R10两端的电压,可以使用公式I确定电池充电电流的电流值扎尔= 1000 单位R10/ R10(电流 - 毫安,电压 - 伏特,电阻 - 千欧)。

当XS2连接器连接到USB总线时,场效应晶体管VT1将电池G1与播放器电源电路断开。 来自连接器XS5的引脚1的2V电压打开晶体管VT5,晶体管VT3的栅极电压相对于其源极变为负值。 晶体管VT3打开,包括播放器。

当连接器XS1的引脚2上无电压时,晶体管VT3的栅极电势接近其源极电势,晶体管截止。

按下SB1按钮也会打开晶体管VT3,微控制器开始工作并每10ms检查该按钮的状态。 如果按住超过2秒,微控制器将在晶体管VT2的基极设置一个高电压电平,将其打开并保持晶体管VT3打开。 之后播放器进入工作状态,松开按钮即可。 再次按住 SB1 按钮关闭播放器。

开机后,微控制器初始化 HG1 LCD 和插入 XS1 支架的 microSD 卡,检查卡根目录中是否存在player.ini 配置文件(支持 FAT12、FAT16、FAT32 文件系统)。 这是一个常规的ini 文件,它是一组“键-值”行。 它存储有关播放器上次关闭时选择播放的音频文件、其中的位置和音量设置的信息。 程序尝试恢复此状态。 如果发生故障(例如,如果卡已更换),则会搜索卡上的第一个音频文件(扩展名为 .mp3 或 .opus)。 搜索从根目录开始,按照文件在地图上文件分配表中列出的顺序进行搜索。

播放过程中,会定期调用当前解码器的MainThread函数,根据需要从卡中读取数据(每个编解码器负责自己缓冲,因为.opus和.mp3的音频数据包容器的格式不同)并解码。 执行这些操作的需要取决于循环 AudioBuffer 缓冲区的充满度,音频编解码器从中异步读取信息。 当前音频文件解码完成后,按照上述原理查找下一个音频文件。 如果文件系统遍历完成,则播放停止。

播放器使用分辨率为 1x96 px 的图形单色 HG65 LCD 和按钮 SB 1 -SB 17 与用户交互。使用文本显示模式的软件模拟,屏幕分为 8 行,高度为 1 px。 屏幕底部剩余的XNUMXpx水平条用于直观地显示播放过程中文件中的当前位置。

顶部第一行显示(从左到右)电池电压、播放器状态、音量。 状态由文件内的字符“0”- 播放、“-”- 暂停、“<<”或“>>”- 快退或快进来表征。 矩形符号表示DD1和DD2微电路通过I接口通讯出现错误2C.

第 2-6 行显示了正在播放的音频文件的完整路径。 第 8 行左侧显示当前播放时间,右侧显示音频文件的持续时间。

SB1按钮在播放和暂停模式之间切换,SB3按钮增大音量,SB5按钮减小音量,SB4按钮打开,SB15按钮关闭键盘锁。 当键盘锁定时,显示屏第 7 行中央会显示“Locked”。 按 SB6 按钮可切换到上一个文件的播放,按 SB8 按钮可切换到下一个文件。 按住这些按钮一秒以上,播放器将分别进入快进模式、快退或快进。 按SB9或SB11按钮分别加载当前目录的第一个和最后一个文件进行播放。

连接器 XS3 - 位于用于连接耳机的外壳中。 耳机本身有一个直径为 3,5 毫米的标准音频插头插孔,用于连接耳机。 耳机还提供一个按钮,按下时连接 BTN 和 GND 电路,松开按钮的触点之间的电阻约为千欧姆。 在播放器中,BTN线通过电阻R3,3连接到21V电路,因此,通过测量该线上的电压,可以判断是否有连接的耳机及其按钮的状态。 耳机按钮的功能与SB1播放器按钮的功能类似 - 您可以将其从播放模式切换到暂停模式,反之亦然,也可以将其关闭。 但是,您无法使用它打开播放器。 当键盘锁定时,耳机按钮保持活动状态。

XS2 连接器取代了手机中的 LED 手电筒镜头。 当连接到该连接器引脚 1 的微控制器的 PA9 输入检测到高逻辑电平时,程序开始在显示屏的右上角显示电池充电电流(以安培为单位)。 此外,如果播放器已关闭,此事件会自动打开播放器。 默认情况下,此后播放器将在正常播放模式下工作,您可以在听音乐的同时为电池充电。

当您按下SB13按钮时,程序会将播放器的状态保存在player.ini文件中,并将USB微控制器模块配置为在MSC(海量存储类)模式下工作。 在此模式下,计算机将连接到 USB 连接器的播放器识别为可移动存储设备,其内容与插入播放器的 microSD 卡上记录的内容相匹配。 仅在全速模式下与计算机交换信息,带宽不超过12 Mbps。 显示屏仍然显示充电电流的当前值,第 3 行 - 铭文“USB Disk”,第 4 行和第 5 行 - 分别显示读取和写入的速度。 按下 SB12 按钮,设备返回播放器模式。

播放器的印刷电路板图如图2所示。 1100. 其尺寸和形状与NOKIA 3 手机的主板相同(图4)。 板子必须按照金属化孔的工艺制造,否则需要将两面镀锡线片插入并焊接到所有过孔(板子两面都有焊盘)中,并在两面焊接。 各部件在板上的位置如图所示。 2 个,比例为 1:1。 它还展示了由耐热绝缘清漆制成的掩模,必须使用它来保护印刷导体。 如果未应用掩模,则需要至少隔离导体接近按钮印刷触点的区域以及 microSD XSXNUMX 卡座金属外壳下方的区域。

MP3 和 Opus 音频播放器
米。 2.播放器印刷电路板的绘制

MP3 和 Opus 音频播放器
米。 3.手机诺基亚1100

MP3 和 Opus 音频播放器
米。 4. 板上零件的位置

本文所附的 walkgeek-v1.2-n1100-with-mp3.hex 文件中的代码必须输入到板上安装的微控制器的内存中。 播放器程序及其所有组件的源代码在新 BSD 许可证(和其他兼容许可证)下分发,这允许其在封闭的商业项目中使用。 Mp3dec 库是个例外,将其添加到最终产品中需要公开所有源代码。 该项目不断更新,其更新版本发布在[1]中。

正如已经提到的,播放器提供了播放 Opus 文件的功能。 这是由 Xiph.org 项目开发的有损音频压缩软件编解码器 [2] 最近发布的稳定版本,该项目以 Vorbis、FLAC(免费无损音频编解码器 - 用于无损音频压缩的编解码器)和 Speex(语音)等解决方案而闻名。编解码器)。 您也可以将其称为 Ogg - 一个通用媒体容器,默认情况下用于将压缩流打包到 Opus 文件中。

由于 Opus 编解码器相当新,因此在 RAM 量较小的系统上实现不多。 Rockbox就是其中之一。 在使用编解码器的过程中,发现Ogg库动态分配内存用于缓存整个页面(理论最大大小为65 KB,实际大小约为26 KB),以及用于所有颗粒的缓存页数据包(大约 16 KB),对于具有 192 KB RAM 的设备来说,这已经很大了。 此外,该库默认为页面缓冲区分配一小块内存区域,在操作期间扩展它,并且每次分配内存时都会“留有余量”。

同样的情况也发生在用于系带值的缓冲区上——有关页面上包的分布的信息。 因此,如果动态内存池很小,很快就会导致其严重碎片化,并且无法进一步分配所需数量的内存。

由于对库进行了更改,缓存是在数据包级别执行的(实际上,以 512 Kbps 速率传输的立体声信息数据包的最大大小为 1276 字节)。 lacing值的最大缓冲区大小是256个双字节单元,它们也可以做成单字节。 因此,与 Ogg 容器关联的所有结构在修改后占用的 RAM 不到 2 KB。

修改中做了一些假设:数据包不能跨越页面边界,不检查页面校验和(在任何 Opus 文件中都没有找到这些)。 尚未测试包含多个流且通道数不同于两个的文件。

Opus编解码器消耗的内存总量为65088字节,其中3856字节被输出缓冲区占用。 不同信息流速率下的编解码器分析结果如表所示。 1.

表1

编解码器 作品 MP3
速度,Kbps 48 196 320 512 320
复杂性,MIPS 43 50 74 80 21

其中“复杂度”的概念是指成功解码所需的处理器性能。 它是通过使用硬件计时器对进入每帧解码过程和退出解码过程的时刻之间的差异进行简单计算来估计的(禁用抢占式多任务处理并禁用中断)。 测试表明 MP3 编解码器需要较少的计算工作。 但Opus是免版税的,并且使用它时的音质比使用MP3和相同比特率时更好。

STM32F4DISCOVERY调试板有一个版本的播放器程序,需要输入到其上安装的微控制器内存中的代码在文件walkgeek-v1中。 1 -stm32f4discovery-with-mp3.hex(也附在文章中)。 在这种情况下,音频文件从通过适配器连接到开发板 CN5 连接器的 USB 闪存驱动器播放。 玩家扮演 

USB主总线。 其状态通过板上的橙色、红色、蓝色和绿色 LED 显示。 红色表示没有,绿色表示存在连接的闪存驱动器,橙色表示正在加载音频文件、播放停止或程序错误,蓝色闪烁表示播放模式。 大多数按钮都可以在图 1 中找到。 2、按表连接调试板。 8(每个按钮的第二个触点连接到公共电线)。 SB1100 按钮的作用由板上的“User”按钮执行。 根据表将 NOKIA 3 手机的显示屏连接到调试板。 XNUMX.

表2

Кнопка 线 联系
SB1 雷兹 R2.16
SB3 PE5 R2.14
SB4 PE4 R2.13
SB5 PE6 R2.11
SB6 PE7 R1.25
SB7 PE8 R1.26
SB9 PE9 R1.27
SB10 射线 R1.28
SB11 PE11 R1.29
SB12 射线 R1.30
SB13 射线 R1.31
SB14 射线 R1.32
SB15 射线 R1.33

表3

结论 线 联系
1 RES RA2 R1.14
2 CS RA1 R1.11
3 VSS GND R1.5
4 斯丁 RA7 P1 17
5 时钟 RA5 P1 15
6 电源电压1 在3 R2.5
7 电源电压2

播放器程序

文学

  1. Walkgeek ARM Cortex-M4 音乐播放器。 - 网址:code.google.eom/p/walkgeek/。
  2. Opus 交互式音频编解码器。 - 网址:opus-codec.org/。

作者:O. Tsaregorodtsev

查看其他文章 部分 声音的.

读和写 有帮助 对这篇文章的评论.

<< 返回

科技、新电子最新动态:

花园疏花机 02.05.2024

在现代农业中,技术进步的目的是提高植物护理过程的效率。创新的 Florix 疏花机在意大利推出,旨在优化采收阶段。该工具配备了移动臂,可以轻松适应花园的需求。操作员可以通过使用操纵杆从拖拉机驾驶室控制细线来调节细线的速度。这种方法显着提高了疏花过程的效率,提供了根据花园的具体条件以及花园中生长的水果的品种和类型进行个性化调整的可能性。经过两年对 Florix 机器在各种水果上的测试,结果非常令人鼓舞。 Filiberto Montanari 等农民使用 Florix 机器多年,他们表示疏花所需的时间和劳动力显着减少。 ... >>

先进的红外显微镜 02.05.2024

显微镜在科学研究中发挥着重要作用,使科学家能够深入研究肉眼看不见的结构和过程。然而,各种显微镜方法都有其局限性,其中之一是使用红外范围时分辨率的限制。但日本东京大学研究人员的最新成果为研究微观世界开辟了新的前景。东京大学的科学家推出了一种新型显微镜,它将彻底改变红外显微镜的功能。这种先进的仪器可以让您在纳米尺度上以惊人的清晰度观察活细菌的内部结构。通常,中红外显微镜受到分辨率低的限制,但日本研究人员的最新进展克服了这些限制。据科学家称,所开发的显微镜可以创建分辨率高达120纳米的图像,比传统显微镜的分辨率高30倍。 ... >>

昆虫空气捕捉器 01.05.2024

农业是经济的关键部门之一,害虫防治是这一过程中不可或缺的一部分。来自西姆拉印度农业研究委员会中央马铃薯研究所 (ICAR-CPRI) 的科学家团队针对这一问题提出了一种创新解决方案——风力昆虫空气捕捉器。该设备通过提供实时昆虫种群数据来解决传统害虫防治方法的缺点。该捕集器完全由风能提供动力,使其成为一种无需电力的环保解决方案。其独特的设计使您能够监测有害和有益昆虫,从而全面了解任何农业地区的昆虫数量。卡皮尔说:“通过在正确的时间评估目标害虫,我们可以采取必要的措施来控制害虫和疾病。” ... >>

来自档案馆的随机新闻

大脑能够在梦中记住外来词 19.06.2023

伯尔尼大学科学家最近的研究证实了大脑的一个有趣特征:在睡眠期间记住外来单词的能力。 睡眠可以促进更有效学习的传说已经得到了科学支持,尽管科学家们仍然对这一说法持怀疑态度。 然而,有一些证据表明大脑能够处理和存储在睡眠的某些阶段接收到的信息。

研究人员重点关注慢波睡眠,尤其是其第一阶段。 此时,大脑会经历持续约 30 秒的短暂活动和衰退。 由弗拉维奥·施密迪格领导的科学家团队开发了一种算法,可以根据脑电图数据预测下一个脑电波峰值和下降的确切时间。 该算法被用来对 30 名睡在实验室且母语是德语的志愿者进行实验。

在实验过程中,志愿者被播放简短的双音节单词。 他们的一只耳朵里响起了德语单词,而这个单词的“翻译”,也就是现实中不存在的音节的随机集合,却在另一只耳朵里响起。 这种方法排除了以前熟悉外语的可能影响。 一半的志愿者在大脑活动高峰时听这些话,另一半在衰退期听这些话。 每个单词总共播放四次,单词的选择涵盖三个类别:动物、地点和乐器。

12个小时后,检验了本次培训的效果。 志愿者再次播放“翻译”单词,并要求将其分配到三个类别之一。 正如预期的那样,在随机反应的情况下,正确选择的概率约为 33%,而这正是在大脑活动高峰期间听单词的小组的结果。 第二组在经济衰退时期听了这些话,得分略高,为 37%,这与随机猜测几乎没有什么不同。 然而,24 小时后重新检查时,这组人的表现更好,正确答案达到了 41%。

统计分析证实,这些结果不可能是简单的随机现象。 研究人员得出的结论是,当深度睡眠初期大脑活动短暂爆发时回忆起单词时,记忆实际上就发生了。 然而,这种记忆的效果却很一般,其在学习中的意义仍然相对较小。 相反,它证明了大脑能够在睡眠期间感知和存储新信息的事实,但这不太可能对教育过程有重大帮助。

其他有趣的新闻:

▪ 灵活的 32 位 ARM 微控制器

▪ 游客电子导航鞋

▪ 非接触式测谎仪

▪ 纳米谐振器将有助于反射 10000 倍以上的光

▪ 完全隐形墨水

科技、新电子资讯

 

免费技术图书馆的有趣材料:

▪ 电工网站的部分。 PUE。 文章精选

▪ 文章反危机管理。 演讲笔记

▪ 文章 木星、土星和海王星在哪些方面不完全符合行星的经典定义? 详细解答

▪ 文章缬草药房。 传说、栽培、使用方法

▪ 电子点火装置块。 无线电电子电气工程百科全书

▪ 文章电钻速度控制器。 无线电电子电气工程百科全书

留下您对本文的评论:

Имя:


电子邮件(可选):


点评:





本页所有语言

主页 | 图书馆 | 用品 | 网站地图 | 网站评论

www.diagram.com.ua

www.diagram.com.ua
2000-2024