步骤1:考虑元件封装
表面贴装器件(SMD)可以定位在采用贴片机的PCB,自动化装配过程。如果还有通孔组件,则可以通过回流焊炉或波峰焊机运行PCB。
小型SMD的元件引线也会减少,导致阻抗大大降低,电感和EMI是一件非常好的事情,尤其适用于射频和高频设计。
采用表面贴装路线还可以提高机械性能和耐用性,这对于振动和机械应力测试非常重要。/p》
第2步:选择您的微控制器
每个微控制器开发板的核心,如Arduino及其衍生产品,是微控制器。在Arduino Uno的情况下,这是ATmega 328P。对于我们的开发板,我们将使用ESP8266。
价格便宜,运行频率为80MHz(超频至160MHz)并且内置WiFi子系统。当用作独立的微控制器时,它可以执行某些操作,速度比Arduino快170倍。
微控制器需要某种方式与您的计算机连接,因此您可以加载您的程序在它上面。这通常由外部芯片完成,该芯片负责在计算机上的USB端口使用的差分信号之间进行转换,以及通过其串行通信外设(如UART)在大多数微控制器上提供的单端信号。
在我们的例子中,我们将使用FTDI的FT230X。 FTDI的USB转串口芯片在大多数操作系统中都得到了很好的支持,因此对开发板来说是一个安全的选择。流行的替代品(更便宜的选择)包括来自SiLabs的CP2102和CH340G。
步骤4:选择您的稳压器
电路板将需要通过某个地方获得电力 - 在大多数情况下,您将通过线性稳压器IC找到这种电力。线性稳压器价格低廉,简单,虽然效率不如开关模式,但可提供清洁功率(噪声更小)和易于集成。
AMS1117是大多数开发板中最常用的线性稳压器,我们的开发板也是一个相当不错的选择。
第5步:选择你的电源订购方案
如果你将让用户通过USB为开发板供电,并通过电路板上的一个引脚提供电压输入,你需要一种在两个竞争电压之间进行选择的方法。这最简单地通过使用二极管来实现,二极管仅允许较高的输入电压通过并为电路的其余部分供电。
在我们的例子中,我们有一个双肖特基势垒,为此目的,它在一个封装中包含两个肖特基二极管。
步骤6:选择外围芯片(如果有)
您可以在接口上添加芯片使用您选择的微控制器来增强您的开发板为其用户提供的可用性或功能。
在我们的例子中,ESP8266只有一个模拟输入通道,并且只有很少的可用GPIO。
为了解决这个问题,我们将增加一个外部模数转换器IC和一个GPIO扩展器IC。
选择ADC通常需要在转换速率或速度和分辨率之间进行权衡。较高的分辨率不一定更好,因为由于使用不同的采样技术而具有更高分辨率的芯片通常具有非常慢的采样率。典型的SAR ADC的采样速率超过每秒数十万个样本,而更高分辨率的Delta Sigma ADC通常每秒只能处理少量样本 - 远离快速SAR ADC和快速流水线ADC。
MCP3208是一款12位ADC,具有8个模拟通道。它可以在2.7V-5.5V之间的任何地方工作,最大采样率为100ksps。
增加一个流行的GPIO扩展器MCP23S17可以使用16个GPIO引脚。
步骤7:电路设计
电源输出电路使用两个肖特基二极管为电源输入提供简单的OR-ing功能。这在来自USB端口的5V和你希望提供给VIN引脚的任何东西之间建立了一场战斗 - 电子战的胜利者在顶部出现并为AMS1117稳压器供电。一个不起眼的SMD LED用作指示电源实际上被传送到电路板的其余部分。
USB接口电路采用铁氧体磁珠,可防止杂散EMI和嘈杂的时钟信号向下辐射到用户的计算机。数据线上的串联电阻(D +和D-)提供基本的边沿速率控制。
ESP8266使用GPIO 0,GPIO 2和GPIO 15作为特殊输入引脚,在启动时读取它们的状态以确定是否以编程模式启动,这样您就可以通过串行通信来编程芯片或闪存启动模式,启动您的程序。在引导过程中,GPIO 2和GPIO 15必须分别保持逻辑高电平和逻辑低电平。如果GPIO 0在启动时为低电平,则ESP8266放弃控制并允许您将程序存储在模块内的闪存接口中。如果GPIO 0为高电平,ESP8266将启动存储在闪存中的最后一个程序,并且您已准备就绪了。
为此,我们的开发板提供启动和复位开关,让用户切换GPIO 0的状态,并复位器件,使芯片进入所需的编程模式。上拉电阻可确保器件默认启动进入正常启动模式,启动最近存储的程序。
步骤8:PCB设计和布局
一旦涉及高速或模拟信号,PCB布局就变得更加重要。特别是模拟IC对接地噪声问题很敏感。地平面能够为感兴趣的信号提供更稳定的参考,从而降低通常由接地环路引起的噪声和干扰。
模拟走线必须远离高速数字走线,例如属于USB标准的差分数据线。差分数据信号走线应尽可能短,并应与走线长度匹配。避免转弯和过孔以减少反射和阻抗变化。
使用星形配置为设备供电(假设您尚未使用电源平面)还有助于通过消除当前返回路径来降低噪声。
步骤9 :PCB Stack-Up
我们的开发板基于4层PCB堆栈,具有专用电源层和接地层。
您的“叠加”是PCB上图层的顺序。层的排列会影响您的设计的EMI兼容性,以及电路的信号完整性。
PCB叠加中要考虑的因素包括:
层数
层次顺序
层间间距
每层的目的(信号,平面等)
层厚度
成本
每个堆叠都有自己的优点和缺点。与2层设计相比,4层板将产生大约15dB的辐射。多层板更可能具有完整的接地层,降低接地阻抗和参考噪声。
步骤10:PCB层和信号完整性的更多考虑因素
理想情况下,信号层应位于电源或接地旁边平面,信号层与它们各自的邻近平面之间的距离最小。这样可以优化通过参考平面的信号返回路径。
电源和接地层可用于在层之间提供屏蔽,或用作内层的屏蔽。
电源和地平面相互靠近时,会产生一个通常对你有利的平面电容。该电容随PCB的面积及其介电常数而变化,与平面之间的距离成反比。这种电容非常适用于具有不稳定电源电流要求的IC。
快速信号理想地存储在多层PCB的内层,以包含迹线产生的EMI。
电路板上处理的频率越高,必须遵循更严格的要求。低速设计可能会以较少的层数甚至单层来消除,而高速和RF设计需要更复杂的PCB设计和更具战略性的PCB堆叠。
高速设计,适用于例如,更容易受到皮肤效应的影响 - 这是观察到在高频率下,电流不会穿透导体的整个主体,这反过来意味着增加厚度的边际效用递减铜在一定频率下,因为无论如何都不会使用额外的导体体积。在大约100MHz时,趋肤深度(实际流过导体的电流厚度)约为7um,这意味着甚至标准的1oz。厚信号层未充分利用。
步骤11:关于过孔的侧注
过孔形成不同层之间的连接多层PCB。
使用的过孔类型将影响PCB生产的成本。与通孔过孔相比,盲/埋孔的制造成本更高。通孔穿过整个PCB,终止于最下层。隐藏的过孔隐藏在内部并且仅互连内层,而盲孔从PCB的一侧开始但在另一侧之前终止。通孔过孔是最便宜和最容易制造的,因此如果通过孔过孔优化成本使用。
步骤12:PCB制造和组装
现在电路板已经设计完毕,您需要将设计输出为您选择的EDA工具中的Gerber文件,然后将它们发送到电路板上进行制作。
I让我的电路板由ALLPCB制造,但您可以使用任何电路板制造商。我强烈建议在决定选择哪个板房用于制造时使用PCB Shopper来比较价格 - 所以你可以在价格和功能方面进行比较。
一些板房还提供PCB组装,你如果你想实现这个设计,可能需要它,因为它主要使用SMD甚至QFN部件。
步骤13:那就是所有人!
这个开发板被称为“Clouduino Stratus”,一个基于ESP8266的开发板,我设计用于加速硬件/物联网启动的原型设计过程。
它仍然是非常早期的设计迭代,很快就会有新版本。
我希望你们从本指南中学到很多东西! :D
步骤14:奖励:组件,Gerbers,设计文件和致谢
[微控制器]
1x ESP12F
[外设]
1 x MCP23S17 GPIO扩展器(QFN)
1 x MCP3208 ADC(SOIC)
[连接器和接口]
1 x FT231XQ USB转串口(QFN)
1个USB-B迷你连接器
2个16针母头/公头接头
[电源]
1 x AMS1117 - 3.3稳压器(SOT-223-3)
[其他]
1 x ECQ10A04-F双肖特基势垒(TO-252)
2 x BC847W( SOT323)
7 x 10K 1%SMD 0603电阻器
2 x 27 ohm 1%SMD 0603电阻器
3 x 270 ohm 1%SMD 0603电阻器
2 x 470 ohm 1%SMD 0603电阻器
3 x 0.1uF 50V SMD 0603电容器
2 x 10uF 50V SMD 0603电容器
1 x 1uF 50V SMD 0603电容器
2 x 47pF 50V SMD 0603电容器
1 x SMD LED 0603绿色
1 x SMD LED 0603黄色
1 x SMD LED 0603蓝色
2 x欧姆龙BF-3 1000 THT轻触开关
1 x铁氧体磁珠600/100mhz SMD 0603
-
微控制器
+关注
关注
48文章
7489浏览量
151048
发布评论请先 登录
相关推荐
评论