用恒流的方式就不谈了,对于0.5度分辨率的系统,用恒流源也太奢侈了。
用RC也完全问题,如果你的采集电容为0.1uf的话,你可以计算一下在100K时的充、放电时间,呵呵,一般都小于几百MS的拉,在这个短暂的时间内,电容容值出现剧烈的波动的可能基本没有,即使有,也完全可以通过软件滤波把这一组数据剔除出去。
指令执行的时间可以忽略不计,呵呵,一般几条指令的时间误差根本就是无所谓的,如果用中断的方式的话,更可以尽量减少指令执行带来的时间误差,不过IO口的门限不恒定确实是个问题,但不恒定主要是和IO口上电流的大小相关的,考虑到温度发生突变的可能很小,所以充、放电电流突变的可能也很小,而且对于一个0.1度分辨率、1度精度的温度测量,这点突变影响甚微,也可以不予考虑,但当需要做0.35度以上精度的测量时,这个突变还是要考虑的,此时,可以改为使用电压比较器来做。
一般来说,热电阻RC的普通做法,RC方式可以达到MCU自带8位AD的效果,采用合理的软件滤波、辅助硬件电路等等,可以达到MCU自带10位AD的效果,如果是精心设计代码再辅助稍微复杂一点的软件滤波并辅助稍微复杂点的硬件电路加上合理的元件选择,达到MCU自带12位AD效果的可能完全存在。
|