[技术求助] 初始化代码

[复制链接]
 楼主| jiahy 发表于 2020-6-8 23:52 | 显示全部楼层 |阅读模式
能否给段PGA280初始化代码
dengdc 发表于 2020-6-8 23:54 | 显示全部楼层
你是PLC的应用吗?很好的方案,标准的SPI接口,程序网上可以找到。
heweibig 发表于 2020-6-8 23:57 | 显示全部楼层

PGA280 + ADS1259 has been designed to work together to create one easy solution for high resolution/high voltage industrial applications.
2 Channel, fast, MUX PGA front end for multi channel control with Single Cycle settling ADC for enhanced throughput in MUX
Fully differential +/-15V PGA signal swing for seamless ADS input
ADS1259 clock output to synchronize the PGA280 input chopping to preserve the low noise performance.
Low 1/f noise of PGA for 24 bit high resolution and sensitivity of ADC
High PGA CMRR + ADC Digital filter for 16, 50, 60, or 400Hz rejection
airwill 发表于 2020-6-13 07:41 | 显示全部楼层
网上搜来一段,  可以看看

#include <msp430x14x.h>
#include "IO.h"

/* PGA280 Cmd */
#define PGA280_READ_CMD         0x80    //PGA280���Ĵ���ָ��
#define PGA280_WRITE_CMD        0x40    //PGA280д�Ĵ���ָ��
/* PGA280 REG */
#define PGA280_GAIN_MUX_REG     0x00    //�ź��������üĴ�����W/R���Զ�ѡ��
#define PGA280_SWITCH_REG       0x06    //�ź�����ͨ��ѡ��Ĵ�����W/R���ֶ��趨��
#define PGA280_SOFT_RESET_REG   0x01    //������λ�Ĵ�����W��д0x01��ʾ��λ��

/*************************************************************************************/  
void pga280_Write_byte(unsigned char Data_byte)
{  
    unsigned char i;
    CLR_PGA_CS;
      _NOP();
    _NOP();
    _NOP();
    _NOP();
   SET_ADS_SCLK;
     _NOP();
    _NOP();
    _NOP();
    _NOP();
   
   for(i = 0; i < 8; i++)  
   {
           
      
      SET_ADS_SCLK;
      if((Data_byte & 0x80)==0x80)
      {
           SET_DIN;
      }
      else
      {
           CLR_DIN;
      }  
      _NOP();
      _NOP();
       _NOP();
      _NOP();
       _NOP();
      _NOP();
       _NOP();
    _NOP();
     _NOP();
    _NOP();
      CLR_ADS_SCLK;
      _NOP();
      _NOP();
     _NOP();
      _NOP();
       _NOP();
      _NOP();
       _NOP();
    _NOP();
      
      Data_byte <<= 1;
   }
   _NOP();
   _NOP();
  SET_ADS_SCLK;
     _NOP();
  //  CLR_ADS_SCLK;
//   SET_PGA_CS;
//  SET_ADS_CS;
  // SET_DIN;  
}
/*********************************
MSP430��ADS1259���Ĵ�����ֵ
����������
**********************************/
unsigned int pga280_Read_from_Rg(unsigned char reg)
{  
    unsigned char i;
    unsigned char addata;
    unsigned int Data_read;
    CLR_PGA_CS;
    Data_read=0;
    ADS1259_DOUT;//����P2.3Ϊ����
     
    pga280_Write_byte(reg);//ѡ��Ĵ�����ַ���Ĵ�������
     _NOP();_NOP();
     for(i = 0; i < 8; i++)  
    {      
           
                SET_ADS_SCLK;  
          _NOP();_NOP();_NOP();_NOP();
                Data_read <<= 1;
          CLR_ADS_SCLK;         
          _NOP();_NOP();_NOP();_NOP();
          addata=(P1IN>>5)&0x01;//P2IN����
          if(addata)
          {
                Data_read |=0x01;
           }           
            
     }
     _NOP();
     CLR_ADS_SCLK;
    _NOP();
    SET_PGA_CS;
    return(Data_read);
}


/*************************************************************************************/  
void pga280_Write_word(unsigned int Data_byte)
{  
    unsigned char i;
    CLR_PGA_CS;
      _NOP();
    _NOP();
    _NOP();
    _NOP();
   SET_ADS_SCLK;
     _NOP();
    _NOP();
    _NOP();
    _NOP();
   
     
   for(i = 0; i < 16; i++)  
   {
           
      
      SET_ADS_SCLK;
      if((Data_byte & 0x8000)==0x8000)
      {
           SET_DIN;
      }
      else
      {
           CLR_DIN;
      }  
      _NOP();
      _NOP();
       _NOP();
      _NOP();
       _NOP();
      _NOP();
       _NOP();
    _NOP();
     _NOP();
    _NOP();
      CLR_ADS_SCLK;
      _NOP();
      _NOP();
     _NOP();
      _NOP();
       _NOP();
      _NOP();
       _NOP();
    _NOP();
      
      Data_byte <<= 1;
   }
   _NOP();
   _NOP();
  SET_ADS_SCLK;
     _NOP();
  //  CLR_ADS_SCLK;
    SET_PGA_CS;
//  SET_ADS_CS;
  // SET_DIN;  
}

shimx 发表于 2020-6-21 10:19 | 显示全部楼层

有个下载的链接,GPIO模拟SPI,
http://wenku.baidu.com/view/3aec66d349649b6648d74768.html
 楼主| jiahy 发表于 2020-6-21 10:23 | 显示全部楼层
谢谢,找到原因了,在连续操作PGA280时,不能一直将CS引脚置低电平。
spark周 发表于 2020-6-21 10:25 | 显示全部楼层
可以实现直流信号隔离吗?
jiajs 发表于 2020-6-21 10:28 | 显示全部楼层

想把DC 75mV 输入隔离输出 原本想用线性光耦 刚看了一下AMC1200感觉这个芯片应该可以更加简化电路
spark周 发表于 2020-6-21 10:33 | 显示全部楼层
看了应用基本都是AC输入的 不清楚DC75mV输入 可以输出DC 75mV吗?
wyjie 发表于 2020-6-21 10:37 | 显示全部楼层
AMC1200的输出电压最高是125MV
zhanghqi 发表于 2020-6-21 10:47 | 显示全部楼层
OPA380好像不能输出负电压吧
jlyuan 发表于 2020-6-21 10:50 | 显示全部楼层
按照技术手册来搭电路   应该没什么问题   楼主
dengdc 发表于 2020-6-21 10:53 | 显示全部楼层
一般   将应用手册好好钻研钻研    将芯片资料吃透   基本就没有什么问题
shimx 发表于 2020-6-21 10:59 | 显示全部楼层

从手册的技术指标看, 没有任何证据表明只能交流信号.
增益特性图上也没有给出低频特性不良的状态.
可以放大直流信号.
zhenykun 发表于 2020-6-21 11:03 | 显示全部楼层
这个资料的我看看的
happy_10 发表于 2020-6-21 11:07 | 显示全部楼层
可能是芯片本身的问题
 楼主| jiahy 发表于 2020-6-21 11:30 | 显示全部楼层
嗯,我知道了,多谢啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

862

主题

9861

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部