打印

一个功能的实现方法,大家帮我看看哪种更合适?

[复制链接]
1393|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wilt|  楼主 | 2007-3-9 08:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我设计的一个模块,出厂之前需要一次调试过程,出厂后到正式使用场合这个调试功能被屏蔽掉。里面主控是一块带DAC输出的MCU.
这个调试过程大概是这样的:烧写MCU完成之后,由PC与MCU通信,控制dac输出
在一定范围内变化,这个变化会引起整个模块输出的变化,模块输出的变化反馈到PC机,然后由PC找到最佳模块输出值(这个值是确定的),找到此时对应的dac输出值。

我的想法是:预先在MCU的flash里设置一块规模不大的表格,MCU预置这样一个功能让dac输出按照这个表格变化(最大预设100个点,实际变化只需要50个点左右就够),PC与MCU通信,启动这一功能,同时PC接收反馈的模块输出值(与dac输出值肯定是一一对应的了),找到最合适的模块输出值的位置,就可以找到最合适的dac输出值。

其他同事提出另一个想法:让MCU完全在PC控制下工作,每一次PC控制MCU,让dac输出一个值,pc得到对应反馈的模块输出值,并判断与最佳输出(确定的)相差多远,相差远则增大调整步长,近则用较小的调整步长;按照这个步长再调整dac的输出,再一次得到模块输出值,作判断。。。如此循环,直到达到模块最佳输出值,此时对应的dac输出值即是最合适的。

我觉得我的想法通用性更好,而同事的想法可能要求更高的“智能性”,也要求更多的循环和中断;如果在一致性较好的情况下,我的想法可能更容易实现;而同事的想法可能需要更多的资源。不知道我对此的判断是否有道理?
3x!
//bow

相关帖子

沙发
lixun00| | 2007-3-9 10:22 | 只看该作者

首先问下,这个值是随机的还是有一定规律

使用特权

评论回复
板凳
xwj| | 2007-3-9 12:07 | 只看该作者

得看输入值和输出值是否呈线性关系或有规律可循

如有一定得关系尝试2次即可贴近,再尝试2次即可得到很小的误差了

使用特权

评论回复
地板
HWM| | 2007-3-9 12:20 | 只看该作者

最理想的方法是:二分法搜寻

使用特权

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

本版积分规则

1

主题

1

帖子

0

粉丝