定制微控制器设计:组装、测量、编程
【导读】首先在您的办公桌上准备组装和焊接所需的一切。请记住,您不想将所有部件组装并焊接到您的个原型 PCB 上,然后再进行所有测试。只焊接电路的一个功能部分(例如电源),然后确认该部分完成了它应该做的事情。然后焊接下一个功能小节并进行测试,依此类推。
逐件组装、焊接和测试
首先在您的办公桌上准备组装和焊接所需的一切。请记住,您不想将所有部件组装并焊接到您的个原型 PCB 上,然后再进行所有测试。只焊接电路的一个功能部分(例如电源),然后确认该部分完成了它应该做的事情。然后焊接下一个功能小节并进行测试,依此类推。
这种循序渐进的焊接和测试方法将帮助您确定出现的任何问题的根源。此外,您可能能够在设计错误导致另一个组件损坏之前发现它(例如,在将电压施加到微控制器之前发现您的电源产生的是 5 V 而不是 3.3 V)。
焊接电源电路并测试
通常,您应该焊接的个部分是电源电路。焊接电源电路后,用适当的PCB清洁剂(如异丙醇)清洁并检查是否短路和断路。(此时我们假设 PCB 没有制造缺陷,因此在这种情况下,短路和开路都是焊接缺陷。)
使用实验室电源,设置适当的电流限制,并为部分组装的 PCB 供电。现在用万用表测量电路产生的所有输出电压,并且要格外小心,您可以确认微控制器的所有电源引脚上都存在正确的电压。然后在继续之前不要忘记关闭电源。
焊接微控制器电路
现在电源电路可以工作了,我们可以组装微控制器电路了。
首先,焊接微控制器和用于过滤电源电压的无源元件(去耦电容器总是需要的,在某些情况下铁氧体磁珠是有益的)。确保您的微控制器以正确的方向放置。您现在可以使用万用表检查短路和开路,但如果您想测试微控制器的功能,您需要焊接时钟源(除非微控制器有内部振荡器)、复位电路和闪光灯所需的任何组件/调试硬件。
当你把所有东西都焊接好后,用你喜欢的清洁剂把它清理干净。进行目视检查(显微镜或放大镜在这里很有帮助,尤其是对于细间距组件),并使用万用表检查您担心的任何连接。如下图所示,您可以使用万用表的电阻测量功能来评估您的焊接连接。
对所有电源连接要特别小心(不要忘记调试头可能有电源引脚)。这里的开路可能会使您的微控制器完全无法工作,而短路可能会导致损坏。
此时您的 PCB 具有少的有源电路并且微控制器没有固件,因此当您为电路板通电时不应有大电流消耗。如果您还没有这样做,请调整您的工作台电源的输出电压和电流限制,然后打开电源,看看会发生什么。如果与预期相反,工作台电源的显示屏显示高电流,请再次将其关闭。不要惊慌(说起来容易做起来难);拿出你的万用表和放大镜,试着找出问题所在。
检查复位引脚上的电压
为确保可靠运行,复位引脚必须具有稳定、干净的电压,该电压完全符合微控制器数据表中的逻辑高电平或逻辑低电平规格。如果复位引脚为低电平有效,则需要一个逻辑高电压来启用微控制器;如果它是高电平有效,则需要一个逻辑低电压。
如果微控制器在复位引脚上有一个内部上拉(或下拉)电阻,并且您不需要硬件复位功能,则可能没有额外的电路连接到复位引脚。在这种情况下,无需检查复位引脚上的电压。但是,如果您的设计包括复位电路,请测量复位引脚上的电压以确保它可以接受。
探测时钟
如果您使用的是内部生成的时钟信号,则无需执行此步骤(尽管在某些时候您可能需要测量内部时钟以确定其确切频率)。对于外部时钟,使用示波器查看信号。
首先,获得时钟信号的准确表示并不总是那么容易。当振荡器是直接连接到微控制器的晶体时尤其如此——探头引入阻抗会导致振荡频率发生偏移,在极端情况下,电路会在应用探头时停止振荡。在使用晶体时测量频率的更好方法是启用微控制器的时钟输出功能,然后探测数字信号(当然,在您能够将程序加载到闪存中之前,您不能启用时钟输出)。
如果振荡器信号被缓冲,如晶体振荡器模块或硅振荡器,您可以在不影响频率的情况下探测振荡器设备的输出。
不过,即使使用晶体,您也应该能够毫不费力地获得相当准确的测量结果。确保您使用的是 10:1 探头;与 1:1 探头相关的附加电容可能会干扰电路。
当您探测其中一个晶体引脚时,您应该看到一个正弦信号,其频率大约等于晶体的指定频率,如以下示波器捕获所示。
探测时钟——测量来自石英晶体的 8 MHz 信号
将闪存/调试适配器连接到您的定制设计
现在我们可以继续连接闪存/调试硬件。请确保在继续之前断开电源。
闪存/调试适配器将通过某种方式在适配器和 PCB 上的连接器之间建立连接。通常会有一根电缆,但也许您只有一根单独的电线。此外,适配器上可能有多个连接器。确认您使用的连接器符合您的编程接口标准,并仔细检查 PCB 上的连接是否与闪存/调试连接器上的引出线相匹配。不过,终必须结束双重检查;此时,您只需插入调试电缆,给 PCB 加电,希望不会烧毁任何东西。
具有两个连接器选项的闪存/调试适配器示例。图片由Atmel提供。
闪存/调试适配器通常会有状态 LED,为您提供有关内部情况的某种信息——例如,设备已通电但处于空闲状态,编程正在进行中,微控制器正在调试模式下执行代码。下图为您提供了闪烁/调试状态 LED 的示例。
JTAG ICE(在线仿真器)设备上的状态 LED。图片由Atmel提供。
在您的 PC 和您的定制微控制器设计之间建立连接
打开编程工具或 IDE(集成开发环境)并配置您的闪存/调试适配器。然后,尝试建立与微控制器的连接。编程工具或 IDE 会告诉您它是否有效。
如果它不起作用,请再次检查您的连接。如果连接看起来正确并且您找不到任何其他明显的问题,请不要失望。四处寻找有关如何为您的特定连接环境正确配置软件的信息。此外,如果您有一个与定制 PCB 上的评估板相同或非常相似的微控制器评估板,这将很有帮助。如果您无法连接到评估板,则问题可能出在调试适配器或 PC 软件上,而不是您的 PCB。
但让我们假设一切顺利,您可以毫无问题地连接到您的微控制器。现在您可以将自己的固件加载到微控制器中并修改硬件配置。不过要小心,并确保您熟悉微控制器的低级功能(如数据表中所述)。如果您摆弄错误的配置位或严重功能失调的代码,事情很快就会出错。在坏的情况下,您可以将自己锁定在微控制器之外。
配置时钟
重要的配置选项之一是时钟。微控制器的默认时钟配置可能不是您想要的。例如,如果您使用的是8 位 ATmega (PDF),它将默认配置为使用 1 MHz 内部 RC(电阻-电容)振荡器。如果你想要不同的频率或不同的时钟源,你需要修改硬件配置设置。这可以通过将必要的寄存器修改合并到您的固件中来完成,现在 IDE 可能会包含一个工具,它可以大大简化生成硬件配置代码的过程。
如前一节所述,进行更改时要小心!例如,如果您(不小心)告诉它使用不存在的外部时钟信号,您的微控制器将不会高兴。
你的个程序
我们已经走了很长一段路,现在是时候将程序加载到微控制器的闪存中了。从简单的东西开始,如果可能的话,加入一些基本的视觉反馈(例如,闪烁的 LED)。如果你没有 LED,只需切换输出引脚并用示波器检查它。此时您要做的就是确认代码已成功和执行。
在测试程序之前,查找与“擦除”、“编程”和“验证”相对应的选项。选择这些选项意味着当您单击按钮时会发生三件事:
微控制器的程序存储器将被擦除。
与您的代码对应的目标文件将被传输到微控制器并存储在非易失性程序存储器中。
PC 软件将读回程序存储器中的数据,以验证在传输过程中或将目标文件写入闪存的过程中没有引入错误。
如果过程成功,则执行该程序。这可以通过 IDE 的调试功能或通过重置微控制器来完成。(执行重置可靠的方法是关闭 PC 和微控制器之间的连接,移除闪存/调试电缆,然后重新启动电路板。)如果您的测试程序有效,恭喜!您的定制 PCB(或至少 PCB 的微控制器部分)工作正常。
组装您设计的其余部分
此时,关闭闪存/调试连接,拔下电缆,然后关闭 PCB。现在您可以焊接其余部分,测试您的其他电路,并逐步实现所有必要的固件功能。
结论
设计您的个基于微控制器的定制 PCB 可能具有挑战性。不过,这是值得的。
记住一步一步来做每件事,当事情初没有按预期进行时,不要气馁。对于组装和测试阶段出现的许多问题,您可以修复或想出解决方法。如果您真的搞砸了某些事情,请将电路板的个版本用作杯垫或镇纸,然后返回到您的 CAD 软件。这是一个你不会犯两次的错误,也许你已经注意到可以合并到第二个版本中的一些其他改进。
但是,如果您仔细处理原理图和布局工作,并仔细检查设计的每个关键方面,那么您很可能会得到一个很棒的定制 PCB,它可以满足您的需要。
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理。
推荐阅读:
短沟道 MOS 晶体管中的漏电流成分
SEMI-e 第五届深圳国际半导体展 | 圆满落幕,再启“芯”程
充分理解电感式升压原理
可能毁掉您设计的 PCB 布局样式错误
什么是传输门(模拟开关)