手搓路由器Rk3568B(第二章硬件设计)
前言在上一章里,我们初步选择了主控芯片,确定了大体上的方案,接下来我们进入实际的设计环节。所谓原理图,就是电路图,它决定了芯片的引脚到底应该跟谁连接,如何去连接。每个芯片都有很多引脚,引脚与引脚的对应关系,我们一般称之为网表(NetLists)。前面我们已经知道,类似瑞芯微这种芯片厂家一般会提供几个现有的方案供我们参考。其实不光是芯片厂家,很多卖开发板的厂家在参考原厂的资料后也会设计出自己的板卡,并且同时会提供自己的原理图,比如香橙派,迅龙,友善等等。有些甚至不需要你购买他们的板卡,会直接挂在官网上供你参考,这真的要给他们点一个大大的赞。另外,还有一些科技发烧友,会在参考前两者的基础之上,设计出自己别具特色的板卡,并开源出自己的部分资料,同样我们也可以参考,只是可能需要你花一定的时间去寻找,还有一点值得注意的是,由于他们水平不一,可能导致他们设计的板卡存在一些小问题,这个可能需要你有一定的硬件功底去辨别。好了,说完了资料的获取,我们先来看原厂的资料。我们打开后就是上面的那张图,其中 01 就是通用设计参考,我们打开后里面会有芯片的相关参数,未使用的引脚如何处理,电力消耗,设计指南等等。我建议各位在动手之前仔细研读这里面的资料,相对来说还是比较清晰易懂的。02 是 DDR 模板,正如前面我们说到的,DDR 内存和主控芯片的高速互联是很考验人技术和耐心的一件事。所以厂家贴心的为我们提供了设计模板,方便我们参考学习。但是对我们白嫖用户来说基本上用不了,因为厂家提供的工艺比较极限,没法支持嘉立创免费打板。3,4,5 是三种应用场景的参考资料,AIoT 是人工智能物联网产品线的应用,对应的场景应该是智能音箱,电视盒子这种吧,具体不太懂。NVR 是网络录像机,对网络和存储有需要的可以参考这个文件。Tablet 对应着平板电脑产品线,主打人机交互和影音娱乐,另外会考虑电池供电的一些问题。当然了,硬件只是参考,不代表它只能做这些应用场景,具体还是得你去考量裁剪,缝合出你自己的一套东西。厂家会提供一些可选方案,供你去取舍。最下方的表格和文档是说明文件,主要是文件目录和注意事项,没什么好说的。原理图的构思和设计方法任何事情想要成功,条理清晰是一个不可缺少的前置条件,对应到我们的设计中去就是分模块来设计。就拿我们比较熟悉的 STM32 单片机设计来说吧,单片机有最小系统,包括时钟,复位,电源等等。外面还有串口部分,比如常用的 USB 转串口 CH340 模块,另外还有一些传感器,比如 DS18B20 温度传感器模块,蜂鸣器模块等等。在嵌入式板卡里也是遵循同样的原理,由于嵌入式主控通常有几百甚至上千个管脚,我们再按照之前的做法把所有的成分都堆积在同一张图里是不可行的,不但结构混乱,而且万一出了什么错误排查起来也很费时间。所以,对原理图按照模块来分页是很有必要的,基于以上的原因,你可以看到很多官方的设计有几十页之多,比如下面这张 AIoT 的参考图,竟然有 72 页之多,每一页只有一个功能部分,这叫解耦。把复杂的系统拆分成一个一个的小模块当然,我们可以看到图页后面有"Default"和"Opition"字样,前者代表默认,后者代表可选,你可以根据自己的像需求去裁剪,这会大大的减少我们硬件设计的工作量。我们从哪里开始我想先带大家快速过一下官方的原理图,体会一些设计的细节,而后开始讲解我们自己的设计,当然我不会面面俱到,所以有些细节还是要你自己动手去画来体会。我们看一下上面这张逻辑框图,图还是比较简单易懂的,主控通过各种总线连接到不同的外设上。其中有些我们用不到,比如 VGA 输出,MIPI 等等,我们完全就可以删掉。电源域在这里需要给各位朋友讲一下电源域这个事情,对于我们的处理器而言,芯片上集成了非常多的小模块用于和外界设备通信,通信的方式也多种多样,为了最大化的减少芯片面积,很多不同的功能都是通过同一组引脚输出的,为什么我们要强调这个组呢?因为对高速的信号来说,一般都有很多的功能线,比如时钟线,地址线,控制线等等(有些是差分信号的形式)。这些不同的功能很多时候对应着不同的电压,需要我们根据实际情况设置引脚的电压,这组引脚的电压就是手册里提到的电源域。就对我们 RK3568 来说,引脚电压一般有 3.3V 和 1.8V 两种。如果你把 1.8V 接到了使用 3.3V 的信号脚上可能会导致信号传输异常,而反过来你把 3.3V 接到了使用 1.8V 的管脚上,可能会烧坏芯片,所以这些需要我们提前考虑到。对电源分区还有三个好处,一是隔绝一些干扰,比如 USB 和 PCIE 都需要一个 1.8V 输入,我们通过磁珠和电容构成两个 LC 滤波器将一路电源转化成两个独立的电源来防止噪声通过电源耦合到另外一个器件中去。另外,假如我们的系统需要做低功耗相关的休眠应用,我们就需要在休眠期间主动关闭一些用不到的设备,这时候,分别控制的好处就显现出来了,方便对各个模块做不同的处理。第三个,也是比较重要的一点,就是上电时序。对于大部分的处理器而言,上电的顺序是有先后要求的,不能随意来,比如下图就是 RK3568 的时序要求图手册里是这么说的,这个怎么理解呢?不同模块之间是有调用关系的,如果你调用了一个未初始化的模块,可能会导致系统初始化卡死或崩溃(如果你确实不需要这个功能,可以在内核中把他禁用掉)。电源框图上面这张电源框图,看起来眼花缭乱,其实很简单。左上角是 12V 的电源输入,分为了两路,其中左边的一路通过一个 DCDC 电路分配给了 RK809,右边 12V 分给了几个独立的 DCDC 输出不同的电压。我们先来说 RK809,RK809-5 是瑞芯微专门给 RK356X 系列处理器定制的专用电源管理芯片,内部结构除了上图所示的 5 个 DCDC 降压变换器(BUCK)和 9 个线性稳压器(LDO)外,还有一个音频解码器兼功率放大器,可谓是一芯多能了。需要注意的是 RK809 内部的 BUCK 和 LDO 性能,输出电压范围,电流大小都是不一样的,最好建议你按照官方的设计来,防止出现一些奇奇怪怪的问题。由于 CPU 需要的电流比较大,所以官方原理图用了一个专门的 DCDC 芯片,RK860,同样的他还有一个兼容版 TCS4525,二者在封装上是完全一样的,不清楚能不能直接用。这两个主要的电源芯片都是通过 I2C 总线和处理器通讯的,同时具有中断,睡眠等信号,而音频是通过 I2S 总线连接到处理器。下一张图是官方原理图设置的电源域需要注意的是,某些引脚是不允许随便设置的,比如上面的 PMUIO0 和 1 这两个一个只能 1.8V 另一个只能 3.3V,如果你有设备需要接在这两组管脚的某个 IO 上时,需要特别留意,尽量避开,或者要加电平转换电路,否则可能会导致功能异常。下一张图给我们展示了引脚重映射相关功能引脚重映射功能是为了方便我们布线,通过内部的交换矩阵,可以很方便的将某一个功能映射到另一组引脚上(比如M0,M1,M2)。当然这个在修改的同时也要在设备树同步修改。CPU 逻辑,时钟,复位(看门狗)CPU部分没什么好说的,注意晶振并联的1M电阻不可缺少,如果缺少的话晶振可能不会起振,切记。另外晶振串联的22欧电阻也不建议删掉,防止信号幅度过高。右边的TSADC_SHUT是温度过高的时候重启保护芯片。DDR 复用为了节省芯片引脚和适配更多的内存芯片,所以厂家设计了DDR复用,很多芯片都有这种设计。RK3568兼容从DDR3到LPDDR4X的多种芯片类型,由于芯片电路设计和接口的不同,所以芯片的连接也有很大的不同,在设计时,你必须按照厂家的提示正确连接,否则可能导致芯片损坏。存储器,启动顺序,两种恢复模式RK3568支持从多种介质引导固件,何谓引导?这里不得不简单介绍一下ARM处理器的启动方式。就拿RK3568举例,下面是我随便找的一张官方启动路径介绍。大概的过程是这样的,在我们主控芯片的内部集成了一小块专为启动设计的只读存储器(BROM),存放着一段特定的启动代码,他会在上电的一瞬间被加载到内存中去,首先会完成一系列初始化操作,配置CPU,关闭看门狗,初始化时钟,初始化外部存储器等等,接着,他会按照特定的顺序从各个启动介质中(NOR,NADN,EMMC,SD等)搜寻可启动的ID Block代码,一旦找到可执行的代码,BROM就会把其中的一部分(SPL)首先加载到片内的小容量SRAM中,之后,CPU将会完成外部大容量DDR存储器的初始化,这时候就可以准备读取完整UBOOT到外部DDR中去了,接着就可以加载内核,启动我们的LINUX系统了。这个过程十分复杂,我只是简单的叙述了一下,这一部分我们暂时不会深入去涉及。现在思考两个问题,到底主控芯片如何确定到底优先去哪个存储介质启动呢?一般主流芯片有两种方案,一种是芯片有一个或多个引脚,通过检测这些引脚的上拉或者下拉状态来选择。另一种是写死在芯片里面,他按照一定的顺序去一个一个的尝试,直到能启动为止。我们的RK3568就属于后者,他是按照下面的顺序来启动的。由上面的流程图可知,芯片的启动顺序为SPI NorFlash->SPI NandFlash->NandFlash->EMMC->SD卡如果都没找到启动介质,那就由芯片内部的代码初始化USB端口,等待程序烧录,这也就是所谓的MaskRom模式。在这个模式下,你用USB线连接板子和电脑,安装驱动,打开瑞芯微刷机工具,就会提示发现一个MASKROM设备。除了这种情况下,当你使用EMMC时上电前短接D0引脚到GND,使用SPI存储器时短接CLK到GND同样也会触发MASKROM模式,如果你是一个经常接触手机刷机的玩家,这就是所谓的“深度刷机模式”或者说“救砖模式”。还有另一种恢复模式,当你在启动时短接SARADC的第0个端口(相当于按下REC键),芯片将进入一种恢复模式,在这个模式下,你可以对固件做一些升级等,但是不会修改Bootloader部分。综上所述,两种模式的对比如下表所示。元器件支持列表 AVL需要注意的是,在你设计自己的原理图时,不是所有的器件都能被芯片识别的,比如DDR,EMMC,WIFI模块等等,厂家会根据市场上常见的一些芯片做针对性的优化和设计,所以建议你使用这些型号,否则可能会出现一些奇奇怪怪的问题。优先推荐你用别人用过的物料,尽量选一些大厂。使用立创EDA设计原理图善用网络标签检查电源树多部位器件注意位号下一篇,我们讲PCB 设计那些事。想提前知道内容的可以去立创开源平台查看项目链接:https://oshwhub.com/hhbv/rk3568b-router#2025年度项目秀# #DIY设计##嘉立创PCB##技术干货#
手搓路由器Rk3568B(第一章项目整体的需求和设计)
项目需求1.作为 Linux 卡片电脑,可以完成多媒体播放,文件存储,网络路由管理等功能,可以作为家庭的智能控制中心,管理智能硬件。2.需要兼容主流操作系统,Debian,Ubuntu,BuildRoot,Android 等3.成本低廉,价格亲民,便于 DIY4.资料丰富,项目案例,例程参考多,适合学习 Linux 架构5.引出 USB2.0,USB3.0,千兆以太网,WIFI,PCIE,HDMI,I2C 等等。板卡设计在这里,楼主想简单介绍一下一个嵌入式项目的组成部分,实际上,它也属于一个微型的计算机系统,我们可以简单地分两部分,硬件和软件,硬件是他的实体血肉和骨骼。软件是它能实现功能的灵魂大脑,二者缺一不可。我们先来说硬件,这是看得见摸得着的部分,事实上,我们日常使用的手机,路由器,汽车的车机,电视机顶盒等等,都属于嵌入式系统,假如你拆开他的外壳,拿出他的电路板。你会发现大部分长这个样子上图是我随便找了一款电视盒子,其他的设备布局也大同小异,我们就以这块板子来介绍。中间那块黑色硕大的芯片就是主控 SOC,里面集成了 CPU,GPU,DDR 控制器,以太网控制器等等,在整个系统中起到最核心的控制作用。从主控芯片引出了很多很多的线,接到了很多黑色的小芯片上(当然这是一块多层板,还有些走线隐藏在 PCB 内层)。下方的两个长条的芯片就是 DDR 内存,负责在运行时和主控之间的高速数据交换。这个高速到底有多高呢?一般来说 DDR3 的时钟速度为 833MHz,由于 DDR 本身会在时钟的上升沿和下降沿同时采样,所以数据线的速度可达 1866MHz,而采用 LPDDR5 的芯片,则可以达到 6400MHz 以上。为了实现这么高的速率,对 PCB 的设计也是有很高要求的,这也是我们本次设计的一个核心难点。主控左边是一块 EMMC 的存储芯片,负责存储系统文件,可以在断电后保存数据。其他的我们还会看到各种各样的接口,比如网口,可以通过他来接入到互联网。USB 口,可以扩展其他设备。通过以上介绍,我们对嵌入式板卡有了一个大概的了解。可能有朋友在大学里面学过计算机组成原理,嵌入式板卡就属于这么一种微型计算机系统,接下来进入核心主控的选型。主控芯片主控芯片的选择直接决定了板卡的整体性能,这点对玩单片机的小伙伴来说并不陌生。对于项目复杂,涉及软硬件繁多,图形页面绚烂的大项目来说,我们可能选择 ESP32,STM32H7 等高性能单片机,而一些小的点灯项目,我们可能会选择 8051 之类的廉价单片机。同样的,在嵌入式 Linux 的市场中也是有琳琅满目的厂家,比如全志,瑞芯微,君正,海思,联发科等,还有国外的 TI(德州仪器),ST(意法半导体),每个厂家又有不同的产品线,涵盖了高中低各个档次的市场需求,如何针对你的项目去选择这些芯片呢?下面谈谈我个人的一些经验。首先就是去寻找别人的产品上用了哪些方案,对于我们小白来说,先学会抄,往往能节省大量的精力和时间成本。以我们的软路由举例子,我们打开 B 站,搜索“软路由 linux arm”等字样,可以了解到市场上现在同类产品大概用的是什么方案,他们的方案在我们的设计中是否有可取之处?如下图所示经过了解,我们可以知道,市面上的很多产品(除了 x86 以外)都使用了 RK3568 这款芯片方案,当然你也可以多了解一些备选方案,比如 RK3576,RK3399,RK3588 等。经过综合权衡,他们不是架构太老,就是太贵,或者设计难度太高。所以我们选择 RK3568 这款芯片作为我们的主控芯片。同样的,你的方法包括但不限于去提交需求给 AI,让他给你推荐,或者去淘宝,咸鱼,论坛等处去提问,方法还是很多的。选定了芯片方案,我们自己要对这个方案进行评审,评审的点有下面几个方向性能是否够用评价性能有很多方式,比如查看这个仅供参考的 CPU 天梯图我们的 RK3568 大概属于中等水平从他的介绍我们大概的可以看出来他支持很多接口和协议,算是一款中规中矩的芯片。实测来看刷视频玩点小游戏都是可以的。价格和购买渠道,产品周期是否合理价格是重中之重,对于我们初学者来说,一下就上大几百块的 3588 万一失败很容易打击到我们,试错成本非常高。而 3568 这款芯片一套(CPU,内存,电源管理,emmc)只要 50 块钱,失败的代价没有那么高。购买渠道很简单,你选择的芯片是比较容易以一个很低的价格能在各个平台买得到。开发难度和资料的丰富度需要提醒大家的是,嵌入式系统的设计是非常复杂的。我们讨论的 CPU 不单指这个 CPU,而是更接近于 SOC,即所谓的片上系统。在这个芯片中,集成了 CPU,内存控制器,GPU 图形处理单元,ISP 图像处理单元,网络 MAC 控制器等等,毫无疑问,这是凝结人类顶尖科技的结晶,同样的,它的设计也是极其复杂的,可能涉及到十几路电压,十几种复杂的信号协议接口等。所幸,芯片厂家已经帮你做完了大部分的设计工作,他们通常会针对特定的使用场景帮你设计好了参考电路图和 PCB 图。你无需从零开始,但是需要你掌握一点基础的电子分析能力,能对他进行裁剪组合,使各个部件能完美地契合你的设计。厂家提供的参考设计一般叫标案(当然如果你有超能力也可以让厂家单独给你设计,这种叫开案),除了硬件之外,厂家还会给你提供设计注意事项,芯片手册,每个子模块的软件调试使用说明,软件开发环境等等。硬件资料一般叫 HDK,软件资料一般叫 SDK,如果你没有这两个东西,你基本上就可以放弃这个芯片方案了。这里我多提一嘴,你应该从哪里获取这些资料。常见的途径是吴川斌的博客,他会更新一些芯片的资料。其次就是咸鱼,淘宝,一块钱可以买到一大堆,另外还有一些论坛,比如一牛网,哇酷等等吧,当然本设计的所有资料我都会整理并发出来。设计难度,你是否有把握完成一个很显而易见的结果就是,板层越少,工艺越简单(比如过孔和叠层),生产的成本就越低,但是你的设计难度会越高,对于我们白嫖玩家来说,当然是越便宜越好,正好嘉立创 6 层板免费打样,我们减少了不少的设计难度。外围电路就像我们组装一台桌面电脑一样,除了 CPU,还得有硬盘,内存等等。内存方面为了简化设计,我们使用一片 LPDDR4X 芯片(RK3568 最大支持 8GB 内存),硬盘我们使用 EMMC 方案,另外引出了 SD 卡,方便快速验证系统设计,WIFI 其他的具体设计我们等到下一节再详细介绍。总而言之,外围电路的设计优先参考市场上的成熟方案,最好是你自己用过或者见到过的方案,这样可以避免一些奇奇怪怪的兼容性问题。综上,我完成了我自己的样机初步设计,接下来就是着手去一步一步的实现他。小小总结这里想说三点一是量力而行,一定要根据自己的需求和能力去制定目标,与其选一个太高的目标中途烂尾,不如选一个恰当的目标去脚踏实地做完,去看别人而不是自己去做是永远也学不会的。别人做看起来怎么那么简单,一旦你真正的上手去做,那就完全不一样了,这点我们要有心理准备。第二是多找资料,俗话说不打无准备之战,我们准备的越多,实施起来就越简单。在这里给大家推荐哇酷网,还有这篇教程《从零开始高速 PCB》,毫不掩饰的说,本篇很多细节都参考了这篇文章。最后一点就是要有信心,别人可以搞出来,你也可以搞出来,大家都是一个水平线上的人,一定要对自己有信心。下一篇,我们将着手开始原理图的设计。项目链接:https://oshwhub.com/hhbv/rk3568b-router#2025年度项目秀# #嘉立创PCB##DIY设计# #技术干货#
路由器的外壳应该长什么样子的
3D 打印、铝合金,CNC,哪一种觉得更好看一些?如果方案被采纳的话,有一个神秘惊喜[呲牙]。[握手][握手]
#DIY设计# #嘉立创PCB# #技术干货#
基于 RK3568B2 的路由器项目全流程【星火计划】
一、项目概览用 RK3568B2(四核 Cortex-A55)做了台路由器,硬件模块如图:配 LPDDR4X 内存、eMMC 存储,外设涵盖 HDMI2.0(4K@60Hz)、WiFi/BT(AIC8800D80)、千兆网口(RTL8211F)、USB3.0 等,功能拉满~二、项目全流程速览初期:定方案(选 RK3568B2 + 配套外设)→ 画原理图(对齐模块引脚)中期:PCB 画图(重点处理高速信号,下文细说)→ 打样焊接后期:软件适配(移植 OpenWRT)→ 功能测试→ 整理文档开源三、PCB 高速信号布线小技巧像 LPDDR4X、PCIE3.0 这类高速线,注意这几点就行:阻抗匹配:单端 50Ω、差分 100Ω,叠层留参考地等长控制:同组线长差控制在 5mil 内隔离干扰:高速线远离电源 / 时钟,必要时包地四、开源说明项目全流程文档(硬件 + 软件)已同步到立创开源平台,模块细节、布线文件、软件操作都在里面~立创开源平台链接:https://oshwhub.com/hhbv/rk3568b-router喜欢这个项目,麻烦一键3连以下,谢谢#嘉立创PCB# #DIY设计# #技术干货# #星火计划2025#
时隔几个月,终于拿到了PCB证书
感谢嘉立创给这么美好的机会,让在校大学生可以直接在线上考证,生是立创的人,死是立创的魂 #嘉立创PCB# #PCB技术证书#