goodluck09876 发表于 2019-12-22 09:29

应变片、电桥相关的设计资料


goodluck09876 发表于 2019-12-22 09:29

goodluck09876 发表于 2019-12-22 09:30

goodluck09876 发表于 2019-12-22 09:30

goodluck09876 发表于 2019-12-22 09:31

goodluck09876 发表于 2019-12-22 09:31

goodluck09876 发表于 2019-12-22 09:32

goodluck09876 发表于 2019-12-22 09:32

goodluck09876 发表于 2019-12-22 09:37

STM32相关的程序

goodluck09876 发表于 2019-12-22 09:37


#define AD7190_CS_H GPIO_SetBits(GPIOD,GPIO_Pin_0)
#define AD7190_CS_L GPIO_ResetBits(GPIOD,GPIO_Pin_0)
#define AD7190_SCLK_H GPIO_SetBits(GPIOD,GPIO_Pin_1)
#define AD7190_SCLK_L GPIO_ResetBits(GPIOD,GPIO_Pin_1)
#define AD7190_DIN_H GPIO_SetBits(GPIOD,GPIO_Pin_2)
#define AD7190_DIN_L GPIO_ResetBits(GPIOD,GPIO_Pin_2)
#define AD7190_DOUT GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_4)

goodluck09876 发表于 2019-12-22 09:39

void AD7190_INIT(void)
{
Delay(100);
AD7190_CS_L;
AD7190Write(0x60);
AD7190_ID=AD7190Read_Byte();//读取AD7190 ID = 0xX4
AD7190_CS_H;
Delay(100);
AD7190_CS_L;
AD7190Write(0x10);//向配置寄存器写入24Bit配置数据
AD7190Write(0x00);//CON23-CON16
AD7190Write(0x02);//CON15-CON8
AD7190Write(0x07);//CON7-CON00x00:GAIN=1;
                               //0x03:GAIN=8;
                               //0x04:GAIN=16;
                               //0x07:GAIN=128; (GAIN=128时,输入范围为+-39.06mV)
AD7190_CS_H;
Delay(100);
AD7190_CS_L;
AD7190Write(0x08);//向模式寄存器写入24Bit配置数据
AD7190Write(0x08);//MR23-MR16
AD7190Write(0x00);//MR15-MR8
AD7190Write(0x3F);//MR7-MR0fs(MR0-MR9) = 0x00ff = 255,即数据输出速率为4920/255=19.2sps
                  //0x00 0xff:19.2sps
                  //0x00 0x3f:78sps
                  //0x00 0x1f:164sps
                  //0x00 0x0f:328sps
                  //0x00 0x05:984sps
AD7190_CS_H;
}

goodluck09876 发表于 2019-12-22 09:39

void read_reg(void)//读取配置寄存器与模式寄存器函数,用于验证配置数据是否正确写入
{
    //读取3Byte配置寄存器数据
Delay(100);
AD7190_CS_L;
AD7190Write(0x50);//write communication register 0x50 to control the progress to read configuration register
AD7190_CS_H;
Delay(100);
AD7190_CS_L;
conf_reg=AD7190Read_Byte();
conf_reg=AD7190Read_Byte();
conf_reg=AD7190Read_Byte();
AD7190_CS_H;
//读取3Byte模式寄存器数据
Delay(100);
AD7190_CS_L;
AD7190Write(0x48);//write communication register 0x50 to control the progress to read configuration register
AD7190_CS_H;
Delay(100);
AD7190_CS_L;
mode_reg=AD7190Read_Byte();
mode_reg=AD7190Read_Byte();
mode_reg=AD7190Read_Byte();
AD7190_CS_H;
}

goodluck09876 发表于 2019-12-22 09:40

void AD7190Write(uint8_t Data)
{
uint8_t data;
data=Data;
for(uint8_t i=0;i<8;i++)
{
    AD7190_SCLK_L;
    if(data&0x80)
    AD7190_DIN_H;
    else
    AD7190_DIN_L;
    Delay(100);
    AD7190_SCLK_H;
    Delay(100);
    data<<=1;
}
}

goodluck09876 发表于 2019-12-22 09:40

uint32_t AD7190Read(void)
{
uint32_t DATA;
DATA=0;
for(uint8_t i=0;i<24;i++)
{
    DATA<<=1;
    AD7190_SCLK_L;
    Delay(50);
    if(AD7190_DOUT)
    DATA++;
    AD7190_SCLK_H;
    Delay(50);
}
Delay(100);
return DATA;
}

goodluck09876 发表于 2019-12-22 09:40

uint8_t AD7190Read_Byte(void)
{
uint8_t DATA;
DATA=0;
for(uint8_t i=0;i<8;i++)
{
    DATA<<=1;
    AD7190_SCLK_L;
    Delay(100);
    if(AD7190_DOUT)
    DATA++;
    AD7190_SCLK_H;
    Delay(100);
}
Delay(100);
return DATA;
}

goodluck09876 发表于 2019-12-22 09:41

void AD7190_Reset(void)
{
AD7190_CS_L;
AD7190_DIN_H;
for(uint8_t a=0;a<50;a++)//提供大于40个写操作,复位AD7190
{
    AD7190_SCLK_L;
    Delay(100);
    AD7190_SCLK_H;
    Delay(100);
}
AD7190_CS_H;
}

goodluck09876 发表于 2019-12-22 09:41

goodluck09876 发表于 2019-12-22 09:42

goodluck09876 发表于 2019-12-22 09:45

goodluck09876 发表于 2019-12-22 09:46

页: [1] 2 3
查看完整版本: 应变片、电桥相关的设计资料