打印
[牛人杂谈]

新唐M051的硬件除法器

[复制链接]
3659|35
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
有了硬件除法器,在计算除法的时候省了好多代码
硬件除法器(HDIV) (只有M05xxDN/DE)  

沙发
dongnanxibei|  楼主 | 2017-2-20 20:29 | 只看该作者
硬件除法器 (HDIV) 用来提高应用程序的效率。硬件除法器是一个有符号,整数除法器,提供商和余数输出。硬件除法器只有M05xxDN/DE才支持.
特性
 有符号 (2的补码) 整数计算
 32-bit 被除数, 16位除数计算能力
 32-bit 商和 32-bit 余数输出 (16-bit 余数带符号扩展到32位)
 除0警告标志
 每次计算花6 个HCLK 时钟周期
 写除数触发计算
 当读商和余数的时候自动等待计算完成

使用特权

评论回复
板凳
dongnanxibei|  楼主 | 2017-2-20 20:30 | 只看该作者
在使用硬件除法器之前,硬件除法器的时钟必须先使能。通过AHBCLK[4] 将HDIV_EN设为1使能硬件除法器 。
为了使用硬件除法器,需要先填被除数,然后再填除数,写除数之后硬件除法器将自动开始计算。
计算结果包括商和余数可以从DIVQUO 和 DIVREM 寄存器读到。如果在硬件除法器计算完成之
前, CPU 读 DIVQUO 或者 DIVREM, CPU将等待直到硬件除法器完成计算。因而,无需软件延
迟, CPU 除法硬件除法器之后总是可以得到有效的结果。
如果除数是0, DIVSTS 寄存器的DIV0标志将被置位。
被除数是32-bit 有符号整数,被除数是16-bit 有符号数。商是32-bit 有符号整数,余数是16位有符
号整数.

使用特权

评论回复
地板
dongnanxibei|  楼主 | 2017-2-20 20:30 | 只看该作者
下图显示了硬件除法器的操作流程。为了计算X / Y, CPU 需要写 X 到 被除数寄存器DIVIDEND,
然后写 Y 到除数寄存器 DIVISOR。写被除数寄存器之后, CPU 读DIVQUO 和 DIVREM 寄存器可
以得到计算结果



使用特权

评论回复
5
zhuomuniao110| | 2017-2-20 20:36 | 只看该作者
就是如果要计算这个,需要定义个函数使用这些寄存器来操作。

使用特权

评论回复
6
zhuomuniao110| | 2017-2-20 20:38 | 只看该作者
如果能提供个例子就更好懂了。

使用特权

评论回复
7
捉虫天师| | 2017-2-20 20:52 | 只看该作者
除法器如果能在计算除法的时候自动调用就方便了。

使用特权

评论回复
8
天灵灵地灵灵| | 2017-2-20 20:57 | 只看该作者

在使用硬件除法器之前,硬件除法器的时钟必须先使能。从这来看,是需要自己通过函数调用这些寄存器的。要不然不会自动帮你算。

使用特权

评论回复
9
zhuotuzi| | 2017-2-20 21:01 | 只看该作者
虽然同样是M051,但是也分不同的配置,这也看的出这个定位是不同的。

使用特权

评论回复
10
戈卫东| | 2017-2-20 21:18 | 只看该作者
新唐一个型号下边会出现无数个互不兼容的产品。。。。。。。。

使用特权

评论回复
11
734774645| | 2017-2-20 22:34 | 只看该作者
戈卫东 发表于 2017-2-20 21:18
新唐一个型号下边会出现无数个互不兼容的产品。。。。。。。。

就这点唯一不爽,如果用库函数做,必须认真读每个函数原型的说明。

使用特权

评论回复
12
eydj2008| | 2017-2-21 11:09 | 只看该作者
做个除法,就不能自动调用硬件吗?

使用特权

评论回复
13
dongnanxibei|  楼主 | 2017-2-22 12:46 | 只看该作者
eydj2008 发表于 2017-2-21 11:09
做个除法,就不能自动调用硬件吗?

应该不行,需要自己写个函数来操作这个除法器。

使用特权

评论回复
14
iwqt1983| | 2017-2-22 13:18 | 只看该作者
现在新出的NUC029LAN也有硬件除法器的,软件,硬件都兼容M0516,听说价格也更便宜。

使用特权

评论回复
15
dongnanxibei|  楼主 | 2017-2-22 13:19 | 只看该作者
iwqt1983 发表于 2017-2-22 13:18
现在新出的NUC029LAN也有硬件除法器的,软件,硬件都兼容M0516,听说价格也更便宜。 ...

是的,新唐的一般都不是很贵。

使用特权

评论回复
16
iwqt1983| | 2017-2-22 14:48 | 只看该作者
dongnanxibei 发表于 2017-2-22 13:19
是的,新唐的一般都不是很贵。

是的,新唐 的 MCU很超值,工业上应用很好,抗干扰能力强,比STM的好不少。

使用特权

评论回复
17
Howard16| | 2017-2-23 09:49 | 只看该作者
M4核心的芯片在核心內有硬件除法器,就不需要調用函數去處理除法
M051的硬件除法器屬於周邊功能,需要調用函數去操作周邊寄存器

使用特权

评论回复
18
iwqt1983| | 2017-3-11 11:27 | 只看该作者
NUC029LAN也带硬件除法器,是用来代替M0516的

使用特权

评论回复
19
598330983| | 2017-3-11 12:07 | 只看该作者
新唐的产品就是性价比高,性能超越STM32,价格便宜的很。

使用特权

评论回复
20
gejigeji521| | 2017-3-12 14:38 | 只看该作者
谁有用过这个,分享下经验啊。

使用特权

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

本版积分规则

207

主题

3605

帖子

16

粉丝