打印
[应用相关]

悬赏调查:什么样的内嵌MCU的产品中需要使用浮点计算?

[复制链接]
楼主: 香水城
手机看帖
扫描二维码
随时随地手机跟帖
21
yewuyi| | 2010-10-28 08:50 | 只看该作者 回帖奖励 |倒序浏览
LZ被小叶忽悠了。。
浮点只在于写法简单。。
确实代码更长。。
在一般MCU中运算时间增加的不是一个数量级
王奉瑾 发表于 2010-10-28 02:22


老王,俺可没有忽悠香水啊。。。

第一个结论是相同的。
下面的两个结论出现差异的原因是因为:老王没有看我说的前提条件。

对于一个最基本确定精度的浮点单乘、除法运算,代码和时间肯定要长。

对于一个具备多个不同精度,存在乘除法器差异时,这两点就无法比较。

使用特权

评论回复
22
wdm| | 2010-10-28 09:08 | 只看该作者
我觉得最小数值和最大数值相差非常大,就要用浮点数,因为相同字节的数,浮点数表示的范围大

使用特权

评论回复
23
jack_shine| | 2010-10-28 09:43 | 只看该作者
路过学习~~~

使用特权

评论回复
24
香水城|  楼主 | 2010-10-28 09:43 | 只看该作者
香主 问这个问题,一定是没多少实际经验,经常纸上谈兵的 结果  呵呵
eydj2008 发表于 2010-10-28 08:12


哈哈,俺在这方面确实没有什么实际经验,纸上谈兵都谈不上;正因为如此,才要来这里学习请教,不耻下问,请多多指教,不要笑话我嘛,:lol

使用特权

评论回复
25
HWM| | 2010-10-28 10:01 | 只看该作者
题:“什么样的MCU产品需要使用浮点计算?”

文:“....我很好奇,什么样的应用需要用到浮点运算?要求的性能是多少?....”

文不对题....

浮点运算,原则上实数运算就需要。
硬件浮点运算,原则上快速实数运算就需要。

因此,简单关系就是:实数运算需要浮点,高速实数运算需要硬件浮点。至于那些应用需要实数运算或高速实数运算,则是应用系统分析或设计工程师的事情。

使用特权

评论回复
26
liying07852| | 2010-10-28 10:24 | 只看该作者
感觉在控制应用中需要浮点计算的场合基本没有。大量的浮点计算往往应用在通用型计算机上。否则需要单片机做什么?

使用特权

评论回复
27
eydj2008| | 2010-10-28 10:32 | 只看该作者
21# mcuisp

不是高手 来学习的

我在处理离散和非线性问题的时候,碰到这个问题,有DSP多好啊

不过现在已经用上了 STM32硬件除法,单周期乘法  再采用取表法,速度还算跟得上

只是性能嘛  就差了,因为曲线 还不是很平滑,插值会一阶一阶的。

还请多多指教啊

使用特权

评论回复
28
yixiupu0| | 2010-10-28 13:00 | 只看该作者
我的理解 浮点计算 = 整数运算 + 小数点的位置计算 多出来的运算量就只有小数点的位置计算

使用特权

评论回复
29
txcy| | 2010-10-28 15:19 | 只看该作者
没有做过相关的产品,帮顶一下,顺便学习一下:lol

使用特权

评论回复
30
香水城|  楼主 | 2010-10-28 17:39 | 只看该作者
题:“什么样的MCU产品需要使用浮点计算?”

文:“....我很好奇,什么样的应用需要用到浮点运算?要求的性能是多少?....”

文不对题....

浮点运算,原则上实数运算就需要。
硬件浮点运算,原则上快速实数运算就 ...
HWM 发表于 2010-10-28 10:01


在我们做MCU器件的这个行业中,"应用"就是指如何把MCU应用到系统中,当然我们的目标不是研发而是批量上市的产品,所以我们往往把"应用"或应用领域与"产品"等同看待,有时说出来时也就没有区分了。

再看了一遍帖子的标题,可能有些语病,"什么样的MCU产品需要使用浮点计算?"应该改为“什么样的内嵌MCU的产品中需要使用浮点计算?”,这样是不是更清楚些? :lol

我的重点就是希望知道,哪些应用MCU的系统或应用MCU的产品中需要用到浮点运算?

使用特权

评论回复
31
wwwq| | 2010-10-28 21:04 | 只看该作者
看了半天,香版主怕是为了以后推广cortex m4做准备的吧,freescale出来了,st应该也快了
不过我们倒是用过,也是控制领域,通用控制器,采用fpga作为浮点计算器。期待st的m4

使用特权

评论回复
32
mcuisp| | 2010-10-29 23:34 | 只看该作者
LS,cortex m4并不比m3浮点更强吧?

使用特权

评论回复
33
selina1983| | 2010-10-31 20:20 | 只看该作者
当然需要  实时控制 AD采样 PID SVPWM什么的  还有就是如果用整数的话 数据量很大

使用特权

评论回复
34
airwill| | 2010-11-1 15:32 | 只看该作者
同意 eydj2008:
其实在控制领域里, 很多地方需要浮点运算.且不说矢量控制, FFT数字滤波,PID运算这些复杂算法.
就说简单的步进电机速度控制, 由于单片机只能控制时间单位(通过时钟脉冲计数来实现), 于是出现了倒数计算, 一个非线性的变化. 这时候如果用浮点数, 可以很轻松地表示这个可能的范围(不需要担心溢出问题).
很多地方都需要浮点, 然而普通的单片机因为没有浮点的计算能力, 所以程序员们不得已而采用迂回的方法, 先转换成整数或定点数来计算. 为了效率而牺牲代码的可读性和算法的简洁性.
就说 X86 平台上的软件. 因为处理器有着高效的浮点单元, 要我们再编控制程序, 那么常用的数据控制变量, 如速度, 温度,电压,电流, 电阻, 时间, 频率 这些不具有散列特性的变量, 不都是会用浮点数吗
所以, 即使是简单的控制系统, 不是里面用不到浮点数, 而是实实在在地在躲避它. 处理器没有能力, 也就是没有办法的办法.

使用特权

评论回复
35
IJK| | 2010-11-1 17:58 | 只看该作者
也谈一点看法,这里说的浮点运算应该是指 double双精度类型吧,因为float单精度类型的精度并不高(它的字长才32位)。

使用特权

评论回复
36
eydj2008| | 2010-11-1 19:03 | 只看该作者
性价比嘛,为了省钱,是啊“没有办法的办法”
以前他们用8位 普通MCU控制电机呢。。。
比如电机的速度要求实时性,一般要求得在1US内计算出速度值  哪能容你慢慢用普通的模拟DSP计算。

使用特权

评论回复
37
MyLovetus| | 2010-11-9 09:08 | 只看该作者
软浮点运算函数库和MCU内部有浮点运算单元好像谈的不是一回事吧?
大家都在哪里拿软件浮点运算库同香板在讨论MCU中的浮点运算单元。

使用特权

评论回复
38
STM32W| | 2010-11-9 09:14 | 只看该作者
该不会是为ST的Cortex-M4造势吧

使用特权

评论回复
39
byeyear| | 2010-11-9 10:56 | 只看该作者
我们有个产品,外接传感器,用户可能会换传感器,换好后重新设置灵敏度(浮点数),传感器信号经模拟电路放大处理后送AD,CPU读取AD数据后乘上传感器灵敏度,将计算出的值显示给用户。不同的传感器灵敏度差别很大,不方便转定点计算。

使用特权

评论回复
40
香水城|  楼主 | 2010-11-19 13:56 | 只看该作者
还剩几天,顶一下。

使用特权

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

本版积分规则