产品概述

基于单片机音乐播放器 单片机创意小制作,ARM7音乐播放器

小编 2024-10-08 产品概述 23 0

单片机创意小制作,ARM7音乐播放器

在校学习期间,教我单片机的王老师时常提起ARM处理器。她提醒我说,我们是计算机专业的,应该研究嵌入式系统。起因是,我喜欢单片机,而单片机偏偏在我们学校是电子系的专业。把单片机玩转了,对于计算机专业的我,就显得偏离专业了。那时,我还是头脑一热,在网上买了一个AT91SAM7S64最小系统。但是,一直没有像样地玩它。只是断断续续地写了几个简单的程序,像学习51单片机一样学它。随着时间的推移,它被遗忘在一边了。不过这几天在整理零碎时,我又开始注意到它了。

这次制作的主题是——做一款能够媲美山寨CD机的音乐播放器。随着MP3、MP4、手机、PMP等便携播放器的出现,在市场上很少看到专门卖CD机的柜台了。想想也是,现在马路上很少看到有人拿个硕大的CD机听音乐。最主要的原因,估计是CD光盘尺寸偏大,携带不便,所以现在听MP3的人越来越多了。但是,不管怎样,CD的音质还是相当好的。还记得去年,我制作了一款M8音乐播放器,朋友听了后,直接评价那音质不行。我解释说,那是8位的播放器,还是被他鄙视了。太伤我心了。于是,我又琢磨着做一款新的播放器,希望它超过普通MP3的音质。这回做好后,又特意给那位朋友试听了一下,这次他评价说,这音质的确超过普通MP3了。下面我会和大家分享制作它的过程。

主要芯片介绍

这次制作的音乐播放器使用了TI公司的PCM1770,它是24位低功耗立体声音频DAC。由于它能够直接驱动耳机,所以选择它作为音频解码器。当耳机的阻抗为16Ω时,它的输出功率为13mW。PCM1770使用的电源范围为1.6~3.6V,支持标准的I2S音频接口。对DAC的操作是通过SPI接口实现的。它的音量也由软件控制,音量控制一共分为64个等级。

电路的处理器使用Atmel公司的AT91SAM7S64。它有64KB的FLASH程序存储器,16KB的内部SRAM,是高性能的32位RISC架构的ARM7处理器,最高工作频率可达55MHz。它一共有64个引脚,PIO控制的I/O驱动电流可以达到8mA,PA0~PA3可以达到16mA,但所有I/O电流之和不能超过150mA。这款处理器具有SSC同步串行控制器,支持I2S标准,也有SPI接口,可以设定8到16位的数据长度,每个SPI接口有4个片选线。这样,处理器与DAC解码器的数据传输、控制命令的发送都可以在硬件上连接实现。

可实现功能

这个制作完成后,将CD音质的WAV文件复制到SD卡内,文件必须存放在根目录下。程序通过AT91SAM7S64的SSC串行控制器,把音频的数据流通过SSC接口传输到TI的音频DAC上。这样,耳机就播放出动听的音乐了。播放器使用普通的微动按钮控制,一共用了5个按钮,分别实现音量、选曲、播放、暂停等控制。

工作原理

整个制作,由图11.1所示的AT91SAM7 S64 最小系统(左边)、洞洞板(中间)和转接成DIP封装的PCM1770 DAC(右边)组成。

图11.1 制作所需的各部分实物

这款音乐播放器的工作原理并不复杂。主要由5大部分组成:

(1)AT91SAM7S64最小系统,比51单片机最小系统稍微复杂些。

(2)PCM1770 I2S音频解码器,用于驱动耳机或音响,播放音乐。

(3)SD卡存储卡,存放44.1kHz/16位的WAV格式的音乐文件。

(4)5个普通的微动按钮,功能分别为:控制音量、前后选择音乐和播放/暂停音乐。

(5)简单的用稳压芯片将5V的USB电源转换成3.3V的电路工作电源。

音乐播放器的原理图如图11.2所示,可分为5大部分:左上角为稳压电路,左下角为5个微动按钮,右上角为SD卡,右下角为TI的音乐DAC芯片,中间的就是AT91SAM7S64的最小系统了。

1.稳压电源

图11.2 电路原理图

它使用1117-3.3V的稳压芯片,把USB接口的5V电源转换成3.3V。4个电容起到滤波作用。稳压芯片可以采用SPX1117-3.3V、LM1117-3.3V或AMS1117-3.3V。如果使用有极性的电解电容,不要粗心地把正负极性弄反。

2. 5个微动按钮

这5个微动按钮排列成经典的上下、左右、中间的十字结构,它的控制功能大家很容易理解,分别是上下为音量控制、左右为切换歌曲控制、中间为暂停/继续播放控制。

3. SD 卡

使用了它的SPI接口,直接和ATM7的SPI接口的NPCS0、MOSI、MISO、SPCK连接,在程序中我使用了系统时钟16.9344MHz作为SPCK时钟,这样它的传输速率才可以超过CD音乐格式标准的数据流速度。

4. TI的DAC

这是这个系统最关键的地方,它需要SPI接口控制它,同时又需要I2S接口给它提供数据流。它的SPI控制接口与AT91SAM7S64的NPCS1、MOSI、MISO、SPCK引脚相连,程序通过拉低 NPCS0 与 NPCS1 这两个引脚来片选 SD 卡或 DAC 芯片。在传输数据时,可以拉低不同的片选信号来指定传输的方向。DAC的LRCK、DATA、BCK接口分别与RAM7的TF、TD、TK连接。但由于DAC芯片还需要系统时钟,它可以是128fs、192fs、256fs或384fs(fs为音乐的采样率,如44.1kHz采样率)。所以,我通过ARM7的PCK0引脚输出384fs频率的时钟。最后,还可以通过控制DAC的PD引脚为0,让DAC休眠,减低它的功耗。

5. AT91SAM7S64 最小系统

正确连接好处理器各内部控制器的电源,如VDDFALSH、VDDIO、VDDCORE、VDDPLL等,确认USB的D+上拉电阻到3.3V。在播放44.1kHz音乐时,确认使用的是16.9344MHz晶体(在下载程序时使用18.432MHz)。最后,在AT91SAM7S64的PLL RC引脚上连接 PLL滤波用的电容。这样,ARM7上电后就能运行代码了。

AT91SAM7S64的电源系统比较复杂,但还好仅仅需要单一的3.3V电压,即可解决所有供电问题。电源使用USB的5V电压,经过1117-3.3V稳压芯片稳压,然后给DAC、AT91SAM7S64、SD卡供电。AT91SAM7S64还需要1.8V的电源电压,好在它内部集成的电压调节功能,能输出1.8V电压。

AT91SAM7S64处理器只要正确连接好需要的2种电源电压(3.3V、1.8V),焊接上18.432MHz的外部晶体,并且连接上简单的USB接口电路,在物理上就能够下载程序了。注意,当使用18.432MHz的外部晶体时,烧录文件才能通过USB接口下载。但由于音乐播放器需要16.9344MHz的外部晶体,才能以正常的速率播放CD采样率(44.1kHz)的音乐。因此,下载好程序后,还需要切换晶体。这一步麻烦些。

程序首先初始化AT91SAM7S64的SPI接口和SSC接口,并使能PIOA引脚(连接按钮的引脚)和SSC接口(I2S接口)的中断。等初始化接口完毕后,程序才能通过已经正确配置的接口,初始化音频DAC、SD卡设备。等这些操作完成后,程序会通过读取SD卡的特定扇区,识别文件系统种类,并搜索根目录下的第1个音乐文件。最后,通过按钮控制,实现音乐的播放。

使用方法

先要格式化SD卡,使用FAT(FAT12与FAT16的合集)或FAT32都可以。然后,复制44.1kHz、16位的WAV音乐到SD卡上(注意,请复制到根目录)。插上USB电源后,按中间的播放/暂停按钮播放音乐(音乐播放器在上电时不能自动播放,还需要按下播放/暂停按钮才能播放)。

烧录文件的下载与使用

1. 引导代码简介

AT91SAM7S64内部含有一段叫SAM-BA BOOT的程序,它在出厂时已被固化,不会被擦除,也不会被改变。在特定的条件下,它会被复制到内部Flash中,这个复制的过程叫系统程序恢复。系统程序恢复后,下一次上电或手动复位时,SAM-BA BOOT代码就会运行了,它使用片上集成的USB或DEBUG串口与上位机通信,实现自编程。

2. 恢复启动代码

在PA0、PA1、PA2、TST这4个引脚保持高电平的状态下,上电并等待10s。由于上电时PA0、PA1、PA2默认上拉电阻使能了,所以这3个引脚可以悬空。而TST引脚内部下拉电阻使能,因此需要通过外部电路将TST引脚拉高。

10秒后当芯片再次上电时(记得恢复TST引脚为低电平),就会运行SAM-BA BOOT程序了。这时,把芯片的USB接口连接上电脑,电脑上就会发现新硬件,并自动安装驱动。当然,前提是你在电脑上已经安装了SAM-BA ISP下载软件。

3. 关于 ERASE 引脚

上电时ERASE引脚的上拉可以用来擦除内部Flash的安全位,并且会在50ms的时间内完成。它的作用是使整个内部Flash存储器的内容被清除掉。当完成这些操作后,安全位才会清除。

当你使用SAM-BA对器件编程后,执行了Enable Security Bit操作,即编程了Flash安全位,那么下一次恢复系统程序前必须拉高ERASE引脚。

4. SAM-BA 软件使用

首先,安装SAM-BA ISP软件,它会连同驱动一起安装的。这样,当把已经恢复启动代码的ARM7插入USB接口时,驱动即可自动安装,并在设备管理器里多出如图11.3所示的设备。

然后,双击软件运行,出现图11.4所示的运行画面。选择图11.4所示的连接方式“\usb\ARM0”和开发环境“AT91SAM7S64-EK”后,按“Connect”后连接。接着,烧录软件的主界面就会跳出,如图11.5所示。

图11.3

图11.4

图11.5

然后,点击“Send File”按钮,选择烧录用的BIN文件。最后,点击“Send”发送即可。期间会弹出扇区解锁确认和扇区锁定确认对话框,点击“Yes”即可。

几秒后,程序就烧录完毕了。重新上电后,音乐播放器的代码就能成功运行了。

制作简介

其实,整个制作对刚学习ARM7处理器的人也不难。买一个AT91SAM7S64的最小系统,它的32个PIO口一般都会引出来的,并用插针连接。只需要自己做底板,焊接好插座,就能方便地合并了。

我做的这个底板是用万用板制作的,尺寸大约是10cm×10cm。仔细观察的朋友,还会发现,这个底板的功能不仅仅是特意用来做音乐播放器的,还可以做许多关于ARM7的小实验。

底板的反面我用绝缘导线连接线路,这也是我目前喜欢的做法(见图11.6)。如果觉得难看,大家还可以自制PCB的底板,这样也能轻松焊接。

为了使自己的制作更美观,我又在网上买了片1.8mm厚的有机玻璃板。用小锯切割成10cm×10cm大小后,用砂纸仔细打磨。打磨好后在合适的位置上钻孔,最后用2mm的螺丝和对应的铜座固定,这个制作的外观就完成了(见图11.7)。

大家会发现制作的正面还有一根飞线,这是由于我买的最小系统,3.3V的电源插针没有向下引出,只好拿了条杜邦线连接到底板了。

图11.6 用绝缘导线连接底板背面的线路

图11.7 用有机玻璃制作播放器的外壳

3年70万+用户,从音乐app做到HIFI播放器,海贝R6Pro

本文已获得作者授权,文中言论不代表乙迷观点。

作者:乌鸦坐飞机

海贝音乐APP软件在播放器市场有着很高的知名度,很多手机作为数字转盘的发烧友们对海贝是相当的了解,作为能够直接播放DSD音乐的免费软件,其功能非常的强大,很多的安卓国砖也都是直接使用海贝的系统方案。

作为国内最大的HIFI播放APP品牌—海贝,日前发布了自家的新旗舰HIFI播放器,海贝R6PRO。售价4398元。

对标竞品乐彼L4、艾利和SR15、山灵M5S和乾龙盛QA361。

外观部分

1. 使用了康宁大猩猩玻璃屏。屏幕非常透亮,在显示流媒体专辑封面时,有种愉悦感油然而生。(无视渣贴膜)

2. 不锈钢外壳,边角非常圆润,按钮选用了内凹设计,手感很棒,不过也比较重,沉甸甸的,达到了285g的重量。

性能方面

(都是安卓嘛,对比手机)

解码芯片: 两片ESS移动版芯片(ES9028Q2M)支持DSD 256硬解

CPU: 高通骁龙425

运行内存: 3GB运存

存储: 32G存储空间,拓展卡槽

操作系统: 系统运行基于最新的安卓8.1系统(相当的流畅)

无线连接: 支持2.4G/5G双频WIFI,蓝牙连接APT-X HD、HWA、LDAC(你能想到的无线连接格式它都有)

充电: Type-C接口,支持QC3.0快充(试了一下一个小时基本充满)

(这配置,就差一张手机SIM卡了)

新品R6pro有哪些亮点

1. 与大多数安卓HIFI播放器不同的是,海贝自家的音乐播放APP,拥有DTA安卓全局无损输出技术,可以做到不受安卓SRC问题的干扰,并且宣称支持多APP的原生输出,即使流媒体也有无损好音质。

2. R6pro有个非常创新一点,全新的HiByLink功能,手机可以当做遥控器,放在口袋或者背包里,可以直接无线遥控音乐,管理音乐文件,多设备兼容。

3. R6pro 在购机后,可以免费体验3个月的海贝音乐曲库(有百万曲库和600首16BIT的无损歌曲)

4. R6pro自带三种调音模式(监听、柔和、胆味 )监听顾名思义,没有经过任何的修饰。胆味和 柔和模式在频段上进行了一定的处理,不过笔者直接切换并没有听出什么区别。

值得一提的是

海贝R6pro的4.4平衡口拥有非常高的输出功率达到了750mW@32Ω ,推力惊人。驱动HD660S之类的大耳机,应属得心应手。

海贝R6pro的信噪比竟然高达了131dB(4.4平衡口),不过官方并没有给出详细的测试条件,在如此大推力的情况下,信噪比达到了行业最高信噪比,有待检验。

当然,如此高输出功率的播放器,在带来大推力的同时,自身的底噪也会被放大,使用仙女座"底噪测试塞"能听见微弱的电流声;

海贝R6pro在搭配上,更适合驱动较难驱动的高阻抗耳塞 ,像音特美的ER4、UM-3DD-TI,等极为难推的耳塞下,R6pro的优势得以凸显。

海贝R6pro玩法

HIFI播放器:用户体验才是关键。

传统的播放器:单片机的操作,单调的屏幕,连触摸屏都不支持,也是让很多用户去选择安卓播放器的重要因素。舒爽的流媒体体验(网易云、虾米、QQ音乐),加上足够满意的音质,相比于那些追求极致的按键机,很多人心里也有杆秤,做出取舍选择。

HIFI-B站: 得益于3GB运存和5Gwifi,在下载哔哩哔哩APP后,1080p+高清模式下看番,没有任何的卡顿,对ACG音乐爱好者来说非常的友好,从OP和ED上,就可以体验到抢在专辑发售前聆听歌曲的快感。

由于没有经过长时间使用的测试,目前还不得了解,海贝R6pro是否会像早期的艾利和AK320、AK380一样使用2、3年后出现卡顿的情况,影响操作体验;不过相信以海贝的软件技术实力,在机器的耐用性上,应该有不错的保障。

"懒人"播放器

作为流媒体HIFI的先行者,海贝创新的使用了DTA技术,解决了无数厂商对安卓胆怯的SCR问题,兼顾了操作体验与音质提升。

让很多HIFI玩家感受到流媒体音乐在音频资源的获取上巨大的便利性,可谓是"鱼和熊掌"兼得。

作者:乌鸦坐飞机

相关问答

单片机音乐 设计目的与意义?

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S...

单片机 蜂鸣器播放 音乐 只哒哒得响是怎么回事-ZOL问答

再换用需要的音乐驱动程序,如果不能正常播放音乐,就要仔细调整程序了。重新在...应该是你播放器的缘故或者重新驱下声卡驱动试试你的是无源的吧频率太低或...

单片机播放器 为什么一直不响?

2.程序问题:检查程序是否正确,是否存在语法错误或逻辑错误等问题。3.音频文件格式问题:检查音频文件格式是否支持单片机播放器,如是否为MP3等格式。4.音量...

STM32精英版和战舰版有什么区别?

正点原子两个版本的开发版,都是使用stm32f103ZE区别在于外设有一定的差异,精英版本是战舰版本的简化版本,相此战舰版本,精英版本省略了网络接口,音乐播放...

央视影音 播放器 移动播放怎样设置-ZOL问答

找到央视影音播放器,确定,完成有用(0)回复baiminkaixin直到现在没有有用...在一般的电路中(单片机),过孔的大小及线宽最好为多少MM(注:是MM)2443浏览2回...

51 单片机 和stm32的低功耗特性对比?

优点如下:1、STM32属于arm内核的一个版本,比传统的51单片机高级多了,有很多资源是51不具备的,如usb控制器。而且已经废除了机器周期什么的,速度不是51能比...

mc100a1k可以usb播放视频吗?

它主要是为了提供更好的音频输出而生产的,因此在其扩展功能上并没有支持USB播放视频的设计。此外,虽然现在市场上的很多播放器都可以支持音视频播放,但是这并...

BA系统是什么工业控制?

要通过运行状态监控与故障监测,对建筑物内各类设备进行高效率的管理与控制,在提供最佳舒适环境、现代化管理模式的同时,大大降低能量消耗,因此广泛应用...单...

COMS电池向哪些电路供电?-ZOL问答

你要看看用的单片机手册,确定能不能直接接受这个电压。如果不行的话,还是需要稳压的。加个继电器,线圈、常开点接外电源如果是WMP的就在播放器上点右键-属性...

为什么没有安卓版或ios版的全画幅相机?

这个事情要用历史的观点来看,我来分析一下:1.负责控制相机各个控制单元的操作系统,是随着数码相机的产生而发展的,早期的数码相机,更像是一部专业设备(实...直...

猜你喜欢