0至20-mA电流通过一个适当值的电阻R2转换成电压,进入一个精密的运算放大器中。在放大器的正向输入端维持恒定的电压,从而使连接到负向输入的信号电平得到正向偏移。0至10V的信号,如来自于电位器的信号,也相应地按照0至20-mA信号那样比例变换成类似电压,并被累加到AnalogDevicesOP1177放大器IC1的负端子中。
将信号偏移到0V以上就会产生类似于正向单端模拟信号的信号。AnalogDevices的AD8138差分ADC驱动放大器驱动AD7400。增益也随之相应变化使产生的信号位于±200mV内,这一范围正是ADC所需的。最后,信号通过一个由R
AD7400设备有两路输出:MCLKOUT和MDAT(图2)。MCLKOUT是一个10-MHz的时钟,可以同步调制的数据流MDAT。AD7400将MDAT解释为随时间变化的百分比。由于MDAT只在MCLKOUT的上升沿变化,电路必须将MDAT及MCLKOUT合并来创建一个微控制器可以计数的脉冲流。微控制器首先逆变MCLKOUT以防止在MDAT的过渡沿对非故意造成的抖动信号进行计数。图中显示了MDAT、逆变的MCLKOUT及产生的数据流。
脉冲数据信号和逆变的MCLKOUT分别输入微控制器上的单独定时器/计数器。(图3)。TIMSP430F2274提供了两个16位计数器,可支持快达16MHz的运行。在时钟计数器发出溢出中断信号时,电路通过对数据计数器进行采样来测量ADC值。在此应用中,在环形缓冲器上运行一个平均数的数据测量,可以方便地过滤数据。