制作便携式 PCM 播放器电路
时间:2024-11-14 13:37:11
音频花样:未收缩的 LPCM(RIFF WAVE 文件)
存储介质:MicroSD存储卡
:Grachics OLED
收音机:单芯片FM接收器
电源:嵌入式锂聚合物电池 框图
图 1表现了内置 LPCM 播放器的框图。该播放器的无味性能是用软件驱动音频 DAC。为了完成这一点,采样数据必需以恒定的周期发送到DAC。一些微操纵用具有片上IIS接口来输出/输入数字音频数据。然而,该项目中应用的 Atmel AVR 微控制器不具备云云实用的性能,是以必需应用通用 SPI 端口和定时器中缀来驱动音频 DAC。
DAC 的模仿输入经由过程模拟量举行衰减,馈送到缓冲放大器并经由过程耳机插孔输入。衰减也能够在 DAC(数字衰减)以前实现,但会下降失常音量下的 SNR,由于无论旌旗灯号电平若何,DAC 天生的噪声电平(热噪声和量化偏差)都是恒定的。为了防止这个题目,DAC 接纳满量程驱动,并经由过程 DAC 后衰减器调理音量。
应用锂聚合物电池供电。它是内置于机箱中的,无奈随意马虎改换。当然,板上需求一个电池管理器。锂聚合物电池是一种敏感的化学设置装备摆设,必需根据精确的设想应用,不然可能会致使冒烟、火警或爆炸。
128 x 64 图形OLED模块用于表现曲目信息。与通用背光 LCD 模块相比,它异常薄,能够缩小挪移设置装备摆设的厚度。然而,因为OLED是自发光器件,是以与反射式LCD模块相比,存在功耗较大的瑕玷。
主电路板
电路板分为主板和表现板两部分。照片2和图2表现了组装好的主板。
电池电压由两个 LDO 稳压器调配。数字电源提供给微控制器、存储卡和表现板。模仿电源提供给 DAC 和无线电接收器。两个域的电源合并的缘故原由是为了使模仿电路免受存储卡发生的大噪声的影响。因为异样的缘故原由,缓冲放大器也与模仿电源分手并间接连接到电池。数字电源由按钮开关关上并由微控制器坚持。这称为“软件操纵电源开关”。这是第一个构建的配合道理。模仿电源仅由微控制器操纵。LiPo电池的充电操纵由独立于微控制器的充电操纵IC BQ2057C实现。
该项目应用 Atmel ATmega644P微控制器,内置 64K 字节闪存和 4K 字节 RAM。3.3V 时的最大时钟速度为 13.3MHz,但我没有适宜的晶体,是以使用了 14.745MHz 晶体。这超出了规格 10%,但关于专业喜欢应用来说是没有题目的。
大多数音频 DAC 都有一个 8 阶插值滤波器。除了 BCK/LRCK 以外,内置数字滤波器还需要 256、384 或 512fs 过采样时钟 (OCK),是以很难将此类 DAC 与通用串行接口一路应用。当能够天生 OCK 时,DAC 将不接收软件天生的数字音频旌旗灯号,由于 BCK/LRCK/OCK 之间的相位瓜葛不稳定。我抉择的Rohm BU9480F音频 DAC 没有插值滤波器。
DAC 的模仿输入经由过程音量举行衰减,并经由过程运算放大器 (BurrBrown OPA2353 ) 举行缓冲。因为电源电压低于4伏,不克不及应用非RRO范例的一般运算放大器。当任何高压耳机放大器可历时,它比运算放大器更适合用于此目标。该项目还应用耳机线作为 FM 收音机接收器的 ,是以耳机插孔必需应用电感器举行 RF 浮置。 调频收音机接收器已被大大简化。该项目中应用的RDA5800C是集成在4x4mm QFN 封装中的残缺 FM 接收器。早先我使用了NS953M FM接受模块,但灵敏度较差,起初我用RDA5800C替代它,并获得了精良的灵敏度。 IC 的模仿输出在启历时经由过程寄存器与 DAC 输入连贯,在禁历时与 DAC 断开。
表现电路板
照片3和图3为表现板。它经由过程排针堆叠在主板上。板上有一个 OLED 表现模块、一个用于发生 OLED 驱动电压的 DC-DC 转换器、一个 LED 和一个光探测器 (CdS)。光探测器用于操纵表现强度以坚持最好可见度,这是大多数挪移设置装备摆设上的罕见性能。OLED 由两块无盖玻璃板构成,厚度仅为1.7毫米。它安装在电路板上。
机壳
该项目应用Takachi PB-1塑料外壳 (75 x 50 x 20mm)。材质为通明聚苯乙烯,钻孔时轻易碎裂、破裂,应当心操纵。我在外壳外部涂上了导电涂料以构成电磁屏障。导电涂料有两种范例。一种是碳基(彩色),另一种是镍基(深灰色)。第二种好像电阻更小,电磁屏障功能更好。聚苯乙烯外壳涂漆时,应分两遍或三遍举行,以避免外貌溶解。当然,展示窗必需被油漆覆盖。
操纵按钮安置在外壳正面,以避免不测操纵。按钮开关有两种装置要领,如图4和图5所示。
软件
DAC 操纵
软件 DAC 操纵是该项目标首要特色。采样时钟(LRCK)由TC1 的PWM 性能发生。音频数据经由过程设置为 SPI 模式的 USART1 发送。当 LRCK 为低电平时,左边样本被发送到 DAC,反之亦然。LRCK 的两个边沿上发生两个自力的中缀,每一个 ISR 从数据 FIFO 中读取音频数据,混杂蜂鸣声(如果是声音)并将其发送到 USART1。这些背景历程在 48kHz 采样率下占用约 4MHz 的 CPU 功率。主历程的残剩处置才能约为11MHz。一些CPU寄存器是为背景历程保留的,是以必需在所有模块中申明它。
音频播放器
当按下“播放”按钮时,数字电源关上,微控制器开端事情。假如前次断电后卡还没有改换,则会从中缀的曲目顶部开端播放。音频文件(曲目)存储在根目录下的子目录(专辑)中。专辑数目最多为 20 张,每张专辑的曲目数目最多为 99 首。专辑和曲目按文件/目次称号排序。假如专辑中存在播放列表(.m3u/.wpl 文件),则遵照列表次第。
播放时按“播放”按钮可切换停息/播放状况。NEXT 按钮跳转到下一首曲目,假如抵达最初一首曲目,则返回到第一首曲目。按住NEXT按钮0.7秒,跳出专辑并进入下一张专辑。PREV 按钮可跳转到以后曲目的顶部,双击可跳转上一曲目。
在播放过程当中,主历程必需从存储卡中读取音频数据并将其存储到音频FIFO中。长期中缀可能会致使 FIFO 欠载。任何其余历程,比方用户敕令和表现操纵,都会在 FIFO 已满时施行。
无线电接收器
PCM 播放器和 FM 收音机接收器这两种性能可通过长按 STOP 按钮举行切换。收音模式下,经由过程PREV/NEXT按钮调谐接受频次,有两种调谐模式。一种是预设模式,另一种是自在调谐模式。调音模式经由过程 PLAY 按钮切换。预设频道可通过存储卡上的配置文件举行变动。当它被更改时,它被读取并复制到 EEPROM 中。
PCM 播放器拥有 128 x 64 点图形 OLED 模块。它还能够表现汉字字体。然而,汉字字体的数据量非常大,无奈包含在步伐代码中。汉字字体存储在存储卡中,该存储卡拥有有限的空间用于存储字体数据。假如因为任何缘故原由无奈读取字体数据,则会表现红色块。
照片 4表现了显示屏上的结构。专辑称号目次称号表现在其LFN中。艺术家和题目是从 wav 文件中的 INFO猎取假如没有 INFO表现文件名。要使用在代码页 932 (SJIS) 中启用 LFN 的 FatFs,FatFs 模块自身至多需求 64K 字节步伐经由过程应用一些技术减小代码转换巨细解决了这个题目。
字体图象按比例间距绘制,可增加字符密度约20表现亮度由环境操纵。当处于口袋暗中地方时,OLED 显示屏封闭缩小功耗,但在换轨或任何按钮上会亮起。
当播放器处于封闭状况时,微控制器在充电时通电而且 LED飞快闪耀指导正在充电。