HC32F448-小华MCU

news/2024/5/17 20:18:52

由于要开发和学习使用低成本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


http://www.mrgr.cn/p/65486763

相关文章

css3的filter图片滤镜使用

业务介绍 默认:第一个图标为选中状态,其他三个图标事未选中状态 样式:选中状态是深蓝,未选中状体是浅蓝 交互:鼠标放上去选中,其他未选中,鼠标离开时候保持当前选中状态 实现:目前…

2023级学姐上岸浙江大学MBA的备考经验分享

在分享我的浙大MBA提面经验之前,先给大家炫一波前段时间刚收到的浙大录取通知书。还有一个月的时间我就要去梦想中的殿堂学习了,而针对今年报考浙大的考生来说,杭州这边还有最后两次可以参加提面的机会,我们去年这届共招收新生526…

kettle 学习笔记

kettle 学习笔记 个人理解下载 / 安装kettle及测试环境准备kattle下载安装JDK安装配置MySQL安装配置 使用练习创建数据库连接转换练习 个人理解 ETL工具的一种,作用是将数据进行抽取,转换,应该是数据中心类型的项目用的比较多,将…

动态sql以及常用的标签

什么是动态sql: 指根据不同的条件生成不同的sql 搭建环境: 建表: create table blog( id varchar(50) not null comment 博客id, title varchar(100) not null comment 博客标题, author varchar(30) not null comment 博客作者, create_ti…

《2023中国开发者调查报告》探索2023中国开发者的技术创新与挑战:AIoT、云原生、国产数据库等领域的发展与前景

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

《Kubernetes故障篇:unable to retrieve OCI runtime error》

一、背景信息 1、环境信息如下: 操作系统K8S版本containerd版本Centos7.6v1.24.12v1.6.12 2、报错信息如下: Warning FailedCreatePodSandBox 106s (x39 over 10m) kubelet (combined from similar events): Failed to create pod sandbox: rpc error: …

HEVC 速率控制(码控)介绍

视频编码速率控制 速率控制: 通过选择一系列编码参数,使得视频编码后的比特率满足所有需要的速率限制,并且使得编码失真尽量小。速率控制属于率失真优化的范畴,速率控制算法的重点是确定与速率相关的量化参数(Quantiz…

在OK3588板卡上部署模型实现OCR应用

一、主机模型转换 我们依旧采用FastDeploy来部署应用深度学习模型到OK3588板卡上 进入主机Ubuntu的虚拟环境 conda activate ok3588 安装rknn-toolkit2(该工具不能在OK3588板卡上完成模型转换) git clone https://github.com/rockchip-linux/rknn-to…

CentOS7系统MBR、GRUB2、内核启动流程报错问题

目录 🥩Linux启动流程 🥩MBR修复 🍭1、模拟损坏 🍭2、重启测试 🍭3、修复MBR 🍭4、测试系统 🥩GRUB2修复 🍭1、模拟损坏 🍭2、修复GRUB2 🍭3、测试系统 &…

SpringBoot原理分析 | 安全框架:Shiro

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Shiro Shiro是一个安全框架,用于认证、授权和管理应用程序的安全性。它提供了一组易于使用的API和工具,可以帮助您轻松地添加安全性到您的应用…

Redis以及Java使用Redis

一、Redis的安装 Redis是一个基于内存的 key-value 结构数据库。 基于内存存储,读写性能高 适合存储热点数据(热点商品、资讯、新闻) 企业应用广泛 官网:https://redis.io 中文网:https://www.redis.net.cn/ Redis…

.NET网络编程——TCP通信

一、网络编程的基本概念 : 1. 网络 就是将不同区域的电脑连接到一起,组成局域网、城域网或广域网。把分部在不同地理区域的计算机于专门的外部设备用通信线路 互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息&#xff0c…

Zabbix分布式监控Web监控

目录 1 概述2 配置 Web 场景2.1 配置步骤2.2 显示 3 Web 场景步骤3.1 创建新的 Web 场景。3.2 定义场景的步骤3.3 保存配置完成的Web 监控场景。 4 Zabbix-Get的使用 1 概述 您可以使用 Zabbix 对多个网站进行可用性方面监控: 要使用 Web 监控,您需要定…

QtC++ 技术分析4 - 流、d-pointer隐式共享以及容器迭代器

目录 QT 中的流文件系统与底层文件操作文件系统类 QFile QTextStreamQDataStreamQLocale 隐式共享与 d-pointer隐式共享d-pointer 在隐式共享中的应用二进制代码兼容d-pointer 模式实现 Qt 容器及迭代器QTL 概述几种常见的迭代器及其对应类型QTL 容器对应迭代器通用算法函子&am…

超全整理,Jmeter性能测试-常用Jmeter第三方插件详解(超细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Jmeter作为一个开…

批量插入数据、MVC三层分离

八、批量插入数据 1、使用Statement() 2、使用PreparedStatement() 3、使用批量操作API 4、优化 九、MVC三层分离

Windows下安装HBase

Windows下安装HBase 一、HBase简介二、HBase下载安装包三、环境准备3.1、 JDK的安装3.2、 Hadoop的安装 四、HBase安装4.1、压缩包解压为文件夹4.2、配置环境变量4.3、%HBASE_HOME%目录下新建临时文件夹4.4、修改配置文件 hbase-env.cmd4.4.1、配置JAVA环境4.4.2、set HBASE_MA…

高等数学中如何求间断点

高等数学中求间断点是一项重要的技巧,特别适用于分析函数的性质和图像的特征。在本文中,我们将深入探讨如何在给定函数中找到间断点,并解释其数学原理和实际应用。 什么是间断点? 在高等数学中,间断点是指函数在某个点…

加利福尼亚大学|3D-LLM:将3D世界于大规模语言模型结合

来自加利福尼亚大学的3D-LLM项目团队提到:大型语言模型 (LLM) 和视觉语言模型 (VLM) 已被证明在多项任务上表现出色,例如常识推理。尽管这些模型非常强大,但它们并不以 3D 物理世界为基础,而 3D 物理世界涉及更丰富的概念&#xf…

windows下载安装FFmpeg

FFmpeg是一款强大的音视频处理软件,下面介绍如何在windows下下载安装FFmpeg 下载 进入官网: https://ffmpeg.org/download.html, 选择Windows, 然后选择"Windows builds from gyan.dev" 在弹出的界面中找到release builds, 然后选择一个版本&#xff0…