简介
Rhythm Pocket (Lite)是一个以GameBoy Pocket为外壳的便携音频播放器。算是个比较简单的项目了(?)
起因
便携MP3播放器也是个从学单片机开始一直想做的东西了,因为算是为数不多的可以自己做出来的而且有一些实用价值的东西了。然而也确实因为需求不明确一直没有动手,毕竟听歌有手机,没有什么单独要个播放器的必要。现在想找个简单点的小项目做一下,然后就开始做了。然而作为我的项目……结果就是并没有多简单就是了,把事情复杂化最后弃坑,好像都是这样……
硬件
RhythmPocket
- NXP i.MX 7 Solo SoC (1x ARM Cortex-A7 @ 800MHz)
- 256MB LPDDR2-800/1066 DRAM
- 8MB W25Q64 SPI Flash
- CS43131 Audio DAC
- RTL8723BS WiFi+BT4.0
- 160x144 LCD
RhythmPocket Lite
- NXP LPC55S69 MCU (2x ARM Cortex-M33 @ 100MHz)
- On-chip 320KB SRAM
- On-chip 640KB Flash
- CS43131 Audio DAC
- 160x144 LCD
设计细节
SoC
这里采用了i.MX7S作为主控。没有采用6ULL是因为7S的制程从40nm提高到了28nm,从官方给出的测试结果来看功耗方面有大幅度的下降。对于这么一个功耗敏感但是预算并不敏感的项目而言,就还是用7而不是用6了。至于为什么不用7ULP而是用了7S,因为7ULP使用了0.5mm pitch的封装,就是我这种普通PCB工艺没有办法做到的了。至于为什么用NXP而不是国产厂的CPU,嗯……因为从来没有用过不是很敢用,对LPDDR支持、功耗水平等等的也有一些担心,以后有机会的话应该会试一下。(不过必然是买个四核心A35一类的然后只用一个核心了?)
电源
供电算是整个设计中相当有挑战的一个部分,因为供电只有两节7号电池。比如如果使用700mAh的充电电池(1.2V),两节也只能提供1.68Wh的能量。然而考虑一般这种便携式的MP3,要能听10小时不过分吧,这样就是平均功耗不能超过168mW,还是比较苛刻的。
内存
内存采用单片16bit LPDDR2内存。使用LPDDR内存主要是为了降低运行时功耗。本来是尝试了32bit内存的,但是确实四层板的话,32bit内存扇出都是个问题,更别说是布线了,所以还是缩成16bit了。
屏幕
已知问题
RP
问题 | 出现 | 修复 |
---|---|---|
主板缺少部分前壳使用的固定孔 | REV 0.1 | REV 0.2 |
USB接口过于靠内 | REV 0.1 | REV 0.2 |
耳机接口缺少一个固定孔 | REV 0.1 | REV 0.2 |
耳机接口横向位置偏左 | REV 0.1 | |
1.0V/1.2V DCDC 22pF电容标示错误 | REV 0.1 | REV 0.2 |
LCD负高压DCDC不工作 | REV 0.1 | REV 0.2 |
USB ESD元件干扰USB通信 | REV 0.1 | REV 0.2 |
LPDDR引脚定义错误 | REV 0.1 | REV 0.2 |
电位器焊盘过大 | REV 0.1 | REV 0.2 |
电位器缺少固定孔 | REV 0.1 | REV 0.2 |
电位器过于靠外 | REV 0.1 | REV 0.2 |
电池触点极性错误 | REV 0.1 | REV 0.2 |
电池触点尺寸过大 | REV 0.1 | REV 0.2 |
直接使用USB供电启动可能导致持续过流 | REV 0.1 | |
耳机接口纵向位置偏上 | REV 0.1 | |
电位器前方固定孔位置不够大 | REV 0.2 |
RPL
问题 | 出现 | 修复 |
---|---|---|
需要板载大容量存储(~32MB) | REV 0.1 | |
需要ISP模式按键 | REV 0.1 | |
电池座附近缺少固定孔 | REV 0.1 | |
MCU使用1.8V供电不工作 | REV 0.1 | |
JTAG接口与后壳冲突 | REV 0.1 |