打印
[方案相关]

【华大测评】+ DCU模块使用

[复制链接]
2222|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HC32F460内部集成了4个DCU(数据计算单元),可以在CPU不干预的情况下进行数据的加减比较和窗口比较这4个功能。


从寄存器来看DCU模块还是比较少的,操作应该很简单。
本次测评参照官方例程dcu_add修改,将原来的16bit加法改为32bit加法。
首先在ddl_config.h文件中使能DDL_DCU_ENABLE:

其次新建DCU.c和DCU.h文件,添加DDCU_Init和DDCU_Add:


每次做一次加法时,将数据放入DcuRegisterData0与DcuRegisterData1中,然后读取DcuRegisterData0和DcuRegisterData2即可得到结果。其中DcuRegisterData0存放和,DcuRegisterData2存放和除以2的结果。
在main函数中,每1s调用一次DDCU_Add,并将结果通过串口打印出来:


可以看出运行结果正常。

使用特权

评论回复
沙发
xyz549040622| | 2020-7-19 14:38 | 只看该作者
这个算DMA吗?

使用特权

评论回复
板凳
纪国圣|  楼主 | 2020-7-19 16:37 | 只看该作者

不算DMA。DMA负责数据的搬运;而DCU只能说是一个计算模块,负责做加减运算和比较。两者功能不一样。

使用特权

评论回复
地板
七颗咖啡豆| | 2020-7-20 10:18 | 只看该作者
**肋,加减法这样做没啥意义。把运算核心改成FFT或者其他加速模块,更实用

使用特权

评论回复
5
caizhiwei| | 2020-7-20 12:16 | 只看该作者
有点像GPU的感觉,但是不占用CPU资源,怎么可能呢?

使用特权

评论回复
6
纪国圣|  楼主 | 2020-7-20 13:20 | 只看该作者
caizhiwei 发表于 2020-7-20 12:16
有点像GPU的感觉,但是不占用CPU资源,怎么可能呢?

确实,读写寄存器就占用CPU资源。而且加减法和比较在M4内核中所占用的资源根本不值得一提。实在不明白为何官方会安排这个功能。

使用特权

评论回复
7
纪国圣|  楼主 | 2020-7-20 13:25 | 只看该作者
本帖最后由 纪国圣 于 2020-7-20 14:32 编辑
七颗咖啡豆 发表于 2020-7-20 10:18
**肋,加减法这样做没啥意义。把运算核心改成FFT或者其他加速模块,更实用 ...


如果官方能设计成配合FPU做FFT的运算加速器,或者正余弦运算,亦或者数字滤波器功能就实用了。不明白官方这样设计的意图到底是什么。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

403

帖子

5

粉丝