身为上层软件人员,如何向硬件开发者及底层软件开发人员提要求:各种信号的性能指标
身为上层软件人员,如何向硬件开发者及底层软件开发人员提要求:各种信号的性能指标先介绍下上层下层的分工:
这里我们上层软件如果要读电压,就直接读一个变量;底层把ad的值滤波,标定处理后放入对应变量即可。
所以我们就需要对这些参数提指标,不然为了滤波做复杂了,实时性都不保。
实测参数主要是电压,电流,温度,我想到是提一下指标:
测量范围 0-400
精度 ?V
线性度 TBD
迟滞值 < ms
转换时间
漂移 ppm/℃
像分辨率我就不考虑了,让他们自己选择。
以上参数中,我肯定还欠缺什么,希望有硬件,软件高人都指点下,先谢过各位。
如果各位公司有模板的话,希望透露透露,嘿嘿 看得出,你们是分层开发的。
个人以为,上下层之间的交互采用直接读变量的方式并不是一种好办法。底层应该封装成函数,上层调用底层函数得到自己想要的功能和信息。至于怕把滤波算法做复杂了,可以用一个底层函数做设置,以设置它的滤波深度。这样,想要好效果时设置成高深度的滤波等级,想要实时性时设置成低深度的滤波等级。
至于所有不确定的东西,可以采用设置的方式,等到调用的时候来设置。
比如可以这样做:
int GetAdResult(void);
void SetAdFiltDepth(int NewDepth); 谢谢WithSword指点,目前是我们公司的硬件水平不高,所以需要定指标,然后外包出去。以前自己公司弄硬件的时候就从来没提过什么指标,现在要签合同,所以棘手得很。
至于软件上如何合作我还没考虑到这么细致,但是听您这么说来,又学了不少。 有些东西 例如测量范围,采样精度 这些东西是根据系统的要求和功能来确定的。
你应该提系统的整体要求。而不是针对具体的某一个参数。 由于仅仅是硬件外包,如果针对功能提要求,那么对方硬件不达标,会推脱我软件有问题,所以,我只有根据信号的指标来定他们的硬件是否合格。
至于指标中具体数字大小可以和对方商讨,但是如果项目少了,那对方应该不会主动给合同增加项目,提高难度的。 先介绍下上层下层的分工:
这里我们上层软件如果要读电压,就直接读一个变量;底层把ad的值滤波,标定处理后放入对应变量即可。
----------------------------------------------------------------------------------------------
底层的话,一般是处理到归一化,标定的话,是否放到上层,是否有标定的人机操作。还有就是这个变量的话,肯定时全局的,有个保护问题。
所以我们就需要对这些参数提指标,不然为了滤波做复杂了,实时性都不保。
--------------------------------
要是外包的话,这个倒是可以考虑自己做 ,只是提一个硬件的指标,然后让对方提供些底层的驱动函数,你这边再做一个中间层封装,主要就看你系统的要求,那些是硬件保证的,哪些是软件调整的。
实测参数主要是电压,电流,温度,我想到是提一下指标:
测量范围 0-400 |这个没啥说的,
精度 ?V |传感器、调理电路、ADC转换,系统考虑。
线性度 TBD |传感器、调理电路、ADC转换,系统考虑。
迟滞值 < ms |主要在传感器
转换时间 |ADC转换
漂移 ppm/℃ |传感器、调理电路、ADC转换,系统考虑。
像分辨率我就不考虑了,让他们自己选择。
以上参数中,我肯定还欠缺什么,希望有硬件,软件高人都指点下,先谢过各位。
如果各位公司有模板的话,希望透露透露,嘿嘿 你们需要一个架构师:-)
硬件的参数有很多,比如采样次数,工作温度范围,供电方式,电源消耗,稳定性等等等等。而且这个是和你们的产品密切相关的,别人说不出来最合适的东西。
还有你验收的适合可以让他们写一个硬件和底层软件的测试程序,这样如果有问题不会和你的应用纠缠在一起了。
页:
[1]