1、引脚排列及内部结构 MAX6675 芯片的引脚排列如图 1 所示 , 各引脚 的功能如下 : T - :热电偶负极 (使用时接地) T+ :热电偶正极; SCK:串行时钟输入; CS:片选信号; SO:串行数据输出; VCC :电源端 ; GND:接地端; N.C. :悬空,不用。 图 2 MAX6675 的内部结构 MAX6675 的内部结构如图 2 所示 , 它主要由热 电偶模拟信号放大电路、冷端补偿信号产生电路、 图 1 MAX6675 的引脚图 A/ D 转换器以及数字控制电路等组成 。 2、工作原理及功能特点 根据热电偶测温原理 , 热电偶的输出热电势不 仅与测量端的温度有关,而且与冷端的温度有关 ,在 以往的应用中 ,有很多种冷端补偿方法 ,如冷端冰点 法或电桥补偿法等 ,但调试都比较麻烦 。另外 ,由于 热电偶的非线性 , 以往是采用微处理器表格法或线 性电路等方法来减小热电偶本身非线性带来的测量 误差 , 但这些都增加了程序编制及调试电路的难 度 。而 M A X 6 6 7 5 对 其 内 部 元 器 件 的 参 数 进 行 了 激 光 修正 , 从而对热电偶的非线性进行了内部修正 。同 时, MAX6675内部集成的冷端补偿电路、非线性校 正电路 、断线检测电路都给 K型热电偶的使用带来 了极大的方便。 MAX6675 的特点如下 : ●内部集成有冷端补偿电路 ;
●带有简单的 3 位串行接口 ; ●可将温度信号转换成 12 位数字量 ,温度分辨 率达0.25°C; ●内含热电偶断线检测电路 。 图3 MAX6675的时序图 3、工作时序 MAX6675 可与微处理器或其它数字系统通过 3 线串口进行通信 ,其工作时序如图 3 所示 。 当 MAX6675 的 CS 引脚从高电平变为低电平时, MAX6675将停止任何信号的转换并在时钟SCK
的作用下向外输出已转化的数据 。相反 ,当 CS 从低 该系统的接口程序可用 Fraklin C51 编 写 , Frak2 电平变回高电平时 , MAX6675 将进行新的转换 。在 CS 引脚从高电平变为低电平时 , 第一个字节 D15 将出现在引脚 SO。一个完整的数据读过程需要 16 个 时钟周期 ,数据的读取通常在 SCK的下降沿进行 。 MAX6675 的输出数据为 16 位 ,其中 D15 始终无 用 , D14~D3 对应于热电偶模拟输入电压的数字转 换量, D2 用于检测热电偶是否断线 (D2 为 1 表明热 电偶断开) , D1 为 MAX6675 的标识符 , D0 为三态 。 需要指出的是 :在以往的热电偶电路设计中 ,往往需 要专门的断线检测电路 , 而 MAX6675 已将断线检测 电路集成于片内 ,从而简化了电路设计 。 D14~D3 为 12 位数据 ,其最小值为 0 ,对应的温 度值为 0 °C; 最大值为 4095 , 对应的温度值为 1023. 75 °C; 由于 MAX6675 内部经过了激光修正 , 因 此 , 其转换结果与对应温度值具有较好的线性关 系 。温度值与数字量的对应关系为 : 温度值 = 1023. 75 ×转换后的数字量/ 4095。 4、与 89C51 单片机的接口
图 4 MAX6675 与 89C51 系列连接示意图 由于 MAX6675 的数据输出为 3 位串行接口 , 因 此只需占用微处理器的 3 个 I/ O 口。图 4 是以 89C51 系列单片机为例给出的系统接图。使用时,可以用软件模拟同步串行读取过程 。图中串行外界时钟由 微处理器的 P1. 3 提供 ,片选信号由 P1. 2 提供 ,转换 数据由P1.1读取。热电偶的模拟信号由T+和T- 端输入 ,其中 T - 需接地 。MAX6675 的转换结果将在 SCK的控制下连续输出。 该系统的接口程序可用Franklin C51编写,Franklin C51 是一种为 51 系列单片机设计的高效 C 语言编译器。使用 C 语言可以缩短开发周期 , 而且开发出的系统易于维护 ,移植性很好 。 程序中定义的 resulth 和 resultl 可分别用于存放 转换后数据的高 4 位及低 8 位 , 标志 flag 用于记录 热电偶的断开 (flag 为 1 表示热电偶已经断开) 。 MAX6675的输出数据为高位在前, 低位在后。故程 序中须将读取的数据左移 。其具体源程序如下 : # include < reg51. h > # include < absacc. h >
sbit SO= P1.1;
sbit CS= P1.2;
sbit SCK= P1.3;
unsigned char resulth ,resultl ; unsigned char flag; void read(void)
{
unsigned char i ; resulth = resultl = 0 ; SC K = 0 ; CS = 0 ;
SC K = 1 ;
SCK= 0 ; / / 输出数据 D15 SCK= 1 for(i=4;i> =1;i- - ) //读取转换结果的高四位 { SCK=0; resulth^0 = SO ; / / 读取 SO 输出的字节 resulth=resulth< <1; //数据左移 SCK=1; } for(ℹ=8;i>=1;i--)//读取转换结果的低8位 {
SC K = 0 ;
resultl^0 = SO;
resultl = resultl < < 1 ; SC K = 1 ; }
SC K = 0 ; flag = SO ; / / 读取断偶标志 SC K = 1 ; SCK= 0 ; / / 输出数据 D0 }
5 结束语 为了正确使用MAX6675芯片,设计时还必须注意一下几点: ( 1) 利用输出数据中的 D2 进行断偶检测时 , 热电偶的输入负极 T - 必须接地 , 且应尽可能地靠近 MAX6675的引脚地(即 PIN1) ; (2) 由于冷端温度是由 MAX6675 本身检测的 , 因此 ,为了提高测量的精确度 ,电路板的地线尽可能 地大; ( 3) 由于热电偶信号为微弱信号 ,因此要尽可能 地 采 取 措 施 防 止 噪 声 干 扰 。可 在 M A X 6 6 7 5 电 源 与 地 线之间接一个0.1μF的陶瓷电容。
|