打印
[经验知识]

【秀出我的 Linear模拟设计方案】+ LTC2440

[复制链接]
2161|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunmeat|  楼主 | 2014-9-11 15:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
LTC2440是Linear公司的一款24位的AD,常用于数字万用表的设计上面,官网据说可以达到6位半的精度,实际没有测试使用过那么多,但是一般高精度的测量足够了,网上也有很成熟的方案。
LTC2440最重要的特点是转换速度快,它采用了能实现可变速度和分辨率(且没有等待时间)的专有结构,通过一个简单的串行接口即可实现了10种不同的速度/分辨率组合,准确度(偏移量、满量程、线性度、漂移)和电源功耗与速度选择无关。既然无延迟,转换期间改变速度/分辨率并不降低性能。
LTC2440的接法也很简单,采用三线或者四线的接口与MCU连接就可以操作。官方给的连接电路图如下:

相关帖子

沙发
sunmeat|  楼主 | 2014-9-11 15:54 | 只看该作者
本帖最后由 sunmeat 于 2014-9-11 15:57 编辑

void GET_LTC2440(void)
{
unsigned int i;
long int m,n;  

while(BUSY){;}
CS=0;
SCK=0;

EOC=SD0;
SDO=0;   
delayus();
SCK=1;
delayus();
      
SCK=0;
delayus();
DMY=SD0;   
SDO=1;   
SCK=1;
delayus();
      
SCK=0;
delayus();
SIG=SD0;  //SIG: AD值的符号位(1正0负)
SCK=1;
delayus();
      
SCK=0;
delayus();
  ADC_24=0X000000;
for(i=0;i<24;i++)
  {
      ADC_24=ADC_24<<1;
      if(SD0){ADC_24+=1;}     
      SCK=1;
      delayus();
      SCK=0;
      delayus();           
  }
   
  for(i=0;i<5;i++) //再输出5个脉冲,丢弃最后5个Bit
   {
   SCK=1;   
   delayus();
   SCK=0;
   delayus();         
   }

CS=1;
   }

void LTC2440_INIT(void)
{
  DDRA|=0x05;  //SCK CS为输出 BUSY SM0为输入
  PORTA.1=1;       //上拉有效
  CS=1;
  PORTA.3=1;
  SCK=0;
  }   

使用特权

评论回复
板凳
mmuuss586| | 2014-9-11 19:06 | 只看该作者

活动时间结束了吧;

使用特权

评论回复
地板
lz80650904| | 2015-10-22 10:36 | 只看该作者
楼主,你好!我在用LTC2440上遇到些问题,向你请教下:
我采用你文中的时序时,读回的数据与DATASHEET描述的范围不一致;从示波器显示的值,前5位均为0,已不在此数据范围内了.以下是文中的时序,波形见示波器附图
uint32_t LTC2440_GetVal(void)
{
                        //unsigned int i;
                        //long int m,n;  
                        uint8_t i,sign=0;
                        uint32_t val=0;
                        while(BUSY){;}
                        CS_L;
                        SCK_L;
                        Delay();
                        if(GETSDO)                //EOC!=0
                        {
                                        CS_H;
                                        SCK_L;
                                        return 0x80000000;
                        }
                        SCK_H;
                        Delay();       
                        SCK_L;
                        Delay();
                        if(GETSDO)                //DMY!=0
                        {
                                        CS_H;
                                        SCK_L;
                                        return 0x80000000;
                        }   
                        SCK_H;
                        Delay();
                        SCK_L;
                        Delay();
                        if(GETSDO)       
                        {
                                        sign=1;
                        }   
                        SCK_H;
                        Delay();
                        SCK_L;
                        Delay();
                        for(i=0;i<24;i++)
                        {
                                        val=val<<1;
                                        if(GETSDO)
                                        {
                                                        val+=1;
                                        }     
                                        SCK_H;
                                        Delay();
                                        SCK_L;
                                        Delay();         
                        }
                                 
                  for(i=0;i<5;i++) //再输出5个脉冲,丢弃最后5个Bit
                        {
                                SCK_H;   
                                Delay();
                                SCK_L;
                                Delay();        
                        }

                        CS_H;
                                 
                        if(sign)
                                        val|=(1<<29);
                                 
                        return val;
}



下降沿读数据_0V.JPG (82.59 KB )

Vin+和Vin-短接,并接地

Vin+和Vin-短接,并接地

下降沿读数据_VIN_1.21V.png (1.2 MB )

下降沿读数据_VIN_1.21V.png

数据输出格式.JPG (138.47 KB )

LTC数据输出格式

LTC数据输出格式

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

2132

帖子

13

粉丝