基于MSC1201的温度控制系统设计
,在本系统中选用AIN0输入AD590的输出电压V(T),将2.732V作为差分信号负端输入到AIN1,MSC1201可以自动检测这些信号输入引脚是否开路或短路。
另外,该电路还可以检测自身温度,当输入多路选择开关的配置寄存器全部设为1时,电路内的测温二极管就连接到ADC的输入端,此时其余输入通道开路,这有利于器件自身的保护,当芯片温度过高时,可以通过强制电路进入空闲模式使系统降温。
通道可以通过寄存器ADMUX来选择,如下所示:
其中,高4位决定差分正端输入通道,而低4位决定负端输入通道。
3.3 放大器
通常情况下检测到的信号很微弱,需要进行放大。而MSC1201内置可编程增益放大器(PGA)的增益可以设为1、2、4、8、32、64、128。通过使用PGA可以提高ADC的有效分辨率。例如在信号电压范围为±2.5V时,若PGA增益设为1,则ADC最小分辨率为1.5μV;当PGA增益设为128、信号电压范围为±19mV时,ADC的分辨率为75nV,改变PGA增益会使放大器输入阻抗变化,但通常放大器的输入阻抗很高,一般不会对输入信号产生影响。放大器的放大倍数由寄存器ADCON0的低3位确定。
3.4 信号调理
在温度检测中,输入环节会不可避免的引入某些误差,使输入信号产生不同程度的畸变。为了消除这些误差对系统的影响,需要对输入信号进行调理。
3.4.1 ADC补偿
通过使用寄存器ODAC,PGA的模拟输出可以获得最高能够达到测量电压范围一半的偏移补偿。寄存器ODAC是8位,最高位为符号位,表示补偿的正负,其余7位表示补偿的大小。由于ODAC引入的只是对PGA的模拟补偿,因此并不影响ADC的测量范围。
3.4.2 ADC校准
基于MSC1201/02的数据采集系统的偏移和增益误差可以通过校准来减小。寄存器ADCON1的CAL2:CAL0可控制校准。每次校准需要7个Tdata(数据采集时间)周期来完成。
完成校准必须在输入端施加信号,再由器件计算出偏移量以补偿系统偏差。在进行系统偏移校正时,需要输入0V或很小的电压信号,并读取输出结果,如果结果为正,说明转换中存在正偏移误差,应在结果中减去该偏移量。反之,如果结果为负,就要加上该偏移量。
系统增益校准需要输出满量程信号,并测量输出结果来实现增益校准。增益校准实际上就是调整放大器的输出信号斜率以补偿实际输出与理想输出的误差。
系统上电后就要进行校准,而在电源电压、参考电压或PGA增益发生变化时要重新进行校准。当校准完成时,ADC的中断标志位变为高电平,在程序中可通过检查该位来判断校准是否完成,若校准完成,此时输入数据才有效。
3.5 A/D转换
在A/D转换中的调制器是二阶系统,调制器工作频率为fMOD,该频率与fACLK有关,而fACLK可以在模拟时钟寄存器(ACLK)中设置,其关系式如下:
fMOD=fCLK/[(ACLK+1)64]=fACLK/64 (3)
整个A/D转换的数据输出率为:
fDATA=fMOD/数据抽取率 (4)
数据抽取率从A/D转换结果中取得数据的比率,如抽取率为10中取1,其含义就是调制器最近输出的10个数据进行处理(如取平均值),其结果就作为本次A/D转换的结果。这里的处理工作是由数字滤波器完成的。
A/D转换在缺省条件下使用内部2.5V作为参考电压,此时AGND引脚必须连接REFIN-引脚。而REFOUT/REFIN+引脚应该通过1只0.1μF的电容器接地,同时电容器应尽量靠近引脚,MSC1201也可以使用外部参考电压,需要通过ADC控制寄存器ADCON0来进行选择。
3.6 数字滤波
数字滤波可以使用快速设置滤波器、Sinc2或Sinc3滤波器。
为了使系统的A/D转换具有低噪声、响应快速的优点,笔者按以下策略来选择滤波通道:当数据输入通道改变时,系统将在接下来的2次转换中使用快速设定滤波器,而其中第一次的转换结果又将舍弃。紧接着依次使用Sinc2或Sinc3滤波器以改善噪声性能。
3.7 CPU
MSC1201内置的FLASH具有100万次的读写次数,数据可以保存100年,可以自由地在FLASH中划分数据存储区和程序存储区。MSC1201拥有自举ROM,256字节RAM、128字节特殊功能寄存器,具有4组bank工作寄存器,当前程序只使用一组bank寄存器。通过改变当前bank寄存器可以快速切换程序上下文环境。这些设计极大方便了系统的设计。
由于MSC1201系列处理器使用更高效的15型处理器核心,所以在使用相同外部时钟的情况下它的指令执行速度比标准51型处理器快1.5-3倍,在使用相同的代码和外部时钟的情况下该处理器的吞吐量比标准51型处理器高2.5倍。
因此,工作于33MHz的MSC1201处理器运行能力等于工作于82.5MHz的8051核,这将有助于设计者降低处理器的运行频率,降低系统功耗并减小系统噪声。
3.8 显示
- 多个AD9779 TxDAC器件的同步(11-14)
- 如何收敛高速ADC电路(08-28)