TI中文支持网
TI专业的中文技术问题搜集分享网站

求指教解答 cmtn1.Va = _IQ15toIQ((AdcResult.ADCRESULT4<<3)-BemfA_offset);这句话什么意思呀

求解答

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

赞(0)
未经允许不得转载:TI中文支持网 » 求指教解答 cmtn1.Va = _IQ15toIQ((AdcResult.ADCRESULT4<<3)-BemfA_offset);这句话什么意思呀
分享到: 更多 (0)