【技术专辑】自定义微控制器设计:硬件,工具和工具链

这是将定制微控制器设计变为现实的分步指南的第1部分。

 

相关信息:

 

为您的微控制器选择合适的振荡器

 

采用EFM8微控制器的定制PCB设计

 

大多数电子产品爱好者最终都达到了这样的程度,即设计包含微控制器的定制PCB将是有益的。这条路径远离评估板提供的便利,经过验证的功能和开发支持。当然,这些功能很有用,但它们也阻止我们获得定制设计带来的更深入的洞察力。使用自定义板,您必须自己设计这些功能。此外,您必须测试它们并确认一切都按预期工作。

 

微控制器硬件 - 我们需要什么?

 

定制微控制器设计不需要太多额外的电路来实现。它所需要的只是以下内容:

 

•某种电源

 

•用于连接闪存或调试工具的硬件接口

 

•一个钟

 

•复位电路

 

【技术专辑】自定义微控制器设计:硬件,工具和工具链

 

微控制器的最小设置

 

电源

 

与每个电路一样,我们需要可靠的电源。您必须创建一个接受预期输入电压范围的电源电路,并提供微控制器所需的所有电源电压。

 

请不要忘记为每个V CC引脚添加一个去耦(也称为旁路)电容 - 这适用于微控制器以及电路板上的所有其他集成电路。典型值为100 nF,但请务必检查器件的数据表,以防它提供特定的去耦建议。

 

时钟

 

时钟是微控制器的心跳。没有心跳,微控制器就无法做任何事情。它根本不会运行。

 

许多微控制器都包含内部时钟源,如果您不需要高度稳定或高精度的时钟频率,这通常是最佳选择。当需要高稳定性或高精度时,常见的选择是基于晶体的振荡器。

 

仔细选择正确的时钟源时,请考虑以下因素:

 

•所需的频率

 

•部件之间的频率容差

 

•抖动,即振荡信号周期中的周期间变化

 

•频率随温度的稳定性

 

•包

 

•负载电容(使用晶体时通常需要包括外部负载电容)

 

此外,您还必须检查有关默认时钟配置的微控制器数据表。如果没有可接受的时钟用于初始配置过程,则微控制器无法启动。

 

重启

 

微控制器有一个复位引脚,你需要注意连接到该引脚的电路。这可能听起来很奇怪 - 也许你在想,“这只是一个上拉或下拉电阻!”

 

但它并不总是那么简单。复位引脚允许您重启微控制器,无需重启电源或连接调试工具。复位引脚可以通过板上的按钮或其他设备驱动,也可以通过电缆连接到某种外部控制器。无论如何,您需要确保驱动复位引脚的电路提供适当的复位信号(通常为低电平有效,如果您使用按钮,请注意开关弹跳)。

 

另一个问题是虚假的重置。如果复位引脚悬空或上拉电阻非常大(这会使复位线对噪声更敏感),就会发生这种情况。即使您的上拉电阻不是太大,您仍然需要考虑由附近走线或高强度EMI(电磁干扰)源引起的噪声耦合引起的杂散复位的可能性。

 

Flash或调试工具的硬件接口

 

您需要在自定义设计上使用物理连接器才能连接闪存/调试硬件。这通常可以是连接闪存/调试硬件的基本引脚头。

 

您需要知道的唯一事情是接口标准(JTAG,SWD,ISP,DebugWire等)以及程序员硬件的正确引脚排列。实际上,您可能需要对实际调试接口知之甚少 - 通常最好的方法是简单地复制相关评估板原理图中显示的微控制器到调试头连接。

 

在这一点上,我们已经涵盖了微控制器设计的基本部分。如果您拥有所有这些电路,您应该能够将程序加载到您的微控制器中,以便它可以开始做某事而不是什么。

 

【技术专辑】自定义微控制器设计:硬件,工具和工具链

用于系统内编程(ISP)接头的10引脚和6引脚引脚分布示例。图片由osiixy提供 

 

工具和工具链 - 我们需要什么?

 

绝大多数现代评估板(例如Arduinos)都配有完全集成的USB接口和预装的引导加载程序。只需将电路板插入USB端口,为您的操作系统安装适当的驱动程序,也可以选择COM端口,然后按IDE中的编程按钮。就这么简单。

 

您可能需要更多的外部硬件和更多专业知识来启动和运行定制微控制器设计。

 

因此,我们假设以下内容:您的微控制器内存中没有引导加载程序,而您的自定义PCB不包含闪存/调试硬件。

 

闪存/调试接口硬件(包括驱动程序)

 

有很多闪存/调试硬件工具的供应商,从非常便宜到非常昂贵。

 

请记住,并非所有闪存/调试硬件都具有适用于所有操作系统的驱动程序。此外,并非所有驱动程序都易于安装。花点时间确保您购买适合您的微控制器设计的设备。

 

【技术专辑】自定义微控制器设计:硬件,工具和工具链

闪存/调试接口设备的示例。图片由Segger提供。

 

初始固件测试

 

对于微控制器的初始测试,您需要一些基本固件。经典的闪烁LED程序很好,或者您可以提供任何其他简单的功能,以明确确认您的微控制器实际上正在执行固件。如果您的电路板没有LED或任何其他指示灯,您可以在其中一个引脚上生成方波,并使用示波器确认信号存在。

 

【技术专辑】自定义微控制器设计:硬件,工具和工具链

集成开发环境(IDE)软件允许您创建程序并将其加载到微控制器的闪存中。图片由ARM公司提供。

 

编程工具

 

您需要一个编程软件工具才能将程序文件加载到微控制器的闪存中。通常,您将使用集成开发环境(IDE)中的编程功能来编写固件。

 

【技术专辑】自定义微控制器设计:硬件,工具和工具链

Atmel Studio中包含的编程工具。图片由Atmel提供。

 

使用您的自定义微控制器设计

 

所以,让我们说今天你收到了你最喜欢的PCB制造商的第一个定制设计。让我们带来这个宝贝!

 

检查空PCB

 

首先,检查空PCB,看看是否有任何明显错误。这可能听起来很愚蠢,但我已经看到完全镜像的PCB和带有移位焊接掩模的PCB。您需要留意制造商而非设计师造成的问题。通常情况下,PCB会很好 - 如果您使用信誉良好的制造商,那么电路板极不可能出现任何严重问题。然而,你们都知道墨菲定律。

 

检查明显问题后,打开CAD软件并花几分钟时间将实际PCB与布局文件进行比较。如果您发现PCB上的某些错误并非您的错,请不要犹豫,向制造商发送投诉。现在最好找到任何缺陷,而不是在将所有元件焊接到电路板上之后。

 

简短和开放

 

大多数PCB制造商可以进行电气测试(也称为电子测试),以确认实际PCB中的所有连接与CAD数据中的连接一致。这甚至可以包含在标准价格中。如果您没有对电路板进行电子测试(或者您对电子测试的质量有疑问),您可以假设电路板正常工作或使用万用表自行检查连接。

 

下一步是什么?

 

是时候启动烙铁并收集定制微控制器设计所需的所有部件!

 

在接下来的文章,我会给你一些一步一步的关于如何安装,焊接,并测试PCB建议,我们还将讨论如何将固件加载到微控制器的闪存。

  • 【技术专辑】自定义微控制器设计:硬件,工具和工具链已关闭评论
    A+
发布日期:2019年03月04日  所属分类:参考设计