1、项目背景
当我还是个孩子的时候,我还记得一个孩子用泡沫、电机和电池在河里做了一艘电动快艇。淡淡的涟漪让我的心起伏伏,停在河边逗留。在我的童年,一盒四轮驱动,让我体验到这样一个微不足道的小部件可以组装出如此强大的四轮驱动。后来,小霸王学习机很受欢迎,经常呆在孩子家里看别人玩游戏,他也感到非常兴奋。初中时,流行的文学音乐明星、步步高电子词典英雄坛、伏击魔法、魔法塔深深痴迷,童年梦想有一天可以创建一个硬件软件独立设计的掌机。
随着我的成长,这个梦让我选择在大学学习电子电路设计,PCB layout、嵌入式编程,直到业余时间继续学习和实践,最终在 2019年 7月 1 日正式建立工程文件,花费了足够的 2 业余时间,整个设计一点一点地被称为 ALTA-STM32H7 掌上电脑纯粹是为了好玩。安富莱 用于软件框架V7 例程,uCOS-III emWin FatFs ST_USB,只差 LWIP 收集一切。在自己设计的掌机上开发了 10 个 APP,时钟 APP、音乐 APP、图库 APP、设置 APP、文件 APP、版本 APP、电影 APP、游戏 APP、U 盘 APP、波形 APP。演示视频和图片如下:
2、硬件设计
核心板 底板 屏幕用于硬件框架Alitum 软件绘制原理图,PADS 绘制 PCB 板。金手指 6 层设计核心板, 2 层设计底板, 2 层设计屏幕。具体硬件细节如下。
2-1、核心板配置
- CPU : STM32H743XIH6(M7 核心、480MHz 主频、2MB Flash,1MB RAM)
- SDRAM : IS42S32800G-6BLI(32 位,32MB)
- QSPI Flash : W25Q256JVEIQ(4 线总线宽度,容量 32MB,支持 XIP,可操作程序)
- SPI Flash : W25Q64JVZEIQ(容量 8MB)
- NAND Flash : MT29F4G08ABADAWP:IT(8 总线宽度,容量 512MB)
- SD 卡座:Micro SD Card
- 显示接口:RGB 24bit、I2C 触摸,背光可调
- Typec-C 型 USB 口:1 个 USB Device 全速
- LED 灯 2 指示灯
- 1
- SWD 下载接口 : 1
- : 1 复位键,1 唤醒键
2-2、底板配置
- 二合一锂电池充电升压 IC : TP5400/TP5410 (充电:4.2V/1A,输出 5V/1A)
- 二合一锂电池保护 IC : DW06D
- 电量监控 IC : STC3100
- 线性 LDO IC : AMS1117-3.3
- 电压参考 IC : LM285D-2.5
- 光照强度 IC : BH1730FVC
- EEPROM : AT24C02C-STUM-T
- 实时时钟 IC : DS3231M
- 以太网 IC : LAN8720A
- 音频 IC : WM8978CGEFL(24 位 ADC 与 DAC)
- Typec-C 型 USB 口 : 1 个 USB Device 全速,1 串行接口(CH340G USB 转串口芯片)
- A 型 USB 口 : 1 个 USB HOST 全速
- 电池座 : 1 双 18650 锂电池座,1 CR1220 纽扣电池底座
- 无线模块 : NRF24L01(2.4GHz、SPI 接口驱动)
- DS18B20
- DHT11
- 耳机插座 : 1个音源输入,1个音源输出
- 按键 : 1个启动键,1个确认键,1个取消键,1个 ISP 下载键,1 复位键
- LED 灯 : 1个电源灯,3个指示灯
- V 9*5.5MM)
- * 2.2mm咪头 6022 尺寸)
- SWD 下载接口 : 1
- 扬声器: 1 (8 欧姆)
2-3、屏幕配置
- RGB 电容触摸屏(并行 24 RGB 界面,分辨率8000*480、全视角 IPS、5 英寸、GT911 电容触摸)
3、软件设计
3-1、软件版本
软件框架为 uCOS-III emWin FatFs ST_USB,网络没有添加,具体软件版本见下列表
- ST_HAL 库 版:V1.10.0
- BSP 驱动包 版:V1.2
- uCOS-III 版本:V3.08.00
- uC/CPU 版本: V1.32.00
- uC/LIB 版本: V1.39.00
- emWin 版本:V6.10
- FatFS 版本:V0.14
- ST_USBD 版本:V2.7.1
- ST_USBH 版本:V3.3.4
3-2掌机主界面及应用 APP 介绍
基于ALTA-STM32H 10 个 APP 分别是:时钟 APP、音乐 APP、图库 APP、设置 APP、文件 APP、版本 APP、电影 APP、游戏 APP、U 盘 APP、波形 APP。
- 锂电池监测信息是主机面左侧的透明区域。emWin 剩余内存(emWin 共分配 24MB)、数据显示和传感器(光强、温度、湿度)
- 主界面右侧为 APP 布局界面,采用 ICONVIEW 控件显示 12 APP
- 主界面下册区域为任务栏,相关机 Win 键与时间日期同步显示
3-2-1、时钟 APP
- 时钟主界面左侧显示表盘,模拟时、分、秒指针,右侧显示时间、日期和时钟芯片温度
- 时钟子界面采用 LISTWHEEL 控件,实现调整年、月时,自动调整日的最大值。如:将日期 2020-02-29 调整年为 2021,则天自动调整为 28
3-2-2、音乐 APP
- 音乐主界面碟片是打开列表的按钮。主界面有音量、进度调节、耳机与外放切换,上一曲、下一曲、播放、暂停功能
- 音乐子界面采用 LISTVIEW 控件,显示音乐列表
3-2-3、图库 APP
- 图库主界面采用 LISTVIEW 控件,显示图片列表
- 选择图片后全屏显示。点击图片左侧,向上切换图片。点击图片右侧,向下切换图片。点击图片中间,关闭图片
3-2-4、设置 APP
- 调节系统背光和系统音量,自动调节背光功能待开发
3-2-5、文件 APP
- 文件主界面显示内部储存设备(3 个内部储存设备并未开发)和移动储存设备(SD 卡和 U 盘容量显示)
- 文件子界面采用 CHOOSEFILE 控件,仅用于浏览 SD 卡和 U 盘中文件内容,但不能打开文件
3-2-6、版本 APP
- 显示硬件和软件设计版本,手机扫描二维码会进入个人网站:
www.mazirong.com
3-2-7、电影 APP
- 电影 APP 为双图层(图层 1 底层,图层 2 上层。程序默认运行在图层 1)设计,有关操作的按钮和进度条均在图层 2,电影播放在图层 1
- 注意使用格式工厂软件转化视频时,视频分辨率为 800*480,且每秒帧数不推荐超过 30 帧,防止帧率太高无法播放
3-2-8、游戏 APP
- 移植自网友 ye781205 的 nes 模拟器,实现外界 USB 游戏手柄畅玩 nes 类游戏
- 游戏主界面采用 LISTVIEW 控件,显示游戏列表。选择进入游戏后,运行 nes 模拟器
3-2-9、U 盘 APP
- 使用 Type-C 的 USB 数据线连接板子插入电脑,点击 USB Open 按钮,过几秒中电脑会显示出 SD 卡磁盘
- 在与电脑连接状态下,点击 USB Close,立刻从电脑移除 SD 卡磁盘
3-2-10、波形 APP
- 波形主界面模拟 2 个波形,波形幅度设置为 120 至 220
- 波形子界面采用三原色配置背景、栅格、波形等颜色
自此,ALTA-STM32H7 掌机项目软硬件设计介绍完毕,这代表这我目前的软硬件综合能力的最高水平。后续可能全部开源,欢迎各位电子爱好者,极客朋友留言交流。个人网址:
www.mazirong.com
,B站:芯跳不止
,期待你们来信!