针对指定性能的差分输入电压(1):根据数据手册第页(编号:54)、我们给出了增益的默认设置、如 SD24BINCTL0 = SD24GAIN_1;这意味着工作电压应该如
±900mV。 但我的控制器在高达 ±450的范围内工作。 如何解决问题。 请告知我们 SD24_B 是否需要任何其它配置。
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
针对指定性能的差分输入电压(1):根据数据手册第页(编号:54)、我们给出了增益的默认设置、如 SD24BINCTL0 = SD24GAIN_1;这意味着工作电压应该如
±900mV。 但我的控制器在高达 ±450的范围内工作。 如何解决问题。 请告知我们 SD24_B 是否需要任何其它配置。
谢谢。
Jace、您好!
感谢您的答复。
我们在调试模式下进行了验证、并验证了 SD24BINCTL0 寄存器的值。 但是、增益设置为1且 Vref = 1.15V。
共享我们在代码中设置的 SD_24初始化设置:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SD24BCTL0 = SD24REFS | SD24SSEL_1|SD24PDIV0|SD24PDIV0;
SD24BCCTL0 = SD24SCS_GROUP0|SD24DF_1;//组0
SD24BCCTL1 = SD24SCS_GROUP0|SD24DF_1;//组0
SD24BCCTL2 = SD24SCS_GROUP0|SD24DF_1;
SD24BCCTL3 = SD24SCS_GROUP0|SD24DF_1;
SD24BCCTL4 = SD24SCS_GROUP0|SD24DF_1;
SD24BCCTL5 = SD24SCS_GROUP0|SD24DF_1;
SD24BCCTL6 = SD24SCS_GROUP0|SD24DF_1;
SD24BOSR0=245 - 1;
SD24BOSR1=245 - 1;
SD24BOSR2=245 - 1;
SD24BOSR3=245 - 1;
SD24BOSR4=245 - 1;
SD24BOSR5=245 - 1;
SD24BOSR6=245 - 1;
SD24BPRE3=0xE2;/250;//0xE2;/226
SD24BPRE4=0xE2;//0xE2;/226
SD24BPRE5=0xE2;
SD24BPRE0 = 26;//SD24BPRE0=26;SD24BPRE0
SD24BPRE1 = 26;
SD24BPRE2 = 26;
SD24BCCTL0|= SD24SC;
SD24BCCTL1|= SD24SC;
SD24BCCTL2|= SD24SC;
SD24BCCTL3|= SD24SC;
SD24BCCTL4|= SD24SC;
SD24BCCTL5|= SD24SC;
SD24BCCTL6|= SD24SC;
SD24BIE = SD24IE1;//启用通道1中断
__delay_cycles (0x3600);
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
请建议会提高我们 FSR 的任何修改。
此致
GVS
Jace、您好!
感谢您确认我的消息。
我所使用的应用测量三相电压和电流。
我参考了以下 TI 精密实验室视频和 E2E 页面、其中包含您对类似问题的答复:
youtu.be/CLN7VdJ5agg
e2e.ti.com/.../msp430f6736a-understanding-sd24-datasheet
这两种资源都建议修改增益设置。 我尝试了增益值1、2、3和延迟设置(INTDLY 位)来提高 SD24B 的输入范围。 但输出没有变化。
Jace、您好!
可以。 我们设置 DF_1、即二进制补码。 我们声明了两个数组、并将 ADC MEM 寄存器值复制到其中、如下所示:
int16_t A_Sample[3];
int16_t B_Sample[4];
ADC_SAMPLE=SD24BMEMH6;
ADC_SAMPLE<<=8;
A_Sample[2]=ADC_SAMPLE|(SD24BMEML6&0xFF00)>>8);//V3
ADC_SAMPLE=SD24BMEMH5;//V2
ADC_SAMPLE<<=8;
A_Sample[1]=ADC_SAMPLE|((SD24BMEML5&0xFF00)>>8);
ADC_SAMPLE=SD24BMEMH4;//V1
ADC_SAMPLE<<=8;
A_Sample[0]=ADC_SAMPLE|(SD24BMEML4&0xFF00)>>8);
ADC_SAMPLE=SD24BMEMH0;//I1
ADC_SAMPLE<<=8;
b_Sample[0]=ADC_SAMPLE|(SD24BMEML0&0xFF00)>>8);
ADC_SAMPLE=SD24BMEMH1;//I2
ADC_SAMPLE<<=8;
b_Sample[1]=ADC_SAMPLE|(SD24BMEML1&0xFF00)>>8);
ADC_SAMPLE=SD24BMEMH2;//I3
ADC_SAMPLE<<=8;
b_Sample[2]=ADC_SAMPLE|(SD24BMEML2&0xFF00)>>8);
ADC_SAMPLE=SD24BMEMH3;//I4
ADC_SAMPLE<<=8;
b_Sample[3]=ADC_SAMPLE|(SD24BMEML3&0xFF00)>>8);
GVS、
我认为您的数学运算不适合您的设置。 仅当数据左对齐时才需要进行移位。 默认设置为右对齐。 如果您要将其置于左对齐位置、则对于二进制补码、您需要为所选的 OSR 移位7。 有关详细信息,请参阅表29-2。
话虽如此、由于您要进行电表应用、因此一种更简单的方法是直接使用我们的 电能测量设计中心(EMDC) 来设置系统和电能计量应用。
粘贴我在此处所做的更改:
SD24BCCTL0 = SD24SCS_GROUP0|SD24DF_1|SD24ALGN;//组0
SD24BCCTL1 = SD24SCS_GROUP0|SD24DF_1|SD24ALGN;//组0
SD24BCCTL2 = SD24SCS_GROUP0|SD24DF_1|SD24ALGN;
SD24BCCTL3 = SD24SCS_GROUP0|SD24DF_1|SD24ALGN;
SD24BCCTL4 = SD24SCS_GROUP0|SD24DF_1|SD24ALGN;
SD24BCCTL5 = SD24SCS_GROUP0|SD24DF_1|SD24ALGN;
SD24BCCTL6 = SD24SCS_GROUP0|SD24DF_1|SD24ALGN;
ADC_SAMPLE=SD24BMEMH6;
ADC_SAMPLE<<=7;
A_Sample[2]=ADC_SAMPLE|(SD24BMEML6&0xFF00>>7);//V3
ADC_SAMPLE=SD24BMEMH5;//V2
ADC_SAMPLE<<=8;
A_Sample[1]=ADC_SAMPLE|((SD24BMEML5&0xFF00)>>7);
ADC_SAMPLE=SD24BMEMH4;//V1
ADC_SAMPLE<<=8;
A_Sample[0]=ADC_SAMPLE|(SD24BMEML4&0xFF00)>>7);
ADC_SAMPLE=SD24BMEMH0;//I1
ADC_SAMPLE<<=8;
b_Sample[0]=ADC_SAMPLE|(SD24BMEML0&0xFF00)>>7);
ADC_SAMPLE=SD24BMEMH1;//I2
ADC_SAMPLE<<=8;
b_Sample[1]=ADC_SAMPLE|(SD24BMEML1&0xFF00)>>7);
ADC_SAMPLE=SD24BMEMH2;//I3
ADC_SAMPLE<<=8;
b_Sample[2]=ADC_SAMPLE|(SD24BMEML2&0xFF00)>>7);
ADC_SAMPLE=SD24BMEMH3;//I4
ADC_SAMPLE<<=8;
b_Sample[3]=ADC_SAMPLE|(SD24BMEML3&0xFF00)>>7);