A_D转换器cs5532初始化例程

AC-DC/DC-DC转换

116人已加入

描述

          CS5532是一种低噪声24位△一∑型A/D转换器。CS5532的差动输入端可以直接测量来自传感器的毫伏信号.简化了与外围电路的连接。可编程增益放大器可使放大倍数从1~32进行设定(以2倍步长增加),大大提高了系统的动态特性。多级程控数字滤波器使得数据输出速率可选择,范围为7.5Hz~384kHz.方便了与外设的连接。该AID转换器有一个灵活而简便的同步串行接口,使转换数据以串行方式输出,它与SPI、Microwire兼容。
AD转换

       A/D转换器cs5532初始化程序

  /****************************************************************************

  * 名 称:CS5532Init()

  * 功 能:cs5532初始化

  * 入口参数:uint32 cs, 片选

  *

  * 出口参数:返回TRUE表示操作成功,返回FALSE表示操作失败

  ****************************************************************************/

  uint32 CS5532Init(uint32 cs)

  {

  uint8 i=0;

  float temp1=0.0;

  uint32 temp=0,q,temp2[5];

  uint8 rstarr[32]={255,255,255,255,

  255,255,255,255,

  255,255,255,255,

  255,255,255,255,

  255,255,255,255,

  255,255,255,255,

  255,255,255,255,

  255,255,255,254};

  for(i=0;i《32;i++)

  CS5532_write_byte(rstarr[i],cs);

  delayms(1);

  CS5532_Write_REG(CFGW,CS5532_RESET,cs);

  delayms(1);

  temp=CS5532_Read_REG(CFGR,cs);

  CS5532.receive.buff[0]=temp》》24;

  while(CS5532.receive.buff[0]!=0x10)

  {

  CS5532_write_byte(*(cmd_tab+CFGR),cs);

  temp=CS5532_Read_Dword(cs);

  CS5532.receive.buff[0]=temp》》24;

  }

  CS5532_Write_REG(CSR1W,CSR1,cs); //读/写单个通道设置寄存器

  CS5532_Write_REG(CSR2W,CSR2,cs); //读/写单个通道设置寄存器

  CS5532_Write_REG(CFGW,CS5532_NORMAL,cs); //正常模式

  CS5532_write_byte( *(cmd_tab+CALI3) , cs ); //系统偏移校准

  CS5532_Wait(cs);

  CS5532_write_byte( *(cmd_tab+CALI1) , cs ); //系统增益校准

  CS5532_Wait(cs);

  CS5532_Write_REG(CFGW,IS,cs); //短路处理

  CS5532_write_byte( *(cmd_tab+CALI2) , cs ); //自偏移校准

  CS5532_Wait(cs);

  CS5532_write_byte( *(cmd_tab+CALI4) , cs ); //自增益校准

  CS5532_Wait(cs);

  CS5532_write_byte(*(cmd_tab+OFFSET1R),cs); //填充偏移量

  temp=CS5532_Read_Dword(cs);

  CS5532_write_byte(*(cmd_tab+OFFSET2R),cs); //填充偏移量

  temp=CS5532_Read_Dword(cs);

  CS5532_write_byte(*(cmd_tab+GAIN1R),cs); //填充偏移量

  temp=CS5532_Read_Dword(cs);

  CS5532_write_byte(*(cmd_tab+GAIN2R),cs); //填充偏移量

  temp=CS5532_Read_Dword(cs);

  CS5532_Write_REG(CFGW,CS5532_NORMAL,cs);

  CS5532_write_byte( 0xD0 , cs ); //启动连续转换 //setup1

  return CS5532_TRUE;

  }

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分