電賽總結(二)——AD芯片總結之AD7715


一、特性參數

1、16位無失真AD轉換器

2、增益可調,在1,2,32,128可切換。

3、數字地和模擬地分開,可以減少噪聲。

4、具有較大的輸出電流,有比較好的帶載能力。

 

二、管腳排列

image

 

三、引腳功能

引腳名稱 功能
SCLK 串行時鍾,施密特邏輯輸入。將一個外部的串行時鍾加於這一輸入端口,以訪問AD7715 的串行數據。和單片機傳輸數據時的控制時鍾
MCLKIN 為轉換器提供主時鍾信號。能以晶體/諧振器或外部時鍾的形式提供。晶體/諧振器可以接在MCLKIN 和MCLKOUT 二引腳之間。此外,MCLKIN 也可用CMOS 兼容的時鍾驅動, 而MCLKOUT 不連接。時鍾頻率的范圍為500kHz~5MHz
MCLKOUT 當主時鍾為晶體/諧振器時,晶體/諧振器被接在MCLKIN 和MCLKOUT 之間。如果在MCLKIN 引腳處接上一個外部時鍾,MCLKOUT 將提供一個反相時鍾信號。這個時鍾可以用來為外部電路提供時鍾源,且可以驅動一個CMOS 負載。如果用戶不需要,MCLKOUT 可以通過時鍾寄存器中的CLKDIS位關掉。這樣,器件不會在MCLKOUT 腳上驅動電容負載而消耗不必要的功率
CS’ 片選,低電平有效的邏輯輸入,選擇AD7715。將該引腳接為低電平,AD7715 能以三線接口模式運行(以SCLK、DIN 和DOUT 與器件接口)。在串行總線上帶有多個器件的系統中,可由CS’對這些器件作出選擇,或在與AD7715通信時,CS’可用作幀同步信號
RESET 復位輸入。低電平有效的輸入,將器件的控制邏輯、接口邏輯、校准系數、數字濾波器和模擬調制器復位至上電狀態
AVDD 模擬電源電壓,5V
AVIN(+) 差分模擬輸入的正輸入端
AVIN(-) 差分模擬輸入的負輸入端
REFIN(+) 基准輸入端,基准輸入是差分的,並規定REFIN(+)必須大於REFIN(-)。REFIN(+)可以取VDD 和GND 之間的任何值
REFIN(-) 基准輸入端,REFIN(-)可以取VDD 和GND 之間的任何值,且滿足REFIN(+)大於REFIN(-)
AGND 模擬地
DRDY’

邏輯輸出。這個輸出端上的邏輯低電平表示可從AD7705/7706 的數據寄存器獲取新的輸出字。完成對一個完全的輸出字的讀操作后,DRDY’引腳立即回到高電平。如果在兩次輸出更新之間,不發生數據讀出,DRDY’將在下一次輸出更新前500×tCLKIN 時間返回高電平。當DRDY’處於高電平時,不能進行讀操作,以免數據寄存器中的數據正在被更新時進行讀操作。當數據被更新后,DRDY’又將返回低電平。DRDY’也用來指示何時AD7705/7706 已經完成片內的校准序列.

DOUT 串行數據輸出端
DIN 串行數據輸入端
DVDD 數字電源電壓,可以是+5V,也可以是3.3V
DGND 數字地

 

四、片內寄存器

1、概述

      只有四個寄存器,分別是通信、設置、數據還有校准寄存器。一般來說只是用通信和設置以及數據寄存器。而且每次進行操作的時候是先對通信寄存器進行操作,之后再跳到所選的下一個寄存器進行讀寫。

 

2、通信寄存器

image

管腳名稱 功能
0/DRDY’ 這意味必須寫“0”,否則不能繼續進行對寄存器的操作。
ZERO 這一位必須寫“0”,否則芯片不一定能正常工作。
RS1– RS0 選擇下一個進行通訊的寄存器
image
STBY “1”表示進入低功耗模式,功耗只有10uW,“0”則是正常工作,一般默認為“0”即可。
G1-G0 設置增益倍數
image

 

3、設置寄存器

image

管腳名稱 功能
MD1 MD0 image
CLK 時鍾位。CLK 位應根據AD7705/7706 的工作頻率而設置。如果轉換器的主時鍾頻率為2.4576MHz(CLKDIV=0)或為4.9152MHz(CLKDIV=1),CLK 應置“0”。如果器件的主時鍾頻率為1MHz(CLKDIV=0)或2MHz (CLKDIV=1),則該位應置“1”。該位為給定的工作頻率設置適當的標度電流,並且也(與FS1 和FS0 一起)選擇器件的輸出更新率。
FS1, FS0 濾波器選擇位,它與CLK 一起決定器件的輸出更新率。表12 顯示了濾波器的第一陷波和-3dB 頻率。
image
B/U’ “0”表示雙極性設置
“1”表示單極性設置
BUF “1”表示二分頻,“0”表示不分頻
FSYNC 濾波器同步。該位處於高電平時,數字濾波器的節點、濾波器控制邏輯和校准控制邏輯處於復位狀態下,同時,模擬調制器也被控制在復位狀態下。當處於低電平時,調制器和濾波器開始處理數據,並在3×(1/輸出更新速率)時間內(也就是濾器的穩定時間)產生一個有效字。FSYNC 不影響數字接口,也不使DRDY’輸出復位(如果它是低電平)。

 

4、數據寄存器

      數據寄存器是一個16 位只讀寄存器,它包含了來自AD7715 最新的轉換結果。如果通信寄存器將器件設置成對該寄存器寫操作,則必定會實際上發生一次寫操作以使器件返回到准備對通信寄存器的寫操作,但是向器件寫入的16 位數字將被AD7715 忽略。

 

五、芯片外圍電路圖

image

 

六、STM32F103ZET驅動程序(以IO口模擬方式)

#ifndef __ADC7715_H
#define __ADC7715_H


#include "stm32f10x.h"
#include "pbdata.h"
#include "spi.h"

//自編函數
#include "timer.h"
#include "gpio.h"
#include "baseFunc.h"

#define SCLK Pin0 
#define DIN  Pin1 
#define DOUT Pin2
#define DRDY Pin3 

void WriteAD7715Data(u8 data);

void delay_Ms(int time);

u32 ReadAD7715Data(u8 byte);

void InitAD7715(void);

u32 GetAD7715Num(void);



#endif
#include "adc7715.h"

void delay_Ms(int time)
{
    u32 i,j;
    for(i=time;i>0;i--)
    {
        for(j=0;j<512;j++)
        {
            
        }
    }
}


void WriteAD7715Data(u8 data)
{
    u8 i;
    for(i=0;i<8;i++)
    {
        if( (data&0x80)!=0 )
        {
            set_outH(GPIOA,DIN);
        }
        else
        {
            set_outL(GPIOA,DIN);
        }
        data=data<<1;
        delay_Ms(10);
        
        set_outH(GPIOA,SCLK);
        delay_Ms(10);
        set_outL(GPIOA,SCLK);
        delay_Ms(10);
        set_outH(GPIOA,SCLK);
        delay_Ms(10);
    }
    set_outH(GPIOA,DIN);
    delay_Ms(10);
}



u32 ReadAD7715Data(u8 byte)
{
    u8 i;  
    u32 data = 0;
    for(i=0;i<byte*8;i++)
    {
        set_outH(GPIOA,SCLK);
        delay_Ms(10);
        set_outL(GPIOA,SCLK);
        delay_Ms(20);
        
        data=data<<1;
        
        if(read_in(GPIOA,DOUT)==1)
        {
            data=data+1;
        }
        set_outH(GPIOA,SCLK);
      delay_Ms(10);
    }
    return data;
}



void InitAD7715(void)
{
    set_out(GPIOA,SCLK|DIN);
    set_FIN(GPIOA,DOUT|DRDY);
    
    WriteAD7715Data(0x10);
    WriteAD7715Data(0x66);
    
}



u32 GetAD7715Num(void)
{
    while(read_in(GPIOA,DRDY)==1);
    
    WriteAD7715Data(0x38);
    
    return ReadAD7715Data(2);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM