无垠的广袤 发表于 2025-5-31 22:42

【AT-START-M412测评】介绍、环境搭建、工程测试

# 【AT-START-M412测评】介绍、环境搭建、工程测试

本文介绍了雅特力 AT32M412 开发板的基本信息,包括开发板资源、主控参数、原理图等,进一步实现开发环境搭建、工程测试等流程。

## 介绍

包括开发板包装、主控参数、开发板资源、原理图等。

### 包装

!(data/attachment/forum/202505/31/223549q97rzwj5z7v77c2h.jpg "package_view.jpg")


### 开发板

AT-START-M412 以 AT32M412CBT7 芯片为主控,外设配置LED灯、按钮、标准 Arduino Uno R3 扩展接口。

!(data/attachment/forum/202505/31/223604rkgd57u8ukd9zn8x.jpg "board_view.jpg")


此开发板自带嵌入式调试/烧录工具AT-Link-EZ,不需接入额外开发工具即可对芯片调试使用。

!(data/attachment/forum/202505/31/223622paihxr2a321q38d4.jpg "3D_AT-START-M412-V1.0.jpg")


#### 特性

- 板载 AT32M412CBT7

- 内核为 ARM Cortex®-M4F 带有 FPU 的 32 位微控制器,内建 128 K 字节的闪存存储器,16 K 字节的 SRAM,LQFP48 封装
- 板载AT-Link接口

- 可用板载AT-Link-EZ来编程和调试。
- AT-Link-EZ若折下,可与一个独立的AT-Link连接来编程和调试
- 多样的供电方式

- 通过 AT-Link-EZ 的 USB 总线
- 外部 5V 电源(E5V)
- 外部 3.3 V 电源
- 4 个 LED 指示灯

- LED1(红)用于3.3 V上电指示
- 3个用户LED灯,LED2(红),LED3(黄),和LED4(绿),用于应用指示
- 用户键和复位健按钮
- 8 MHz HEXT晶振
- 32.768 kHz LEXT晶振
- 丰富的扩展接口,可以快速连接成原型板,并易于功能体验:

- Arduino Uno R3 扩展接口
- LQFP48 I/O 口扩展接口

### 主控

雅特力科技 AT32M412 (M:Motor) 电机专用系列 ARM® Cortex®-M4 微控制器,高达 180MHz 的CPU运算速度,内建单精度浮点运算单元(FPU)与数字信号处理器(DSP),多达128KB闪存(Flash)和16KB SRAM,启动程序代码区 (28KB) 除可作启动加载程序 (Bootloader) 外,也可一次性配置成一般用户程序和数据区,达到 128+28KB 存储器的最大空间使用,另有1KB OTP数据存储空间。

!(data/attachment/forum/202505/31/223634c4vkz0280sg4fevx.jpg "MCU.jpg")


片上集成丰富的外设资源,包含2个USART、1个CAN、2个I²C、2个SPI/I²S、6个16位通用定时器(包括1个用于电机控制的PWM高级定时器)、2个基本定时器、和1个低功耗ERTC,同时还拓展了2个采样率高达2.5Msps的12位18通道高速ADC、2个6位DAC、2个比较器(CMP)和4个运算放大器(OP)(支持PGA模式),多达 46 个快速GPIO端口。片内提供多数外设之间丰富的互连功能,使得 AT32M412 系列产品特别适用于电机驱动应用。

!(data/attachment/forum/202505/31/223650sqyrherxcqvqj3ye.jpg "at32m412_series.jpg")


AT32M412 可运行于工业级温度范围-40~105°C,供电电压2.4V至3.6V。并因应多样的内存使用需求,提供一系列芯片供选用,其系列产品间引脚兼容,便于在不同性能等级的产品应用中提升效能和开发效率。可广泛适用于电动两/三轮车、电摩,洗衣机、冰箱压缩机,伺服控制器、风机、水泵和园林工具等应用。

#### 特性

- **效能/性能**

- ARM® Cortex®-M4主频最高180MHz
- 单精度浮点运算单元
- 支持DSP指令集
- 2.4V ~ 3.6V供电电压
- I/Os可承受5V电平
- 温度范围-40 ~ +105°C
- **內存**

- 高达128KB闪存
- 16KB SRAM
- 1KB OTP
- sLib:将指定之主存储区设为执行代码安全库区(仅能调用无法读取)
- **时钟**

- PLL(180MHz输出)
- 外部高速4 ~ 25MHz晶体振荡器
- 内部高速48MHz RC振荡器(-40°C ~ 105°C)
- 带自动时钟校准功能(ACC)(25 °C达1 %精度,-40 °C ~ 105 °C达2.5%精度)
- 外部低速32.768kHz RTC晶体振荡器
- 内部低速40kHz RC振荡器
- 复位和电源管理

- 睡眠、深睡眠、和待机模式
- 上电/断电复位(POR/LVR)
- 可编程电压监测器(PVM)
- 支持20个32位的电池供电寄存器(BPR)
- **模拟高性能外设**

- 2个比较器
- 4个运算放大器(支持PGA模式)
- 2组2.5M采样速率12位A/D转换器(18通道)
- 2个6位D/A转换器与CMP和OP互连
- **定时器**

- 1个16位8通道高级定时器,可组成4对互补通道PWM输出,带死区控制和紧急双向剎车功能
- 多达5个16位定时器,每个定时器最多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入
- 2个16位基本定时器
- 2个看门狗定时器(独立和窗口型)
- 1个系统时间定时器: 24位自减型
- **ERTC**

- 增强型RTC,具有闹钟、亚秒级精度、及硬件日历
- **外设接口**

- 2 x I²C (支持SMBus/PMBus)
- 2 x SPI / I²S
- 2 x USART (支持ISO7816,LIN,IrDA接口和调制解调控制)
- 1 x CAN
- 红外发射器
- **DMA**

- 7通道,支持定时器、ADC、DAC、I²S、SPI、I²C和USART等
- **快速I/O端口**

- 多达46个I/O端口, 所有I/O口可映像到16个外部中断; 几乎所有I/O口可容忍5V输入信号
- 所有I/O口均为快速I/O,寄存器访问速度最高fᴀʜʙ
- **封装**

- LQFP48 7 x 7 mm
- LQFP32 7 x 7 mm
- QFN32 4 x 4 mm
- TSSOP24 7.8 x 4.4 mm

详见:AT32M412 .

### 原理图

包括外设、电源、调试器、主控等模块。

#### 主控

!(data/attachment/forum/202505/31/223856adqriruz44acqb03.jpg "SCH_MCU.jpg")


#### 外设及供电

!(data/attachment/forum/202505/31/223909xm22zcv2g2ucqvmb.jpg "SCH_Peripherals_Power.jpg")


#### 连接

!(data/attachment/forum/202505/31/223922du6yy686ggq5xzqy.jpg "SCH_Connectors.jpg")


#### 调试器

!(data/attachment/forum/202505/31/223937lc5shrszz5obhms5.jpg "SCH_Debugger.jpg")


### 上电效果

板载的三个用户 LED 呈现流水灯效果。

!(data/attachment/forum/202505/31/223951ryty4t58yg558jz8.gif "charging.gif")


## 环境搭建

- 下载并安装 ARM Keil IDE 软件或下载并安装 AT32IDE 软件,编译和调试工程;
- 下载并安装 AT32_Work_Bench 软件,图形配置软件,可实现工程的快速生成;
- 下载 AT32M412 - BSP 固件库,便于生成工程时调用。

## 工程测试

包括工程创建、代码修改、固件上传与调试、效果演示。

### 工程创建

打开 AT32 Work Bench 软件,选择工作空间,选择目标芯片 `AT32M412CBT7` ,点击 `新建` ;

!(data/attachment/forum/202505/31/224010i549twtsyz559i93.jpg "at32ide_build_project.jpg")


选择 `外设` 模块,配置目标 GPIO 引脚模式,配置时钟,点击`生成代码`;

!(data/attachment/forum/202505/31/224040cedndzedihidhioz.jpg "work_bench_config.jpg")


进入 `生成代码` 配置页面,输入项目名称、保存路径、IDE 软件、选择下载的固件库位置,点击 `确定` 并打开工程;

!(data/attachment/forum/202505/31/224123io1iqr1l7pjj1xp6.jpg "work_bench_generate.jpg")


### 工程代码

打开工程后,进入 `user` 目录并打开 `main.c` 文件,修改代码

```c++
#include "at32m412_416_wk_config.h"
#include "wk_gpio.h"
#include "wk_system.h"

int main(void)
{
wk_system_clock_config();
wk_periph_clock_config();
wk_nvic_config();
wk_timebase_init();
wk_gpio_config();

while(1)
{
    /* add user code begin 3 */
          gpio_bits_toggle(GPIOF, GPIO_PINS_8);
          wk_delay_ms(500);
    /* add user code end 3 */
}
}
```

若使用 AT32IDE 软件,右键工程选择 `Build Project` ,之后 `Debug` 或 `Run` 工程,即可完成调试和固件上传等操作。

若使用 Keil IDE,则 `Rebuild` 工程,点击 `Download` 按钮,实现固件上传,短按开发板的 RST 复位按键,运行程序。

### 效果演示

板载绿色 LED4 (对应 F8 引脚)闪烁,间隔为 500 毫秒。

!(data/attachment/forum/202505/31/224142grvzdhvshd8b47dd.gif "blink.gif")


## 总结

本文介绍了雅特力 AT32M412 开发板的基本信息,包括开发板资源、主控参数、原理图等,进一步实现开发环境搭建、工程测试等流程,为后续深入开发和研究作铺垫,也为相关项目的开发和产品的快速设计提供了参考。

页: [1]
查看完整版本: 【AT-START-M412测评】介绍、环境搭建、工程测试