行业新闻

AG32芯片极简开发手册(精简完整版)

发布 2026年6月30日
/
阅读 1 分钟

一、时钟配置

AG32 无需手动配置 PLL,时钟树系统自动生成,用户仅需在 VE 配置文件填写两项参数,系统初始化自动生效:

外部晶振:支持 4M~16M(默认 HSE 外部晶体)

系统主频:最高 248M,以芯片 datasheet 为准

拓展场景可选用:内部振荡器(误差≤5%)、外部有源晶振、CPLD 主频输入,复杂时钟需求参考官方《AG32时钟的配置与限制》。

 

 

二、管脚配置(AG32核心特色)

1. 核心特性:信号与管脚完全分离

传统芯片管脚与功能固定绑定,AG32 支持任意外设信号映射到任意可配置管脚,极大优化 PCB 布线、提升管脚利用率,小封装芯片可实现多外设功能。

2. 配置方式

在 VE 文件中直接映射:信号线名称 PIN_xx,示例:

GPIO0_0 PIN_2

UART1_UARTTXD PIN_3

SPI0_SCK PIN_4

3. 不可配置管脚

电源、地、时钟、RESET、BOOT0 固定功能;ADC、USB 管脚默认专用,未启用时可复用为普通 IO。具体封装管脚定义参考《AG32_pinout 系列表格》,标注 IO 标识的管脚均可自由配置。

三、GPIO 使用指南

1. 资源说明

内置 80 个 GPIO,分为 GPIO0~GPIO9 共10组,每组8个(BIT0~BIT7),命名规则:GPIO组号_位号(如 GPIO0_0)。

2. 核心规则

GPIO 信号线必须在 VE 文件映射物理 PIN 脚,代码操作才能生效,范围内可任意映射。

3. 基础配置(输入/输出)

输出(LED):VE 映射管脚 → 代码初始化 → 调用高低电平/翻转函数。

输入(按键):VE 映射管脚 → 可在 board.asf 配置内部上拉/下拉 → 开启中断读取电平。

4. 高级配置

上拉/下拉:在 asf 文件配置寄存器参数

引脚复用:默认 IO 模式,外设功能需调用 GPIO_AF_ENABLE;JTAG 引脚默认功能固定,需手动关闭才可做普通 IO

OD开漏模式:VE 或 asf 文件二选一配置,模拟I2C推荐asf配置

驱动电流:默认8MA,支持4/8/12/16MA,asf文件配置

5. 常用API

高低电平控制、输入输出模式设置、中断开关与清除、引脚复用切换。

四、定时器分类与使用

1. MTimer(系统定时器)

RISC-V 原生64位定时器,替代 SysTick,用于系统时基、任务调度。通过 mtime/mtimecmp 寄存器比较触发中断,支持自定义定时周期,默认中断函数MTIMER_isr。

2. BaseTimer(基础定时器)

2个硬件定时器(TIMER0/1),各含2组独立寄存器,共4路可用定时通道。支持16/32位位宽、1/16/256分频、单次/循环定时,自带独立中断函数。

3. GpTimer(通用高级定时器)

共5路,类似STM32高级定时器,支持定时、PWM输出、边沿/中心对齐波形、输入捕获、DMA波形输出,每路4个独立通道,需VE管脚映射方可输出硬件波形。

五、常用外设极简配置

1. UART(5路:UART0~UART4)

UART0 默认日志打印,其余可自由使用。支持波特率配置、FIFO缓存、中断收发、DMA收发。核心流程:VE映射管脚 → 初始化参数 → 收发数据,支持自定义中断与DMA搬运。

2. I2C(2路:I2C0/I2C1)

主模式、半双工、支持多主从、自带应答机制。流程:VE管脚映射 → 时钟使能 → 收发数据,无设备应答会阻塞等待。

3. CAN(1路CAN0)

VE映射管脚 → 开启时钟与中断 → 配置参数 → 发送数据、中断接收数据。

4. SPI(2路:SPI0/SPI1)

仅主机模式,支持1/2/4线通讯。分为FLASH专用驱动与通用SPI驱动,支持DMA传输,新版SDK完善通用收发、双向同步传输功能。

5. ADC/DAC/CMP

依赖芯片默认 CPLD 模拟IP,支持3路ADC、2路DAC、双通道比较器。无需管脚映射,开启宏定义即可使用,支持循环采集,可自定义裁剪模拟功能。

6. USB

集成 tinyUSB,支持 Device/Host/OTG 模式,默认支持 CDC串口+MSCU盘,可拓展HID、MIDI。USB管脚固定不可改,支持工程移植自定义配置。

7. MAC以太网

支持 MII/RMII 接口,集成 LwIP 协议栈,可搭建网页服务。使用时需配置PHY地址、管脚映射,电脑端匹配对应IP即可通讯。

六、看门狗与RTC

1. 看门狗WDOG

递减计数复位,支持中断预警。中断时间为单周期,复位时间为2倍周期,支持重启状态检测,需定时喂狗防止系统复位。

2. RTC实时时钟

仅支持32768 LSE时钟,断电备用电源独立运行。支持秒中断、溢出中断、闹钟中断,自带16组备份寄存器,可存储断电保留数据,常用于计时、低功耗唤醒。

七、外部中断三种模式

GPIO中断:功能最全,支持边沿触发,优先推荐使用

EXT_INT(8路):低电平触发,无自动清中断,引脚需上拉

Local_INT(4路):来自CPLD高电平触发,无信号缓存,需软硬件应答交互防丢失

八、低功耗休眠模式

Sleep:基础休眠

Stop:电流5.5mA,CPLD可正常运行

Standby:超低功耗5uA,3.3V断电、CPLD关闭;支持WDOG/RTC闹钟/WAKEUP引脚上升沿唤醒

九、CPLD自定义Logic配置

三种工程配置规则(platformio.ini):

无需模拟功能:仅配置 board_logic.ve

使用默认ADC/DAC模拟IP:配置 board_logic.ve + ip_name = analog_ip

自定义CPLD功能:配置 board_logic.ve + ip_name + logic_dir

支持自研CPLD逻辑,拓展芯片外设功能,适配定制化硬件需求。

十、中断系统要点

默认非中断嵌套,开启宏可支持高优先级嵌套;MTime定时器属于CLINT中断,其余外设均为PLIC中断;所有中断向量、默认中断函数SDK已内置,用户仅需使能中断、配置优先级即可使用。

标签

更多推荐