HC32F448-小华MCU

2023-11-15

由于要开发和学习使用低成本MCU,这里记录下小华半导体HC32F448的手册参数

芯片官网(HC32F448MCTI-LQFP80) 小华半导体有限公司 (xhsc.com.cn)

HC32F448 系列MCU是32位的ARM Cortex-M4微控制器。最高工作频率 200MHz,最大 256KB 的 Flash,最大 68KB 的 SRAM。

HC32F448 系列支持常用的外设接口,包括11 个串行通信接口(I2C/UART/ SPI), 1 个 QSPI 接口, 2 路 CAN, 1 个外部扩展总线控制器,包括 EXMC(支持 SMC)控制器, 3个ADC,2个DAC,2+3+4+1个定时器。

HC32F448 系列提供 80pin、 64pin、 48pin 的 LQFP 封装, 48pin、 32pin 的 QFN 封装,适用于高性能电机变频控制,智能硬件, IoT 连接模块等领域。

目录

功能表

 功能框图

功能接口

复位方式

时钟源

时钟切换

时钟测量功能

初始化配置(ICG)

嵌入式 Flash(EFM)

内置 SRAM

串口通讯接口(UART/I2C/SPI/CAN)

GPIO

中断控制器(INTC)

自动运行系统(AOS)

存储保护单元(MPU)

键盘扫描控制模块(KEYSCAN)

DMA 控制器(DMA)

电压比较器(CMP)

ADC和DAC

定时器


功能表

 功能框图

 

功能接口

复位方式

发生复位时,芯片根据复位方式将对应的复位标志位进行置位,复位标志位如表 3-2 所示。

时钟源

AHB、 APB 和 Cortex-M4 时钟都源自系统时钟。系统时钟的最大运行时钟频率可以达到 200MHz,有 6个可选择的时钟源:
1) 外部高速振荡器(XTAL)
2) 外部低速振荡器(XTAL32)
3) PLLH 时钟(PLLH)
4) 内部高速振荡器(HRC)
5) 内部中速振荡器(MRC)
6) 内部低速振荡器(LRC)

时钟切换

在系统复位后,默认系统时钟为 MRC - 内部中速振荡器。

通过设定寄存器 CMU_CKSW 切换时钟源,切换步骤参照时钟源切换( 参考手册 - 图 4-8 时钟源切换 和 图 4-9 时钟分频切换 )。
只有在目标时钟源已稳定的状态下,才可以从一个时钟源切换到另一个时钟源。
时钟切换时需要正确配置 Flash/ SRAM 的等待周期,防止系统时钟频率大于 Flash/ SRAM 的最大动作频率。参照【CPU 时钟和 Flash 读取时间之间的关系】、【内置 SRAM(SRAM) 】章节进行配置。

时钟测量功能

HC32时钟支持时钟测量功能。

使用基准时钟对测定对象的时钟进行监视测定。

初始化配置(ICG)

芯片复位解除后,硬件电路会读取 Flash 地址 0x0000 0400~0x0000 045F 把数据加载到初始化配置寄存器。

地址 0x0000 0408~0x0000 040B、 0x0000 0410~0x0000 041F、 0x0000 0438~0x0000045F 为保留地址,请写入全 1 保证芯片正常动作。

嵌入式 Flash(EFM)

HC32的Flash在手册上简称为EFM。

容量最大 256KBytes,由一块 256KBytes 的 Flash 构成,共 32 个扇区,每个扇区为 8KBytes。

128 位宽数据读取,读缓存 128 位宽缓冲,加速代码执行。

编程单位为 4Bytes,擦除单位为 8KBytes。

要正确读取 Flash 数据,用户需要根据 CPU 动作频率在 Flash 读模式寄存器(EFM_FRMC)中正确设定等待周期数(FLWT[3:0])。

内置 SRAM

产品带有 64KB 系统 SRAM(SRAMH/ SRAM0)和 4KB 掉电模式保持 SRAM(Ret SRAM)。

SRAM0 和 Ret SRAM 带有 ECC 校验(Error Checking and Correcting), ECC 校验为纠一检二码,即可以纠正一位错误,检查两位错误。 SRAMH 带有奇偶校验(Even-parity check),每字节数据带有一位校验位。

 

不同的系统时钟有不同的CPU访问周期:

 

串口通讯接口(UART/I2C/SPI/CAN)

USART支持6个串口。

I2C支持2个通道。

SPI支持3个通道。

CAN支持2个通道,并且支持CAN-11898-1:2015和CAN-FD。

特别的,HC32的 UART、I2C、SPI、CAN在IO配置上是可以重复配置的。

体现在IO配置上,可以看到手册中IO的复用功能中:

Func0~Func22为固定复用功能,Func23及以后的复用功能分成了两组(见表2-2)。在2组中,一对IO可以支持配置成UART/CAN/SPI/I2C 4中通通讯方式,灵活性非常高。

GPIO

基本都一样

这里贴一下IO端口配置的一张表。

 

中断控制器(INTC)

名字简称是INTC(ST是NVIC)

也基本都一样

自动运行系统(AOS)

比ST的DMA功能更强大!

用于在不借助 CPU 的情况下实现外设之间的联动。

利用外设产生的事件作为 AOS 源(AOS Source),如定时器的比较匹配、定时器的计数溢出、 RTC 的周期信号、通信模块的收发数据的各种状态(空闲,接收数据满,发送数据结束,发送数据空)、 ADC 的转换结束等事件,来触发其他外设动作。被触发的外设动作称为 AOS 目标(AOS Target)。
 

存储保护单元(MPU)

MPU提供对全部4G地址空间的访问权限控制

键盘扫描控制模块(KEYSCAN)

支持键盘扫描功能和按键识别功能。

当有键被按下时,键盘的行和列短接,行产生下降沿,从而产生 EIRQ 中断标志,通过比较中断标志位(EIFR.EIFR)和 SSR.INDEX[2:0]的值来定位当前被按下的键。

键盘扫描功能为:不断循环的给键盘阵列的列输出低电平,从而当有键被按下时,会产生对应的 IRQ 中断标志。
 

DMA 控制器(DMA)

HC32的DMA控制器还支持 ”连锁传输“ 和 ”不连续地址传输“ 。

当一个描述符的最后一次传输结束时, LLP 指定的下一个描述符将被从存储器中载入通道配置寄存器。等待下一次传输请求输入,开始新描述符的第一次传输。LLP 称为链指针(Linked-List Pointer),其中的值代表下一个描述符在存储器中的首地址。

使用不连续地址传输能够实现源地址和目标地址在传输完一定量的数据后按照一定的偏移量跳转。

电压比较器(CMP)

将两个模拟电压进行比较并且输出比较结果,共有两组共 4 个比较通道: CMP1/ CMP2、 CMP3/ CMP4。

ADC和DAC

搭载 3 个 ADC 单元,单元 1 支持 16个通道,单元 2 支持 8 个通道,单元 3 支持 12 个通道,可以转换来自外部引脚、以及芯片内部的模拟信号。模拟输入通道可以任意组合成一个序列,一个序列可以进行单次扫描转换,或连续扫描转换。支持对任意指定通道进行连续多次转换并对转换结果进行平均。

搭载了 1 个 12 位的数模转换器单元 DAC。 DAC 单元包含两个 D/A 转换通道,两个通道可以独
立转换也可以同步转换。每个转换通道配有输出放大器,可以在没有外部运放时直接驱动外部负载。
 

定时器

HC32提供了以下四种定时器:

【1】4个16bit通用定时器 TimerA

【2】1 个 32bit 通用 Timer0

【3】2个高级控制定时器 Timer6

【4】3个通用控制定时器 Timer4

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HC32F448-小华MCU 的相关文章

  • Spark集群安装部署

    目录 一 环境准备 二 安装步骤 三 使用Standalone模式 四 使用Yarn模式 一 环境准备 由于Spark仅仅是一种计算机框架 不负责数据的存储和管理 因此 通常都会将Spark和Hadoop进行统一部署 由Hadoop中的HD
  • 完美解决jenkins安装插件失败(修改下载源)

    从jenkins官网上下载的jenkins 在安装的过程中 会有安装插件一环 第一个为默认安装 第二个为手动 选择默认安装之后 会遇到 安装插件失败 或者卡在安装插件这个地方非常久 久到怀疑人生 久到想卸载重装 在这里 我们可以选择 手动安

随机推荐

  • HTML与CSS3网页设计基础

    HTML基础 1 HTML的简介 HTML 称为 超文本标记语言 提供了很多标签 用于标记网页中的各种元素 HTML的语言特点 1 不区分大小写 2 用不同的标签来标记网页中的不同内容 比如超链接 标题 段落 图片等等 3 标签分为 单独出
  • Flutter 遇到的异常 持续更新

    org gradle wrapper GradleWrapperMain 类无法加载 解决方案 如果你用的是androidStudio3 0以上的版本 新建一个android工程的时候在gradle wrapper里面默认会有一个gradl
  • VMware虚拟机安装Windows Server 2016教程

    想必同学们已经开学了 也都进入了军训阶段吧 而很多计算机网络专业的同学们要开始接触到Windows Server了 这也是计算机网络技术专业的专业基础课程 想当年我们实训课学习使用的好像是2008版的 也不晓得现在各个学校会用到哪个版本实操
  • 均方误差(MSE)

    均方误差 Mean Squared Error MSE 在相同测量条件下进行的测量称为 等精度测量 例如在同样的条件下 用同一个游标卡尺测量铜棒的直径若干次 这就是等精度测量 对于 等精度测量来说 还有一种更好的表示误差的方法 就是 标准误
  • SpringBoot 引入了common模块 导致的依赖包结果版本不一致问题

    分享一下我之前遇到的问题 首先我是使用Idea自带的Spring Initializr
  • 多分类学习

    多分类问题 现实中常遇到多分类学习任务 有些二分类学习方法可直接推广到多分类 但在更多情形下 我们是基于一些基本策略 利用二分类学习器来解决多分类问题 所以多分类问题的根本方法依然是二分类问题 通常地 使用的是拆分法 也就是将一个多分类转换
  • 在Vue下如何用js代码将13位的时间戳数据转换成正常显示的时间?

    问题描述 在使用Vue时 如果页面没有渲染完成 通过js代码是拿不到页面上数据的 而我们又想通过js操作数据时 就需要通过一些特别的方法 网上有各种方法 但是大部分都解释的比较模糊 这是我的一些小总结 由于不是专门玩前端的 但是又不想用vu
  • linux 挂载目录

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 挂载的基本概念 前面讲过 Linux 系统中 一切皆文件 所有文件都放置在以根目
  • 网络故障排除之Traceroute命令详解

    概要 遇到网络故障的时候 你一般会最先使用哪条命令进行排障 除了Ping 还有Traceroute Show Telnet又或是Clear Debug等等 今天安排的 是Traceroute排障命令详解 给你分享3个经典排障案例哈 一 Tr
  • linux的应用线程同步与驱动同步机制

    同步机制 在 Linux 应用程序和内核中的驱动程序中 有一些常见的同步机制用于实现线程或进程之间的同步和数据访问保护 下面是它们的一些主要机制 Linux 应用程序中的同步机制 互斥锁 Mutex 用于保护共享资源 确保只有一个线程可以访
  • 华为机试题74-参数解析

    描述 在命令行输入如下命令 xcopy s c d e 各个参数如下 参数1 命令字xcopy 参数2 字符串 s 参数3 字符串c 参数4 字符串d e 请编写一个参数解析程序 实现将命令行各个参数解析出来 解析规则 1 参数分隔符为空格
  • 窥孔优化(Peephole Optimization)

    窥孔优化 Peephole Optimization 是编译器中的一个技术 用于优化生成的中间代码或目标代码 该优化方法通过查看代码的小部分 或称为 窥孔 来识别并提供更高效的代码替代方案 1 基本概念 定义 窥孔优化涉及观察编译器输出中的
  • 常用数字电路模块之三:计数器与分频器(二))

    三 分频电路 1 简单的计数器 计数器实质是对输入的驱动时钟进行计数 所以计数器在某种意义上讲 等同于对时钟进行分频 例如一个最大计数长度为N 2 n 从0计数到N 1 的计数器 也就是寄存器位数位n 那么寄存器最高位的输出为N 2 n分频
  • 告诉上述代码报错的原因onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INV...

    这个错误的原因是输入的数据类型和预期的数据类型不匹配 根据错误信息 实际输入的数据类型是 unsigned 8 bit integer tensor uint8 而预期的数据类型是浮点数 tensor float 这意味着模型期望输入浮点数
  • 第5章 用户身份与文件权限

    目录 序言 5 1 用户身份与能力 5 1 1 useradd命令 5 1 2 groupadd命令 5 1 3 usermod命令 5 1 4 passwd命令 5 1 5 userdel命令 5 2 文件权限与归属 5 3 文件的特殊权
  • 都在说视频号,真有机会?

    大家好 我是北妈 0 公众号日渐式微 已经远不复当年 这两年也没有很厉害的博主突然起来或者大幅增粉 前两年基本每年都会有 现在基本都是头 腰部效应 有些粉丝基础的还能赚些小钱 但也都断崖式下跌 现在流量和甲方广告投入基本都去了视频领域 所以
  • SpringApplication详解

    22 SpringApplication SpringApplication类提供了一种从main 方法启动Spring应用的便捷方式 在很多情况下 你只需委托给SpringApplication run这个静态方法 public stat
  • 初识Pytest自动化测试框架,我彻底懂了

    初识Pytest Pytest是Python实现的一个测试工具 可以用于所有类型和级别的软件测试 Pytest是一个可以自动查找到你编写的用例并运行后输出结果的测试框架 Pytest的特点 是一个命令行工具 编写用例简单 可读性强 非常容易
  • Java21天打卡day18--继承

    public class Person18 继承 1 描述什么是继承 在已存在的类的基础上进行扩展 从而产生新的类 2 创建一个person类 赋予name age sex属性 并创建一个有参数的构造方法并赋值 3 创建一个方法work p
  • HC32F448-小华MCU

    由于要开发和学习使用低成本MCU 这里记录下小华半导体HC32F448的手册参数 芯片官网 HC32F448MCTI LQFP80 小华半导体有限公司 xhsc com cn HC32F448 系列MCU是32位的ARM Cortex M4