原创 一个有关0.0625℃的运算想到的问题

2010-11-9 17:13 3808 19 36 分类: 消费电子

碰到一哥们号称挺NB的嵌入软件工程师,看了他的代码后就欧拉,事情是在一个只有4K代码的单片机接2个DS18B20测温传感器,都知道DS18B20 输出数据只要乘以0.0625就是测量的温度值,这哥们说程序空间怎么也不够,实际上程序只有简单的采集两个DS18B20的数据转换成温度值,之后在 1602液晶上显示,挺简单个程序,怎么也想不通为什么程序空间不够。只读了一下代码发现程序就没动脑子,真的用浮点库把DS18B20数据直接乘以 0.0625了,那程序不超才怪呢,稍微动动脑子也会知道0.0625不就是1/16吗,把DS18B20的数据直接右移4位不就是了(当然要注意符号),这右移程序可十分简单还省空间,问题很好解决,空间自然也就够了。

现在想来嵌入处理器确实是进步了,程序空间是越来越大,数据RAM空间也越来越大,导致很多人在写程序的时候真的是什么都不顾,借着C语言的灵活性真是纵横驰骋,压根也不讲个程序效率和可靠性。正如前些日子见到一孩子用ARM cortex-m3处理器给人接活写个便携表的1024点FFT算法,本身12位的AD系统,这小家伙直接到网上下载了浮点的FFT算法代码就给人加上了,结果整个程序死慢死慢的,人家用户可不买单啊,这时要动动脑子把数据直接变成乘以某个数变成整数后用定点FFT处理,之后再把数据除一下不就行了。速度自然也快了,而且也能省下空间。实际当中我们做嵌入软件很多时候犯懒都忽视程序执行效率问题,是都能实现功能,但有时候就是没法谈性能。

我几次碰到这样的工程师,直接把传感器的信号放大后进嵌入处理器的AD,也不看看AD数据是否稳定有效,直接就进行FFT运算,那FFT结果真是热闹,不难看出混叠很严重,于是又机械地在FFT基础上再去衍生算法,系统程序越做越大,速度越做越慢。实际上也很简单的事,在传感器放大信号进AD之前来一级抗混叠滤波基本也就解决了,大有所谓嵌入软件高手的概念是程序几乎是万能,实在解决不了就换大程序空间更高速的处理器,整个恶性循环。

经常听说现在流行低碳族,我想出色的嵌入软件工程师最容易成为低碳一族,只要让代码高效那处理器频率自然可以灵活降下来,自然耗电也就少了,二氧化碳排放也就少了。想想目前到处都是嵌入处理器,代码条数看来也别有效果。

PARTNER CONTENT

文章评论17条评论)

登录后参与讨论

用户1561824 2012-5-10 11:53

浮点。

用户1334427 2011-8-21 10:50

呵呵,不错 ,写的很好

用户1609034 2011-6-15 19:28

学习了,谢谢

用户1606846 2011-6-15 16:02

技术一半是知识,一半是经验啊!

用户1237777 2011-6-15 10:33

不错 ,写的好

用户1584085 2011-2-12 13:37

我就是那种小屁孩……

用户1578391 2010-12-8 16:24

"出色的嵌入软件工程师最容易成为低碳一族" 真是篇实在的文章!学习了!

用户1080971 2010-11-19 11:20

是啊,很多人相当自负,也不管对错

用户1039176 2010-11-15 08:02

搞软件的数学要好才行,那他才会用数学的思维来解决问题。

用户1017777 2010-11-14 10:34

写得非常好。我喜欢 。这才是嵌入设计的思维方式

相关推荐阅读
用户1572304 2010-11-25 14:12
大功率线性电源控制环中部分控制策略及细节(一)
没有必要把所有简单技术说复杂了,只是对细节的把握要更给予关注,十分感谢师傅当年让我学会用分立件搭个7805给他看看的想法。最近在设计大功率线性恒流恒压实验设备,领教了老师傅用大功率IGBT做调整管...
用户1572304 2010-11-11 14:59
近日忽视的细节
忙于手头的控制检测系统的开发,也没时间更新blog了。由于没有合适人只能自己再次连程序代码自己也要写,自己即将完成的书初稿也不得不停下来,争取更多的时间把系统建立好。 为了鼓励自己,除了每天给自己买几...
用户1572304 2010-10-26 18:00
第一章、电源设计到位要注意的―――固本(7、结论)
固本――本是中医的一个说法,不管有多少信仰西方哲学的还是什么哲学家批评这个,我这里没水平不会与之辩论什么,我只是从电路设计上理解我的固本,电路设计之根本就是电源,数年前师傅让我修一块其设计的五位半精度...
用户1572304 2010-10-26 17:50
一种包容的心情理解今天的模拟微弱信号检测行业前景
最近放下啤酒罐坐下来自己亲自动手设计一些仪器的前置放大器电路,发现自己已经生疏了很久的东西想捡起来还真费点劲,这与数年懒惰的性格有关。想找个明白些的人聊聊是否有何更好的思路发现也很难,个人感觉干这行的...
用户1572304 2010-10-20 17:19
绿色工程师的责任与困惑
已经在这行业做了十多年,年龄跨越了三大乐章,孩子都2岁了。目前失业做些特殊产品,面对这个年龄的困惑,很有感触,现在开始学做绿色设计,学学绿色和平组织,在做技术的风烛残年里争取用自己的设计尽量为节能环保...
EE直播间
更多
我要评论
17
19
关闭 站长推荐上一条 /3 下一条