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

2010-3-28 16:49 3457 10 12 分类: 模拟

   
       碰到一哥们号称挺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

文章评论2条评论)

登录后参与讨论

用户323211 2010-9-21 12:55

写的真不赖 说实话 我基本上很少去考虑片上存储够不够用的

用户181324 2010-4-11 23:50

说的好,很有教育意义

用户55695 2008-3-5 13:25

好东西
相关推荐阅读
bjshion_407728712 2012-06-11 08:59
忽然明白逝去的师傅们传递的一种真实
一个大家所应该秉持的风范是交出去更多,留给自己的是接下来的努力,十多年前俺和今天一样穷甚至更穷技术的时候,没人理俺只能靠打杂工东一榔头西一棒槌的学,期间做过传感器,模拟电路设计,干过现场施工……夸...
bjshion_407728712 2012-05-11 21:52
再认识模拟应用设计中正确的跟随
半夜睡不着,想起白天和一个做AE老朋友的朋友聊起他最近的工作,他比我年轻得多,现在无非是各种单片机程序工作,谈论包括其中有些客户需要仿造某电动车的电机驱动板子,某些人怎么仿照兰吉尔的超声波仪表之类...
bjshion_407728712 2012-05-10 14:14
一种包容的心情理解今天的模拟微弱信号检测行业前景
最近放下啤酒罐坐下来自己亲自动手设计一些仪器的前置放大器电路,发现自己已经生疏了很久的东西想捡起来还真费点劲,这与数年懒惰的性格有关。想找个明白些的人聊聊是否有何更好的思路发现也很难,个人感觉干这...
bjshion_407728712 2012-05-10 08:57
新年里的乐事
      新年伊始,由美国两家模拟类半导体巨头TI公司和ADI公司共同友情援助,于中国德州成立了旨在以在中国推广模拟半导体器件应用和高端涉及模拟类仪器应用设计为主的的德州模拟器件仪器公司(简称T...
bjshion_407728712 2012-05-09 18:36
寻找技术圈里未来十年的阿甘
做技术的日子里有时真要耐住寂寞,好多时候一眨眼机会就过去了,这和看流星一个样,你想看到那一缕光就需要长时间关注那片天空。庆幸自己没有从俗去为了多不哪里去的钱去改变自己的航向,继续坚持自己的方向,包...
bjshion_407728712 2012-04-18 08:35
韩非子很温柔,唐鸿宾老爷子也要发愁
近日处理小信号,被搞得焦头烂额,期间试验了N多种方法,可以说是我做技术以来最健艰苦的一段,24位AD采集完数据进DSP做“软相关”也没搞定整个噪音,最后还是安下心来决定用模拟的锁相放大思想解决这种...
EE直播间
更多
我要评论
2
10
关闭 站长推荐上一条 /3 下一条