接口/总线/驱动
TM7705中文资料、TM7705简介:
TM7705是应用于低频测量的2/3通道的模拟前端。该器件可以接受直接来自传感器的低电平的输入信号,然后产生串行的数字输出。利用Σ-Δ转换技术实现了16位无丢失代码性能。选定的输入信号被送到一个基于模拟调制器的增益可编程专用前端。片内数字滤波器处理调制器的输出信号。通过片内控制寄存器可调节滤波器的截止点和输出更新速率,从而对数字滤波器的第一个陷波进行编程。
TM7705只需2.7~3.3V或4.75~5.25V单电源。TM7705是双通道全差分模拟输入,带有一个差分基准输入。当电源电压为5V、基准电压为2.5V时,该器件都可将输入信号范围从0~+20mV到0~+2.5V的信号进行处理。还可处理±20mV~±2.5V的双极性输入信号,对于TM7705是以AIN(-)输入端为参考点。当电源电压为3V、基准电压为1.225V时,可处理0~+10mV到0~+1.225V的单极性输入信号,它的双极性输入信号范围是±10mV到±1.225V。因此,TM7705可以实现2/3通道系统所有信号的调理和转换。
TM7705是用于智能系统、微控制器系统和基于DSP系统的理想产品。其串行接口可配置为三线接口。增益值、信号极性以及更新速率的选择可用串行输入口由软件来配置。该器件还包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差。
CMOS结构确保器件具有极低功耗,掉电模式减少等待时的功耗至20μW(典型值)。TM7705采用16脚塑料双列直插(DIP)和16 脚宽体(0.3英寸)SOIC、16脚TSSOP、16脚SOP和16脚SSOP封装。
TM7705封装图:
TM7705产品特性:
• 2个全差分输入通道的ADC
• 16位无丢失代码
• 0.003%非线性
• 可编程增益前端
• 增益:1~128
• 三线串行接口
• 有对模拟输入缓冲的能力
• 2.7~3.3V或4.75~5.25V工作电压
• 3V电压时,最大功耗为1mW
• 等待电流的最大值为8μA
• 16脚DIP、SOIC(宽体)和TSSOP、SOP、SSOP封装
TM7705 IC数据寄存器读取程序:
/* 驱动IC:TM7705 MCU:STC12C5620AD 晶振11.0592MHz 功能:读写IC寄存器程序,仅供参考*/
#include "reg51.h"
#include "intrins.h"
sbit SCLK = P2^7;
sbit DIN = P2^6;//对应TM7705的DIN
sbit DOUT = P2^5;//对应TM7705的DOUT
sbit DRDY = P2^4;
void TM7705_write(unsigned char dd)
{
unsigned char i;
SCLK=1;
for(i=8;i>0;i--)
{
SCLK=0;
_nop_();
if(dd&0x80)
DIN=1;
else
DIN=0;
_nop_();
SCLK=1;
_nop_();
dd<<=1;
}
DIN=1;
SCLK=1;
}
unsigned char TM7705_read(void)
{
unsigned char dd=0,i;
SCLK=1;
for(i=0;i<8;i++)
{
SCLK=0;
_nop_();
dd=dd<<1;
if(DOUT)
dd=dd+1;
SCLK=1;
_nop_();
}
SCLK=1;
return dd;
}
void main()
{
unsigned char i,temp1,temp2;
unsigned char gain,freq;
unsigned char num;
DRDY=1;//设置DRDY为输入
DOUT=1;//设置DOUT为输入
//TM7705初始化
DIN=1;
for(i=0;i<40;i++)//DIN口高电平持续至少32个时钟后芯片复位
{
SCLK=0;
_nop_();
SCLK=1;
_nop_();
}
//设置TM7705
TM7705_write(0x22);//写通信寄存器,选择下一步写时钟寄存器
TM7705_write(0x04|freq);//选择输出更新率分别为50(0x00),60(0x01),250(0x02),50
TM7705_write(0x12);//写通信寄存器,选择下一步写设置寄存器
TM7705_write(0x42|(gain<<3)); //双极性,自校准 //增益1(0x00),2(0x08),4(0x10),8(0x18),16(0x20),
/*计数值500,待数据稳定*/
num=0xff;
while(num--) {
while(DRDY);
TM7705_write(0x3A); //写通信寄存器,选择下一步读通道0
temp1 = TM7705_read();//读数据16位
temp2 = TM7705_read();
while(!DRDY);
}
/*读取数据*/
num=0;
while(1)
{
while(DRDY);
TM7705_write(0x3A); //写通信寄存器,选择下一步读通道0
temp1 = TM7705_read();//读数据16位
temp2 = TM7705_read(); //add you code
while(!DRDY);
}
}
TM7705读写IC存储器威廉希尔官方网站 图:
全部0条评论
快来发表一下你的评论吧 !