(一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>

news/2024/11/9 5:07:29/

一、工作环境及项目简介

立创EDA:硬件原理图及PCB绘制。

全志F1C200S:F1C100S内置32MB DDR1内存,F1C200S内置64MB DDR1内存。

原理图:参考开源项目,详见墨云, 详见peng-zhihui。

核心板:四层。

底板:两层。

工具:烙铁、热风枪、焊锡膏、洗板水、各种电子元器件。


二、原理图设计

1、核心板

电源电路

在F1C200s的datasheet Allwinner_F1C200s_Datasheet_V1_1中可以得到推荐的运行环境,主要参考Typ,也就是典型值:

因此我们需要实现的电压有四个:1.1V、2.5V、3.0V、3.3V。

使用SY8088AAC SOT-23-5同步降压DC-DC稳压器,设置其外围的电阻搭配调整其输出电压(Vout = 0.6 * (1+Ra/Rb) ),使用其实现1.1V、2.5V、3.3V三个电压需求:

使用XC6206P302MR-SOT23的封装方式,输入电压5V ,输出需求电压3.0V:

电路设计如下图所示,根据墨云所说电感选用2.2uH功率电感,电感额定电流为2A。此处的5V电源来自底板的USB供电。下面电阻的搭配方式可以进行调节,只要满足输出的电压为需求电压即可

板对板连接器

板对板连接器选用可靠性较高的排针排母对。

复位电路

复位电路比较简单,不再赘述。

晶振电路 

晶振采用24MHz无源晶振,两个15pF电容滤波。

 

主控电路

主控电路主要参考墨云和稚辉君,相关链接见上方。主要从主控F1C200s中引出TF卡引脚(本文选用的系统加载电路)、音频、晶振、串口、复位、SPI、OTG、图像、一些GPIO等等。

 2、底板

串口转USB电路

选用CH340E芯片,注意某宝的芯片可能是拆机、复新芯片,如果串口通信失败,考虑芯片问题。至于下面的接线,墨云提到:“根据CH340E官方的原理图,当VCC接入5V的时候,V3 需要接一个100nf的电容,但是此处在V3直接接入5V,也可以工作。”,因此本文选择将VCC接入5V,将V3接入3.3V。

TF卡电路

TF卡作为本系统唯一的系统加载方式,具体接线方式如下所示,TF卡为自弹minTF卡,只要PCB和你的硬件匹配,其他全部相同。

USB扩展电路

​FE8.1(1扩4)是一个非常紧凑的高速4端口USB集线器控制器。此处我们仅使用其中两个,也就是将一个USB扩展为两个。

 WIFI电路

主要参考墨云的接线方式,暂未进行验证。

TFT屏幕

1.14英寸的IPS屏幕,某宝十几块钱,我这里加了一个接线端子,因为我留出了4.3寸屏幕(正点原子)的接口,防止干扰,我加了接线端子进行选择。

音频

在墨云的基础上,结合稚辉君,我添加了咪头和3.5mm耳机接口。

板对板连接器

和核心版的板对板连接器相对应,注意不要搞反了,否则可能导致短路,板对板连接器管脚分布和PCB布局有关,因为我未考虑到PCB布局,导致后面的布局较为困难,虽然核心板采用四层板,底板采用两层板,但布线还是花了很大功夫。

40Pin4.3寸屏幕

屏幕为4.3寸正点原子屏幕,采用FPC连接,接线端子管脚间距为0.5mm,由于我的焊接设备原因,焊接较为麻烦。


 三、PCB展示

Wood是我做的标志,之所以选用排针连接底板和核心板,是因为排针相较于金手指和BTB来说,可以重复拔插,更便于将一个核心板应用到其他底板上。

核心板(四层,挺漂亮哈)
底板

 四、实物展示

核心板
底板
焊接完成组装实物


http://www.ppmy.cn/news/8976.html

相关文章

【华为OD机试真题2023 JAVA】寻找关键钥匙

华为OD机试真题,2023年度机试题库全覆盖,刷题指南点这里 寻找关键钥匙 知识点字符串编程基础正则表达式排序 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 小强正在参加《密室逃生》游戏,当前关卡要求找到符合给定 密码K(升序的不重复小写字母组成)的箱子,并…

BEV视觉3D感知算法梳理

1. 基于BEV空间的自动驾驶感知任务 最近,基于BEV空间下的感知任务已经涌现出了众多优秀算法,并在多个自动驾驶公开数据集(KITTI,Waymo,nuScenes)上取得了非常不错的成绩。根据自动驾驶汽车上安装的传感器类…

自动驾驶专题介绍 ———— 摄像头

文章目录介绍工作原理实现功能分类按通信协议区分按不同感光芯片按像元排列方式介绍 摄像头可以采集汽车周边的图像信息,跟人类的眼睛最为接近。摄像头可以拥有较广的视场角、较大的分辨率,还可以提供颜色和纹理等信息。这些信息对于实现自动驾驶功能是存…

软件测试[用例篇]

一. 回顾测试用例 1.测试用例基本要素 测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合。 这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。 2.测试用例好处 测试用例可以提高测试效率(可以减…

Docker简介

Docker官网链接: http://docker.p2hp.com/问题:我们开发的嵌入式项目基本是基于虚拟机下的ubuntu的,如果每一个项目要求的系统版本、库版本、交叉编译工具链等不一样,我们就需要为每一个项目安装一个对应的ubuntu,这既…

linphone android sdk 源码下载编译

前言 前面的有写过Android 使用Linphone SDK开发SIP客户端相关的文章, 在后续的开发过程中, 为了更深入了解linphone, 便尝试下载SDK源码自行编译. 关于linphone这里不作过多介绍, 可以参考前面的文章. Linphone-SDK 是一个将 Liblinphone 及其依赖项捆绑为 git 子模块的项目&a…

c++动态内存管理

1.回顾c语言中的动态内存管理 在c语言中,我们想要动态开辟一段空间,需要使用malloc,calloc,realloc几个函数 void* malloc (size_t size); //在堆上申请size个字节的空间void* calloc (size_t num, size_t size); //第一个参数是…

Qt常用快捷键汇总

文章目录Win:常规界面Ui设计界面Linux差异:Win: 常规界面 F1 打开帮助 F2 跳到声明/定义 F3 普通查找的查找下一个 Linux:Ctrl G F4 切换.h/.cpp文件 F5 调试运行程序 F6 高级查找的查找下一个 F9 设置/取消断点 F10 单步调试 F11 进入函数…