单片机扩展如AD功能,才能使其仍具有极大的生命力。以前用过自带16位AD的单片机,也开发过DSP的项目,外部扩展一片16位AD。都是考虑在选用器件上提高AD精度,从没想过扩展微处理器精度的方法。看了《提高PIC16C711单片机片内A/D分辨率的方法》这篇文章http://article.ednchina.com/CPUDSP/20070825090146.htm,觉得豁然开朗。
如文中提到的方法,用8个电阻组成分压电路和模拟开关配合的方式,扩展AD分辨率为11位。这样推下去的话,理想的情况下16个电阻配合合适的模拟开关就可以得到12位精度。的确是个好方法,在条件有限或是单片机定型后扩展上时候派上用场。
这篇文章给我最大的启示,不仅仅在于一个扩展AD精度的方法,更多的是一种思路。一味寻找高精度高性能器件,其实也许会因为价格、等级的问题不能选到合适器件,是否可以找到某种替代方法来解决问题呢?我正在做的一个项目中,需要对若干开关状态的判断,原先采用控制功能切换器件组成不同的通路,进行判断,但由于核心器件更换,控制芯片功能减少,必须考虑其他方法。于是只能考虑了改用电阻与器件的并联,开关闭合相当于短路了相应电阻。将各开关配以不同阻值的电阻,通过对电源分压值的检测就可以判断电路中开关的状态。这种方法在成本上大大减小,测试方法也更灵活,消耗资源也少了很多。
其实很多时候,我们都需要考虑这种不得已的方法,但正是这些不得已,才更能体现出设计的巧妙。就像是小学生解除了数学题的开心,hoho
用户461316 2008-11-17 17:06
用户63077 2008-9-2 15:39
用户77514 2007-11-13 17:47
用户1328406 2007-9-25 22:25
用户392450 2007-9-12 13:28
ash_riple_768180695 2007-8-29 13:45
好文章,通过离散器件搭建电路解决集成器件的不足。采用这一思路的设计在EDNChina的《设计实例》中有许多。这样构思巧妙的设计,不花些功夫反复思考是看不懂的;如果不能抽象出其设计深层的原理,也是看热闹而已。所以我认为EDNChina的《设计实例》是整本杂志中含金量最高的专栏。
在上述文章中提到的提高位数的方法有一定的局限性:11位结果的低3位是有误差的,误差来源于精密电阻分压误差、差分放大器放大倍数误差、放大器本身的非理想特性。你看是不是呢?
该电路深层次的原理又是什么呢?