完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-6-14 10:05 编辑
我是ti DSP的初学者,请教一下大家几个问题,这是在controlSuite的HVLLC工程下的例程,控制芯片是F2802x,有些地方我不是很明白 // Monitor ("Get") // Display as: int16 Gui_Vout; // Q9 int16 Gui_Ipri; // Q9 int16 Gui_V_SR1; // Q9 int16 Gui_V_SR2; // Q9 int16 Gui_I_SR1; // Q8 int16 Gui_I_SR2; // Q8 // Configure ("Set") int16 Gui_Vset; // Q9 这里的Gui_Vset 是Q9格式,假如我在watch窗口Gui_Vset变量下设置为12,也就是想让输出电压为12V,那么在程序里Gui_Vset是12*2^9吗? 这里为什么设置为Q9,还有其他的一些Q值是怎么确定的,比如这里的PID三个参数,为什么是Q10,这些问题挺困扰我的 Pgain = 200; // Q10 Igain = 1; // Q10 Dgain = 5; // Q10 这里的一段程序 //Multiply with longs to get proper result then shift by 14 to turn it back into an int16 Vset = ((long)Gui_Vset*(long)iK_Vset) >> 5; 其中iK_Vset = 27618; // 1.686 (Q14),Vset是PID控制的反馈值(CNTL_2P2Z_Ref1 = &Vset;) Vset为什么要走这样处理?感觉都是跟Q值有很大关系 |
|
相关推荐
7个回答
|
|
Hitaowei,
你理解的对的,GUI_Cset的实际数值是12*2^9;采用IQ格式的目的是利用定点的CPU可以实现浮点数值的计算,如计算0.5*0.5等,具体采用IQ多少的格式是由客户自己确定,需要注意的是计算过程中数值是否会溢出,精度是否能满足等;Vset具体采用IQ几请查找程序中CNTL_2P2Z_Ref1的IQ格式,两个IQ格式数据相乘,则记过是IQ格式相加的,如 IQ(10) * IQ(10),则结果是IQ(20)的。 |
|
|
|
广陵云峰 发表于 2018-6-14 06:27 关于IQ格式的使用,建议看下TI的IQMath的手册: C:ticontrolSUITElibsmathIQmathv160doc |
|
|
|
广陵云峰 发表于 2018-6-14 06:27 嗯,谢谢你,我还有些疑问,controlSUITE的powerSUITE下有个Digital Power BoosterPack工程,分为了Buck_VMC_F28069M和Buck_VMC_F28377S两个版本,这两个版本功能是一样的。28069这个的控制循环中断处理(PID/2P2Z)用汇编写的,小数用了Q格式,而28377S的控制循环中断处理(PID/2P2Z)用的C语言写的,小数是直接用浮点形式的。我有些困惑的是28069也是浮点DSP,为什么不像28377那样小数直接也是浮点数形式处理呢? 另外在Buck_VMC_F2837xS这个工程里: // Configure PWM for 200Khz (default) switching Frequency // Period Count= 100Mhz/200Khz = 500 PWM_1ch_UpCntDB_ActivHIC_CNF(BUCK_PWM_NO, BUCK_PWM_PERIOD,1,0); // Master mode 这个用的是F28377S芯片,主频是200MHz,配置时却是按照100MHz算的(#define CPU_SYS_CLOCK 100000 #define BUCK_PWM_SWITCHING_FREQUENCY 200),感觉这里有点问题,还有其他一些例程里面注释和程序对不上的地方也有。但是这些是TI官方程序,所以不太确定。 |
|
|
|
广陵云峰 发表于 2018-6-14 06:27 Martin你好,能不能继续回答下帖子下面的问题呢,谢谢了 |
|
|
|
guotong1984 发表于 2018-6-14 07:02 Hitaowei, 不好意思,白天出差,回复晚了。 先回答第一个问题: 是的,F28069也是浮点型的,也可以像F28377那样直接采用浮点运算;我估计美国BU那边这样做的目的是要演示定点和浮点运算两种例程,但我们的硬件板子决定了只能采用F28069和F28377的控制板能配合下面的电源板进行试验(其他的F2803X等都是采用插卡形式的),其实这个EVM采用的是F28069M的板子(点击控制套件中的)。 |
|
|
|
guotong1984 发表于 2018-6-14 07:02 Hitaowei, 第二个问题: 看了程序,系统时钟是配置成200MHz, 而PWM模块的时钟按照默认配置的,是系统时钟的一半100MHz, 这个部分是因为F28377采用的type4的PWM,时钟不是直接采用系统时钟的,有预分频处理: Note: The Type 4 EPWM clocking varies from previous EPWM types. Prior to the Type 4 EPWM, the time-base submodule was clocked directly by the system clock (SYSCLKOUT). On this version of the ePWM, there is a divider (EPWMCLKDIV) of the system clock which defaults to EPWMCLK = SYSCLKOUT / 2 |
|
|
|
广陵云峰 发表于 2018-6-14 07:46 嗯嗯,那我明白了,谢谢你的耐心解答。 |
|
|
|
只有小组成员才能发言,加入小组>>
350 浏览 1 评论
544 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
789 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
81浏览 29评论
285浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
261浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
68浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 20:01 , Processed in 1.282987 second(s), Total 89, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号