目的

BeagleBone black 已经出来很久了,算是一块比较老的板子了。网上有很多的文档,说明它的性能,开发过程步骤,开发案例等等, 内容非常丰富。但是几乎没有文章,单纯从PCB设计的角度对它进行点评。仔细参看它的PCB设计,里面还是有非常多值得学习的技术内容。所以在此做一下我个人的点评,主要目的也是通过参考beagleBone的设计来提高自身的PCB设计水平。特别声明一下:不像代码,可以通过运行测试来说明代码的质量, PCB的很多技术都是基于理论和经验的统一,不同的人会有不同的观点。文章中的观点只是基于我自己的知识和水平,欢迎大家留言讨论。

PCB源文件下载

https://github.com/beagleboard/beaglebone-black/archive/master.zip

PCB查看工具

因为beaglebone是使用candence设计的,所以我下载了一个免费查看器

Cadence Allegro Viewer

Allegro Downloads

虽然网上能够找到altium design的Beaglebone PCB版本,但是它是由cadence转化来的,有一些问题。例如有一些线没有连接好,板子外框之外还有未布局的器件。所以最好还是使用cadence查看源文件。因为我用的只是具有查看功能的viewer,功能受限。所以文章中的一些图片也会来自altium designer。

1,BeagleBone black的PCB叠层结构

它有6层板,是一种比较常见的叠层结构。具体信息如图一所示:

  • 顶层信号层
  • 第二层地层
  • 第三层信号层
  • 第四层信号层
  • 第五层分割的电源层
  • 底层信号层

图一,PCB的叠层结构

它的厚度信息在Allegro Viewer中没有查看到,所以这里是从altium designer中得到的厚度信息,如图2所示。如果和allegro源文件有误差,请私信我。

图二 叠层结构的厚度信息

从叠层结构的厚度信息中,可以看到顶层TOP和第二层地平面只有3.6mil的高度,这是非常好的设计。信号层和参考层距离越薄越好,这样有利于减少信号的干扰,提高板子的EMC性能。关于板子和参考层的厚度的关系,可以参考我的读书笔记:

电磁兼容工程(Electromagnetic compatibility engineering Herry Ott )读书笔记-- 章16 PCB设计和叠层结构_dylanZheng的博客-CSDN博客

在笔记中,图16-18解释了为什么厚度薄能够提高EMC的性能。

第二层和第三层的距离4.6mil,也算是非常薄的设计。

注意第三层和第四层的间隔是36mil,这主要是有两个目的:

(1),填充PCB内核,使得PCB总体厚度大约为1.6mm,这是最常见的PCB厚度值,能够满足大部分应用的机械要求。

(2),使得第三层和第四层的干扰最小化。因为第三四层距离比较远,所以第三层主要以第二层作为信号参考层,第四层主要以第五层作为信号参考层。这里的参考层,就是信号的回流层。

2, 电源信号布局布线

Beaglebone使用一个PMIC(TPS65217CRSLR)来管理整个系统的供电,包括上电顺序,各个电源的使能等等。它在顶层的布局布线如下图三所示。

第一映像是它的布局布线非常紧凑。如图中的红圈所示,PMIC芯片的引出线都非常的短,和去耦电容的连接非常短。另外图中黄色方形的部分是5V的输入信号。可以看到这里使用了一个敷铜,敷铜慢慢变窄,然后引入到芯片的管脚上。这是很好的连接方式,可以尽可能保证电源走线足够宽。图中蓝色的部分是去耦电容的接地,使用了两个过孔,这也是值得推荐的方式。见我的读书笔记图11-25对去耦电容的过孔放置方式有详细解释。

电磁兼容工程(Electromagnetic compatibility engineering Herry Ott )读书笔记-- 章11 数字电路电源分布_dylanZheng的博客-CSDN博客

图三 PMIC芯片顶层布局布线

再看地层的布局布线,电源芯片的去耦电容就布局在芯片地层,和芯片的连接很短。

图四 PMIC芯片底层布局布线

因为AM335x的要求供电的电源种类比较多,例如有内核电压,MPU电压, 模拟电压,RTC电压,不同的IO电压等等。所以beagbone上的电源层被分割的比较破碎。如下图五是它的电源层的分割。电源层分割的越多,相邻的信号层的信号质量就会越差,因为有很多的信号都有意无意的跨越了各种分割线,造成信号回路路径比较大,信号对外辐射大,自身的抗干扰能力被减弱。因此高速信号线尽量避免走相邻层,即第四层和底层。可以看到的DDR走线就没有走第四层。

关于电源层的分割注意事项,可以参看我的读书笔记

https://blog.csdn.net/dylanZheng/article/details/123871130

图五  电源层的分割

其实上图中的电源分割已经被优化了(否则会更稀碎!)。优化的一个办法就是在信号层走电源线。以下几个图就是优化的方式:

图六 减少电源分割的方法

如果产品的成本不敏感的情况下,推荐使用8层板设计自己的产品。这样可以大大优化电源层的设计。Beaglebone本身定位就是比较便宜的单板,所以它的设计有时候是性能和成本的折中。

3,时钟信号

时钟信号属于关键信号线,应该优先布局布线。Beaglebone的CPU上有两个时钟晶振,一个是给RTC使用的32.768KHz,一个是提供主时钟的24MHz。如图七,是RTC时钟的布局和布线:

图七 RTC时钟布局布线

从图中可以看到,晶振离CPU还是很近的,走线也比较短。其中GND_OSC1处在OSC1_IN和OSC1_OUT的中间,和她们的耦合非常的紧,同时这3根信号线距离其他信号比较远。这是非常棒的。因为GND_OSC1是OSC1OSC1_IN和OSC1_OUT的回流路径。它们之间的紧耦合能够减少时钟信号和其他信号的干扰,也能减少信号辐射。

在整个的晶振下面还放置了一块GND_OSC1的敷铜,这块敷铜的作用之一是能够防止有其他信号线穿过晶振下面。第二个作用是屏蔽晶振信号。第三个作用是减少了GND_OSC1上的阻抗,进一步减少辐射。

但是令人惊讶的是,上图中敷铜上有一个VDD_3V3B的过孔(上图中的黑圈),这是非常不好的地方。它会引起VDD_3V3B和时钟信号之间的干扰。

主时钟的24MHz的设计如图八所示:

图八,主时钟24MHz电路

图八中,设计上不足的地方是,将24MHz晶振放在了底层。这是我个人不推荐的布局布线方式。因为对于时钟信号,我们的要求是信号线尽可能的短,回路面积最小,尽量远离其他信号线。而一旦将晶振放置在底层,必然会使用过孔,而过孔会通过所有层,那么不经意就会使得其他信号离时钟信号线比较近,造成干扰。而且过孔也会加大时钟信号与所有层的耦合性,这都是不希望出现的。主时钟电路中, GND_OSC0没有在OSC0_IN和OSC0_OUT之间走线,使得 GND_OSC0和OSC0_IN的耦合不是那么紧密,如上图GND_OSC0在时钟信号的左边。

总的来说,24MHz电路没有RTC时钟的设计那么好。

图九是主时钟24MHz电路的顶层和底层走线设计:

九,主时钟24MHz的顶层和底层设计

4,复位信号

一般,系统的复位信号也是属于关键信号。因为它在系统正常工作时,保持高电平,所以不算是高频信号,一般都是按照普通信号走线。这从对外辐射的角度看,是没有问题的。但是如果从抗干扰的角度看,需要保证它的走线环路面积尽可能的小,这样不容易接收到噪声,从而保证系统不会因为噪声引起复位。

图十复位信号走线

Beaglebone 的CPU复位信号走线如图十所示,它在顶层,底层,第三层和第四层都有走线,也就意味着它的回流参考平面也一直在变化。所以它整个的回路面积会比较大,容易受到其他信号的干扰。最优的方法是保证复位信号在顶层和第三层走线,这样他们都是以第二次为参考层,能够最小化信号回路面积。另外复位信号线的线宽是4.75mil, 偏小,可以加宽复位信号线,进一步减少信号线的阻抗。

5,DDR走线和阻抗匹配

Beaglebone的DDR走线非常优秀,也非常值得我们好好学习。这里先展示DDR每一层的信号走线图:

图十一  DDR 顶层走线

图十二  DDR 第三层走线

图十三  DDR 底层层走线

图十四  电源层VDDS_DDR的分割

(1),DDR信号是经过阻抗匹配的,它满足单端阻抗50欧姆,差分阻抗100欧姆的要求,如图一所示。另外它也做了等长处理,这些都符合高速信号的常规设置。

(2),从上面的几个图中可以看到,设计师的PCB设计技巧是很高的。顶层和第三层的空间基本上全部布满了信号线,空间利用率非常高。而且线的密度也是相对均匀。看起来非常的美观。线与线的间距大约是15mil,第三层和第二层的距离是4.6mil,所以基本上符合3W的布线原则。

(3)大部分信号线都是布局在顶层和第三层,这也是非常合理的,因为这两层都是以第二层为参考层。信号通过过孔从顶层到第三层或者才能够第三层到顶层,信号线的参考平面没有变化,信号的阻抗变化平滑,信号的回路路径也没有发生改变,保证了信号回路最小。

(4),VDDS_DDR信号在电源层的分割如图十四所示。它保证了在整个DDR的布线区域电源层是完整的。不过仔细查看VDDS_DDR的平面,发现它并没有覆盖住DDR_A6的管脚,如果将VDDS_DDR的平面沿图十五的箭头方向扩大一点点就会非常好。当然这只是一个非常非常小的不算问题的问题,因为A6信号焊盘的上面就是VDDS_DDR的焊盘,所以信号基本不会影响。(只是一种强迫症而已)

图十五 VDDS_DDR 敷铜需要延伸到ADDR_A6德焊盘范围

(5),DDR芯片的去耦电容放置也非常漂亮,在每一根DDR电源线附近都有去耦电容。另外它的bulk电容放置也很有讲究,如图十六所示。它在DDR区域的三个角落放置了3个bulk电容,保证当信号需要大电流时,可以均衡在整个DDR区域获得额外电流。

图十六,DDR的bulk电容的放置

6,模拟信号走线

因为beaglebone的层数以及空间受限,所以它的模拟信号走线不是很完美。如图十七所示,是它在顶层的模拟信号线,图十八是在第四层的走线。可以看到因为第二层是没有分割的地层,所以在顶层的模拟信号线AIN0,AIN2,AIN3,AIN5和AIN6都是有完整参考平面的,因此他们的信号质量不容易受到干扰,会更好一些。而信号AIN1,AIN4和AIN7在第四层走线,因为它们的参考平面被分割得很厉害,所以它们会跨越多个电源区域,造成回流电源平面不连续,而且这几个平面都是数字信号电源平面,所以这几个模拟信号线容易受到干扰。

如果需要在自己的设计中直接使用beaglebone的模拟信号,优先选择顶层的信号线,即AIN0,AIN2,AIN3,AIN5和AIN6作为系统模拟信号的输入,尽量少用AIN1,AIN4和AIN7这三根模拟输入线。

图十七, 模拟信号在顶层的走线

图十八, 模拟信号在第四层的走线

7, 其他方面

(1),在这个板子的周围放置了一圈Chasssis地,将整个班子包起来,一方面可以限制边缘信号的辐射,同时相当于屏蔽外部信号的干扰。但是具体它的优缺点的分析可能因人而异。

本人觉得如果将该板子放置在塑料外壳中,这整个地圈可能会引起问题,如不能通过ESD的测试。欢迎其他人留言讨论它的优缺点。

(2)L3层和L4层信号线垂直,如下图。

只是显示第三层和第四层,可以看到他们大部分的信号线的方向是垂直的。真心佩服设计时的布线能力。在这么受限的条件下能够保证第三层和第四层的走线方向是很难的。

图十九, L3层和L4层信号线垂直

Beaglebone black PCB源文件点评相关推荐

  1. bh1750采集流程图_重大更新:STM32空气监测仪,OneNET物联网平台实时查看(原理图、PCB源文件、程序源码等)...

    更新内容: 一.SD卡记录功能. 自动识别有无SD卡,支持4G以下SD卡. 下图为SD卡记录的数据.以日期为文件名自动创建文件. 记录格式为:时间,PM1.0,PM2.5,PM10,温度,湿度,大气压 ...

  2. 采用PCB源文件(PADS格式)在嘉立创下单需要注意覆铜问题

    在嘉立创打样电路板,如果采用PCB源文件下单,在压缩PCB文件前一定要打开覆铜管理器用"填充(Hatch)"还原覆铜,参考图1. 图1 在还原覆铜后再进行一次电气检查,见图2,避免 ...

  3. PXIe板卡 原理图PDF PCB源文件 K7 PCIe板卡 FMC板卡 XC7K325T 标准3U尺寸 提供PCIe,DDR,上位机应用程序等源码例程原理图PDF PCB源文件

    PXIe板卡 K7 PCIe板卡 FMC板卡 XC7K325T 标准3U尺寸 64bit DDR3(2GByte) 提供PCIe,DDR,上位机应用程序等源码例程 原理图PDF PCB源文件 ID:6 ...

  4. 西门子PLC STM32方案原理图,PCB源文件015-西门 子PLC STM32方案原理图,PCB源文件

    西门子PLC STM32方案原理图,PCB源文件015-西门 子PLC STM32方案原理图,PCB源文件 smartmcu3996

  5. 8路输入输出可编程控制板带外壳 国产PLC的PCB源文件

    点击查看:8路输入输出可编程控制板带外壳 国产PLC的PCB源文件 简单概述 一. 尺寸:长143mmX宽110mmX高20mm 二. 主要芯片:单片机STC89C52RC 继电器 光耦 三. 工作电 ...

  6. (电路设计资料)N95超声波功率发生器电路图PCB源文件方案

    N95超声波功率发生器电路图PCB源文件 已经量产验证.完整工程文件. 一共三块板: 分别是功率板.显示控制板.按键板 [资源下载]下载地址如下: https://docs.qq.com/doc/DT ...

  7. (毕设)超声波测距仪—倒车雷达电路(原理图和PCB源文件

    (毕设)超声波测距仪--倒车雷达电路(原理图和PCB源文件) 倒车雷达电路功能概述:                 该作品主体为超声波测距,使用US-015超声波模块,最大量程4m,精度0.01m, ...

  8. AD拼板(导入PCB源文件方式实现拼板)

    优点:源文件改变时,拼板同步 1 确认源文件板子的尺寸大小. 可以用Report-Board information来看. 2 创建一个新的PCB 确定拼板的尺寸,layer stacks. 3 在n ...

  9. 低功耗STM32F411开发板(原理图+PCB源文件+官方例程+驱动等)

    http://www.cirmall.com/circuit/2174/低功耗STM32F411开发板%EF%BC%88原理图%2BPCB源文件%2B官方例程%2B驱动等%EF%BC%89#/deta ...

最新文章

  1. Flask部署和分发
  2. 46、Power Query-Table.FillDown函数简介
  3. 阿里云Linux创建docker容器
  4. Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类
  5. c语言递增20,2020-07-20(C语言)数据结构-在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素...
  6. vue的v-html使用
  7. python迭代器是什么意思_理解Python的迭代器
  8. Base64与MIME和UTF-7
  9. Win7 下安装ubuntu14.04双系统
  10. 好莱坞法则_人工智能去好莱坞
  11. Java集合框架知识点
  12. gensim实现TF-IDF和LDA模型、sklearn实现聚类
  13. FPGA基础知识21(PL控制PS端DDR的设计)
  14. 15.3,python中扫描条形码和二维码
  15. springboot实现条形码_java生成条形码(多种条码类型生成)
  16. 服务器共享文档只读不可复制,局域网共享文件只读不存、共享文件只读不能复制设置法...
  17. Android项目实战--手机卫士34--流量管理
  18. 中国农大计算机保研,中国农业大学2021届保研情况
  19. C/C++牛客网刷题练习之翻转链表篇
  20. 三国志战略版新赛季:先锋斥候北定中原

热门文章

  1. Unity sln 和 csproj 基础
  2. 平台币逐鹿中原,谁更有潜力?
  3. 数字电路62(加法计数器)
  4. 大连民族大学计算机毕业论文范文,大连民族大学本科毕业设计论文.doc
  5. 这是您在Factorio上的大脑
  6. mysql( 连表查询 子查询 联合查询)
  7. 数据结构 串(字符串)与KMP
  8. centos7查看进程ps_linux命令大全之ps命令详解(查看进程结果)
  9. U2NET的pytorch实现
  10. Ubuntu和Windows双系统连接罗技蓝牙键盘