您好,请登录 免费注册
手机立创
  • 微信小程序

    找料更方便

  • 立创APP

    体验更友好

  • 立创公众号

    售前咨询,优惠活动

消息(0)
我的订单 购物车(0)
联系客服
  • 4000800709

    点击QQ咨询

  • 0755-83865666

    0755-83865666

    拨打电话咨询

帮助中心
供应商合作

温馨提示

您上传的BOM清单格式不准确,当前支持上传xls、xlsx、csv、JPG、PNG、JPEG格式,请检查后重新上传

BOM正在分析中...
首页 > 应用与分享 >手搓触屏手机,开源了!
  • 手搓触屏手机,开源了!

  • 2024-12-13 10:05:27 阅读量:277

手搓了一台触屏手机(开发板)!

触屏手机

自己逐步实现——点亮屏幕、启动UI、锁屏UI、系统桌面UI、仪表盘、咖啡机、压力测试、控件、GIF演示、键盘输入、自定义列表/表格、相册、相机、蓝牙功能、音乐播放器……

实际效果类似这样▼

手搓触屏手机演示

自己的手机用着不香吗?为什么要亲自搓手机呢?

是这样的,一次偶尔的机会,我找到了一个有资料的手机屏(XH8379A)并且成功的用D133单片机驱动了起来,包括显示和触摸!

我想着,既然屏都点亮了,那,就再顺便搓一个手机吧图片,还能锻炼一下嵌入式开发……

表情包

所以……怎么实现上述的手机功能硬件怎么设计?外壳怎么设计?怎么开发的?下文一一为你解答!

 

01
硬件设计

 

MCU

MCU

 

LCD

LCD

 

POWER

POWER

 

AUDIO

AUDIO

 

AUDIO

USB

 

D133手机主板-PCB图

D133手机主板-PCB图

电路部分设计了两个版本,最新版本是V2,是基于V1.0版本的优化版。

本章节主要分享V2.0版本设计原理想了解V1.0版本原理,可参考第4章指引,前往原文查看

V2版本(优化了4部分)

1.电源系统

电源系统

电源拓扑十分复杂,需要实现:

  • USB通过充电芯片给锂电池充电

  • 电池给系统供电,不与USB供电冲突

  • USB给系统供电,不与电池供电冲突

  • 电池通过升压对外提供5V输出到USB,不与充电功能冲突

  • 无线充电功能

为了解决以上需求,初始方案是使用二极管防止电源冲突。但是!这样会拉低电压,并且小封装二极管(为了手机主板体积)不能大电流工作……

于是我果断使用PMOS分别控制各个电源的电流方向。

PMOS

这时又有两个方法。

第一,用逻辑门,根据电压的有无情况,切换电流方向

例如:有锂电池时,打开锂电池供电;有USB时,打开USB供电;有锂电池且有USB时,打开锂电池供电,关闭USB供电,打开USB充电。但是,为了加上5V升压输出和无线充电功能,又要单独考虑不同的电源情况……

另一种方法就是,用MCU来控制各处的MOS。

这里我用了第二种方法。

使用CH573实现系统电源流向控制、蓝牙外设等功能。同时,其电源供给控制可以实现彻底断电,从而降低功耗,延长手机续航

使用CH573实现系统电源流向控制

2.调试系统

为了解决调试问题,我给手机板放了一个集线器。

正常情况下,手机USB口作为HUB输入口,分出4个USB,分别连接——D133的USB、USB串口芯片、CH571的USB、串口。

特殊情况下,通过USB切换开关,可以将USB口直连D133作为OTG功能。

调试系统 

调试系统

V2版本仍不是最终版本,因为我的终极目标是——做一个既精简又多功能,还美观的手机!

 

02
外壳设计

外壳设计软件:soildworks2022

外壳使用3D打印,主要打印手机中框,注意预留USB-TYPE-C口、SD卡槽、电源、音量按键、红外孔

 

背板使用亚克力激光切割外形,扣除比较高的元件空间,类似CNC

外壳设计

亚克力激光切割外形

安装步骤(4步)

1.首先需要用高温胶带固定手机的触屏排线,便于安装到PCB上

高温胶带固定手机

2.安装按键到手机中框的按键孔中,由于结构整体对称所以需要注意按键的方向,“+”在上,“-”在下,以及电源按键的方向

放PCB的USB口,对齐手机中框的USB开孔,左上角注意触摸PFC的元件位置,安装4颗M1.2螺丝固定PCB

4颗M1.2螺丝固定PCB

3.安装锂电池,按照PCB空挡位置安装,接上插头,从正面左侧装上SD卡

安装锂电池

4.安装手机后面板,对齐后置摄像头挖孔,从下侧螺丝孔安装M1.2螺丝固定后盖

安装手机后面板

 

03
程序开发

D133基于VSCODE编译,使用AiBurn通过USB接口连接电脑下载镜像(固件)。

编译

编译

程序使用luban-lite-SDK,使用RTT嵌入式操作系统编写。界面采用极为炫酷的lvgl编写。

采用极为炫酷的lvgl编写

CH571蓝牙开发-环境:MournRiver

驱动移植步骤

1.显示驱动移植:

新建xh8379a驱动,路径:bsp/artinchip/drv/display/panel

显示驱动移植:

按厂家提供的初始化序列及屏参数,参数对应到显示面板结构体中。

 参数对应到显示面板结构体中

参数对应到显示面板结构体中

屏幕初始化序列。

屏幕初始化序列

 

2.触摸驱动移植

新建ft6306驱动,按照rtt驱动框架适配读写接口,IIC地址:0x38,即0x70右移1位

触摸驱动移植

3.虚拟按键

屏幕下方虚拟按键隶属于触摸屏,手指按住虚拟按键时也会触发中断,固定上报一个坐标,这个坐标超出屏幕高度,所以需要特殊处理为按键信息。

虚拟按键

然后通过输入结构体的键值传递给UI。

虚拟按键

 

04
开源网址

本项目已开源!

——想复刻想给作者点赞复制开源网址 前往原文。

开源网址:https://oshwhub.com/lovelessing/d133-mobile-phone-development-bo

您的浏览器版本过低(IE8及IE8以下的浏览器或者其他浏览器的兼容模式),存在严重安全漏洞,请切换浏览器为极速模式或者将IE浏览器升级到更高版本。【查看详情】
推荐您下载并使用 立创商城APP 或者最新版 谷歌浏览器火狐浏览器360浏览器搜狗浏览器QQ浏览器 的极(高)速模式进行访问。
© 深圳市立创电子商务有限公司 版权所有

提示

您确定要删除此收货地址的吗?

请填写订单取消原因

提示

您确定删除此收货地址吗?

成功提示

content

失败提示

content

微信咨询

关注公众号咨询客服

咨询客服
  • 在线客服热线

    0755-83865666

  • 服务时间

    工作日  8:30~20:30

    节假日  8:30~18:00

  • 服务投诉

QQ咨询
投诉意见

紧急问题投诉电话:

18826549599

更快的受理通道

对常规通道处理结果不满意

请在此扫码

此意见箱直通立创管理层

优惠券 建议反馈
填问卷 立创用户体验问卷调查 立即参与
活动规则
活动规则
展开客服