本帖最后由 1475405344 于 2018-3-30 11:24 编辑
void F281X_ileg2_dcbus_drv_read(ILEG2DCBUSMEAS *p)
{
int32 Tmp;
int16 DatQ15;
int16 dat[4]={0,0,0,0};
int16 i=0;
// Wait until ADC conversion is completed
while (AdcRegs.ADCST.bit.SEQ1_BSY == 1)
{};
dat[0] = AdcRegs.ADCRESULT1>>4;
dat[1] = AdcRegs.ADCRESULT2>>4;
dat[2] = AdcRegs.ADCRESULT5>>4;
dat[3] = AdcRegs.ADCRESULT6>>4;
DatQ15=0;
for(i=0;i<4;i++)
{
DatQ15 += dat;
}
DatQ15 = (int16)(DatQ15>>2);
DatQ15 = DatQ15-(2314-2048);
if(DatQ15>2408||DatQ15<1688)
{
}
DatQ15 = (int16)(DatQ15<<4)^0x8000; //将采样的12位电流数变成16位并变为双极性数据
Tmp = (int32)p->ImeasAGain*(int32)DatQ15; // Tmp = gain*dat => Q28 = Q13*Q15
p->ImeasA = (int16)(Tmp>>13); // Convert Q28 to Q15
p->ImeasA += p->ImeasAOffset; // Add offset
p->ImeasA *= 1; // Positive direction, current flows to motor
dat[0] = 0;
dat[1] = 0;
dat[2] = 0;
dat[3] = 0;
dat[0] = AdcRegs.ADCRESULT0>>4; // ADC转换结果缓冲寄存器(RESULTn)为前12位,后4位无效
dat[1] = AdcRegs.ADCRESULT3>>4; // 同时转换为12位数据相加避免了数据溢出
dat[2] = AdcRegs.ADCRESULT4>>4;
dat[3] = AdcRegs.ADCRESULT7>>4;
DatQ15=0;
for(i=0;i<4;i++)
{
DatQ15 += dat;
}
DatQ15 = (int16)(DatQ15>>2);
DatQ15 = DatQ15 - (2309-2048);
if(DatQ15>2408||DatQ15<1688)
{
// EvbRegs.COMCONB.bit.FCOMPOE=0;
}
DatQ15 = (int16)(DatQ15<<4)^0x8000; //将采样的12位电流数变成16位并变为双极性数据
Tmp = (int32)p->ImeasBGain*(int32)DatQ15; // Tmp = gain*dat => Q28 = Q13*Q15
p->ImeasB = (int16)(Tmp>>13); // Convert Q28 to Q15
p->ImeasB += p->ImeasBOffset; // Add offset
p->ImeasB *= 1; // Positive direction, current flows to motor
/*
DatQ15 = (AdcRegs.ADCRESULT2>>1)&0x7FFF; // Convert raw result to Q15 (unipolar signal)
Tmp = (int32)p->VdcMeasGain*(int32)DatQ15; // Tmp = gain*dat => Q28 = Q13*Q15
if (Tmp > 0x0FFFFFFF) // Limit Tmp to 1.0 in Q28
Tmp = 0x0FFFFFFF;
p->VdcMeas = (int16)(Tmp>>13); // Convert Q28 to Q15
p->VdcMeas += p->VdcMeasOffset; // Add offset
*/
p->ImeasC = -(p->ImeasA + p->ImeasB); // Compute phase-c current
AdcRegs.ADCTRL2.all |= 0x4040; // Reset the sequence
}
就是AD采集模块的程序,文中标颜色的地方不是很懂。请问DatQ15-(2314-2048) ,if(DatQ15>2408||DatQ15<1688) 中间的数都是啥意思呢?还有Q15,Q13,Q15格式有啥不一样呢,有知道的指导一下哈,感谢 |