当前位置:首页 > 技术 > LINUX > 正文内容

【转】小白自制Linux开发板 一. 瞎抄原理图与乱画PCB

Watrt1个月前 (01-06)LINUX500

 因为墨云是基于高中物理水平的电路知识来学习、而且此前也就玩过树莓派、Esp8266之类的开发板,水平基础趋近于零,所以在写这个系列的时候抱着记录的心态、还望不足之处还望大佬们指正。

《论语》说:见贤思齐焉。所以现在墨云又开始瞎折腾了

为啥突然想做嵌入式开发呢,因为看见了下面两位牛人

【稚晖君】

https://www.bilibili.com/video/av65365123/

【在名片上运行的Business Card Linux】

 https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/

于是躁动的心开始蠢蠢欲动。

先定个小目标:

  设计一个没啥作用,但是可以运行Linux的小板。

样子大概长这样:

 所以有了初步想法,那开始吧

1. 工具与芯片说明

立创EDA:电路图与PCB设计工具,本次硬件部分设计全部使用立创EDA完成

F1C100s :全志的一款基于Arm的小型Soc,自带32MB的内存,其升级版F1C200s为64MB内存,因为其极其便宜(当然最近因为芯片涨价影响),可以运行Linux,最典型的基于该芯片的荔枝派开发板。

CH340E:USB转串口通信芯片,是作为与外界通信的唯一接口 、CH340E个头小、外围电路少,使用简单。

原理图:先后参考了(baipiao)了Licheepi Nano、Business LinuxCard、LiShanwenGit(https://www.oshwhub.com/LSW12315)立创开源广场的一系列项目

2.原理图说明

 电源管理

 电源部分使用USB方式供电,输入电压为5V,这里供电部分和串口电路共用相同USB端口。

   通过查询F1c100s数据手册:

  通过综合分析,我们可以大概把电源分为4类

   Vdd-Core:1.1V

   Vcc-Dram:2.5V

   AVCC : 3.0V

   UVCC/VCC-IO/TV-AVCC/TTL:3.3

   这里主要使用 SY8088AAC 同步降压DC-DC稳压器,为SOT32-5的封装方式,通过使用外围电阻调整输出电压。

   公式为:

            Vout = 0.6 * (`1+Ra/Rb) 

而AVCC使用XC6206P302MR-SOT23的封装方式,输入5V  输出为3.0V

因为 AVCC为模拟电源电压,为了避免引入电源干扰,通常需要把把模拟电路与数字电路分开隔离开(这个地方解释可能不对,欢迎指正)。

电源部分的原理图如下:

电压输入输出端都使用滤波电容进行处理,使用还要接入2.2uH的功率电感,注意一定要用功率电感,电流要求可以达到1A以及以上的才行

这个板子使用0805的功率电感,建议最好使用CD32类型的绕线功率电感。

核心原理图

对于核心部分的原理图如下,因为本次电路设计主要以验证为主,所以并没有做太多的外设电路。

除了常规的核心、外围、DRAM工单引脚,核心部分还引出了

  1. TF卡引脚,作为本板子唯一的系统加载电路,这是必须的

  2.晶振,使用规格为24Mhz的有源晶振、加两个15pf的负载电容

  3.串口调试 作为板子与外界唯一交互的通道,这个也是必须的,然而在做这个成功的给自己挖坑了。

  4.LED灯,这是这个板子唯一的外设,也是用来学习驱动开发的第一步。

  5.dram_vref、Var1、Var2 这是必须要接的、外围电路,我也不知道的干啥的 ~_~…

  6.USB OTG 也是作为一个通信接口来使用,通过这个接口可以为板载Flash下载程序,但是因为本板没有做Flash,所以目前唯一的作用就是放到验证fel是否可以调通。

  7.复位按钮

挖坑点

一直以来认为发光二极管也是二极管,所以就有下面的设计(乱画),于是后来感觉板子没问题,但是就是串口死活不显示数据、在众多大佬的帮助下,才发现了这个其妙(naocan)

的接线方法,于是将两个发光二极管位置放了两个0欧的电阻,一下子就成功调通了。

对于芯片电源输入端的滤波电容与Dram_vref接线如下:

对于滤波电容简单的说法就是,对于供电端的电压,因为电路设计或者外界干扰等等,其实不是完美的电压,总会存在高频或是低频的噪声,而用小容量的电容就可以降低这些干扰。

常规的容值就是 10uf 、1uf、100nf

通信电路

我们在核心原理图中看到了引出的串口线路,而串口的接口如下:

显然在你看看你超博的笔记本机身,并没有发现这个接口,偶尔还有一些老的笔记本上面可以看到类似的接口,对不起——那是显示屏的VGA接口。

那我们如何使用串口传输的信息呢,我们需要一个USB转串口的芯片,usb转串口的芯片很多,这里选择 CH340E 这个型号,因为其很小,接线也方便。

原理图如下:

前面提到,这个板子共用了电源与TTL共用了一套设计,也就是是说USB线插上就可以启动小板,并且开始进入串口调试。

原理图中的U5是一个自恢复保险丝。

这里需要注意一下:

  根据CH340E官方的原理图,当VCC接入5V的时候,V3 需要接一个100nf的电容,但是此处在V3直接接入5V,也可以工作。

  实际使用的时候最好不要这样做。

TF卡接口

和电脑主机在BIOS选择启动方式一样, F1C100s 支持多种方式的系统加载机制比如通过SPI接口加载Flash芯片中的镜像,或者通过TF卡接口加载镜像。

这里使用TF卡作为启动源,这样做是因为

  1.TF卡容量可以自己控制。

  2.系统烧写调试方便

这部分电路相对简单,原理图如下:

OTG 与唯一的外设LED灯

3.PCB绘制

 PCB尺寸为42mm*29mm ,可以说非常小了,为了便于焊接,所有容阻都是用0805的封装方式

 电源走线为14mil ,信号线为8mil

4.PCB焊接

 焊接PCB是一项手艺活,尤其是QFN方式封装的F1C100s 更是难到发指,还好借助焊台和热风枪,完美的完成了焊接,当然放大镜、洗板水是不可缺少的。

 并且因为板子时长需要在手上把玩(盘PCB)。所以选择了无铅稀浆进行焊接。

效果如下:

成功运行Linux,

因为还没开始着手做Linux移植,暂时使用LicheePi 的镜像,下一节开始做Linux的移植。

 5. 后记

事实上世界上从来没有所谓轻易的成功,对于初次玩PCB的小白更是如此,现在这个小板能成功也是经历三四个月,五六次打板才成功的。以下是早期的趟雷PCB场景与先烈。 (右下角为成功的小板)

 硬件资料包:

LinuxNano工程与原理图-墨云.zip

分享给朋友:

相关文章

LINUX 使用sendmail邮件备份

LINUX 使用sendmail邮件备份

首先安装:sudo apt-get install sendmail然后在终端可以使用mail来发邮件echo "ESP32固件"|mail -s "esp32" -A "./fw.bin" -r "bak@xxx.com" xb100@qq.com注意很有可能收到的邮件在垃圾箱里面。把发件地址加到白 名单中...

Linux没有最小只有更小----迷你Linux版本大集合

Linux没有最小只有更小----迷你Linux版本大集合

    自从去年到现在已经收集了上百种版本的Linux和Unix,至于Unix就不想说了,没有Linux的功底是很难驾驭Unix的,我在这里只把小于360M的Linux以及一些非Linux但是很像Linux的版本也发布一下,我本人喜欢安静,如果你想要这些迷你版本的Linux光盘的话,建议去官网下载就OK了。英语不行的话随时带个字典。有些没有桌面,想知道哪些没有桌面的话请自己网上查资料!下面就是绝大部分小于361M的Linux及其非Linux名单,参考时间为...

利用BusyBox ~私人定制 My LINUX~

利用BusyBox ~私人定制 My LINUX~

前言  我在今天在这里跟大家详细地探讨一下Linux系统的定制过程和实现例如、用户能够远程登录;和Nginx能够稳定地运行在我们私人定制的LINUX系统上、一步一步从头开始定制属于我们自己的系统。正文   首先我们先来简单的介绍一下我们这里定制属于自己的Linux系统的基本元素.   一个定制的linux内核+一个定制的busybox就可以定制一个小型的Linux操作系统了,安装Dropbear和Nginx,Linux的组成 部分包括内核空间和用户空间、而...

 Debian 9.9 (stretch) 文件系统制作

Debian 9.9 (stretch) 文件系统制作

0. 准备工作:sudo apt install qemu-user-static -y sudo apt install debootstrap -y mkdir rootfs1. debootstrapdebootstrap --foreign --verbose --arch=armhf  stretch rootfs http...

[转]《保姆级教程》全志F1C100S/F1C200S spi-flash 启动全流程适配烧录及踩坑指南

[转]《保姆级教程》全志F1C100S/F1C200S spi-flash 启动全流程适配烧录及踩坑指南

转自哇酷网=丨晋丨通过参考荔枝派nano官方和论坛大佬的帖子,总结了烧录 spi-flash 启动的方法。通过搜寻资料,把其中有错误或者做了多余的操作的步骤做了修正,以免大家再次踩坑,耗费青春。以下包括 uboot、kernel、buildroot 和 烧录的详细步骤和需要注意的问题,尽量精简方法,以期容易上手和理解。各种配置项也做了详细注释,要知其然,也知其所以然。最理想的状态应该是是:有的坑,踩的人多了,也便没有了坑。论坛不太好排版,有需要的也可以去我的博客看:P:全志F1C100S/F1C...

修改U-BOOT,输出信息在LCD上显示,并使用USB连接键盘使用控制台

修改U-BOOT,输出信息在LCD上显示,并使用USB连接键盘使用控制台

修改方法:一:修改U-BOOT   include/configs/suniv.h#define CONFIG_BOOTCOMMAND"fatload mmc 0:1 0x80800000 zImage; "  \              &nb...

控制台终端输出颜色

控制台终端输出颜色

在使用putty、secureCRT、XShell等终端仿真器连接linux系统时,ls、vim等工具的输出都含有各种颜色,这些颜色的输出大大地增强了文本的可读性。一、终端文本颜色输出的一般示例在bash中,通常我们可以使用echo命令加-e选项输出各种颜色的文本,例如:echo -e "\033[31mRed Text\033[0m" echo -e "\033[32mGreen Text\033[0m...

老是提示:newer kernel available 解决方法

老是提示:newer kernel available 解决方法

这个是由于没有正确的安装内核造成的。可以直接关掉提示 sudo apt purge needrestart...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。