手搓了一台触屏手机(开发板)!
自己逐步实现——点亮屏幕、启动UI、锁屏UI、系统桌面UI、仪表盘、咖啡机、压力测试、控件、GIF演示、键盘输入、自定义列表/表格、相册、相机、蓝牙功能、音乐播放器……
自己的手机用着不香吗?为什么要亲自搓手机呢?
是这样的,一次偶尔的机会,我找到了一个有资料的手机屏(XH8379A)并且成功的用D133单片机驱动了起来,包括显示和触摸!
我想着,既然屏都点亮了,那,就再顺便搓一个手机吧,还能锻炼一下嵌入式开发……
所以……怎么实现上述的手机功能?硬件怎么设计?外壳怎么设计?怎么开发的?下文一一为你解答!
MCU
LCD
POWER
AUDIO
USB
D133手机主板-PCB图
电源拓扑十分复杂,需要实现:
USB通过充电芯片给锂电池充电
电池给系统供电,不与USB供电冲突
USB给系统供电,不与电池供电冲突
电池通过升压对外提供5V输出到USB,不与充电功能冲突
无线充电功能
为了解决以上需求,初始方案是使用二极管防止电源冲突。但是!这样会拉低电压,并且小封装二极管(为了手机主板体积)不能大电流工作……
于是我果断使用PMOS分别控制各个电源的电流方向。
这时又有两个方法。
第一,用逻辑门,根据电压的有无情况,切换电流方向
例如:有锂电池时,打开锂电池供电;有USB时,打开USB供电;有锂电池且有USB时,打开锂电池供电,关闭USB供电,打开USB充电。但是,为了加上5V升压输出和无线充电功能,又要单独考虑不同的电源情况……
另一种方法就是,用MCU来控制各处的MOS。
这里我用了第二种方法。
使用CH573实现系统电源流向控制、蓝牙外设等功能。同时,其电源供给控制可以实现彻底断电,从而降低功耗,延长手机续航。
为了解决调试问题,我给手机板放了一个集线器。
正常情况下,手机USB口作为HUB输入口,分出4个USB,分别连接——D133的USB、USB串口芯片、CH571的USB、串口。
特殊情况下,通过USB切换开关,可以将USB口直连D133作为OTG功能。
V2版本仍不是最终版本,因为我的终极目标是——做一个既精简又多功能,还美观的手机!
①外壳设计软件:soildworks2022
②外壳使用3D打印,主要打印手机中框,注意预留USB-TYPE-C口、SD卡槽、电源、音量按键、红外孔
①D133基于VSCODE编译,使用AiBurn通过USB接口连接电脑下载镜像(固件)。
②程序使用luban-lite-SDK,使用RTT嵌入式操作系统编写。界面采用极为炫酷的lvgl编写。
③CH571蓝牙开发-环境:MournRiver
④驱动移植步骤
新建xh8379a驱动,路径:bsp/artinchip/drv/display/panel
按厂家提供的初始化序列及屏参数,参数对应到显示面板结构体中。
屏幕初始化序列。
新建ft6306驱动,按照rtt驱动框架适配读写接口,IIC地址:0x38,即0x70右移1位
屏幕下方虚拟按键隶属于触摸屏,手指按住虚拟按键时也会触发中断,固定上报一个坐标,这个坐标超出屏幕高度,所以需要特殊处理为按键信息。
然后通过输入结构体的键值传递给UI。
本项目已开源!
——想复刻?想给作者点赞?可复制开源网址 前往原文。
开源网址:https://oshwhub.com/lovelessing/d133-mobile-phone-development-bo
MAX3485EESA+T/RS-485/RS-422芯片 | 5.99 | |
DS18B20+/温度传感器 | 4.38 | |
ADUM1201ARZ-RL7/数字隔离器 | 5.28 | |
ADM2483BRWZ-REEL/隔离式RS485/422收发器 | 9.36 | |
OPA2189IDR/精密运放 | 6.83 | |
STM32F103RCT6/单片机(MCU/MPU/SOC) | 6.5 | |
STM32F103VCT6/单片机(MCU/MPU/SOC) | 7.05 | |
STM32F103CBT6/单片机(MCU/MPU/SOC) | 5.75 | |
STM32F103ZET6/单片机(MCU/MPU/SOC) | 10.9 | |
AMC1311BDWVR/特殊功能放大器 | 4.95 |
60万+现货SKU
品类不断扩充中
科技智能大仓储
最快4小时发货
正品有保障
物料可追溯
明码标价节省时间
一站式采购元器件
您确定要删除此收货地址的吗?
您确定删除此收货地址吗?
content
content