当朋友问到我的工作是什么时,我会告诉他们我是一个模拟电子工程师,下一个问题则会是,「那么模拟是什么东西呢?」我通常会使用温度感测来解释模拟的概念,告诉他们工程师有时候会使用传感器测量电压或电流的型式来"模拟"温度,为了进一步定义模拟的世界,我会告诉他们,这些电压或电流信号通常会被转换成一连串的"0"与"1"数字信号以便让计算机能够使用,有时候这样的解释已经足够,有时却不然。
上面的解释代表了温度传感器产品的演化,直到最近,大部份市面上的温度传感器还是提供模拟的输出,包括热敏电阻、RTD、热电偶以及新的硅芯片温度传感器等,但是在大部份的应用上,这些模拟输出的组件需要比较器、模拟数字转换器(ADC)或者是放大器,来处理这些模拟输出信号才能有效使用。
因此当芯片产品的整合度越来越高时,市面上就出现了拥有数字输出接口的温度传感器,这些组件以各种型式推出,由在超过特定温度时会发出警告信号的简单组件,到提供有可以设定温度范围、同时能够提供本身与远程温度的高整合度组件,因此,目前在选择上已经不仅仅是模拟或数字输出的型式选择而已,而是可以在众多不同的传感器组件中,选择最适合您系统设计需求的产品。
温度传感器的分类
在(图一)中我们提供了四种不同型式的温度传感器,其中A是理想的模拟输出传感器,它的输出电压为温度的完美线性函数,而B则为数字接口的传感器,可以连接到微控器上,在这里,温度信息通常透过串行接口以"0"与"1"的型式传送给微控器,在相同的接口上,数据也可由微控器送到温度传感器上,通常是用来设定警告(/ALERT)接脚输出启动的温度临界值,通常警告信号会在温度超过临界值时中断微控器,这种型态的组件通常也提供有风扇控制的功能。
![《图一 传感器与芯片制造商目前提供有四种类型的温度感测组件》](/art/2001/02/011354565824/p1-ok.jpg)
《图一 传感器与芯片制造商目前提供有四种类型的温度感测组件》 |
|
图一的C则代表"Analog Plus"型式的传感器,这类传感器通常拥有多种型态的数字输出,而所展现的VOUT相对于温度的曲线代表在超过某个温度时,它会切换数字输出的状态,在这个范例中,所谓的"Plus"代表的只是一个比较器与电压参考器,其他型态的"Plus"组件则会在组件被启动时,会以时间延迟的型式或频率与波宽等不同型式出现。
在图一中的D则是四类中最复杂的组件型式─系统监视组件(System Monitor),在数字接口型式的功能之外,这类组件通常还会监测系统的电源电压,并且会在电压高于或者低于透过数字接口所设定的临界值时发出警告,有时厂商也会在这类型组件中,加上风扇监视或控制等功能。在某些情况下,这类型的组件会被用来监测风扇是否正常工作,而较复杂的版本则会依一或多个量测点的温度值来决定风扇控制的方式。
以下将会介绍其中三种型式的温度传感器,至于系统监视型传感器由于种类多样,因此仅提供来描述完整的温度感测组件分类。
模拟输出温度传感器
热敏电阻与硅芯片温度传感器为相当常使用的模拟式输出温度感测组件,(图二)显示了电压与温度变化之间的线性关系,我们可以看出硅芯片温度传感器是比热敏电阻要好上许多的选择,不过在较狭小的温度温度范围下,热敏电阻也提供了合理的线性变化度与不错的敏感度,目前许多原本采用热敏电阻的电路设计,已经逐渐改变为使用硅芯片温度传感器。
![《图二 热敏电阻与硅芯片温度传感器的线性曲线比较》](/art/2001/02/011354565824/p2-ok.jpg)
《图二 热敏电阻与硅芯片温度传感器的线性曲线比较》 |
|
硅芯片温度传感器拥有不同的输出范围与偏移,例如某些硅芯片温度传感器的输出转换函数会与K成正比,有些则与℃或℉成比例,部份℃型式的组件还提供有温度位移的功能,因此可以在单一电源电压下量测负温度值。
在大部份的应用中,这些组件的输出会经过一个比较器或模拟数字转换器,来将温度信息转换为数字型式,除了需要额外的组件之外,热敏电阻与硅芯片温度传感器因为拥有较低的成本,以及在许多场合容易使用的优势而相当受到欢迎。
数字接口温度传感器
大约五年前,市面上出现了一种新型态的温度感测组件,这些组件内含一个数字接口,因此可以与微控器直接沟通,通常接口型式多为I2C或SMBus串行接口,也有很多采用SPI。除了将温度信息传送给微控器之外,这些接口通常也可以用来从微控器接收指令,这些指令通常为温度的临界值,会在所量测的温度超过临界值时,启动温度传感器上的一个数字信号来中断微控器,然后微控器就能够调整风扇的速度或降低微处理器的工作频率,以便将温度控制在允许的范围。
这种型态的组件通常提供有各种额外的功能,其中之一为远程温度量测,(图三)中显示了CPU如何透过这类组件来加以监测,大部份的高效能CPU都采用远程温度量测来加以监视,并在芯片中内建一个晶体管,以便提供内部温度值,透过芯片内晶体管的一个P-N接面温度特性的变化,可以用来量测CPU内部的温度;在其他的应用上,则使用一个独立的晶体管来达到同样的功能。
![《图三 能够量测远程CPU内的P-N接面温度的用户可控制温度传感器》](/art/2001/02/011354565824/p3-ok.jpg)
《图三 能够量测远程CPU内的P-N接面温度的用户可控制温度传感器》 |
|
另一个在这类感测组件,包括图三中传感器上的一个重要功能,则是能够在所量测温度超出所设定的高低温度范围时,提供给微控器中断信号,其他组件则只能够在温度超过"或"低于设定值时提供中断信号。以图三中的感测组件来说,这些设定值会透过SMBus传送给温度传感器,如果温度超过或低于所设定的范围时,警告(/ALERT)信号将会中断微处理器。
(图四)则为一个类似的组件,但却不只是监测一个P-N接面,而是四个加上本身的内部温度,由于MAX1668耗电相当地低,因此它的内部温度相当接近环境温度,而量测环境温度就可以监视系统风扇运作是否正常。
![《图四 能够量测本身温度以及其他四个P-N接面温度的用户可控制温度传感器》](/art/2001/02/011354565824/p4-ok.jpg)
《图四 能够量测本身温度以及其他四个P-N接面温度的用户可控制温度传感器》 |
|
在量测远程温度的同时也控制风扇为(图五)中组件的主要功能,用户可以在两种不同风扇控制模式中选择,其中在PWM模式下,微控器会依所测得的温度改变送到风扇信号的有效周期,以控制风扇的速度。使用这种风扇控制模式,比这颗组件所提供的另一种线性控制模式耗电要小上许多,由于有些风扇会因控制它的PWM信号频率而发出噪音,而线性模式则没有这个困扰,但是却需要付出耗电较高,以及需要加上额外电路的代价,不过通常这些额外的功率消耗相对于整个系统来说,还是相当地低。
![《图五 可以采用PWM或线性模式控制风扇的风扇控制器/温度感测组件》](/art/2001/02/011354565824/p5-ok.jpg)
《图五 可以采用PWM或线性模式控制风扇的风扇控制器/温度感测组件》 |
|
这颗组件也提供了会在温度超出指定范围时,发出中断微控器的警告(/ALERT)信号,同时也提供了一个称之为温度过高(/OVERT)的安全性输出信号,如果微控器或软件在温度上升到危险范围时死锁的话,警告信号很有可能就无法正常运作;而温度过高信号则会在温度超过设定值时启动,通常可以用来在不需微控器的情况下控制线路,因此在温度过高且微控器可能无法正常工作的情况下,温度过高信号可以用来直接关闭整个系统的电源,防止可能的损害情况发生。
数字接口输出型式的温度感测组件则大部份使用在服务器、电池组与硬盘机上,在服务器中我们必须监测多点的温度以提高它的可靠度,包括主板(通常为机壳内的环境温度)、CPU以及其他包括图形加速器与硬盘机等容易发热的部份。电池组则是因为安全性的考虑,及将充电方法优化以延长电池使用寿命的理由,而加入温度感测组件。
至于硬盘机应用上,则有两个良好的原因需要量测温度,主要是轴心马达与环境温度。硬盘机的读取错误情况在温度上升时会大幅增加,同时它的MTBF也会因为温度控制良好而大幅改善,透过量测系统的温度,马达的温度可以被控制,以便将硬盘机的可靠度与效能做到最好。设备本身也可以视需要而关闭,在较高阶的系统中,警告信号可以提供给系统管理者温度过高或者是数据可能漏失的警告。
「Analog Plus」类温度传感器
在今日,我们事实上拥有更多种的温度感测组件可供选择,"Analog Plus"通常提供适合较简单量测应用的选择,这些组件会依所量测的温度提供逻辑输出,通常这个输出为一个单一信号,而不是数字接口类型的串行接口。
以最简单的"Analog Plus"传感器来说,逻辑输出会在超过特定温度时启动,有些"Analog Plus"传感器会在温度超过设定值时启动,有些则是在低于设定值时启动,其他有些传感器则允许透过外部电阻来调整温度设定值,有些的温度设定值则是固定。
(图六)中的组件拥有固定的温度临界值,这些组件在销售时就已经在内部设定了特定的温度临界值,图六中的三个电路则分别显示了这类型组件在温度超过临界值时常用的应用组态,包括发出警告信号、关闭组件以及启动风扇等。
当需要读取实际的温度值时,那么能够透过单一信号线传送温度值的组件,搭配上微控器就可以达成这样的功能。透过使用微控器内部的计数器来测量时间,这类型的温度传感器输出信号就可以成为量测的温度值,(图七)为一个输出方波频率与环境温度变化(以?K为单位)成正比的组件,(图八)则为类似的组件,不同的是输出方波的波宽与温度(?K)成正比。
![《图七 能够输出频率与量测温度成正比方波的温度控制器》](/art/2001/02/011354565824/p7-ok.jpg)
《图七 能够输出频率与量测温度成正比方波的温度控制器》 |
|
![《图八 这个温度传感器的输出周期与量测温度成正比》](/art/2001/02/011354565824/p8-ok.jpg)
《图八 这个温度传感器的输出周期与量测温度成正比》 |
|
(图九)则是在单一信号在线传送多个温度的特殊设计,这样的安排可以允许我们在同一条信号在线,连接高达八个温度传感器。取得温度的过程如下:首先微控制器启动所有连接在线的温度传感器,在提供这个启动信号之后,微控器的输出接脚马上改变成输入状态,以便能够由每个传感器读取数据,这个数据是以传感器启动之后到反应之间所耗的时间来代表,每个传感器在启动后特定的时间内反应,由于连接在线各个传感器之间允许的时间范围不同,因此可以避免数据冲突的情况发生。
![《图九 微控器启动高达八个连接在在同一条信号在线的温度传感器,并且在同一条在线由每个传感器读取温度信息》](/art/2001/02/011354565824/p9-ok.jpg)
《图九 微控器启动高达八个连接在在同一条信号在线的温度传感器,并且在同一条在线由每个传感器读取温度信息》 |
|
大家可能会质疑这个方法所测得温度值的精确度,事实上,在普通温度下它的精确度相当地高,约为+ /-0.8℃,这个精确度与将温度信息以所传送方波频率或发生周期表示的组件大约相同。
这类型组件在接线不方便的应用上特别好用,例如当温度传感器必须与微控器离开相当距离时,会因为只需一个光隔离组件而大幅降低成本,请见图八,这些传感器也在汽车与HVAC应用上大量被采用,因此它可以免除长距离拉线的困扰。
温度传感器的发展
芯片型温度感测组件提供了各式各样的功能与接口,在这些组件持续演化之后,系统设计工程师将会看到越来越多特定的应用功能,以及传感器与系统连接的新型接口,在芯片设计上能在相同芯片面积上加入更多的电路之后,温度感测组件将会拥有更新的功能与特殊的接口。