简介

Bric是一个自制的便携音乐播放器。我计划写一系列的博文来介绍这个项目,关于这个项目的历史,软硬件设计,性能测试,等等。希望对希望设计类似系统或者希望自制类似设备的玩家有所帮助。以下是主要的技术参数:

  • MCU: NXP LPC5528 (512KB Flash, 256KB RAM, 150MHz Cortex-M33)
  • 屏幕: GDEH0213B72 2.13" 250x122 EPD
  • DAC: Cirrus Logic CS43131
  • 电源管理: LTC2942-1 + LTC3554
  • 存储: MicroSD

历史 & 项目计划

我从10年前最开始接触单片机以来,就一直想要设计制作一个音频播放器。一方面我觉得这样的东西设计起来应该足够简单,处于我的能力范围之内,另外一方面我自己也非常喜欢听歌,所以如果能用自己设计制作的设备听歌那可太好了。期间做过许多实验性的设计:基于CortexM的,基于ARM9的,全集成Codec的,独立LPF+AMP的,也玩过经典的VS1003方案解码芯片,但是总之一直以来并没有做出什么完整的作品,也就一直没有具体记录过。

2019年初的时候,我决定再试试自制这个东西。一大原因是出现了CS4313x这类的高性能的高集成度DAC。最开始的项目名称叫做RhythmPocket,使用NXP的i.MX7S处理器(28nm单核心Cortex-A7)。外壳直接使用GameBoy Pocket的外壳。当时的想法是可以直接连接上WiFi下载歌曲。

1578535892619-IMG_8180_s.jpg

随后由于功耗实在无法满足目标,19年下半年改为了使用LPC55S69处理器(当时还没有55S28/5528),项目也改名为了RhythmPocketLite。RPL继承了大部分RP的硬件设计,但是更换了处理器。19年末的时候完成了一部分的硬件测试和一些初步的软件代码。

1578535916585-IMG_8366_s.jpg

20年初,我在Penn State的EE300课程允许学生自己设计一个项目作为课程设计,于是我选择继续来完成这个项目。因为种种原因,没有继续使用GBP外壳的设计,而是选择做成更小的,可以更方便随身携带的样式,项目名称为Bric。Bric也继承了大部分RPL的硬件设计,只是更换了屏幕,整体尺寸也更小了。Bric最终达到了比较高的完成度:r0.3的PCB修复了所有已知的bug,有3D打印的外壳,所有硬件的驱动都完成了,软件也实现了一部分基础的功能。

1621871301987-E1uBvo2XIAA4B-n.jpeg

当然Bric也有一些我个人并不满意的地方:EPD屏幕的显示效果不尽如人意,按键设计也过于小以至于难以操作。最终硬件中的DAC部分和软件部分被合并进了VerilogBoy Handheld设计,形成了新的项目,叫作Fobu。

目前的计划是,我不会制作更多的Bric样品,因为已经被Fobu替代了。而最终Fobu会运行同样的代码,所以软件部分会继续进行。而这一系列的博文,也就是好好记录一下这个项目。

目录

以下是系列博文的目录,基本是按照设计和实现的顺利来排列的,但是写的时候有可能会乱序进行。

  1. 简介(本文)
  2. 电路设计
  3. 外壳设计
  4. 音质测试
  5. MP3解码播放
  6. ID3封面显示
  7. 电源管理
  8. 中文显示