求解答
cmtn1.Va = _IQ15toIQ((AdcResult.ADCRESULT4<<3)-BemfA_offset);
cmtn1.Vb = _IQ15toIQ((AdcResult.ADCRESULT5<<3)-BemfB_offset);
cmtn1.Vc = _IQ15toIQ((AdcResult.ADCRESULT6<<3)-BemfC_offset);
DCbus_current = _IQ15toIQ((AdcResult.ADCRESULT1<<3)-IDC_offset)<<1; //1.65V offset added on DRV8312 board.
这段话什么意思呀
Eric Ma:
AdcResult.ADCRESULT4 这个数是12位的ADC,相当于IQ12的格式,再<<3 位,编程IQ15格式,BemfA_offset应该也是IQ15的格式,IQ15TOIQ就是转换成IQ24的格式。
总的来讲,意思是,采样结果减去偏置值,最终结果是Q24的格式。
ERIC
求解答
cmtn1.Va = _IQ15toIQ((AdcResult.ADCRESULT4<<3)-BemfA_offset);
cmtn1.Vb = _IQ15toIQ((AdcResult.ADCRESULT5<<3)-BemfB_offset);
cmtn1.Vc = _IQ15toIQ((AdcResult.ADCRESULT6<<3)-BemfC_offset);
DCbus_current = _IQ15toIQ((AdcResult.ADCRESULT1<<3)-IDC_offset)<<1; //1.65V offset added on DRV8312 board.
这段话什么意思呀
jinlong fan1:
回复 Eric Ma:
ADC采样进来不是存储在最高位吗,怎么还左移不应该是又移的吗?
求解答
cmtn1.Va = _IQ15toIQ((AdcResult.ADCRESULT4<<3)-BemfA_offset);
cmtn1.Vb = _IQ15toIQ((AdcResult.ADCRESULT5<<3)-BemfB_offset);
cmtn1.Vc = _IQ15toIQ((AdcResult.ADCRESULT6<<3)-BemfC_offset);
DCbus_current = _IQ15toIQ((AdcResult.ADCRESULT1<<3)-IDC_offset)<<1; //1.65V offset added on DRV8312 board.
这段话什么意思呀
Eric Ma:
回复 jinlong fan1:
ADC的结果是放在最高位,这里的移位是为了达到相同的Q格式,Q15.
eric
TI中文支持网



