小白自制Linux开发板(第二季 V3s篇) 一. 换个核心再来一次
1.前言
大家心心念念(个人认为)的小白自制开发板全新系列正式来了,之前我们使用全志的F1C200s芯片制作了一个小电脑,众所周知,调试很艰难,坑也很多,以至于墨云到现在还是没找到对应的补救方案,为了弥补上次的遗憾,所以墨云打算重启炉灶另开张,制作一个基于全志V3s的小电脑,其特点如下:
- 一体式设计,上个项目中使用核心板与底板分离的的方式,使用M.2接口,虽然可以大大压缩小电脑的体积,但是在后续调试中却发现,喷锡的金手指在拔插几次以后就会产生各种不稳定,如接触不良,连锡等问题。所以本次使用一体式设计不再有核心板和底板之分;
- 稳定的WIFI体验,这是弥补上个项目的坑,因为对于ESP8266模组,本身并不是专门WIFI网卡,对应的驱动是来自社区,所以稳定性很差,而且基于SPI接口,传输效率很低,关键是在发送数据的时候会造成驱动崩溃。而本项目使用rtl8723bs网卡,基于SDIO接口。效率非常高,驱动完善,容易适配。
- 使用更大的显示屏,本次使用2.0寸的320*240规格的屏幕,可以拥有大视野,而且制作启动logo的时候终于不用做特殊处理了。
- 更快的核心速度,V3s使用Arm A7结构比之Arm 9,会有很大的性能提升。
接下来看看实物图吧
秀完了,那么开始进入正题。
2.资源说明
首先本次项目使用的芯片是全志的V3s,这是一款基于Cortex-A7的单核芯片,内置64M的ddr2内存,视频支持1080p@30fps播放与采集,是全志为入门级行车记录仪打造的芯片,相关资源如下
而基于该芯片的开发板中最具有代表性的就是LicheePI Zero,是的,依然是荔枝派,相关实物图如下,该图中包含了核心板和底板两部分,而我们在后续移植中仍然是要用到荔枝Zero相关的资源。
相关参考资料地址如下
https://wiki.sipeed.com/soft/Lichee/zh/Zero-Doc/Start/intro_cn.html
这里用到的EDA工具,还是立创EDA,主要是上手简单方便。
3.原理图
以下是原来图,本次原理图有点多
3.1核心部分
核心部分,这部分比较简单,主要包含V3s核心、24Mhz工作晶振、RTC计时晶振、重置电路、以及一些其他外围控制电路,需要注意的是这里的RTC晶振事实让可以不用接,但是对应的供电必须得有。
3.2 电源串口部分
电源管理,还是使用四路电源,使用SY8088AAC DCDC降压芯片和XC6206-3.0VLDO两种方式,其中常规电压为3.3V、内存电压为1.8V、核心电压为1.1v,对于这三路电压可以使用电源管理区域中的公式进行Ra和Rb进行计算所得。
对于3.0v这路电源,与相关大佬们交流得知可以直接使用3.3V,所以如果有必要可以替换本路电源,另外就是3.0V电源输出部分C47、和C59两个100nf电容需要挨着V3s引脚。
串口芯片使用的是CH340E,外设灯使用三路LED(RGB)中,这部分电路有点不合理,事实上应该使用3.3V电源、LED灯GND接V3s引脚。
最后就是滤波电容需要靠近V3s芯片引脚。
3.3 TF卡、网络、显示屏
接口部分,小电脑依然使用TF作为"硬盘“,另外使用一路USB接口,一路音频接口、一路TFT屏幕、这部分与以前的原理图一样,直接照抄就可以,需要注意一下,TFT原理图SDA和SLK需要上拉,这部分电路可以在上面核心部分原理图中看到。
最后就是WIFI使用基于SDIO接口的RTL8723bs模块,这得益于V3s核心的两路SDIO接口,一路连接TF卡,另外一路就用来连接WIFI吧。
看看效果,所以要啥ESP8266。
4.PCB
PCB使用四层结构,大小为7cm*4.5cm
在进行PCB布局的时候,需要遵循一些设计规则,比如晶振不能使用过孔、滤波电容靠近引脚、天线需要在板子边缘、覆铜的时候天线部分需要开窗等等一些简单的规则。
以下是隐藏丝印和覆铜后的效果。
5. 开源开源
最后就是开源,废话不多说了,立创硬件开源获取原理图和PCB: https://www.oshwhub.com/ftwtwzy/snaillpi_copy
6. 更多的展示
制作本小板的初衷是为一个MP4屏幕做个驱动板,这是第一个开发板,嘉立创紫,然后很顺利,系统、网卡、音频、USB驱动一次新调试成功、除了显示屏,因为LCD背光电压不够,所以失败了
这是第二版绿色版本,华秋打板,本次放弃了mp4屏幕,使用了TFT 2.0寸
然后遇到了更尴尬的问题,失败
接下来就是上面呈现的版本。
小白自制Linux开发板(第二季 V3s篇) 一. 换个核心再来一次的更多相关文章
- 小白自制Linux开发板 二. u-boot移植
上一篇:小白自制Linux开发板 一. 瞎抄原理图与乱画PCB 中我们做了一个小型而没用的开发板,用的是Licheepi Nano的镜像,那从本篇开始我们开始自己构建它的灵魂吧. 我们都知道,PC在 ...
- 小白自制Linux开发板 三. Linux内核与文件系统移植
上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...
- 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡
本文章基于 WhyCan Forum(哇酷开发者社区) https://whycan.com/t_4149.htmlhttps://whycan.com/t_5870.html整理而成. 为了尊重原作 ...
- 小白自制Linux开发板 八. Linux音频驱动配置
不知不觉小白自制开发板系列已经到第八篇了,本篇要配置的是音频驱动,也算是硬件部分的最后一片了,积攒的文章也差不多全放完了,后续更新可能会放缓,还请见谅. 对于F1C200s是自带了多媒体处理功能的,所 ...
- 小白自制Linux开发板 九. 修改开机Logo
许久不见啊,今天我们继续来修改我们的系统. 通过前面的几篇文章我们已经能轻松驾驭我们的开发板了,但是现在都是追求个性化的时代,我们在开发板上打上了自己的Logo,那我们是否可以改变开机启动的Logo呢 ...
- 小白自制Linux开发板 一. 瞎抄原理图与乱画PCB
因为墨云是基于高中物理水平的电路知识来学习.而且此前也就玩过树莓派.Esp8266之类的开发板,水平基础趋近于零,所以在写这个系列的时候抱着记录的心态.还望不足之处还望大佬们指正. <论语> ...
- 小白自制Linux开发板 番外篇 一 modprobe加载驱动问题(转载整理)
使用modprobe加载驱动 转载地址:https://blog.csdn.net/qq_39101111/article/details/78773362 前面我们提到,modprobe并不需要指定 ...
- 小白自制Linux开发板 六. SPI TFT屏幕修改与移植
本文章参考:https://www.bilibili.com/read/cv9947785?spm_id_from=333.999.0.0 本篇通过SPI接口,使用ST7789V TFT焊接屏(13p ...
- 小白自制Linux开发板 七. USB驱动配置
本文章基于https://whycan.com/t_3087.htmlhttps://whycan.com/t_6021.html整理 F1c100s芯片支持USB的OTG模式,也就是可以通过更改Us ...
随机推荐
- 移动测试(web和app)及app测试实战
移动测试androidiosapp上 原生GUI 混合应用H5 web端兼容性浏览器测试需要的内容:safari 浏览器edge浏览器ie11浏览器firefox浏览器chrome浏览器 国内360浏 ...
- linux vi和vim编辑器
所有的Linux系统都会内建vi文本编辑器,vim具有程序编辑的能力,可以看作是vi的增强版本 三种常见模式 正常模式 以vim打开一个文档直接进入的模式,快捷键可以使用. 1.这个模式可以使用上下左 ...
- Docker快速上手入门
Docker 什么是Docker? Docker就是一种虚拟化的技术 可以通过Docker快速的下载使用第三方技术,方便搭建环境 目的:Securely build,share and run any ...
- stm32串行设备接口SPI控制max31865
本人是刚入行的嵌入式,之前也没有多少项目经验,故在公司的这几个月里,可谓是如履薄冰,对于公司不同项目使用的不同的设备之多,数据手册之繁杂,让我不禁望洋兴叹,故而不愿意放弃周末这大好的自我提升时间,努力 ...
- Ecshop 后台导出订单Excel时, 内存溢出的解决方法
今天继续跟大家分享一下,在我配置Ecshop时的问题. 今天的问题是在后台想要导出订单列表Excel时出现的内存溢出.错误提示如下 问题: Fatal error: Allowed memory s ...
- c++string转const char*与char*
#include <iostream> #include <string> #include <memory> using namespace std; const ...
- Android 清除本地缓存
主要功能:清除内.外缓存,清除数据库,清除Sharepreference,清除files和清除自定义目录 public class DataCleanManager { //清除本应用内部缓存(/da ...
- How does “void *” differ in C and C++?
C allows a void* pointer to be assigned to any pointer type without a cast, whereas C++ does not; th ...
- js 时间戳转换为年月日时分秒的格式
<script type="text/javascript"> var strDate = ''; $(function(){ // 获取时间戳 var nowDate ...
- spring boot 配置属性值获取注解@Value和@ConfigurationProperties比较
功能比较 : @ConfigurationProperties @Value 映射赋值 批量注入配置文件中的属性 一个个指定 松散绑定(松散语法)① 支持 不支持 SpEL② 不支持 支持 ...