Beaglebone black PCB源文件点评

目的

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层信号线垂直

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Beaglebone Black是一种开发板,可以运行不同的操作系统,如QNX和QT。它可以通过HDMI连接显示器,并具备在Beaglebone Black上安装和配置QT库的能力。 关于Beaglebone Black上的QT的安装和配置,可以参考文章"http://embedded.von-kannen.net/2014/05/21/qt-4-8-6-on-beaglebone-black/"提供的参考资料。 在开始安装和配置之前,需要先按照文章"Beaglebone Black——tslib编译与安装"中的步骤完成操作系统的安装和配置。在完成这些步骤后,可以继续下面的步骤,即在PC机上编译Qt源码、在Beaglebone Black上安装和配置Qt库,以及在PC机上安装和配置Qt Creator。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [BeagleboneBlack-QNX-QT:Beaglebone黑色(AM335X)HDMI(TDA19988)QNX QT](https://download.csdn.net/download/weixin_42171132/15089410)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Beaglebone Black——嵌入式QT开发环境搭建](https://blog.csdn.net/zy812248258/article/details/42554139)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值