立创EDA开源项目基于F1C200S的2.4寸Miyoo横板掌机硬件设计与制作指南大家好最近在复古掌机DIY圈子里一款基于全志F1C200S芯片的2.4寸横板掌机挺火的。它结构简单性能足够而且整个硬件设计在立创EDA上完全开源。我自己也照着做了一套从画板、打样到焊接调试整个过程下来感觉这个项目对想学习嵌入式硬件设计的朋友来说是个非常棒的实战案例。今天我就把自己复现这个项目的经验以及从开源社区里学到的一些优化点整理成一份手把手的制作指南希望能帮你少走弯路。1. 核心硬件方案解析咱们先来搞清楚这个掌机的“心脏”和“骨架”。它的核心是一颗全志的F1C200S芯片这是一颗集成了ARM9内核和64MB DDR1内存的SOC。对于运行一些复古游戏模拟器来说这个配置是绰绰有余的而且它把内存集成在芯片内部省去了外部内存芯片让PCB设计变得简单很多。整个掌机的硬件构成可以概括为以下几大块主控全志F1C200S。显示一块2.4寸的IPS屏幕驱动芯片是ST7789V支持SPI和RGB两种接口模式这个项目里用的是SPI模式来驱动以节省引脚。音频通过芯片内置的音频编解码器输出支持耳机和扬声器。输入经典的十字方向键、ABXY动作键、菜单/开始选择键全部使用微动开关。供电使用了一颗DCDC芯片来为核心和内存提供稳定的电压并且支持超频所需的电压微调。存储游戏系统和ROM都存放在一张TF卡里通过SPI接口与主控通信。外壳开源设计提供了亚克力堆叠和3D打印两种方案。注意这个项目是活跃的开源项目有专门的交流群群号514419296。文中的很多修复和优化都来自群友的贡献遇到问题去群里问问往往比一个人琢磨效率高得多。2. 关键元器件选型与采购硬件DIY元器件是基础。有些元件比较特殊用错了可能导致板子不工作或者体验打折。这里我把几个需要特别注意的元件列出来。2.1 屏幕采购屏幕是整个项目的脸面必须选对。原作者指定了淘宝上的一款2.4寸IPS屏。这款屏幕的驱动芯片是ST7789V同时支持SPI和RGB接口。在我们的掌机方案里为了节省F1C200S的引脚资源采用的是SPI驱动方式。屏幕采购链接2.4寸IPS全视角TFT彩屏液晶显示屏SPI MCU RGB接口ST7789V驱动屏购买时请认准这个链接或同款型号因为不同批次或厂家的屏幕其引脚定义、初始化序列可能有细微差别直接使用项目提供的固件可能无法点亮。2.2 耳机座与微动开关这是两个容易踩坑的部件。耳机座一定要按照原作者提供的型号购买。不同厂家的3.5mm耳机座虽然外观一样但内部的引脚排列顺序可能完全不同。如果买错了会导致插入耳机后声音还是从喇叭出来或者完全没有声音。微动按键推荐使用手感一致的160gf克力力度的微动开关。这个力度手感比较适中不会太硬也不会太软。十字键和功能键可以都用同一种保证手感统一。为了方便大家采购这里把关键元件的图片附上按图索骥最保险(图中包含了耳机座和微动开关的实物图与可能的关键参数)3. PCB设计与制作要点你可以在立创EDA的开源平台找到这个项目的完整PCB文件。如果你只是想打板制作可以直接使用。但如果你想学习修改比如调整外壳就需要了解一些设计要点。3.1 电源设计F1C200S的核心电压和内存电压是需要单独供电的。这个项目使用了一颗DCDC芯片来生成这两路电压。核心电压 (VCC-CORE)默认配置为1.65V。这是CPU运行的基础电压如果你打算超频可能需要适当提高这个电压以增强稳定性。内存电压 (VCC-DRAM)默认配置为2.8V。这是给内置的64MB DDR1内存供电的。在PCB上这两路电源的滤波电容要尽量靠近芯片的电源引脚放置这是保证系统稳定运行尤其是超频时的关键。3.2 屏幕接口屏幕通过一个FPC连接器连接到主板。PCB设计时需要注意SPI信号线包括SCLK、MOSI、DC数据/命令选择、RESET复位、CS片选等。这些信号线最好走线等长并做好包地处理减少干扰。背光控制屏幕的背光通常由一个PWM信号控制用于调节亮度。这里有一个重要的社区修复早期的设计存在背光调节等级与实际亮度相反的问题比如设置高亮度反而变暗。这个问题已经在2023年3月24日的更新中修复了。如果你使用的是最新版开源文件则无需担心如果使用旧版可能需要检查背光控制电路的逻辑。3.3 音频电路音频部分相对简单F1C200S内部有音频编解码器直接输出模拟信号。电路上主要包含耳机检测通过一个开关判断耳机是否插入自动切换输出通路。音频放大驱动扬声器需要一个小功率的音频放大器。社区优化同样在2023年3月24日的更新中耳机输出从单声道调整为了双声道提升了立体声体验。音频部分的滤波电容和走线要远离数字电路避免产生“滋滋”的底噪。3.4 ADC与电量检测掌机使用电阻分压电路来检测电池电压并通过F1C200S内部的ADC模数转换器读取。这里也有一个社区优化更新中调整了ADC采样的分压电阻阻值使得电量读取更加准确。设计时分压电阻的精度建议选择1%采样点可以增加一个小的滤波电容如0.1uF来稳定读数。4. 结构装配与外壳选择板子做好了还得有个“家”。项目提供了两种外壳方案4.1 亚克力堆叠外壳这是最早的方案由社区网友“莨菪玖菜”设计。它的优点是透明探索版非常酷炫你能直接看到内部所有的元器件和走线极客感十足。 但是缺点也很明显手感有点割手。亚克力的边缘如果没有经过精细的打磨和倒角握持起来会比较硌手。固定方式是通过正面的M210螺丝和底面的M28铜柱进行堆叠。4.2 3D打印外壳推荐这是目前更推荐的方案由群友“电动灵魂”贡献。3D打印的外壳在手感上完胜亚克力边缘可以做成圆角握持舒适。重要提示如果你要使用这个3D打印外壳需要对PCB进行一点小修改——把侧面的音量调节波轮的位置向外移动一些否则外壳会挡住波轮。修改方法是在立创EDA里将音量电位器这个元件的封装向板边方向移动一点再重新布局布线。提示无论选择哪种外壳在组装时所有按键的键帽和屏幕都需要仔细对准。可以先不上螺丝用手压住测试所有按键手感是否顺畅再最终固定。5. 系统烧录与软件配置硬件组装完成后就需要注入“灵魂”——操作系统和游戏了。获取系统镜像系统镜像文件可以在项目交流群514419296的群文件中找到。请注意这个镜像是基于“司徒”修复闪屏的系统稳定性很好。准备TF卡准备一张容量2GB以上的TF卡用电脑将其格式化为FAT32格式。烧录镜像使用像Win32DiskImager或balenaEtcher这样的镜像烧录工具将下载好的.img系统镜像文件写入到TF卡中。这个过程会清空TF卡所有数据。插入与启动将烧录好的TF卡插入掌机的卡槽上电后系统就会自动从卡中加载。关于性能优化 这个项目社区还提供了超频和优化软件能进一步提升游戏体验超频可以将CPU和DRAM频率提升例如DRAM超频至252MHz配合调整核心电压使游戏运行更流畅。相关工具和配置方法可以在“2.8寸版本项目”的文件或群文件中找到。前端界面配合超频的Gmenu2x前端界面可以让游戏选择和系统设置更加流畅美观。硬件制作和系统烧录其实只是第一步真正的乐趣在于调试和优化。当你按下电源键屏幕亮起听到开机音乐然后流畅地玩上一把《魂斗罗》时那种成就感是无可比拟的。这个开源项目就像一个宝库你可以基于它修改硬件、移植系统、优化性能。如果在制作过程中遇到任何问题别忘了回去看看开源文档和社区讨论大多数坑都已经有人踩过并填平了。祝你制作顺利玩得开心