15.35、 USB实现PC音频播放器实验
- 格式:pdf
- 大小:557.18 KB
- 文档页数:14
一、实验目的1. 理解音频信号的基本特性及其在数字音频处理中的应用。
2. 掌握音频信号的采集、处理和播放的基本方法。
3. 学习使用音频信号处理软件进行音频信号的编辑和效果处理。
4. 分析音频信号在传输和存储过程中的失真和干扰。
二、实验原理音频技术是指利用电子设备对声音信号进行采集、处理、存储和播放的技术。
音频信号是指由声波产生的电信号,其频率范围一般在20Hz到20kHz之间。
数字音频处理技术是将模拟音频信号转换为数字信号,进行编辑、处理和播放的技术。
三、实验仪器与设备1. 音频信号发生器2. 音频信号采集卡3. 音频播放器4. 音频信号处理软件(如Audacity、Adobe Audition等)5. 示波器6. 数据采集器四、实验内容1. 音频信号的采集(1)使用音频信号发生器产生一个纯音信号,频率为1kHz。
(2)使用音频信号采集卡将纯音信号采集到计算机中。
(3)使用示波器观察采集到的音频信号波形。
2. 音频信号的编辑(1)使用音频信号处理软件打开采集到的音频信号。
(2)对音频信号进行剪辑、复制、粘贴等编辑操作。
(3)调整音频信号的音量、音调、立体声平衡等参数。
3. 音频信号的处理(1)使用音频信号处理软件对音频信号进行降噪、均衡、混响等效果处理。
(2)分析处理后的音频信号,观察效果处理对音频信号的影响。
4. 音频信号的播放(1)使用音频播放器播放处理后的音频信号。
(2)比较处理前后的音频信号,评估效果处理对音频信号的影响。
5. 音频信号在传输和存储过程中的失真和干扰(1)使用数据采集器对音频信号进行采样,观察采样过程中的失真和干扰。
(2)分析失真和干扰的原因,提出相应的解决方法。
五、实验结果与分析1. 音频信号的采集实验结果表明,使用音频信号采集卡可以成功采集到音频信号,并使用示波器观察到音频信号的波形。
2. 音频信号的编辑实验结果表明,使用音频信号处理软件可以对音频信号进行剪辑、复制、粘贴等编辑操作,调整音频信号的音量、音调、立体声平衡等参数。
《微型计算机系统原理与应用》课程设计报告设计题目:音乐播放器姓名:学号:指导老师:日期:课程设计任务书目录第一章课程设计的任务和目的31.1 课程设计任务31.2 课程设计目的3第二章课程设计基础知识42.1 定时/计数器8253A (4)2.2 8253A部结构42.3 8253A外部引脚52.4 计数器部结构62.5 8253A端口地址72.6 8253A功能72.7 8253A控制字82.8 8253A工作方式8第三章详细设计103.1 硬件设计103.2 软件设计13第四章程序调试14第五章总结14第六章参考文献15第七章附录167.1 源代码167.2 各个音符的对应频率18第一章课程设计的任务和目的1.1 课程设计任务本课程设计题目是:设计并实现一个音乐播放器。
1.自己选用芯片和其它的硬件。
2.自行设计电路并使用汇编语言编写程序完成音乐播放器功能。
3.利用8253作为音阶频率发生器,对一段音乐进行编码后存入音符表,程序中可调用音符表自动播放音乐,从中了解音乐播放的原理。
4.利用8253A和PC机,设计并实现简易音乐播放器5.使用汇编语言编写音乐播放程序。
6.上机调试程序并联机,利用试验箱提供的扬声器发声。
7.完成实验报告。
1.2课程设计目的本课程设计注重提高学生应用能力、创新能力。
在掌握了基本的实验方法和实验技能且理论教学完成的基础上,要求学生通过一周的集中工作,初步锻炼综合运用所学知识的能力,通过讨论与合作,完成一项完整的设计工作。
更深入的了解微机芯片的用法和程序的完成过程,调试方法与技巧。
通过这个环节来加深对《微机原理与接口技术》所学容的理解和融会贯通。
设计音乐播放器主要目的:➢通过D/A装换器产生模拟信号,在实验平台上实现简易音乐播放器。
➢了解利用数模转换器产生音乐的基本方法。
➢掌握定时/计数器8253A 的使用。
第二章课程设计基础知识2.1 定时/计数器8253A在微机与控制系统中,经常要用到定时信号。
郑州航空工业管理学院《C#程序设计》考试形式:考查题目:音频播放器专业:计算机学号:姓名:完成日期: 2014-6-5目录目录 (1)1 前言 (2)2 需求分析 (2)2.1要求 (2)2.2任务 (2)2.3运行环境 (3)2.4开发工具 (3)3 概要设计与详细设计 (3)3.1系统流程图 (3)3.2查询函数流程图 (5)4 编码与实现 (7)4.1分析 (7)4.2程序调试及截图 (8)4.3具体代码实现 (12)5 课程设计总结 (14)参考文献 (15)致谢 (15)1 前言音频播放器,是目前使用户选择播放任意格式的音频文件的软件,如酷我、QQ 音乐等。
一般的音频播放器都可以支持MP3、MP4、avi等文件格式的播放。
从目前市场的发展情况来看,MP3无疑占据了音频播放器的绝大部分市场;从屏幕来看,MP3的发展经历了无数次的变更;从存储体来看,种类也颇多,其功能真是五花八门,是其他播放器所无法比拟的。
在此次编程设计的音频播放器是通过Windows Media Player控件来实现的,Windows Media Player是一款Windows系统自带的播放器,支持通过插件增强功能,该软件可以播放MP3、WMA、WAV等格式的文件。
本次课程设计我通过Windows Media Player实现音频播放器的简单设计,可以实现对音频文件的打开、播放、暂停、继续、停止、视频显示等功能。
对于实现添加文件、播放、停止,都是利用CMidi这个类来存放实现这些功能的函数,需要的时候调用就可以。
至于音频播放器以后的路该怎么走,还要看市场的发展情况以及用户的需求,个性化也是MP3等音频播放器所追求的一个目标。
相信未来音频播放器会越来越个性化、功能化、更方便携带。
2 需求分析2.1要求(1)用C#语言实现程序设计;(2)利用结构体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交),程序要有注释。
一、实验目的1. 掌握音频的基本概念和分类。
2. 熟悉音频的采集、处理和播放方法。
3. 了解音频在各个领域的应用。
二、实验原理音频是一种通过声波传播的信息,它是人类日常生活中不可或缺的一部分。
音频信号可以通过声波采集设备(如麦克风)转换为电信号,再通过音频处理设备(如音频工作站)进行编辑、合成等操作,最后通过扬声器等设备播放出来。
三、实验器材1. 电脑一台2. 麦克风一个3. 音频编辑软件(如Audacity)4. 扬声器一对5. 音频线若干四、实验步骤1. 音频采集(1)将麦克风插入电脑的音频接口。
(2)打开音频编辑软件,设置采样率、采样位数等参数。
(3)进行语音录制,录制过程中注意保持录音环境安静。
2. 音频处理(1)打开音频编辑软件,导入采集到的音频文件。
(2)对音频进行剪辑、降噪、均衡等处理。
(3)合成音效,如添加背景音乐、人声混音等。
3. 音频播放(1)将音频文件导出为适合播放的格式。
(2)打开播放器,选择音频文件进行播放。
(3)调整音量、播放速度等参数,以达到最佳播放效果。
五、实验结果与分析1. 音频采集实验中采集到的音频信号清晰,无明显杂音。
2. 音频处理通过音频编辑软件对采集到的音频进行了剪辑、降噪、均衡等处理,使音频质量得到了显著提升。
3. 音频播放播放器成功播放了处理后的音频文件,音质清晰,无明显失真。
六、实验总结1. 通过本次实验,掌握了音频的基本概念和分类,了解了音频的采集、处理和播放方法。
2. 熟练掌握了音频编辑软件的使用,能够对音频进行简单的剪辑、降噪、均衡等处理。
3. 认识到音频在各个领域的广泛应用,如教育、娱乐、广告等。
4. 意识到在音频采集、处理和播放过程中,要注意保持录音环境安静,选择合适的设备,以达到最佳效果。
5. 在实验过程中,发现了一些问题,如麦克风质量较差导致采集到的音频信号噪声较大,这需要在今后的实验中加以改进。
七、实验建议1. 提高麦克风质量,以降低采集到的音频信号噪声。
目录一、课题的介绍和课题的任务二、设计的要求三、系统的分析和系统中功能的设计四、系统的实现及调试五、系统的使用说明六、总结七、程序主要源代码一、课题的介绍和课题的任务音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。
它涵盖了各种音乐格式的播放工具,比如:MP3播放器,WMA播放器,MP4播放器等。
它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。
利用MFC应用程序、媒体控制接口MIC的基本知识,设计一个MP3播放器。
要求能够播放常用Windows 音频格式的文件;实现播放控制:播放、暂停、清空播放列表、音量增减、添加歌曲等功能;实现从本地磁盘加入文件,然后对其进行播放。
二、设计的要求系统模块功能图:流程图:二、系统的分析和系统中功能的设计该播放器分为六大功能模块;1、背景图片:音乐播放器的背景图片。
2序中,将文件进行播放。
3、播放/暂停功能:本地磁盘音乐文件添加完毕,单击播放按钮开始播放音乐,直至播放完毕,单击按钮便可以暂停音乐的播放,再次单击按钮时继续播放。
4、播放列表功能:显示添加的歌曲5、清空播放列表功能:清除播放列表中的全部歌曲。
6、音量功能:控制音量的大小四、系统的实现及调试//说明:主要介绍系统编码的实现以及编码中遇到的问题和解决方法。
界面用动态链接库来实现,播放功能用mciSendCommand函数来实现,用外壳函数数来打开文件选项。
定义三3个类两个对话框类CInfoDlg和CEasyPlayerDlg 一个常用类MCI MCI类用来控制播放功能有以下函数Pause:暂态正在播放的音乐Play:播放Stop:停止播放Load:加载播放的音乐GetMediaString:获取播放的时间进度…CInfoDlg:用于查询歌曲的详细信息CEasyPlayerDlg:用于和用户进行交互他有以下函数:CEasyPlayerDlg::OnBtnPlay();单击播放按钮的单击事件。
电子技术试验之音乐播放器实验报告一、实验目的1、熟练使用MAX+PLUSII软件平台。
2、了解音阶发生原理,学会用硬件描述语言(AHDL)建立音阶发生器模块,并最终编成乐曲,使其可以播放乐曲。
3、下载到JDEE-10试验箱上进行调试和验证音乐播放器的功能。
二、预期功能1、播放一首乐曲。
2、用任意微动开关的按动来控制音乐的播放与停止。
3、数码管两位显示正在播放的音符简谱。
4、点阵模拟五线谱,用十字灯标出正在播放的音符在音阶中的位置。
三、方案设计顶层设计图:模块说明:FREQ**:不同的音高发生器FREQDIVIDER:将高音一分为二产生低音的分频器KEYFORSTOP+stopsign:控制音乐播放与停止的输入端,stopsign为计数器,输出停止与播放的信号counter1:作为音乐节奏的分频器NEW_WORLD:乐曲播放器,曲名为《来自新世界》ED27SEGMENT:数码管控制器,输出显示简谱与高低音counter_disp+DISP:点阵控制器及其输入的扫描时钟信号分频器下面将介绍以上模块的具体实现及功能。
1、分频①音频分频音名与频率的关系:音乐上的十二平均律规定:每两个八度音之间的频率相差一倍。
在这两个八度音之间,分成十二个半音,每两个相领半音的频率比为12√2。
另外还规定,音名A(简谱低音6)的频率为 440Hz。
音名 B 到 C 之间、E 到 F 之间为半音,其余为全音。
这样,可计算得从低音5到高音3之间的每个音名的频率为:(*l表示低音,*h表示高音)∶g:1567.98Hzgl783.99Hzal:880Hz a:1760Hzbl:987.76Hz b:1975.53Hz->2024.77c:1046.50Hz ch:2093Hz->1911.13d:1174.66Hz dh:2349.32Hz->1702.62e:1318.51Hz eh:2637.02Hz->1516.86f:1396.92Hz这些低频信号由高频信号经过分频而得,时钟频率4MHz,而音频ah为1760Hz,则4M/1760=2272,由此设计一个2272进制的计数器,其时钟信号为4MHz,进位信号就是1760Hz。
音乐播放器大型实验报告通过动手制作基于VC++的音乐播放器,了解播放器的原理。
并通过自己动手,在windows 播放器组件的基础上,用自己的算法,去实现自己的界面和自己的播放模式。
二、总体设计(1)在visual c++环境下设计出一个音乐播放器的界面:具有打开音乐文件、播放歌曲,、暂停或恢复、停止、调节音量大小的功能;(2)修改各个控件的属性,并为其添加消息函数; (3)用媒体控制接口MCI 编程为各个消息函数添加代码; (4)对该音乐播放器编译--运行。
音乐播放器打开文件播放歌曲暂停播放停止播放音量控制(一):创建MFC应用程序框架:打开visual c++软件,选择“文件”—“新建”新建一个应用程序文档MFC AppWizard[exe],将工程命名为MFC音乐播放器,选择合适的保存位置,然后“确定”选择基本对话框,完成设置。
(二)编辑对话框:在工作区内,设计出一个音乐播放器的界面,添加按钮控件:浏览、播放、暂停、停止,添加一个滑动条控件,一个静态文本,两个编辑框。
然后,依次修改各控件的属性:1)右击静态文本,选择属性,将标题改为音乐名称:2)右击编辑框,选择属性,将ID改为IDC_filename3) 右击Button1,选择属性,将ID改为IDC_filechoice,将标题改为浏览3)右击Button2,选择属性,将ID改为IDC_play,将标题改为播放4)右击Button3,选择属性,将ID改为IDC_pause,将标题改为暂停5)右击Button4,选择属性,将ID改为IDC_stop,将标题改为停止6)右击滑块,ID改为IDC_SLIDER单击样式,点[P]:选择顶端/左侧,选择打勾标记。
7)右击编辑框,将ID改为IDC_vol音乐播放器的界面已经设计完毕,为:(三)添加代码1)在头文件处添加#include"Mmsystem.h"#include"Digitalv.h"#pragma comment(lib,"Winmm.lib")2)定义全局变量及成员函数。
第1篇一、实验目的1. 熟悉播放器的基本原理和功能模块。
2. 掌握音频、视频文件的解码与播放技术。
3. 提高编程能力和项目实践能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C++4. 常用库:FFmpeg三、实验内容1. 播放器界面设计2. 音频、视频文件解码3. 音频、视频同步播放4. 控制功能实现四、实验步骤1. 播放器界面设计(1)创建项目,添加所需控件(2)设置控件属性,包括大小、位置、颜色等(3)添加播放按钮、暂停按钮、停止按钮等控制按钮2. 音频、视频文件解码(1)引入FFmpeg库(2)加载音频、视频文件(3)解码音频、视频数据3. 音频、视频同步播放(1)创建音频、视频播放线程(2)实现音频、视频数据同步(3)调整播放进度4. 控制功能实现(1)添加播放按钮、暂停按钮、停止按钮等事件处理函数(2)实现播放、暂停、停止等功能五、实验结果与分析1. 播放器界面设计本实验成功实现了播放器界面设计,包括播放区域、控制按钮、进度条等。
界面简洁美观,用户操作方便。
2. 音频、视频文件解码通过引入FFmpeg库,成功实现了音频、视频文件的解码。
在解码过程中,我们提取了音频、视频的采样率、码率、帧率等关键信息,为后续同步播放提供了依据。
3. 音频、视频同步播放在实现音频、视频同步播放时,我们采用了线程同步技术。
通过创建音频、视频播放线程,分别处理音频、视频数据的播放,确保了音频、视频播放的同步性。
同时,我们还实现了播放进度调整功能,方便用户实时查看和调整播放进度。
4. 控制功能实现本实验成功实现了播放、暂停、停止等功能。
用户可以通过控制按钮,轻松实现播放器的控制操作。
六、实验总结通过本次实验,我们掌握了播放器的基本原理和功能模块,熟悉了音频、视频文件的解码与播放技术。
同时,我们还提高了编程能力和项目实践能力。
以下为实验过程中总结的一些心得体会:1. 熟练掌握FFmpeg库的使用,能够实现音频、视频文件的解码与播放。
音乐播放器实验报告音乐播放器实验报告一、引言音乐是人们生活中不可或缺的一部分,而音乐播放器则是我们享受音乐的重要工具。
本次实验旨在研究音乐播放器的功能和性能,以及对音乐播放器进行一系列的测试和评估。
二、实验目的1. 了解音乐播放器的基本原理和功能;2. 掌握音乐播放器的使用方法和操作技巧;3. 对音乐播放器进行性能测试和评估。
三、实验方法1. 设备准备:准备一台音乐播放器和一些音乐文件;2. 功能测试:测试音乐播放器的基本功能,如播放、暂停、快进、快退等;3. 音质测试:通过耳机或外部音箱,对音乐播放器的音质进行评估;4. 文件格式测试:测试音乐播放器对不同文件格式的支持情况;5. 电池续航测试:测试音乐播放器的电池续航能力;6. 操作便捷性测试:测试音乐播放器的操作界面、按键布局和易用性。
四、实验结果与分析1. 功能测试结果:经过测试,音乐播放器的基本功能均正常运行,包括播放、暂停、快进、快退等。
播放器的响应速度也较快,用户体验良好。
2. 音质测试结果:通过与其他音响设备进行对比测试,音乐播放器的音质表现出色,音质清晰、音量适中,能够满足大多数用户的需求。
3. 文件格式测试结果:音乐播放器支持多种音频文件格式,如MP3、WAV、FLAC等,能够满足用户对不同格式音乐文件的播放需求。
4. 电池续航测试结果:音乐播放器的电池续航能力较为出色,经过连续播放测试,一次充满电的电池能够支持数小时的音乐播放时间,满足用户长时间使用的需求。
5. 操作便捷性测试结果:音乐播放器的操作界面简洁明了,按键布局合理,用户可以轻松上手。
同时,播放器的菜单操作也较为便捷,用户可以快速找到所需的音乐文件。
五、结论通过本次实验,我们对音乐播放器的功能和性能进行了全面的测试和评估。
实验结果表明,音乐播放器具备良好的音质、稳定的功能和操作便捷性,能够满足用户对音乐播放的需求。
然而,我们也注意到音乐播放器在文件格式支持方面还有一些不足,需要进一步改进和优化。
15.35、USB实现PC音频播放器实验USB实现PC音频播放器实验z意义与作用现在的智能终端已经逐步由按键+指示灯或数码管发展为触摸屏+音频输出,前面已经介绍了神舟系列STM开发板的触摸屏,本章节我们来学习一下如何使用神舟系列STM开发板的USB接口和I2S音频接口在PC侧实现一个免驱动音频声卡功能。
本实验USB工作在同步传输模式。
通过该实现使大家了解如何使用STM32的USB的同步传输模式实现即插即用的功能,以及如何使用STM32的I2S音频接口实现音频播放功能。
z实验原理在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。
更详细的说明请参看USB HID 协议,该协议可从下载。
关于STM32的USB知识可以参考附件的《STM32 USB固件的中文资料.pdf 》和《STM32的USB详解.pdf》等文档。
本实验音频部分主要是初始化DA芯片PCM1770,设置STM32的I2S接口的参数,然后将来自USB接口的音频数据通过I2S2接口送给DA芯片PCM1770播放。
PCM1770简介:神舟系列STM开发板采用TI公司的进口原装音频DA芯片PCM1770。
PCM1770是一款具有耳机放大器的24位低功耗立体声音频DAC。
可直接驱动耳机,具有软件控制音量大小、芯片模式和模拟语音合成等功能。
该芯片的功能框图如下:PCM1770支持工业标准音频数据格式(industry-standard audio data formats),包括标准模式(standard)、I2S飞利浦标准、MSB对齐标准(left-justified)。
本次实验PCM1770为从设备模式和MSB对齐标准(left-justified)。
PCM1770的I2S共需要4信号:● SD:串行数据,用来接收2路(左右声道)时分复用通道的数据;● WS:字选(左右声道选择),从模式下作为输入;● CK:串行位时钟,从模式下作为输入。
音乐播放学生实验报告实验目的本实验旨在通过设计一个音乐播放器的实现,加深学生对嵌入式系统的了解,并学习如何利用硬件和软件协同工作来完成一个综合性的项目。
实验器材和软件1. STM32F103C8T6开发板2. USB接口3. 3.5mm音频接口4. TFT彩屏5. 杜邦线、导线、音频线实验原理本音乐播放器实验基于STM32F103C8T6开发板,通过连接TFT彩屏显示音乐文件列表,通过调用库函数实现音乐播放与控制。
实验步骤步骤一: 准备工作1. 将开发板通过USB接口连接到电脑上,并安装开发环境和相关驱动程序。
2. 连接3.5mm音频接口和音频线。
步骤二: 硬件连接1. 将TFT彩屏与开发板通过杜邦线连接起来,确保连接稳固可靠。
步骤三: 创建音乐播放程序1. 在开发环境中新建一个工程,选择合适的开发板型号;2. 配置硬件参数,包括打开音频接口、TFT彩屏以及相应的引脚连接;3. 导入音乐文件,并将其添加到工程中;4. 编写代码实现音乐播放器的功能,包括音乐文件的读取、解码和输出控制;可以使用库函数来实现这些功能;5. 对代码进行调试和测试,确保音乐播放器的各项功能正常运行;6. 将编写完成的程序下载到开发板中。
步骤四: 运行实验1. 将音乐播放器开启,并选择所需播放的音乐文件;2. 通过TFT彩屏显示音乐文件列表,并提供相应的操作选项;3. 在选中音乐文件后,点击播放按钮,实现音乐的播放;4. 可以通过按钮或触摸屏实现音乐的暂停、停止、上一曲、下一曲等控制功能。
实验结果与分析通过本次实验,我成功地实现了一个音乐播放器,并验证了其正常工作。
音乐播放器具有可靠的功能,可以播放、暂停、停止音乐,并可以切换上一曲、下一曲。
通过TFT彩屏,可以显示当前播放的音乐文件列表,方便用户选择不同的音乐文件。
实验总结通过本次实验,我对嵌入式系统的原理和应用有了更深入的了解。
通过硬件和软件的协同工作,我成功地完成了一个音乐播放器的设计与实现。
一、实验目的1. 熟悉音乐播放器的基本原理和设计方法。
2. 掌握音乐播放器软件的开发流程和关键技术。
3. 培养学生的动手实践能力和团队协作精神。
二、实验环境1. 操作系统:Windows 102. 开发工具:Java Development Kit (JDK) 1.83. 开发环境:Eclipse IDE for Java Developers4. 音乐格式:MP3、WAV等三、实验内容1. 音乐播放器功能需求分析2. 音乐播放器系统设计3. 音乐播放器软件实现4. 音乐播放器测试与优化四、实验步骤1. 功能需求分析音乐播放器应具备以下功能:(1)播放音乐:支持MP3、WAV等音乐格式;(2)播放列表:支持添加、删除、排序音乐列表;(3)音量控制:支持音量调节;(4)播放模式:支持顺序播放、随机播放、单曲循环;(5)播放进度:显示当前播放时间和总时长;(6)播放界面:简洁、美观、易用。
2. 系统设计(1)模块划分音乐播放器系统分为以下模块:①音乐播放模块:负责播放音乐、控制播放进度、音量等;②播放列表模块:负责管理音乐列表、添加、删除、排序音乐;③用户界面模块:负责显示播放界面、交互操作等。
(2)技术选型①音乐播放模块:采用Java Media Framework (JMF) 进行音乐播放;②播放列表模块:使用ArrayList存储音乐信息;③用户界面模块:采用Swing组件实现。
3. 软件实现(1)音乐播放模块①导入JMF库,创建播放器实例;②设置播放器播放源(音乐文件);③实现播放、暂停、停止、音量调节等功能;④实现播放进度显示。
(2)播放列表模块①创建播放列表类,继承ArrayList;②添加、删除、排序音乐列表;③实现音乐列表的遍历和查找。
(3)用户界面模块①设计播放界面布局,包括播放按钮、进度条、音量条等;②实现播放器与用户界面的交互操作;③实现播放器功能的调用。
4. 测试与优化(1)功能测试①测试播放音乐功能,确保支持多种音乐格式;②测试播放列表功能,确保添加、删除、排序操作正常;③测试播放模式功能,确保顺序播放、随机播放、单曲循环正常;④测试音量控制功能,确保音量调节正常;⑤测试播放进度显示功能,确保播放时间与总时长准确。
一、实验目的1. 了解音乐播放器的基本原理和组成。
2. 掌握音乐播放器的电路设计方法。
3. 熟悉音乐播放器中常用元器件的性能和应用。
4. 提高动手能力和实际操作技能。
二、实验原理音乐播放器是一种将数字音频信号转换为模拟音频信号,并通过扬声器播放出来的设备。
其基本原理如下:1. 数字音频信号:音乐播放器接收的数字音频信号通常为MP3、WMA等格式,这些格式经过压缩处理后存储在存储介质上。
2. 数字信号解码:音乐播放器内部有一个数字信号解码器,将数字音频信号解码成模拟音频信号。
3. 模拟信号放大:解码后的模拟音频信号需要经过放大器放大,以便驱动扬声器发声。
4. 扬声器发声:放大后的模拟音频信号通过扬声器发声,实现音乐播放。
三、实验内容1. 音乐播放器电路设计2. 元器件选型与测试3. 音乐播放器组装与调试四、实验步骤1. 音乐播放器电路设计(1)确定音乐播放器功能:根据需求确定音乐播放器功能,如播放、暂停、切换曲目等。
(2)选择主控芯片:根据功能需求选择合适的主控芯片,如ESP8266、STM32等。
(3)设计电路原理图:根据主控芯片和功能需求,设计电路原理图,包括数字信号解码、模拟信号放大、按键、显示屏等模块。
(4)绘制PCB板图:根据电路原理图,绘制PCB板图,确定元器件布局和走线。
2. 元器件选型与测试(1)主控芯片:根据电路设计,选择合适的主控芯片,如ESP8266。
(2)数字信号解码芯片:根据电路设计,选择合适的数字信号解码芯片,如DAC芯片。
(3)模拟信号放大芯片:根据电路设计,选择合适的模拟信号放大芯片,如运算放大器。
(4)按键、显示屏等元器件:根据电路设计,选择合适的按键、显示屏等元器件。
(5)测试元器件:对所选元器件进行测试,确保其性能符合设计要求。
3. 音乐播放器组装与调试(1)焊接PCB板:根据PCB板图,焊接元器件,完成音乐播放器组装。
(2)调试电路:检查电路连接是否正确,调整电路参数,确保电路正常工作。
实验报告课程名称:数字系统设计实验1 指导老师:成绩:__________________ 实验名称:音乐播放实验实验类型:设计型同组学生姓名:_ 无一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的和要求1、掌握音符产生的方法,了解DDS技术的应用。
2、了解AC97音频接口电路的应用。
3、掌握系统“自顶而下”的设计方法。
二、实验内容和原理i实验内容:设计一个音乐播放器ii实验原理:系统划分为主控制器(mcu)、乐曲读取(song_reader)、音符播放器(note_player)、AC97音频接口(codec_conditioner)和ac97_if五个子模块。
系统图如下:mcu接收按键信息,通知song_reader是否要播放(play)以及播放播放哪一首歌曲(song)。
song_reader模块根据mcu要求逐个取出音符{note,duration}送给note_player,乐曲播放完毕回复(song_done)给mcu。
note_player接收音符后以48kHz速率送出该音符的正弦波样品给AV97音频接口模块。
当一个音符播放结束,向song_reader回复note_done。
codec_conditioner、ac97_if负责与AC97接口工作。
另外,按键处理模块完成输入同步化、防颤动和脉冲变换等功能。
三、主要仪器设备带modelsim和ISE 的PC机,XUP Virtex-II Pro 开发系统一套四、设计过程1.音符播放器(note_player)的设计主要任务有:●从song_reader模块接收所需播放的音符信息{note,duration};●根据note值找出DDS的相位增量;●以48khz的速率从sine rom取出正弦样品送给AC97接口模块;●当一个音符播放完毕,向song_rom模块索取新的音符。
USB实现PC音频播放器实验z意义与作用现在的智能终端已经逐步由按键+指示灯或数码管发展为触摸屏+音频输出,前面已经介绍了神舟系列STM开发板的触摸屏,本章节我们来学习一下如何使用神舟系列STM开发板的USB接口和I2S音频接口在PC侧实现一个免驱动音频声卡功能。
本实验USB工作在同步传输模式。
通过该实现使大家了解如何使用STM32的USB的同步传输模式实现即插即用的功能,以及如何使用STM32的I2S音频接口实现音频播放功能。
z实验原理在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。
更详细的说明请参看USB HID 协议,该协议可从下载。
关于STM32的USB知识可以参考附件的《STM32 USB固件的中文资料.pdf 》和《STM32的USB详解.pdf》等文档。
本实验音频部分主要是初始化DA芯片PCM1770,设置STM32的I2S接口的参数,然后将来自USB接口的音频数据通过I2S2接口送给DA芯片PCM1770播放。
PCM1770简介:神舟系列STM开发板采用TI公司的进口原装音频DA芯片PCM1770。
PCM1770是一款具有耳机放大器的24位低功耗立体声音频 DAC。
可直接驱动耳机,具有软件控制音量大小、芯片模式和模拟语音合成等功能。
该芯片的功能框图如下:PCM1770支持工业标准音频数据格式(industry-standard audio data formats),包括标准模式(standard)、I2S飞利浦标准、MSB对齐标准(left-justified)。
本次实验PCM1770为从设备模式和MSB对齐标准(left-justified)。
PCM1770的I2S共需要4信号:● SD:串行数据,用来接收2路(左右声道)时分复用通道的数据;● WS:字选(左右声道选择),从模式下作为输入;● CK:串行位时钟,从模式下作为输入。
● MCK:主时钟,PCM1770工作需要的时钟。
PCM1770在MSB对齐标准(left-justified)模式下的信号时序如下图所示:神舟系列STM32开发板的I2S接口特性如下:●单工通信(仅发送或接收)●主或者从操作●8位线性可编程预分频器,获得精确的音频采样频率(8KHz到96kHz)●数据格式可以是16位,24位或者32位●音频信道固定数据包帧为16位(16位数据帧)或32位(16、24或32位数据帧) ●可编程的时钟极性(稳定态)●从发送模式下的下溢标志位和主/从接收模式下的溢出标志位● 16位数据寄存器用来发送和接收,在通道两端各有一个寄存器●支持的I2S协议:─ I2S飞利浦标准─ MSB对齐标准(左对齐)─ LSB对齐标准(右对齐)─ PCM标准(16位通道帧上带长或短帧同步或者16位数据帧扩展为32位通道帧) ●数据方向总是MSB在先●发送和接收都具有DMA能力●主时钟可以输出到外部音频设备,比率固定为256xFs(Fs为音频采样频率)●在互联型产品中,两个I2S模块(I2S2和I2S3)有一个专用的PLL(PLL3),产生更加精准得时钟STM32的I2S的框图如下图所示:通过将寄存器SPI_I2SCFGR的I2SMOD位置为’1’,即可使能I2S功能。
此时,可以把SPI模块用作I2S音频接口。
I2S接口与SPI接口使用大致相同的引脚、标志和中断。
STM32的I2S的4个引脚:● SD:串行数据(映射至MOSI引脚),用来发送和接收2路时分复用通道的数据;● WS:字选(映射至NSS引脚),主模式下作为数据控制信号输出,从模式下作为输入;● CK:串行时钟(映射至SCK引脚),主模式下作为时钟信号输出,从模式下作为输入。
● MCK:主时钟(独立映射),在I2S配置为主模式,寄存器SPI_I2SPR的MCKOE位为’1’时,作为输出额外的时钟信号引脚使用。
输出时钟信号的频率预先设置为256 × Fs,其中Fs是音频信号的采样频率。
设置成主模式时,I2S使用自身的时钟发生器来产生通信用的时钟信号。
这个时钟发生器也是主时钟输出的时钟源。
I2S模式下有2个额外的寄存器,一个是与时钟发生器配置相关的寄存器SPI_I2SPR,另一个是I2S通用配置寄存器SPI_I2SCFGR(可设置音频标准、从/主模式、数据格式、数据包帧、时钟极性等参数)。
本次实验PCM1770为从设备模式和MSB对齐标准(left-justified),对应神舟系列STM32开发板的I2S接口主模式和16bit MSB对齐标准。
STM32的I2S支持的MSB对齐标准时序图:在此标准下,WS信号和第一个数据位,即最高位(MSB)同时产生根据以上分析所以后续代码中会看到如下配置:z硬件设计本实验硬件包括“STM32的I2S音频接口”和“USB 2.0 OTG全速接口”两部分。
STM32的I2S音频接口:音乐播放器要用到的硬件资源STM32的I2S接口和外部DA芯片PCM1770,将从I2S2接口传过来的音频音频信号输出到耳机接口。
神舟IV号STM32开发板上使用了PCM1770这款具有耳机放大器的24位低功耗立体声音频DAC芯片提供音频播放功能。
处理器通过I2S接口(处理器的I2S2)传送音频信号到PCM1770,由它进行解码输出到J3音频座。
而PCM1770的配置接口与处理器的SPI3连接,处理器通过SPI接口访问PCM1770的寄存器,实现配置和控制功能。
图表 1 音频解码电路原理图D/A芯片PCM1770通过I2S2接口与STM32F107VCT6处理器连接。
音频信号通过I2S2接口传到D/A芯片,转换成音频信号播出。
相关管脚定义如下:GPIO管脚功能描述说明左右通道时钟,频率和音频采样速率一致PB12 I2S2_WS串行比特位时钟。
PB13 I2S2_CK串行音频数据信号。
PB15 I2S2_SD系统时钟输入,PCM1770工作需要的时钟PC6 I2S2_MCKSTM32F107VCT6处理器通过SPI3接口访问DA芯片PCM1770,对它内部数据进行读取和配置。
相关管脚定义如下:GPIO管脚功能描述说明片选连接到PCM1770的SPI接口片选PC7 SPIPC10 SPI3_SCKSPI3接口SCK时钟信号SPI3接口的MOSI信号PC12 SPI3_MOSIDAC芯片说明在神舟IV号中,使用了TI公司推出的低电压,低功耗带耳机放大的DAC芯片PCM1770,来实现音频的DA转换。
PCM1770的管脚信号图:PCM1770的管脚信号定义:USB 2.0 OTG全速接口作为Device设备注:本实验的硬件设计与前面“USB人机交互设备HID实验”对应章节完全相同,此处不再重复,请参考“USB人机交互设备HID实验”对应章节。
z软件设计在本实验中的原理是采用的是I2S中断方式来将音频数据送到DAC芯片实现播放音乐的功能,主程序实现如下:1、配置LED、串口和LCD液晶屏2、配置I2S管脚和参数3、USB时钟、USB协议相关初始化,等待USB中断本实验USB工作在同步传输模式。
关于LED、串口、LCD液晶屏,系统滴答等知识在前面章节已经讲解过,请回顾相关知识。
下面我们将重点讲解MAIN函数中的Speaker_Config函数:该函数的第二行可知本实验的I2S数据传输使用的是DMA方式,继续深入看一下I2S_Config()函数:I2S_Config()函数配置I2S的GPIO和I2S参数:查看神舟IV号原理图可知, D/A芯片PCM1770通过I2S2接口与STM32F107VCT6处理器连接。
音频信号通过I2S2接口传到D/A芯片,转换成音频信号播出。
相关管脚定义如下:GPIO管脚功能描述说明左右通道时钟,频率和音频采样速率一致PB12 I2S2_WS串行比特位时钟。
PB13 I2S2_CK串行音频数据信号。
PB15 I2S2_SD系统时钟输入,PCM1770工作需要的时钟PC6 I2S2_MCK对应的代码如下:2S_Config()函数配置和初始化I2S管脚以及接口参数:USB接口初始化USB接口初始化在前面已经进行了详细的实验,在本实验中,就不再详细描述,相关的初始化代码如下:“pProperty->Init()”实际调用的是“void Virtual_Com_Port_init()”中断配置函数: 该例程使用了USB中断和I2S中断,由于USB工作同步传输模式,所以将其优先级设为最高,I2S中断优先级次之(STM32的I2S和SPI共用接口资源)。
进行中断组设置和中断优先级设计,相关代码如下:z下载与验证神舟IV号光盘\源码\目录包含本实验的工程源码,在神舟IV号光盘\源码\33.神舟IV号STM32_USB_MUSIC实现PC音频播放器实验.rar\Project\Audio_Streaming\EWARMv5 \STM3210C-EVAL-25MHz\Exe目录下的神舟IV号STM32_USB_MUSIC实现PC音频播放器实验.hex文件即为前面我们分析的神舟IV号STM32的USB实现PC音频播放器实验编译好的固件,我们可以直接将固件下载到神舟IV号开发板中,观察运行效果。
如果使用JLINK下载固件,请按错误!未找到引用源。
错误!未找到引用源。
下载固件到神舟IV号开发板小节进行操作。
如果使用USB下载固件,请按错误!未找到引用源。
错误!未找到引用源。
小节进行操作。
如果使用串口下载固件,请按错误!未找到引用源。
错误!未找到引用源。
小节进行操作。
如果在IAR开发环境中,下载编译好的固件或者在线调试,请按错误!未找到引用源。
错误!未找到引用源。
小节进行操作。
如果在MDK开发环境中,下载编译好的固件或者在线调试,请按错误!未找到引用源。
错误!未找到引用源。
小节进行操作。
z实验现象将实验的程序固件下载到神舟IV号后,将耳机插入音频口(J3)以后,连接USB与PC 电脑,重新为神舟IV号上电运行,PC机会提示发现新硬件并免驱自动完成安装,此时原PC 的声音会通过神舟IV号从耳机播放,在PC上打开音乐就可以通过神舟IV号听到悦耳的歌声。
同时LCD会有消息提示,串口2(波特率115200)输出打印信息,提示程序运行情况。
PC机免驱自动完成安装后,可以在PC的设备管理器里看到如下设备:同时双击电脑任务栏右侧的喇叭,可以看到-STM32 Speaker音频设备信息。
可以查看-STM32 Speaker音频设备的属性信息:。