[方案相关] 【华大测评】+ DCU模块使用

[复制链接]
3244|6
 楼主| 纪国圣 发表于 2020-7-19 11:50 | 显示全部楼层 |阅读模式
HC32F460内部集成了4个DCU(数据计算单元),可以在CPU不干预的情况下进行数据的加减比较和窗口比较这4个功能。 15.png
16.png
17.png
从寄存器来看DCU模块还是比较少的,操作应该很简单。
本次测评参照官方例程dcu_add修改,将原来的16bit加法改为32bit加法。
首先在ddl_config.h文件中使能DDL_DCU_ENABLE:
11.png
其次新建DCU.c和DCU.h文件,添加DDCU_Init和DDCU_Add:
12.png
13.png
每次做一次加法时,将数据放入DcuRegisterData0与DcuRegisterData1中,然后读取DcuRegisterData0和DcuRegisterData2即可得到结果。其中DcuRegisterData0存放和,DcuRegisterData2存放和除以2的结果。
在main函数中,每1s调用一次DDCU_Add,并将结果通过串口打印出来:
14.png
15.png
可以看出运行结果正常。
xyz549040622 发表于 2020-7-19 14:38 来自手机 | 显示全部楼层
这个算DMA吗?
 楼主| 纪国圣 发表于 2020-7-19 16:37 | 显示全部楼层

不算DMA。DMA负责数据的搬运;而DCU只能说是一个计算模块,负责做加减运算和比较。两者功能不一样。
七颗咖啡豆 发表于 2020-7-20 10:18 | 显示全部楼层
**肋,加减法这样做没啥意义。把运算核心改成FFT或者其他加速模块,更实用
caizhiwei 发表于 2020-7-20 12:16 | 显示全部楼层
有点像GPU的感觉,但是不占用CPU资源,怎么可能呢?
 楼主| 纪国圣 发表于 2020-7-20 13:20 | 显示全部楼层
caizhiwei 发表于 2020-7-20 12:16
有点像GPU的感觉,但是不占用CPU资源,怎么可能呢?

确实,读写寄存器就占用CPU资源。而且加减法和比较在M4内核中所占用的资源根本不值得一提。实在不明白为何官方会安排这个功能。
 楼主| 纪国圣 发表于 2020-7-20 13:25 | 显示全部楼层
本帖最后由 纪国圣 于 2020-7-20 14:32 编辑
七颗咖啡豆 发表于 2020-7-20 10:18
**肋,加减法这样做没啥意义。把运算核心改成FFT或者其他加速模块,更实用 ...


如果官方能设计成配合FPU做FFT的运算加速器,或者正余弦运算,亦或者数字滤波器功能就实用了。不明白官方这样设计的意图到底是什么。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

407

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部