丨budboool · 2023年06月09日 · 广东

耗时五个月!从全志H6开发板入门ARM高速电路设计

dvP3xTVpL7YNkOUFCH2Omb03SP1Hqhg3JuxyyHg3.jpeg

本项目开源主要目的是帮助想学ARM高速电路的小伙伴们,学会自己做一个ARM开发板。教程从最初的“需求分析”一直到成功实现“软硬件联调”,就算是0基础的硬件小白,跟着教程学习,也能够做出属于自己的第一块开发板。

教程说明

ZfigcmemIo7ytnklr95BqMKkpSBEj43NnJ4h93Gc.jpeg
教程围绕全志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开发板简介

开发板以全志H6为主控芯片,并板载2GB LPDDR3内存以及8GB EMMC,通信模块采用AP6212(WIFI+BT),还设置了常见的USB、HDMI、耳机音频等接口,以及开放了26Pin的GPIO,基本涵盖了一款完善开发板的基础功能设计。

4f0MS10cLhmFeE03tsH20kUnJrJGkiYNRuMLap9c.png

硬件上面兼容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电源方案。

打板说明

微信图片_20230608111535.png

本开发板使用JLC06161H-3313阻抗,基本符合JLC的6层板免费打板要求。

由于JLC免费规则在变化,因此要注意:当前(2023.04.27)JLC免费规则已经将过孔外径修改为0.3mm/0.4mm。

过孔外径变小,板子更好画了,但还是需要做相应的修改,符合免费打板规则。

成本说明

微信图片_20230608112914.png

注意!实际上自己做单板的成本远高于上面写的。

比如:为了做冗余,光H6+AXP805套片就买了4套,为了焊接还陆续买了各种工具,实际总共花了1000元左右(700元物料+300元工具)。

降低成本方案:开源平台的创友@frostcc 找到了——泰奇猫电视盒子,咸鱼价格60左右。其中包含了H6,AXP805, LPDDR3(1GB), eMMC, AP6212,可以参考一下。

开源资料

本项目所有资料均已开源,想获取资料自己DIY学习的伙伴,请戳文获取https://oshwhub.com/logicworld/h6_board

微信图片_20230608113017.png

制作背景

每次看到手机和电脑的PCB里密密麻麻的元器件,就想着啥时候我也能做个类似的。

但是真的想要去学去做了,又无从下手。

网络上有不少讲STM32,ESP32等MCU的电路硬件设计和软件开发的教程,光是嘉立创EDA就办了好多这样的活动。

但是完全没见过有人讲怎么设计一个类似于树莓派的开发板/应用,基本都是讲怎么在树莓派上配置软件和环境,玩各种创意。

开源的派也不少,但是都只是给出了最终的成果(原理图+PCB+Demo视频),缺乏中间过程,让人不知道如何自己独立做出这样的东西。

看完了别人的派之后,羡慕,但除了羡慕什么也做不了。

于是,我行动了起来!我花了5个月的时间学习、实践,最终成功的调通了各种功能。

我要出一个真正的——从零入门ARM高速电路设计的教程。期待大家能在教程中共同学习!

本文项目工程选自:https://oshwhub.com/logicworld/h6_board
原作者 @ logicworld

推荐阅读
关注数
16
文章数
74
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息