首页 | 供应信息 | 采购信息 | PDF资料 | 技术资料 | 行业资讯 | 产品展示 | 人才市场 进入会员区
   技术文章分类:单片机/DSP 嵌入式系统 测试仪表 电源技术 接口电路 存储器 传感与控制 通信网络 无线通信 模拟技术 显示与光电 EDA/PLD 汽车电子 消费电子 电子综合
   电子综合工具:PDF资料大全 电子缩略语 IC型号替换 IC厂家 电子电路图 技术参数 设计应用 解决方案
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
  您所在的位置: IC37首页 > 技术问答 > 新手园地 > 数字温度传感器tc77如何应用

  数字温度传感器tc77如何应用 

我想用tc77做一个温度传感器,基本思路是用I/O口来控制tc77,但找不到相关资料,比如如何写控制字,跪求


作者:woodwell  2005-11-7 19:18:00

  回复1  转帖14034

软硬件实现基于SPI接口的数字温度传感器TC77与PIC单片机数据采集

北京航空航天大学电子信息工程学院207教研室文趣群 喻晓 蔡志权

摘要

PIC单片机是MICROCHIP公司研发生产,有低,中,高档系列产品。片内资源丰富。是MICROCHIP公司的一款具有SPI接口的低功耗数字温度传感器。本文简要介绍了TC77与片内拥有或者没有SPI资源的PIC单片机进行数据采集并用软硬件实现的两种方法。

Abstract

PIC Microcontroller is the product of MICROCHIP Technology INC .It has different series products that have abundant resources. TC77 is a thermal sensor with SPI interface. This article introduces how to develop TC77 interfacing with PIC Micro controller which has SPI interface or not and how to acquire data.

关键词

软硬件、SPI、温度传感器TC77、PIC单片机、数据采集

PIC单片机为美国MICROCHIP公司生产研发,品种极其丰富,各系列片内功能资源各不相同,可以满足用户不同层次的开发要求。它采用哈佛总线结构和精简指令集(RISC)技术,其寻址方式简单,运行速度快,功耗低,驱动能力强等特点越来越受到广大硬件工程师的喜欢。在MICROCHIP公司PIC系列产品里,有很多产品拥有片内SPI功能,例如大部分的PIC16、PIC17、PIC18系列。

SPI是由美国摩托罗拉公司推出的一种同步串行传输规范,常作为单片机外设芯片串行扩展接口。SPI有4条引脚:SS(从器件选择线),SDO(串行数据输出线),SDI(串行数据输入线),SCK(同步串行时钟线)。SPI可以用全双工通信方式同时发送和接受8位数据,过程如下(见图一):主机启动发送过程,送出时钟脉冲信号,主移位寄存器的数据通过SDO移入到从移位寄存器,同时从移位寄存器中的数据通过SDI移入到主移位寄存器中。8个时钟脉冲过后,时钟停顿,主移位寄存器中的8位数据全部移入到从移位寄存器中,随即又被自动装入从接受缓冲器中,从机接受缓冲器满标志位(BF)和中断标志位(SSPIF)置“1”。同理,从移位寄存器中的8位数据全部移入到主寄存器中,随即又被自动装入到主接受缓冲器中,主接受缓冲器满标志位(BF)和中断标志位(SSPIF)置“1”。主CPU检测到主接受缓冲器的满标志位或者中断标志位置一后,就可以读取接受缓冲器中的数据。同样,从CPU检测到从接受缓冲器满标志位或中断标志位置一后,就可以读取接受缓冲器中的数据,这样就完成了一个字节的相互通信过程。本论文通过设置PIC微控制器为主控制器,负责产生时钟。TC77为从器件,在有时钟的情况下,负责向PIC主控制器发送数据。通过PIC微控制器检测接受缓冲器的满标志位来进行数据采集。

TC77温度传感器是MICROCHIP公司一款具有SPI与MICROWIRE两种接口方式兼容的小尺寸,低功耗的温度监测芯片。常应用于硬盘和PC一些外围设备以及手机、笔记本等嵌入式系统设备自动温度控制等方面。它有三个内部寄存器(配置寄存器、温度寄存器、ID寄存器)。用户通过配置寄存器可以选择TC77的工作模式:连续温度采集模式和Shutdown模式。TC77在上电后就默认为连续工作采集模式(电流损耗一般为250uA),Shutdown模式电流损耗一般低于0.1uA。

TC77是用13-bits 二进制补码的形式来表示温度数据,最高位是符号位,“0”表示温度为正,“1”表示温度为负,接着是12-bits温度数据,bit1&bit0是一个三态,在数据处理是我们可以忽略不管。bit2位在上电或者电压重启时置“0”, 在完成一个温度数据转换后就置“1”。我们可以通过监视bit2的状态来确认一个温度数据是否完成。

对于内部有SPI资源的PIC微控制器,其硬件电路连接如图二,软件编程思路如下:

首先对PIC微控制器的SPI口进行初始化,相关寄存器有两个,一个SSPCON寄存器,主要是对SPI使能,设置主从模式和时钟。另一个是SSPSTAT寄存器,内含BF位,主要是判断接受是否完成,开片选。调用一段延时,我们要充分考虑到TC77的数据转换时间大约在300ms左右。否则我们采集的数据可能为零。

然后我们必须往SSPBUF写一个字节,产生一个8位时钟。通过判断BF位是否置“1”,若置“1”,我们读取SSPBUF中的数据,即为TC77的8位高字节(因为TC77从最高位开始传送数据)。同理,我们再重复一次上面的操作,就读取到了TC77的低字节。关片选。

假如PIC单片机片内没有SPI资源,我们可以把PIC的三个普通I/O口与TC77连接,软件实现数据采集程序思路如下:

我们对PIC的3个普通的I/O端口进行输入/输出设置,I/O 1()及I/O 2(SCK)设置成输出,I/O 3(SI/O)设置成输入。开片选,开延时。

我们人为地在I/O 2(SCK)端口产生一个正负跳跃的信号,这样TC77温度数据的其中一位就被移送出来了,我们把它放到STATUS中的进位位C中,通过下面两条语句:

RLCFTC77_LO,F;

RLCFTC77_HI, F;

就可以把一个温度数据从MSB开始通过16次移位后存放在TC77_HI:TC77_LO中(TC77_HI:TC77_LO 表示温度的高低8位字节 )。

最后需要说明一下的是,TC77是CMOS型硅温度传感器,我们建议在电源输入端Vdd和地之间加上一个0.1uF—1uF左右的退耦电容,在制作PCB时,尽可能离芯片最近距离连接一个高频陶瓷电容。这样就可以有效的避免噪音干扰。因为TC77温度传感器对PCB导热途径主要是通过对地的连接。所以PCB对应的TC77的Vss的铜线应尽量的粗,焊盘尽可能的大。这样可以保证能采集到准确的环境温度。

【参考书目】

1.PIC单片机实用教程李学海编著北京航空航天大学出版社

2.DS20092AMicrochip Technology INC

3.DS00871AMicrochip Technology INC

4.DS00913AMicrochip Technology INC


作者:a12345678  2005-11-8 20:10:00


我要投稿 注册会员
客服咨询热线:0755-26000950 0755-26007355
 相关技术问答
·求教:模拟地和数字地的问题..  2005-11-6
·读-改-写  2005-11-6
·以后的路怎么走  2005-11-7
·求助  2005-11-7
·显示器亮度暗,调节旋钮亮度..  2005-11-7
·要是自己做单片机实验该怎么办  2005-11-7
·以后的路  2005-11-7
·请教关于8279键盘显示接..  2005-11-7
·怎样减少DRC Error..  2005-11-7
·请问i2c通信问题  2005-11-7
·请问贴片电阻  2005-11-7
·溶液浓度检测电路  2005-11-7
·请教红外线发射接收问题  2005-11-7
·求教消抖问题  2005-11-7
·请问关于步进电机  2005-11-7
·protel中如dip封装..  2005-11-7
·求教 ET16312 读键..  2005-11-8
·怎样放置滤波电容  2005-11-8
·关于DXP的使用,请教高手  2005-11-8
·新手我刚接触RC500,开..  2005-11-8
·大伙们 帮帮忙拉  2005-11-8
·单片机系统的优化设计  2005-11-8
·请教大侠ps2接口  2005-11-8
·支持在线下载的单片机如st..  2005-11-9
 
 热门IC
SLA24C01S3P  NJM4200D  TPS76650D  AD8066AR  LH1501  LM109K  SN74HC241DWR  FST16233MTDX  LM2903VDR2  TC7W14FK  TA8430F  AD7892BR-3  CS5513-BS  CXD1230M  IDT7015S20J  DM74ALS11AM  MB3778PFV-G-BND-EF  LTC1294DCSW  MAX3224EEAP  M50560-002P  DM74S09N  LP2985AIM5X-2.0  XC4020XL-3BG256C  XC2S150-5FG256I  XC4013XL-1BG256C  XC4013XL-2BG256C  XC4005E-2PQ100C  UCC39421N  N74F245DB  NJM7805FA  MC10212P  DM74S571J  SN74AHCT373DW  ADC71JG  SF12021A  BZV55-C3V0  MBR10100G  IRFBC30A  MC74F163AN  CY7B991-5JI  GS1504  ADF4117BRU  T7230AML  NG80386DX33  ADC0832  ISL84522IB  DP84902M  MAX3223ECUP  UC2827DW-2  SN54S244J