原创 基于ACPI的高精度微处理器系统温度监视芯片ADM1023

2008-3-20 13:13 2634 10 10 分类: 模拟
摘要:ADM1023是由美国ANALOGDEVICES公司生产的温度监视芯片。该芯片具有高精度、双通道工作等特点。文中详细讨论了ADM1023的主要参数、结构性能、工作原理及应用设计等问题。
    关键词:温度;通道;ACPI;SMBus;ADM1023


芯片介绍

  ADM1023是一种双通道数字型温度测量及报警集成电路。它以基底型三极管如2N3904(2N3906)等低价分立型三极管为传感器来对微处理器的温度进行测量。这样可有效地消除三极管基极和发射极之间的电压差值以提高测量精度。对于本地温度通道,ADM1023的测量精度与分辨率均为1℃。而对于外部温度通道,ADM1023的测量精度为1℃,而分辨率则高达0.125℃。从而可使系统设计师有效地减小温度隔护带以改善系统性能。ADM1023采用双线系统总线(SMBus)结构,并支持SMBus标准。它的上下温度限可通过串行总线编入芯片。ADM1023采用16脚QSOP封装形式,它具有200μA的最大工作电流、1μA维持电流和3V~5V工作电压等特点。它已被广泛应用于台式电脑、笔记本电脑、远程通讯设备、工业控制器和精密仪器等需要温度控制的系统中。ADM1023的内部结构如图1所示。


2  主要参数及引脚功能

2.1  主要参数
    ADM1023的主要参数如下:
    ●本地温度误差:-1.5~+1.5℃;
    ●外部温度误差:-1~+1℃;
    ●引脚偏置电流:50μA;
    ●供电电源:3~3.6V;
    ●复位电压阈值:0.9~2.2V;
    ●转换时间:65~70ms;
  ●逻辑输入电流,IIH,IIL:-1~+1μA;
    ●SMbus低电平时间:4.7μs;
    ●SMbus高电平时间:4μs;
    ●SMbus时钟频率:100kHz。


ADM1023的内部结构图


ADM1023的引脚排列图


2.2  引脚功能
  ADM1023采用16脚SQP双列封装,图2为其引脚排列图,各引脚的功能如下:
  NC(1,5,9,13,16):不连接;
  VDD(2):接正电压3~5V;
  D+(3):连接外部温度传感器正端;
  D-(4):连接外部温度传感器负端;
  ADD1(6):芯片高位地址,具有0、1和NC三态输入门;
  GND(7,8):接地端;
  ADD0(10):芯片低位地址,具有三态输入门;
   200822693933928.jpg该端可用于中断和SMBus报警的逻辑输出;
  SDATA(12):SMBus串行数据口;
  SCLK(14):SMBus串行时钟口;
   
200822693937420.jpg(15):模式选择端口。


3 工作原理

3.1  工作原理
  ADM1023内部含有一个双通道A/D转换器(ADC)。该ADC的输入信号调整装置使其可以同时适用于本地及外部两种温度传感器。在正常工作时,ADC处于一种自主运行模式,通过模拟输入多路复用器可以选择性地采集片上及外部温度。采集到的模拟信号将被ADC数字化,其结果将被保存在本地温度寄存器和外部温度寄存器中。对于本地温度值,ADM023只保留其8位最高有效位(MSB);而对外部温度值,芯片将以11位二进制形式保存,其中8位MSB被存放在位于01h的外部温度值寄存器中,3个低位有效位(LSB)以左对齐形式存放于位于10h的外部温度值寄存器中。
    为减少PCB电路板电阻和时钟噪音等误差源给外部温度通道测量值带来的误差,ADM1023芯片采用了两个偏值寄存器(分别位于11h和12h)。其偏移值以11位二进制形式存放于其中。测得的外部温度值将自动地加上或减去该值。在此过程后,其结果将与外部温度的上下极限值(以11位二进制形式存贮在芯片上的6个温度极限值寄存器中)进行比较。一旦测量值超出范围,位于状态寄存器中的标志位将会发生相应的变化,进而使200822693933928.jpg输出变低。通过系统总线可对寄存器进行读写操作及实现对芯片的配置和控制。该配置和控制主要包括三个方面,一是使芯片工作于正常或等待状态;二是屏蔽或激活200822693933928.jpg输出;三是选择转换率。
    正常启动状态下,芯片的外部与本地温度默认值为-128℃。开始工作后,测量值在与极限值比较前会先存储。但如果芯片处在等待模式下,新温度值将不会在比较前被写入存储器,而会产生一个200822693933928.jpg输出。为消除此输出,可采用如下两种方法:
  (1)将本地与外部温度下限调整到-128℃,然后读状态寄存器;
  (2)如果测量值在温度范围内,可先退出等待模式,然后读状态寄存器。
3.2  测量方法  
  按传统方法,测量温度值可通过处于恒流状态下的二极管的负温度系数或三极管基极与射电极电压来获得。然而,通过这些方法获得的温度值需要通过校正。因为随着仪器的不同,三极管的VBE也会有不同的固有值。对此,ADM1023采用了一种新技术,该技术通过测量不同集电极电流下VBE的变化量来获取温度值。
  这种测量是把传感器的工作电流分别选为I和NI。然后将产生的波形结果通过一个低通滤波器降噪,再经过斩波稳零放大器进行调理与放大。最后将比例放大的VBE直流电压波形通过一个ADC来对16次测量结果做一个平均。
    对于外部温度传感器,整个信号调理过程如图3所示。值得注意的是,如果传感器在高噪音环境下工作,则应选择性地加上电容C(典型值2200pF,不得大于3000pF)以起到一定的降噪作用。


ADM1023的外部温度传感器的调理过程


4  应用设计

4.1  串行总线接口与地址引脚  
  主处理机可通过串行总线对ADM1023进行控制。一般而言,每个SMBus器件都有7位器件地址。当主处理机通过总线传送该器件地址时,它将作出响应。ADM1023有两个地址引脚ADD0和ADD1,它们可以使几个ADM1023同时工作于一根总线上,并可防止与其它芯片发生冲突。两个引脚都可以在三种状态下工作(NC,0,1),因此它们一共可以提供9种状态,其具体地址如表1所列。
4.2  串行总线工作流程  
  主处理器一般通过建立START状态开始数据的传输过程。此状态可通过在系统时钟线(SCLK)为高电平时触发串行数据线(SDATA)下降沿的办法来获得。所有与总线相连的从处理机都将响应START状态并判断接下来的8位数据(7位地址位和读/写位)。与此地址相对应的从芯片将在第9个时钟脉冲到来前的低电平状态时将数据线变成低电平。如果读/写位为0,主处理机将会对该芯片进行写操作。反之,将进行读操作。
    数据从第9个时钟脉冲开始在总线上传送。它包括8位数据位和1位芯片应答位。在传送过程中数据线传送数据的变化只能发生在时钟信号位为低电平时,而在高电平时则应保持稳定。一次读写操作中的数据位数由主处理机和附属芯片的处理能力决定。


ADM1023的器件地址表


  当传送结束后,芯片会进入等待状态。在写模式时,主处理机将会在第10个时钟脉冲时将数据线变高而进入此状态。在读模式时,主处理机将在第9个时钟脉冲前的低电平状态时将数据线变高以屏蔽掉应答位。然后,在第10个时钟脉冲前的低电平状态时将数据线变低并在进入第10个时钟脉冲后将它再变高而使芯片进入等待状态。
  ADM1023的一次操作只能是读操作或写操作而不能二者兼有。写操作包括1个或2个字节,读操作包括1个字节。在进行读写操作以前,被操作的数据寄存器地址要写在地址指针寄存器中。写操作的第一个字节则应指定操作寄存器在地址指针寄存器中的地址,而第二个字节才是要写入此寄存器中的数据位。图4为ADM1023的读操作时序。
    从寄存器中读数据时,如果在地址指针寄存器中存储的数值并不是所需要的数据寄存器的值,则需通过上述写操作的方法对其进行更改,此时没有数据位。其写时序如图5所示。
    当温度值溢出或外部温度传感器开路时,芯片将会有一个ALERT输出。实际应用中可以将几个200822693937951.jpg输出线进行与相连,这样,任意一个为低就会将共同线输出位拉低。200822693937951.jpg输出可作为微处理器的中断信号,或者用作一个200822693937510.jpg信号。SMBus上的附属芯片通常无法与主机通信,而200822693937510.jpg将赋予它们这种功能。当几个输出共同连成一个200822693937510.jpg信号时,任何其中的一个芯片因ALERT变低而使SMBALERT变低时将按以下步骤进行工作。


点击看大图


点击看大图


    (1)200822693938511.jpg变低。  
    (2)主处理机进行读操作并输出报警响应地址
    (3)200822693938667.jpg输出变低的芯片响应ARA,其地址被主处理机读取。  
  (4)如果多个芯片的200822693938667.jpg输出为低电平,低地址的芯片将享有优先权。
  (5)在ADM1023响应ARA后,如果故障排除,其200822693938667.jpg输出将变高。这时如果200822693938511.jpg仍然处于低电平,那么主处理机将继续传送ARA,直到200822693938511.jpg变高为止。
4.3  低功耗等待
  ADM1023可以通过硬件(给200822693938462.jpg引脚低电平)和软件(将状态寄存器第6位置位)来进入等待模式。当进入低功耗模式后,ADC停止工作,而SMBus仍然处于工作状态。值得指出的是,由软件和硬件两种方法获得的等待模式并不是完全相同的。当STBY引脚为低电平时,ADC处于完全不工作状态。但在状态寄存器第6位被置位而依旧为高电平时,可以通过对单次触发寄存器(地址为0fh)写入数据的方式来获得任意温度通道的单次触发转换。
4.4  温度传感器自检  
  ADM1023在D+输入端有一个用来探测外部温度传感二极管是否开路的检测器,它主要用于探测D+电压是否超过Vcc-1V(典型值)。每当转换开始时,芯片都会对检测器输出进行检查并在检测到错误时对状态寄存器的第2位进行置位。
    如果二极管短路造成ADC输出为-128℃(10000000 000)时,由于可测量最低温度为0℃,ADM1023会检测出是一个错误状态,而不是像其他温度测量芯片那样认为测得的温度是0℃。
  果使用中并不需要外部温度通道工作,可以通过将80h(-128℃)写入温度下限寄存器的方法来抑制报警产生。

5  电路连接及注意事项

5.1  注意事项  
  由于电噪声和外部温度传感器的测量电压比较微弱以及其它因素的影响,设计时的电路布局应符合以下原则:
    ●尽量使外部温度传感器与ADM1023靠近。考虑到时钟脉冲发生器、数据/地址总线和CRT的最大噪音等因素,外部温度传感器和ADM1023之间的推荐距离为4到8英寸。
    ●应使D+和D-两脚平行并尽量靠近,且都应拥有一个接地的保险丝。如果可能的话,最好在两脚下加一个接地面。
    ●可使用宽带来减少噪声。最小宽带和间隔以10mm为宜。
    ●尽量减少焊点,以防止热电偶效应。如果有焊点,必须保证它们在D+与D-两脚中都存在而且温度相同。
    ●应在VDD引脚加0.1μF旁路电容,并在D+和D-之间加2200pF的过滤电容。
    ●如果外部温度传感器必须远离芯片8英寸以上,则应使用双绞线连接(可达6~12英尺)。
    ●在更远距离(最高100英尺)时可以用屏蔽双绞线(如Belden#8451电缆),并用双绞线连接D+和D-,屏蔽接GND。屏蔽的远端不连接,以防止地循环。因为过长的电缆和过大的电容会影响测量。所以在应用长电缆时,应尽量减少或去除滤波电容。
5.2  应用电路  
  图6为一个ADM1023的典型电路连接,它通过屏蔽双绞线与分立二极管相连。ADM1023的SCLK和SDATA引脚还可以直接同I/O芯片的SMBus相连。图7为ADM1023与I/O控制器的连接方法。



ADM1023的典型电路连接



ADM1023的与VO的连接图

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /3 下一条