在生产中对 MCU 进行编程有哪些选择?

电器工程 微控制器 程序员
2022-01-27 20:26:21

对于我的超级 OSD 项目,我需要对大批量的 MCU 进行编程,大概每小时 10-15 个板。我可以使用我信赖的 PICkit 2 对它们进行编程(每块板上有两个 - 可能是三个),但加载每个文件(最大 128KB 和 256KB)、点击程序并为每个文件重复会非常费力MCU,可能不会让我达到我的目标速度。此外,MCU 是表面贴装的,所以我必须在板上有接头才能实现这一点。理想情况下,我想删除这些标题,但这可能不是一个选项。

那么对于 MCU 的大规模编程有哪些选择 - 有更快的方法吗?我的预算不到 100 美元,因此 Microchip 的 MPLAB PM3 价格为 895 美元,虽然不错,但不是一个选择。

我正在处理各种类型的 PIC 微控制器。有 PIC16F887、PIC24FJ64GA002 和 dsPIC33FJ128GP802。不过,我也对 AT32 和 STM32 处理器的选项感兴趣,因为我可能也在使用它们。

请注意,我目前不考虑从预先编程的制造商处订购芯片,因为在芯片到达时软件可能会发生变化,并且涉及额外的成本。

4个回答

我们为生产所做的是首先将程序加载到测试电路板的 PIC 中(使用一个小型测试板,使用几个比较器独立验证 3.3v 电源轨是否符合规格,然后我们在PIC 检查其他所有内容。我们有足够的引脚剩余来允许这样做(它需要一些额外的电阻器来充当超过 3v 的电压的分压器)。

测试通过后,真正的生产代码被刷入微机。运行一些额外的测试,PCB 已准备好组装到外壳中。

这一切都是通过 PC 上的程序完成的,只需要操作员连接电路板,单击一个按钮,然后等待结果 PASS/FAIL。记录所有测试结果(包括 ADC 读数)。整个过程(包括通过 ICD 3 对 PIC 进行编程)由 PC 程序控制,该程序运行批处理脚本来进行实际编程。与 PIC 的通信以控制测试是通过其中一个 UART 完成的,其引脚被引出到测试板(因此,除了编程所需的引脚外,我们还至少有 TX/RX)。

我们在合同制造商处设置了几个这样的工作站。

顺便说一句,ICD 3比 ICD 2快得多(USB 2.0 与 1.1)。

获取pickit 3并将其置于程序员模式。

您告诉它您希望程序员进入模式并加载您的ROM,然后您不再需要USB端口来供电(是的,您仍然需要它来供电)。

当您插入设备时,您点击程序按钮,它会加载程序并让您知道何时完成,每块板只需不到 20 秒。费用不超过50美元

PICkit 2 不是生产编程器。如果您想确保设备被正确编程,您确实需要获得 ICD 3,它被归类为生产编程器。或者,如果您已完成代码,您可以从 Microchip 或经销商处购买预编程的芯片。

微控制器编程通常是较大功能测试过程的一小部分。你的测试计划的其余部分是什么样的?

对于任何重要的产品,您都需要设计另一块电路板来测试正在生产的电路板。通常,测试板将具有计算机接口,并将目标连接到具有 RS-232 或 GPIB 功能的测试设备。然后计算机可以运行脚本,对电路板进行编程,然后运行任何合适的测试。

让这个测试板运行以进行固件开发也很有帮助。实施足够的测试以捕获固件中的回归。

您的测试板的起点可能是 PICkit 2 电路。固件是开源的,它会处理编程部分,它有一个方便的引导加载程序,你可以扩展它来做你的功能测试需要的任何其他事情。

我喜欢用 Python 编写生产测试脚本,但我认为行业标准是 Labview。