引言
传统上,人们一直采用热敏电阻、热耦或分离式温度测量芯片来测量系统温度。而且,随着系统速度越来越快,系统的相对尺寸越来越小,温度测量也变得越来越重要。然而,若需要测量板卡上多个测试点的温度,这些器件的成本会迅速增加。这反过来产生了对高效、紧凑及低价的温度测量方法的迫切需求,其应用范围遍及高速计算机、电信网络交换设备以及工业温度控制,诸如便携式电子产品、生物医学器件、电机控制以及汽车电子。
由于及时和准确地修正温度在许多应用中都非常关键,当今的智能系统都采用了冷却系统,并根据系统内部情况平衡其运作。这类系统还有其它优点,即可使用板卡上的测温二极管(或采用二极管接法的晶体管)跟踪和测量特定器件的温度。这样,当出现温度异常时,就能提示系统的运行情况,指出部件当前运行不正确。而智能系统此时就可作出响应,采取修正措施,并/或向系统管理部分给出超界报警。
除了完成其它系统管理任务外,当今的混合信号FPGA也是一种智能热管理系统,可让设计人员以低成本轻松、准确地测量多个位置的温度。
使用混合信号FPGA检查和测量电压
在研究恒流下二极管绝对温度与其正向电压间的关系时,二极管正向压降随温度的变化大约为2mV/C。为提高测量精度,并排除不同二极管间的差异因素,要利用两个已知的电流值及测量值的比率数据。图1所示为温度对二极管电压和电流的影响。
该测量值由如下方程表示:

T=DV*q / (n * k * ln(IH / IL) (1)
其中,T=绝对温度,DV=二极管在高电流和低电流下的电压差,q=1.602×10-19库仑(一个电子的电荷量),n=1(理想因子,这里假定为1),k=1.38×10-23J/K(波尔兹曼常数),IH = 高电流强度,IL=低电流强度。
本文采用Actel的混合信号FusionPSC(可编程系统芯片)在真实世界的应用来作为案例进行说明。该混合信号FPGA将提供两个已知 (100mA 和 10mA) 的电流源 (见图2),并通过内置的模数转换器 (ADC) 测量电压差。假定二极管处于室温,检定电压差值DV。
从方程(1)中解出将要送到ADC的转换电压,即如下的方程(2);进而得到混合信号FPGA所测量出的电压值。
DV=T* n * k * ln(IH / IL) / q (2)
DV=298* 1 * (1.38x10-23 J/K) * ln(10) / (1.602x10-19C)
DV=298* 0.00019835 = 59 mV
在室温下,电压值相对较小。混合信号FPGA中的温度监视电路内置一个12.5倍放大器,可将预测信号放大,从而使温度信号的测量更精确。因此,考虑到电压信号到达ADC前会被放大,需要对方程(2)进行修改,即:
DV=(T* n * k * ln(IH / IL) / q ) *12.5
DV=(298 * 0.00019835) * 12.5 = 738 mV
噪声滤除
通常,温度测量值都难免包含讨厌的噪声。为去除噪声,通常的做法是将多次测量值平均,并采用这个平均后的结果。好在温度是个变化相对慢的参数,因此测量多次(常常可达1,000次)也不必担心实际信号变化。通过过滤系统级噪声,混合信号FPGA能轻松地对这些测量值取平均。所使用的软件工具一般也提供方便的图形用户接口(GUI),用户可用它来设置平均或过滤因数。