本文项目工程选自:https://oshwhub.com/logicworld/h6_board
原作者 @ logicworld
本项目开源主要目的是帮助想学ARM高速电路的小伙伴们,学会自己做一个ARM开发板。教程从最初的“需求分析”一直到成功实现“软硬件联调”,就算是0基础的硬件小白,跟着教程学习,也能够做出属于自己的第一块开发板。
教程围绕全志H6开发板展开,从最基础的“需求分析”,到最后成功实现“软硬件联调”的全过程都包含在教程中,共计九章,每周三更新2-3章,预计6月28日更新完成。
本文主要介绍——教程目录+全志H6开发板项目。
目录导航:需求和设计考量、原理图设计、PCB设计(上/中/下)、焊接和调试(上/下)、软硬件联调。
需求和设计考量
①项目需求有哪些?希望做成什么样子?
②为什么我选择了全志H6芯片?如果选择做其他主控芯片,要考虑哪些东西?
③整体设计和规划上面有哪些考虑?
原理图设计
①模块级方案设计
②原理图设计的精髓-抄?
③设计中的注意事项
④原理图自查的方式
PCB设计(上)
①一个谜
②初遇高速PCB设计
③密密麻麻的PCB
④原来PCB设计软件中有这么多概念,之前都走马观花了
⑤高速电路基础知识-阻抗和层叠
⑥触碰工艺边界
PCB设计(中)
①模块化布局
②BGA出线-原来是有套路的
③高速电路设计的大山-DDR与蛇形等长
什么叫蛇形走线?为什么要等长?哪些信号算一组?同组同层、2W/3W线距约束、DDR拉线、LCEDA中的工具。
④拉线工程师
PCB设计(下)
①电源,去耦电容和电源平面的分割
PMU和电源铺铜、主控和DDR的去耦电容、电源平面的分割、PDN。
②打板前的检查
③LCEDA的优势和不足之处
④更进一步
经验流、理论仿真流。
焊机和调试(上)
①打板和SMT贴片
②工欲善其事,必先利其器
③焊接的基础知识
助焊剂的作用、热风焊台的使用、模仿SMT机器贴片。
焊接和调试(下)
①机焊的质量-整板焊接
②第一座大山-QFN焊接和调试
③在迷宫中慢慢摸索-BGA焊接和调试
④看到曙光了-DragonHD DDR内存测试
软硬件联调
①再见Orange-正常进入Ubuntu
②WIFI测试-比想象中的顺利
③音频测试-音质还可以
④GPIO测试-兼容OrangePi还是省事不少
⑤USB电源控制、USB摄像头和USB固态硬盘
⑥GPU测试-小板子上看到3D的效果还是有点激动的
⑦稳定性测试-疑似电源完整性问题
⑧更进一步
开发板以全志H6为主控芯片,并板载2GB LPDDR3内存以及8GB EMMC,通信模块采用AP6212(WIFI+BT),还设置了常见的USB、HDMI、耳机音频等接口,以及开放了26Pin的GPIO,基本涵盖了一款完善开发板的基础功能设计。
硬件上面兼容Orange Pi 3 LTS,可以烧写香橙派的系统,完全对接它的软件,比如:使用香橙派提供的GPIO操作工具,操作IO端口。同时支持Ubuntu 22.04、Debian 11、Android TV 9.0等操作系统。
全志H6开发板可以用来制作……
一台小型的Linux桌面计算机,可以实现文件编辑,上网,学习编程,视频播放等。
一台小型的Linux网络服务器,可以实现NAS,软路由,智能家居主控等。
一台性能强劲的小电脑,可以通过GPIO直接控制外部硬件。
①基于全志 H6 芯片,4核Cortex A53,Mali-T720 GPU;
②支持运行GUI系统,可以跑浏览器;
③支持常见接口,包括USB,HDMI,音频接口,WIFI,SD卡等。其中,开发板有4个USB口,包括1个USB 3.0,1个USB 2.0,1个USB OTG,1个USB Type C电源接口,并可以通过调试USB直接烧写固件;
④支持系统包含:Ubuntu 22.04、Debian 11、Android TV 9.0;
⑤支持HDMI和3.5mm接口输出音频(音质清晰,未见杂音),HDMI最高支持4K@60HZ,实测至少支持2K@60HZ;
⑥板载 26 Pin GPIO,支持常用接口,如I2C, SPI, UART, PWM等,兼容Orange Pi 3 LTS的GPIO接口;
⑦8GB eMMC储存,2GB LPDDR3 内存,支持TF卡扩展。经DragonHD实测,2GB LPDDR3 内存最高跑到888MHZ,并支持从eMMC和TF卡启动;
⑧板载AP6212(WIFI+BT),WIFI速度实测下载30Mbps+,上传20Mbps+;
⑨独立调试串口,启动时输出UBOOT,内核调试信息,进入系统后可作为Console使用;
⑩搭配AXP805电源方案。
本开发板使用JLC06161H-3313阻抗,基本符合JLC的6层板免费打板要求。
由于JLC免费规则在变化,因此要注意:当前(2023.04.27)JLC免费规则已经将过孔外径修改为0.3mm/0.4mm。
过孔外径变小,板子更好画了,但还是需要做相应的修改,符合免费打板规则。
比如:为了做冗余,光H6+AXP805套片就买了4套,为了焊接还陆续买了各种工具,实际总共花了1000元左右(700元物料+300元工具)。
降低成本方案:开源平台的创友@frostcc 找到了——泰奇猫电视盒子,咸鱼价格60左右。其中包含了H6,AXP805, LPDDR3(1GB), eMMC, AP6212,可以参考一下。
本项目所有资料均已开源,想获取资料自己DIY学习的伙伴,请戳文获取https://oshwhub.com/logicworld/h6_board
每次看到手机和电脑的PCB里密密麻麻的元器件,就想着啥时候我也能做个类似的。
但是真的想要去学去做了,又无从下手。
网络上有不少讲STM32,ESP32等MCU的电路硬件设计和软件开发的教程,光是嘉立创EDA就办了好多这样的活动。
但是完全没见过有人讲怎么设计一个类似于树莓派的开发板/应用,基本都是讲怎么在树莓派上配置软件和环境,玩各种创意。
开源的派也不少,但是都只是给出了最终的成果(原理图+PCB+Demo视频),缺乏中间过程,让人不知道如何自己独立做出这样的东西。
看完了别人的派之后,羡慕,但除了羡慕什么也做不了。
于是,我行动了起来!我花了5个月的时间学习、实践,最终成功的调通了各种功能。
我要出一个真正的——从零入门ARM高速电路设计的教程。期待大家能在教程中共同学习!