自制Arduino 风格开发板 - HK32F030MF4P6 紧凑开发板

2023-11-01 23:59

本文主要是介绍自制Arduino 风格开发板 - HK32F030MF4P6 紧凑开发板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模仿Arduino Nano 做一个HK32F030M 的紧凑开发板,排针间距和Arduino Nano 相同,整体尺寸略小,适合插在面包板上。兼容HK32F030MF4P6 和0301M,板载CH340N 串口和DS1307 时钟模块。开源工程地址:HK32F030MF4P6 紧凑开发板。

尺寸4.2 X 1.8cm,因为引脚数量更少,本来板子是可以更短一点的,但是没必要。一开始是设计成两层PCB ,工程里有个弃用的两层板,能用,但是感觉地平面惨不忍睹,有些信号线也不得不绕很大一圈,所以之后更新成四层板了,和两层板电路上差别不大,主要更改了几个引脚的顺序和编程接口,然后就是免费打样只能是绿色的。开发板的主要特性:

  1. 7pin 编程接口:把SWD 和串口放在一起,配合一个转接板,可以直接连到带串口功能的dap link 编程器上;
  2. CH340N 串口模块:用串口连接电脑有两种方式,一种是用上面的7pin 编程接口连接到编程器,另一种就是通过CH340N 模块连接到USB。两种方式不可同时使用,USB 接口可选择type-c 或micro-b;
  3. DS1307 时钟模块:HK32F030M 没有RTC 功能,所以外挂一个模块;
  4. 预分配I2C 引脚:HK32F030M 有很灵活的引脚重映射功能,但是太灵活了也烦人,而且板载DS1307 要连接到I2C 总线,所以就预分配了引脚,板载了上拉电阻,省的以后纠结;
  5. 预分配串口引脚:同上,固定了TX 和RX 引脚;
  6. 预分配SPI 引脚:同上,不过SPI 总线上没有连接东西,只是在板子上画了丝印,所以不用预分配的方案也OK;

测试进度:用官方例程测试了板载的LED、编程接口及串口、CH340N 串口,没什么问题,所以供电模块肯定也没问题,DS1307 就默认OK 吧。

HK32F030M 的官方固件库和例程可在这里找:https://bbs.21ic.com/icview-3236132-1-1.html。

在这里插入图片描述
在这里插入图片描述

复位电路

由于0301M 可以复用NRST 为PA0 引脚,所以为了不降低扩展性,复位电路采用了类似51 单片机的上电复位,NRST 上只接了一个上拉电阻,复位通过给单片机断电来实现。

在这里插入图片描述

开发板上电后,PMOS Q1 默认导通,给单片机提供3.3V 供电。当PNP 三极管Q2 基极被拉到低电平,也就是REBOOT 信号有效时,Q1 截止,单片机断电,REBOOT 恢复高电平或高阻态时单片机恢复供电,上电复位。这个电路在连接编程器时可能无法给单片机复位,因为编程器能通过SWD 引脚给单片机供电,加上漏电隔离应该就行了,但是需要至少两个二极管,可能放不下,而且太啰嗦。

7pin 编程接口

在这里插入图片描述

设计成7 个针只是因为就需要这么多,恰好不对称,就当是一种防呆设计~ 如上图,引脚定义从上到下依次是:

SWCLKRST
SWDIO3.3V
TXDGND
RXDNC

其中RST 在这里是连接到上电复位电路的REBOOT,RXD 和TXD 分别连接到单片机的RXD 和TXD,所以编程器的TXD 要连接到这里的RXD 上。把RST 引脚和GND 调换一下或许会更好,因为这样一来去掉串口TXD 、RXD 和RST 后,剩下的四个引脚就是最少所需的编程接口,刚好排成2x2 的正方形,但是既然已经这么画了,就无所谓了吧。

DAP LINK 调试器转接板

就是个10pin 转7pin 的小转接板,用来把某宝上买的DAP LINK 直接连接到这个7 针接口上,省的杜邦线搞半天,实物:

在这里插入图片描述
红框里的是转接板,下面长的是某宝上买的DAP LINK。转接板用2x5pin 弯排母连接到DAP LINK,再用2x4pin 直排母连接到7 针接口,想要防呆功能的话,可以手工把2x4pin 排母多出来的1pin 用胶堵住。上面多出来的两个白色插针是+5V 和GND,7 针接口不连接+5V,想从USB 直接取5V 供电的话,就从这两个插针飞线出去。转接板本身很简单,原理图都不用画,其他的各种link 也可以自制个转接板。

引脚功能 - 板载LED

在这里插入图片描述
参考原理图,预分配的引脚都用短接符标出来了。板子上一共只有两个LED,一个是电源指示灯,另一个连接到PA2 引脚,也是SPI 的SCK 引脚,和Arduino 的习惯一样。VCAP 可以直接用作PD7,不用配置,但在030M 上,PD7 似乎只能用作普通引脚,不能使用复用功能。板子上通过插针引出了NRST,0301M 上可以配置IOMUX 寄存器把NRST 复用为PA0,据说030M 的有些批次也可以。

所以,加上PD7 和PA0,如果不复用SWDIO 和SWCLK,一共只有16 个IO 引脚,说多不多,某宝零售8 毛钱一片的单片机还要什么自行车。

DS1307 时钟模块和I2C

既然说了是开发板而不是核心板,还是应该尽量集成一两个外设才算名副其实,所以除了串口,又加了这个RTC 模块。I2C 的SCL 和SDA 分别分配到了PB4 和PB5,板子上加了4.7K 上拉到3.3V。

在这里插入图片描述

考虑到调试时可能没有5V 电源,所以DS1307 也能用板子上的3.3V 供电,接上肖特基二极管用来在有5V 时自动切换。图上也说了,DS1307 适配的电池是CR2032 之类的锂电池,标准电压3.6V,所以要使用DS1307 的自动充电功能,必须有5V 供电。C15 的目的是短暂维持供电,不一定有用,可以不装或装个普通的0.1uF。图上的RTC-CELL 连接到外置备份电池,板子上有个连接电池的插针,标记为CEL

在这里插入图片描述

CH340N USB 转串口

没什么好说的,只有一个稍微特殊的地方:

在这里插入图片描述
就像图上红字说的,0 欧电阻R4 是预留的,默认不装。HK32F030M 没有自带的bootloader,只能用编程器下载程序,如果有兴趣自己整个USB 下载程序的bootloader,接上R4 就可以用RTS# 信号控制单片机重启复位。CH340N 的TXD 上串了二极管,不会给单片机漏电。

供电

也没什么好说的,和Arduino Nano 差不多。板子上带了1117 和662K,分别提供5V 和3.3V 电压,单片机使用3.3V 供电。外部大于6V 的供电通过VIN 引脚输入给1117,5V 的外部供电就直接连到5V 插针上,内部没有任何保护,直接连到662K,然后生成3.3V 给单片机供电。HK32F0301M 有支持5V 供电的型号,要兼容有点麻烦,3.3V 又不是不能用,所以不管了。

焊盘上的过孔

多说一句,我后来很喜欢在把过孔直接放在焊盘边上,如下图:

在这里插入图片描述

这个板子还好,如果是更密集的板子,不这么做就没地方打过孔了。听说过焊盘上放过孔可能漏锡导致问题,我是纯手工焊接,焊锡膏加热风,所以无所谓。

补充:引脚分配辅助表格

030M 的引脚有很多复用功能,所以整了个Excel 表格用来辅助引脚功能,官方SDK 里也有个IO SELECT 表格,但我这个应该更好用一点:HK32F030MF4P6 引脚分配辅助表格.

这篇关于自制Arduino 风格开发板 - HK32F030MF4P6 紧凑开发板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/326684

相关文章

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N

在 Qt Creator 中,输入 /** 并按下Enter可以自动生成 Doxygen 风格的注释

在 Qt Creator 中,当你输入 /** 时,确实会自动补全标准的 Doxygen 风格注释。这是因为 Qt Creator 支持 Doxygen 以及类似的文档注释风格,并且提供了代码自动补全功能。 以下是如何在 Qt Creator 中使用和显示这些注释标记的步骤: 1. 自动补全 Doxygen 风格注释 在 Qt Creator 中,你可以这样操作: 在你的代码中,将光标放在

一个图形引擎的画面风格是由那些因素(技术)决定的?

可能很多人第一直覺會認為shader決定了視覺風格,但我認為可以從多個方面去考慮。 1. 幾何模型 一個畫面由多個成分組成,最基本的應該是其結構,在圖形學中通常稱為幾何模型。 一些引擎,如Quake/UE,有比較強的Brush建模功能(或應稱作CSG),製作建築比較方便。而CE則有較強的大型地表、植被、水體等功能,做室外自然環境十分出色。而另一些遊戲類型專用的引擎,例

安卓开发板_联发科MTK开发评估套件串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发,USB 串口适配器( USB 转串口 TTL 适配器的简称)对于检查系统启动日志非常有用,特别是在没有图形桌面显示的情况下。 1.选购适配器 常用的许多 USB 转串口的适配器,按芯片来分,有以下几种: CH340PL2303CP2104FT232 一般来说,采用 CH340 芯片的适配器,性能比较稳定,价

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架

论文链接:https://arxiv.org/pdf/2408.16766 项目链接:https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架,以验证这个大规模数据集在风格迁移中的有益效果。引入了内容对齐评分(Content Alignment Score,简称CAS)来评估风格迁移

Midjourney 随机风格 (Style Random),开启奇幻视觉之旅

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话:       Midjourney 最近推出了 "Style Random"(随机风格),这项功能可以让我们使用独特的随机 sref 代码创建图像,从而每次都能获得不同的美感。通过对这些功能的探索和尝试,我发现了一些很棒的风格,我很高兴能与大家分享,这样可以节省大家的时间,不用自己动手测试。在本文中,我将展示十个M

基于人工智能的图像风格迁移系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像风格迁移是一种计算机视觉技术,它可以将一种图像的风格(如梵高的绘画风格)迁移到另一幅图像上,从而生成一幅具有特定艺术风格的图像。基于深度学习的图像风格迁移技术已经广泛应用于艺术创作、图像处理等领域。本文将介绍如何构建一个基于人工智能的图像风格迁移

前端 Vue3 项目开发—— ESLint prettier 配置代码风格

ESLint & prettier 介绍 如果你用的是 pnpm create vue 来创建项目,那么创建项目时就会让你选择是否添加 ESLint 和 prettier 我们在上一篇博客中详细介绍过 ESLint,可以说上一篇博客是这篇博客的先修知识,所以各位小伙伴们请先去看看我的上一篇博客,博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客 如果说 ESLint