做一款能够媲美山寨CD机的音乐播放器的柜台

这次制作的主题是——做一款能够媲美山寨CD机的音乐播放器。还记得去年,我制作了一款M8音乐播放器,朋友听了后,直接评价那音质不行。这次制作的音乐播放器使用了TI公司的PCM1770,它是24位低功耗立体声音频DAC。这款音乐播放器的工作原理并不复杂。重新上电后,音乐播放器的代码就能成功运行了。

本次制作的主题是制作一款媲美山寨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标准,还具有可设置8至16位数据长度的SPI接口。 每个 SPI 接口有 4 条片选线。 这样就可以通过硬件连接实现处理器与DAC解码器之间的数据传输以及控制命令的发送。

可实现的功能

制作完成后,将CD品质的WAV文件复制到SD卡上。 该文件必须存储在根目录中。 该程序通过AT91SAM7S64的SSC串行控制器将音频数据流通过SSC接口传输到TI的音频DAC。 这样耳机就会播放优美的音乐。 播放器由普通的微按钮控制。 一共5个按键,分别用于控制音量、选歌、播放、暂停等。

工作准则

整个产品由图 11.1 所示的 AT91SAM7 S64 最小系统(左)、穿孔板(中)和转换为 DIP 封装的 PCM1770 DAC(右)组成。

做一款能够媲美山寨CD机的音乐播放器的柜台

图11.1 生产所需的物理零件

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

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

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

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

(4)5个普通微按键,功能为:控制音量、选择音乐快进、快退、播放/暂停音乐。

(5)只需使用稳压芯片将5V USB电源转换为3.3V电路工作电源即可。

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

1、供电稳定

做一款能够媲美山寨CD机的音乐播放器的柜台

图11.2 电路原理图

它采用1117-3.3V稳压芯片将USB接口的5V电源转换为3.3V。 4个电容起滤波作用。 稳压芯片可选用SPX1117-3.3V、LM1117-3.3V或AMS1117-3.3V。 如果使用有极性的电解电容,请勿意外将正负极接反。

2. 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)。 最后,将用于PLL滤波的电容器连接到AT91SAM7S64的PLL RC引脚。 这样ARM7上电后就可以运行代码了。

AT91SAM7S64的供电系统比较复杂,但好在它只需要单一的3.3V电压就可以解决所有供电问题。 供电采用USB 5V电压,经过1117-3.3V稳压芯片稳压,然后给DAC、AT91SAM7S64、SD卡供电。 AT91SAM7S64也需要1.8V的电源电压。 幸运的是,它具有集成的电压调节功能,可以输出1.8V电压。

AT91SAM7S64处理器只要正确连接所需的两个电源电压(3.3V、1.8V),焊接18.432MHz外部晶振,连接简单的USB接口电路,就可以物理下载程序。 请注意,当使用 18.432MHz 外部晶振时,编程文件只能通过 USB 接口下载。 但由于音乐播放器需要外接16.9344MHz的晶振,所以可以正常速率播放CD采样率(44.1kHz)的音乐。 因此,下载程序后,需要切换晶振。 这一步比较麻烦。

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

指示

首先,使用 FAT(FAT12 和 FAT16 的组合)或 FAT32 格式化 SD 卡。 然后,将44.1kHz、16位WAV音乐复制到SD卡(注意,请复制到根目录)。 插上USB电源后,按中间的播放/暂停键即可播放音乐(音乐播放器开机时无法自动播放,需要按播放/暂停键才能播放)。

刻录文件的下载和使用

1.启动代码介绍

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

2.恢复启动代码

当 PA0、PA1、PA2 和 TST 四个引脚保持高电平时,上电并等待 10 秒。 由于PA0、PA1、PA2上电时默认上拉电阻打开,因此这三个引脚可以悬空。 TST 引脚具有使能的内部下拉电阻,因此需要通过外部电路将 TST 引脚拉高。

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

3. 关于ERASE引脚

上电期间ERASE引脚的上拉可用于擦除内部Flash的安全位,并且将在50ms内完成。 其作用是清除整个内部Flash存储器的内容。 当这些操作完成时,安全位被清除。

使用 SAM-BA 对器件进行编程并执行使能安全位操作(即编程 Flash 安全位)后,必须将 ERASE 引脚拉高,然后才能下次恢复系统编程。

4. SAM-BA软件的使用

首先,安装SAM-BA ISP软件,该软件将与驱动程序一起安装。 这样,当已经恢复启动代码的ARM7插入USB接口时,就会自动安装驱动程序,设备管理器中就会出现如图11.3所示的设备。

然后双击运行该软件,会出现如图11.4所示的运行界面。 选择如图11.4所示的连接方式“usbARM0”和开发环境“AT91SAM7S64-EK”后,按“Connect”进行连接。 然后弹出烧录软件主界面,如图11.5所示。

做一款能够媲美山寨CD机的音乐播放器的柜台

图11.3

做一款能够媲美山寨CD机的音乐播放器的柜台

图11.4

做一款能够媲美山寨CD机的音乐播放器的柜台

图11.5

然后,点击“发送文件”按钮,选择要刻​​录的BIN文件。 最后点击“发送”即可发送。 期间会弹出扇区解锁确认和扇区锁定确认对话框,单击“是”。

几秒钟后,程序将被烧录。 重新上电后,音乐播放器代码将成功运行。

生产介绍

其实整个制作对于刚学习ARM7处理器的人来说并不困难。 如果购买AT91SAM7S64的最小系统,通常会将其32个PIO口引出并用引脚连接。 您只需自己制作底板,焊接插座,然后就可以轻松合并它们。

我做的底板是用多用途板做的,尺寸约为10cm×10cm。 细心观察的朋友还会发现,这款底板的功能不仅仅只是作为音乐播放器使用,还可以用于ARM7上的很多小实验。

我使用绝缘线将接线连接到基板的背面,这是我目前更喜欢的方式(见图 11.6)。 如果觉得难看,也可以自己制作PCB底板,可以轻松焊接。

为了让我的制作更加美观,我在网上买了一块1.8mm厚的有机玻璃板。 用小锯锯成10cm×10cm的大小,然后用砂纸仔细打磨。 抛光后,在适当的位置钻孔,最后用2mm螺丝和相应的铜座固定。 外观制作完成(见图11.7)。

你会发现产品正面有一根飞线。 这是因为我买的最小系统的3.3V电源引脚没有向下出来,所以我必须拿一根杜邦线并将其连接到底板上。

做一款能够媲美山寨CD机的音乐播放器的柜台

图11.6 使用绝缘线连接基板背面的电路

做一款能够媲美山寨CD机的音乐播放器的柜台

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

单片机

(七分简历)嵌入式娱乐用拳击服电路板

2024-5-6 14:05:17

单片机

89SS5151单片机与DAC、ADC的接口思考题及习题

2024-5-6 15:06:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索