2. 产品与套件概述
本章说明 N32G41x 系列的内核与外设配置,以及 Nsing.N32G41x_Library.1.1.0 的组成部分与规模。能力项取自国民技术官网型号页与用户手册,数量统计取自 SDK 文件树。本章不写寄存器地址、电气极限与时序参数,这些以数据手册与用户手册正文为准。
2.1 内核与外设概况
N32G41x 系列包含 N32G412 与 N32G415 两个子系列,下表按子系列列出该系列的最大配置。
| 项目 | N32G412 | N32G415 |
|---|---|---|
| 内核 | Arm Cortex-M4,单周期硬件乘法,支持 DSP 指令,1 KB 指令 Cache | 同 N32G412 |
| 最高主频 | 80 MHz,100 DMIPS | 96 MHz,120 DMIPS |
| 总线时钟上限 | AHB 80 MHz、APB1 40 MHz、APB2 80 MHz | AHB 96 MHz、APB1 48 MHz、APB2 96 MHz |
| 存储器 | 最高 128 KB Flash、24 KB SRAM | 同 N32G412 |
| GPIO | 最多 60 个 | 最多 61 个 |
| 模拟 | 2 个 12 位 2 Msps ADC、4 个轨到轨 OPAMP、3 个比较器、内部 2.4 V 参考电压 | 同 N32G412,并支持外部输入独立参考电压源 |
| 通信接口 | 4 个 USART、2 个 SPI(SPI1 可复用为 I2S)、2 个 I2C、1 个 CAN 2.0A/B | 同 N32G412 |
| 定时器 | ATIM1、ATIM2 高级定时器,GTIM1(32 位)与 GTIM2、GTIM3、GTIM4 通用定时器,BTIM1、BTIM2 基本定时器,WWDG、IWDG | 同 N32G412 |
| 其它外设 | 7 通道 DMA、RTC、CRC16 与 CRC32 | 同 N32G412 |
| 复位与电源监测 | 上电复位、掉电复位、外部引脚复位、看门狗复位,可编程 PVD 电压检测 | 同 N32G412 |
| 调试与启动 | SWD 调试接口; Bootloader 支持 USART、I2C、CAN |
同 N32G412 |
| 安全与标识 | Flash 写保护 WRP、读保护 RDP(L0 至 L2)、安全启动与安全更新、外部时钟失效检测、96 位 UID、128 位 UCID | 同 N32G412 |
| 工作条件 | 2.0 V~5.5 V,-40 ℃~+105 ℃,ESD ±4 KV(HBM)与 ±2 KV(CDM) | 同 N32G412 |
上表是子系列的最大配置,具体型号的容量、封装引脚数与外设数量以对应数据手册为准。两个子系列的差别在最高主频、总线时钟上限、GPIO 数量,以及 N32G415 支持的外部输入独立参考电压源;其余外设的类型与数量一致。系统时钟的默认配置与总线分频见本章第 2 节末尾。
2.2 SDK 套件概况
Nsing.N32G41x_Library.1.1.0 由标准外设驱动库、CMSIS 器件支持、FreeRTOS 中间件、示例工程与板级支持组成,规模如下:
- 20 驱动模块
- 656 公开 API
- 22 示例分类
- 101 示例
| 组成 | 内容 |
|---|---|
| 标准外设驱动库 | 每个驱动模块由一对 .h / .c 文件组成,公开 API 为头文件中的全部函数声明 |
| CMSIS 器件支持 | 器件头文件、系统时钟初始化、Keil / IAR / GCC 三套启动文件与 GCC 链接脚本 |
| FreeRTOS 中间件 | Middlewares/ 下的 FreeRTOS Kernel V11.3.1 源码与 Cortex-M 移植层 |
| 示例工程 | 按外设分类组织,每个示例同时提供 Keil MDK-ARM 与 IAR EWARM 工程 |
| 板级支持 | LED、按键的引脚定义,调试串口日志输出与 SysTick 延时 |
计数口径:驱动模块指 firmware/n32g41x_std_periph_driver 下的驱动单元,公开 API 指这些头文件中声明、可在用户工程中直接调用的函数;示例数按含 MDK-ARM、EWARM 或 GCC 构建工程的示例入口统计,只在父目录提供说明文件的成对子工程计为 1 个,无工程的共享代码目录不计。DBG 模块与 NVIC、Cortex-M4 分类的对应关系见“外设与示例说明”一章。
复位后系统时钟使用内部高速时钟 HSI 经 PLL 倍频,N32G412 为 80 MHz,N32G415 为 96 MHz;时钟源与频率由 system_n32g41x.c 中的 SYSCLK_SRC 与 SYSCLK_FREQ 宏选择,可选档位定义在 system_n32g41x.h 中。总线分频系数随系统时钟确定,修改系统时钟后需要重新核对各外设的时钟使能与分频配置。