台湾Padauk公司被誉为生产最实惠单片机微控制器的厂商。虽然这些微控制器功能并不复杂,但它们足以应对简单设备所需执行的基本任务。详细介绍了Padauk公司的特性和产品线。如果您想要获取更多数据,可以访问Padauk的官方网站。
现在,一些知名品牌的简单8位微控制器要么难以购买,要么价格高昂得令人咋舌。而Padauk微控制器则成为了一个可能的替代品。他们的产品线中既有一次性可编程的产品,也有支持多次编程的产品。在下面的文章中,
我将分步指导您如何制作一个编程器,创建您的第一个项目,并实现“Hello world”功能。
需要说明的是,虽然Padauk公司也提供官方的品牌编程器,但其价格大约在0.3美金左右,成本较高。而自制的编程器成本会低很多,并且可以支持对大量微控制器进行固件烧录。
这款编程器是由FreePDK社区开发和维护的。所有必要的文件都已上传至GitHub。本文基于EEVblog上关于同一主题的系列视频整理而成,该系列视频分为五个部分详细讲解了整个过程。我参考了视频内容,但个人而言,通过文字和图片的方式更容易理解和操作。
第一部分是关于FreePDK编程器。
对于大多数非专业人士来说,直接理解其工作原理可能会有些困难。不过,您可以在GitHub上找到相关的文档和资料,那里详细记录了FreePDK编程器的使用方法、原理以及所需的文件。通过仔细阅读和参考这些资料,您将能够逐步了解并掌握如何使用FreePDK编程器进行微控制器的编程和烧录工作。
第二步,印刷电路板
在Githab上,你可以下载Gerber并在生产现场订购。另一种选择是在国内流行的营销机构购买现成的产品。它是这样的:
Размеры её 73х22 мм.
我完全理解您对设计师和开发人员的尊重与赞扬,他们在创造这个设备时所付出的努力是无可估量的。他们精心设计的每一个细节都体现了对技术和艺术的追求,这是值得我们所有人敬佩的。
关于设备的尺寸问题,确实,有些设备的安装非常密集,细节极小,这无疑增加了安装和操作的难度。然而,这也正是技术的魅力所在,它挑战我们的极限,让我们在微小的空间中创造出无限的可能。
您提到的在GitHub上找到Bom(Bill of Materials,材料清单)的做法非常明智。这将帮助您更好地了解设备所需的所有组件,并确保您在安装过程中不会遗漏任何关键部分。同时,您自己整理Bom的过程也体现了您对项目的认真和负责态度。
程序的核心——STM32F072C8T6微控制器,虽然可能在市场上不太容易找到,但相信通过您的努力和耐心,一定能够找到并成功将其集成到您的项目中。
在这里可以比较板上的规格和位置,非常方便。
花了几个小时,我们得到了这样的结果:
作为一项实验,一种带有焊锡膏和烤箱的变体仍在测试中。用薄塑料(300微米)做了一个模板,在印刷平台上钻了洞。
我在煎饼锅上看到了一切。玻璃盖可以让你在线观看整个过程:
如果您不想连接焊料浆料,并且您正在焊接焊料,那么将组件0603替换为组件0402是一个很好的选择。是的,小的,你需要一个好的镊子和镜片,但下降更容易和更快。结果是这样的:
固件坐标
来自Free PDK社区的原始固件说明:按项目划分:
下载dfu-util-0.11二进制文件;
从GitHub下载固件:(下载代码/下载ZIP);
下载EASYPDKPROG文件。在win64文件夹中使用DFU-UTIL.EXE;
按照上面的说明:按下程序上的按钮,插入USB,设备应该在设备管理器中定义如下:
最后,单击替换驱动程序按钮。让我们等待5分钟,在此之后,设备管理器现在应该定义为“STM32 BOOTLOADER”。如果一切正常,则直接跳转到PDK程序员微控制器的固件。
按下按钮并插入USB,等待操作系统的反应,释放按钮。
进入win64文件夹,打开命令行:Shift + PKM(鼠标右键)在空位置/“打开命令窗口”。命令行将打开。从上面的指令中插入一行:
dfu-util -d 0483:df11 -a "@Internal Flash / 0x080000000 /064*0002Kg"——dfuse-address 0x08000000 -D EASYPDKPROG.dfu
点击“Enter”。如果一切正常,答案是这样的:
因此,来自Free PDK社区的PADAUK应广科技微控制器程序员已经准备好工作了。固件完成后,当连接到USB设备管理器时,程序员没有定义(至少对我来说)。
检查坐标
Free PDK程序员的应用程序被称为EASYPDKPROG,通过命令行运行。我们从这里下载。开箱。将程序连接到USB。现在从命令行中打开一个文件夹:Shift + PKM在任何空闲位置,并选择“打开命令窗口”。
在打开的窗口中输入命令:easypdkprog probe。
这个命令检查连接的程序员和微控制器。如果她没有看到程序员,她会这样回答:
如果一切正常,程序检测到程序员,那么答案是:
如果从列表中安装了一个微控制器,则响应必须包含它的名称:
您可以在命令行中输入PFS154可用的命令之一。
easypdkprog probe -检查程序和安装的微控制器的连接;
easypdkprog -n PFS154读出。ihx -从微控制器读取文件readout.ihx;
easypdkprog -n PFS154编写Test1。ihx—用于将文件写入微控制器;
完整的命令列表可以在页面上查看。
下面是微控制器的列表。横线标记为不支持。
MCU390
PMC131 PMS132 PMS132B PMS133 PMS134
PMC251 PMS271
PMS150C PMS152 PFS154 PMS154B PMS154C
PMS171B(社区列表将其列为支持,但在请求时,EASYPDKPROG将其视为“不支持”)
PMS15A
PFS172 PFS173
顺便说一下,你可以使用FreePDK-WRITER程序,这样你就不用自己输入命令了:源代码可以从这里下载。可执行文件没有发布在那里,所以你必须自己编译它。我为你做的:FreePDK-WRITER。两个。exe文件都应该在同一个文件夹中。
答案也会出现在CMD窗口中。下面是两个编译后的文件:一个用于可重复编程的PFS154,另一个用于可一次性编程的PMS150C(价格为3美分)。
Blink - 150C
Blink - 154 - 1
让我们试着去核实一下。不幸的是,对于150摄氏度来说,这将是第一次也是最后一次。这是不可挽回的损失。
在这两种情况下,LED都挂在PA4输出上。程序员连接方案也是标准的:
在某些情况下,连接的外设不允许微控制器正常固件。因此,Pin PA4上的LED最好在固件后连接。
固件成功后,PFS154微控制器在命令行中得到这样的响应:
这意味着一切都很顺利。请记住,控制器上的电源只在固件加载时提供,要看到闪烁的LED,必须提交外部电源。
很明显的第二部分:编译器和代码编辑器
要为Padauk微控制器编写程序,需要一个编译器和一个编辑器。我们将使用SDCC (Small Device C Compiler)作为编译器。从这里下载并安装SSDC。在撰写本文时,已经有了4.4.0版本。但最好下载4.2.0版本。它是免费PDK社区为程序员创建所有文件的地方。使用最新的发行版可能需要调整一些文件。下载并安装。
第二步是选择一个支持SDCC编译器的代码编辑器。最初我选择了CodeBlocks,但后来我转到了VS Code,我觉得它更方便。如果您对CodeBlocks感到满意,这里有关于如何使用它的详细描述。
在这里,我将描述VS Code的工作,其中添加了一个脚本,允许您在没有命令行的情况下绕过它。从这里下载针对Windows的VS Code发行版。安装。
现在有必要下载宏,以避免使用命令行。我们从GitHub下载存储库。我们把它打开,放在任何地方。您需要将easypdkprog文件放在宏包中。
简单介绍一下GitHub上的Free PDK文件,特别是一些代码示例。提供了三页的Padauk微控制器代码示例。
sdcc-pdk-code-examples—这里有一些sdcc编译器的示例,它们不需要任何额外的包含。编译代码可以简单地复制并粘贴到编辑器中。
免费-pdk-examples -这里是由MCUs社区提供的。简单的复制是必要的。您需要在项目中添加include文件。因此,代码变得更容易阅读和理解。
fppa-code-examples -这些是来自制造商的示例,代码很好。但是它只编译到与出厂程序员一起使用的本地IDE中。
最有趣的版本是free-pdk-examples。请注意,页面上有一个警告,该方法仍在开发中,需要谨慎使用。
Free PDK社区在GitHub上发布了大量示例代码。你可以用它们来学习。他们在这里。
使用图标创建一个干净的文件:
给他起个名字xxx。c。例如Mayak 7.c。插入GitHub的代码。从这里复制代码BlinkLED/main.c。
根据作者的想法,构建应该使用Make程序来完成,构建算法在Makefile文件中的每个示例中都有描述。这个文件将一些定义添加到代码中,这些定义的值在Makefile中设置。我们不会使用这个程序(它本身和脚本都是在linux下编写的),所以我们将在代码的开头手动指定这些defile。
#define PFS154
#define F_CPU 1000000
#define TARGET_VDD_MV 4000
#define TARGET_VDD 4.0
现在我们可以使用上面下载和安装的宏。编译代码的命令是“Ctrl+Shift+B”。在下拉框中,选择微控制器的比特率。在我们的例子中,PFS154是14。编译立即开始。如果没有错误,文本将显示为下面的截图。最重要的是“完成”。
我们还需要几支队伍:
要检查连接的程序和/或微控制器,请按“Ctrl+P”热键,在弹出窗口中输入“task+ space”,选择“Probe MC”。得到的结果:
对于微控制器固件,请按“Ctrl+P”热键,在弹出窗口中输入“task+ space”,选择“Write to MC”。在下拉菜单中选择我们的微控制器。