雷竞技注册
技术文章

定制微控制器设计:组装,测量,编程

2016年12月02日通过卡尔斯顿人粉红

这是将您的定制微控制器设计带入生活的一步一步的指导的第2部分。

这是将您的定制微控制器设计带入生活的一步一步的指导的第2部分。我们将讨论组装、初始测量和编程。

相关信息:

逐件:组装,焊接和测试

首先在你的办公桌上准备所有你需要的组装和焊接。记住,你不希望组装和焊接所有的部分到你的第一个原型PCB,然后做所有的测试。最好只是焊接电路的一个功能部分,例如电源,然后确认这个部分做了它应该做的事情。然后焊接下一个功能分段并进行测试等。

焊接和测试的这一逐步方法将有助于您识别出现的任何问题的来源。此外,您可能能够在对另一个组件造成损坏之前找到设计错误(例如,最好发现您的电源会产生5 V而不是3.3 V之前你把那个电压加到你的微控制器上)。

焊接电源电路并进行测试

一般来说,你要焊接的第一部分是电源电路。焊接电源电路后,用适当的pcb清洗剂(如异丙醇)清洗,并检查短路和断路情况。(在这一点上,我们假设PCB没有制造缺陷,所以在这种情况下,短路和开路是焊接缺陷。)

取您实验室的电源,设置适当的电流限制,并为部分组装的PCB供电。现在用万用表测量电路产生的所有输出电压,要特别小心,你可以确认在所有微控制器的供应管脚上存在正确的电压。然后在你继续之前别忘了关掉电源。

焊接微控制器电路

电源电路工作完成后,就可以组装单片机电路了。

首先,焊接微控制器和用于过滤电源电压的无源元件(去耦电容总是需要,在某些情况下铁氧体磁珠是有益的)。确保你的微控制器以正确的方向放置。您现在可以使用万用表检查短路和打开,但如果您想要测试微控制器的功能,您需要焊接时钟源(除非微控制器有内部振荡器),复位电路,和flash/调试硬件所需的任何组件。

当你有一切焊接,清洁它与您喜欢的清洁剂。做目视检查(显微镜或放大镜在这里很有帮助,特别是细距元件),并使用万用表检查任何你担心的连接。如下图所示,您可以使用万用表的电阻测量功能来评估焊点连接。

要特别小心所有的电源连接(不要忘记调试头可能有电源插头)。这里的开路可能会使你的微控制器完全失效,而短路可能会导致损坏。

在这一点上,你的PCB有最小的活动电路和微控制器没有固件,所以不应该有一个大的电流吸引时,你的电源板。如果你还没有调整输出电压和工作台电源的电流限制,然后打开电源,看看会发生什么。如果,与预期相反,台架电源的显示显示高电流,再次关闭它。不要惊慌(说起来容易做起来难);拿出你的万用表和放大镜,试着找出问题所在。

检查复位引脚处的电压

为了确保可靠的运行,复位引脚必须有一个稳定、干净的电压,该电压在微控制器数据表中的逻辑高或逻辑低规格范围内。如果复位引脚是有源低,你需要一个逻辑高电压使微控制器;如果是高电平,则需要逻辑低电压。

如果微控制器在复位引脚上有一个内部上拉(或下拉)电阻,你不需要硬件复位功能,你可能没有额外的电路连接到复位引脚。在这种情况下,不需要检查复位引脚处的电压。但如果你的设计包括一个复位电路,测量复位引脚的电压,以确保它是可接受的。

探索时钟

如果您正在使用内部生成的时钟信号(尽管在某些时候您可能想要测量内部时钟以确定它的确切频率),则不需要执行此步骤。对于外部时钟,使用示波器查看信号是个好主意。

首先,获得时钟信号的准确表示并不总是容易的。当振荡器是直接连接到微控制器的晶体时,尤其如此——探头引入阻抗,会导致振荡频率偏移,在极端情况下,当探头应用时,电路会停止振荡。当使用晶体时,一个更好的精确测量频率的方法是启用微控制器的时钟输出功能,然后探测数字信号(当然,你不能启用时钟输出,直到你能够加载一个程序到flash中)。

如果振荡器信号是缓冲的,如晶体振荡器模块或硅振荡器,您可以探测振荡器设备的输出而不影响频率。

不过,即使是用晶体,你也应该能够毫不费力地获得相当精确的测量结果。确保使用10:1探头;与1:1探针相关联的额外电容可能会干扰电路。

当你探测一个晶体引脚时,你应该看到一个频率近似等于晶体指定频率的正弦信号,如下面的示波器捕获所示。

探测时钟,从石英晶体测量8兆赫信号

将flash/调试适配器连接到自定义设计

现在我们可以继续连接Flash / Debug硬件。在继续之前,请务必断开电源​​。

flash/调试适配器将以某种方式在适配器和PCB上的连接器之间建立连接。通常会有一根电缆,但也许你会有单独的电线。此外,适配器上可能有多个连接器。确认您使用的连接器符合编程接口标准,并再次检查PCB上的连接是否与flash/调试连接器上的引脚匹配。然而,最终,反复检查必须结束;此时,您只需插入调试电缆,启动PCB,并希望不会烧坏。

带有两个连接器选项的flash/调试适配器的示例。图片由爱特梅尔公司

Flash / Debug适配器通常具有状态LED,为您提供有关内部发生的内容的某种信息。,设备是通电但空闲的,编程在过程中,微控制器正在调试模式下执行代码。以下图像为您提供了闪存/调试状态LED的示例。

JTAG ICE(在线模拟器)设备上的状态led。图片由爱特梅尔公司

在你的PC和你的定制微控制器设计之间建立连接

打开编程工具或IDE(集成开发环境)并配置flash/调试适配器。然后,尝试建立与微控制器的连接。编程工具或IDE会告诉你它是否工作。

如果它不工作,再次检查您的连接。如果连接正确,你也找不到任何其他明显的问题,不要绝望。查看关于如何针对特定的连接环境正确配置软件的信息。另外,如果你有一个微控制器的评估板,它是很有帮助的,与你的定制PCB相同或非常相似。如果您不能连接到评估板,那么问题可能是在调试适配器或PC软件,而不是您的PCB。

但让我们假设一切都很顺利,你可以连接到你的微控制器没有问题。现在您可以将您自己的固件加载到微控制器中,并修改硬件配置。但是,要小心,并确保您熟悉微控制器的低级功能(如数据表中所解释的)。如果你修改了错误的配置位或者下载了严重不正常的代码,事情很快就会出错。在最坏的情况下,你可以把自己锁在微控制器之外。

配置时钟

最重要的配置选项之一是时钟。微控制器的默认时钟配置可能不是你想要的。如果你在使用8位接口(PDF),例如,它将被配置为默认使用1 MHz内部RC(电阻-电容)振荡器。如果需要不同的频率或不同的时钟源,需要修改硬件配置。这可以通过将必要的寄存器修改合并到您的固件中来实现,现在IDE可能会包含一个工具,它极大地简化了生成硬件配置代码的过程。

正如上一节所提到的,在进行更改时要小心!例如,如果你(不小心)告诉它使用一个不存在的外部时钟信号,你的微控制器就会不高兴。

下载您的第一个程序

我们已经走了很长一段路,现在是时候将程序加载到微控制器的闪存中了。从一些简单的东西开始,如果可能的话加入一些基本的视觉反馈(例如,闪烁的LED)。如果你没有LED,只需切换一个输出引脚,并用示波器检查它。此时您所要做的就是确认代码已成功下载并执行。

在下载测试程序之前,查找与“删除”、“程序”和“验证”对应的选项。选择这些选项意味着当你点击下载按钮时会发生三件事:

  1. 微控制器的程序存储器将被擦除。
  2. 对应于代码对象的对象文件将被传送到微控制器并存储在非易失性程序存储器中。
  3. PC软件将读回程序内存中的数据,以验证在传输过程中或在将目标文件写入闪存过程中没有引入错误。

如果下载过程成功,执行程序。这可以通过IDE的调试功能或通过重新设置微控制器来实现。(执行复位最可靠的方法是关闭PC和微控制器之间的连接,删除flash/调试电缆,然后电源循环板。)如果您的测试程序工作正常,恭喜您!您的定制pcb -或至少pcb的微控制器部分是正常工作的。

组装其余的设计

此时,关闭flash/调试连接,拆除电缆,并关闭PCB电源。现在您可以焊接其余部分,测试您的其他电路,并逐步实现所有必要的固件功能。

结论

设计您的第一个定制的基于微控制器的PCB是具有挑战性的。不过,这是值得的。

记住每件事都要一步一步来,当事情没有像预期的那样开始时不要气馁。对于在组装和测试阶段出现的许多问题,您可以修复或提出解决方案。如果你真的搞砸了什么,用第一版的纸板做杯垫或镇纸,然后回到你的CAD软件。这是一个你不会再犯的错误,也许你已经注意到一些其他的改进可以整合到第二个版本中。

但是,如果您认真对待原理图和布局工作,并仔细检查设计的每个关键方面,您可能会得到一个很棒的定制PCB,它可以满足您的需要。