主题中讨论的其他器件:C2000WARE
大家好、
IQ 数学库中的以下2个函数之间有何区别?
1) _IQ (2.0);
2) _IQ2toIq (2.0);
此外、请详细说明何时使用函数1和函数2以及具体示例。
此外、请告诉我、"Q24"表示 Q24格式的24整数位或分数分辨率?
谢谢、此致、
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.
大家好、
IQ 数学库中的以下2个函数之间有何区别?
1) _IQ (2.0);
2) _IQ2toIq (2.0);
此外、请详细说明何时使用函数1和函数2以及具体示例。
此外、请告诉我、"Q24"表示 Q24格式的24整数位或分数分辨率?
谢谢、此致、
您好!
[引用 userid="519017" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192054/tms320f28334-iq-library-in-hvaci-sensor-less-2833x-control-suite-example "] IQ 数学库中的以下2个函数之间有何差异。[quote userid="519017" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192054/tms320f28334-iq-library-in-hvaci-sensor-less-2833x-control-suite-example 还请详细说明何时使用函数1和函数2以及单个示例。这两个函 数之间的区别在于、第一个函数使用 global_Q 格式(无论您选择哪种格式)将浮点数转换为 IQ 值、第二个函数则将数字从 IQ2格式转换为 global_Q 格式。 GLOBAL_Q 格式基本上是您在程序中使用的默认 IQ 值格式、默认为24。 下面是一个示例、说明如何使用每个示例:
// How to use _IQ(float F) function float floatVal = 2.0; _iq fixedValGlobal = _IQ(floatVal); // How to use _IQNtoIQ(_iqN A) function floatVal = 3.0; _iq2 fixedValAlt = _IQ2(floatVal); fixedValGlobal = _IQ2toIQ(fixedValAlt);
在帖子中包含函数的方式不是正确的语法;有关详细信息、请参阅 IQmath 用户指南(文件资源管理器中的 C2000Ware_4_XX_XX_XX\libraries\math\IQmath\c28\docs)。
[引用 userid="519017" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192054/tms320f28334-iq-library-in-hvaci-sensor-less-2833x-control-suite-example ]此外、请告诉我"Q24"表示 Q24格式的24整数位或小数分辨率?在用户指南中、您可以查看确切的详细信息、但"24"基本上指的是定点数据类型的精度。 所有 IQ 数据类型 都很长、这意味着它们的大小为32位。
此致、
Omer Amir
您好 OMEN Amir、
Q24的范围是-128到127.999,只有7位整数,1位用于符号,24位将是小数,对吧?
Q24表示基数点小数后的24个固定整数还是24位分解器? 图像来自... C28x IQ Math 库 第3.2节。
您能否举一个德州 C283x 中 Q 格式表示的示例?
此外、还可以执行一个 Q 格式的数学运算、任何加法、乘法、采用 Q16或 Q8格式。
谢谢、此致、
认识 Pandya
您好!
[引用 userid="519017" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192054/tms320f28334-iq-library-in-hvaci-sensor-less-2833x-control-suite-example/4492620 #4492620">此处 Q24的范围是-128至127.999,只有7位整数,1位表示符号,24位表示小数对吗?? [/报价]是的、没错。
[引用 userid="519017" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192054/tms320f28334-iq-library-in-hvaci-sensor-less-2833x-control-suite-example/4492620 #4492620"]Q24是指基数点小数后的24个固定整数还是24位分解器? 图像来自... C28x IQ Math 库 第3.2节。[/quot]Q24表示24位用于表示 存储的数字的小数部分。
[引用 userid="519017" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192054/tms320f28334-iq-library-in-hvaci-sensor-less-2833x-control-suite-example/4492620 #4492620"]您还能提供德州 C283x 中 Q 格式表示的示例吗?Q 格式是 C2000Ware 中的库、仅基于软件而不是器件类型。 要使用 Q24格式、它基本上应该如下所示进行分解:
遗憾的是、我找不到实际实现函数的确切汇编文件。 如果您想了解如何完成这些操作、可以运行 IQmath 示例之一并使用"汇编步骤进入"操作来查看使用的汇编代码。 此代码准确显示操作的完成方式。
此致、
Omer Amir
您好 Omer Amir、
我正在检查控制套件中的 HVACI_Sensorless_2833x 示例。 在这个项目中,我有一些疑问,我想问,上一个问题也是问的。
具体如下:
1) 1)我已经阅读了控制套件中的 IQ 数学指南以及互联网上有关 Q 表示法的信息、但我无法理解项目中的 IQ 数学方法。 我知道 Q 表示法是定点值。 我还在控制套件中阅读了它的文档。 您能不能用示例简单地告诉我这方面的信息。
2) 2) IQ 数学头 #define _iQ24 (a) (long)(((a)* 16777216.0L)中有宏 、我不明白该宏的具体作用。 我知道它会将 值转换为 Q24值、但我无法理解它的确切用途是什么(为什么它会与2^n 相乘 (N= Q 格式分辨率、Q24则与2^24相乘、对于 Q20、则与2^20相乘)。 使用此乘法,它将转换为 Q24格式,对吗? 如果是, 此宏是否 不会超过 Q24 范围。 t
因为 Q24具有-128至127的整数范围。 那么、这是如何进行 Q24转换?
3) 3)我有 MCU F28334。 它具有 FPU。 对于 F28334、我应该进行哪些更改才能使用此代码? 我知道头文件中有"浮点数学"选项。 我应该只打开该宏、还是需要进行任何其他更改?
4) 4)为什么使用_IQmpy? 为什么我们不能使用普通 FPU 乘法、它们之间是否存在任何结果差异 ? 请说明。
请尽快帮助我完成此 IQ 数学循环。 提前感谢。 正在等待您的回复。
谢谢、此致、
认识 Pandya
您好!
我建议在线查看有关如何使用定点和浮点数字的示例、因为 TI 数学库遵循大多数其他地方使用的通用格式。
此致、
Omer Amir