我怎么处理寄存器翻转xPC目标编码器街区?

7视图(30天)
我使用xPC目标编码器模块仿真软件模型。金宝app我想知道如何处理潜在的寄存器翻转。

接受的答案

MathWorks支金宝app持团队
此增强功能已经包含在2006年发布(R2006a)。之前的产品发布,读下面的任何可能的解决方法:
编码器董事会有一个固定大小的计数器寄存器的16位,24位或32位。无论大小,寄存器总是最终溢出和卷。这可以发生在积极或消极的方向。
一些董事会提供硬件机制占溢出或滚动。作为一项最佳实践,应该设计模型总是处理溢出或滚动。最初的计算对于某些应用程序可以处理这个问题。
处理注册滚动,您可以使用标准的仿真软件模块设计以下计数器算法类型:金宝app
翻转计数器计算滚动的数量
扩展计数器——提供了一个扩展计数器不限制寄存器的大小
附加的文件包含示例翻转计数器和扩展计数器模块(处理正方向翻转)。
你可以使用这些块模型或修改您的模型。连接编码器的输出块,这些块。
这些计数器执行以下:
  • 翻转计数器计数的次数一个编码器的输出块滚了。它有正方向滚动和负方向滚动。
查看这个翻转计数器中使用的算法实现,右键单击“展期计数器”子系统和选择看面具下的选项。
  • 延长计数器需要编码器的输出块提供了一个计数,并不是限制寄存器的大小。对于一个n位寄存器,这柜台应该能够计算值大于2 ^ (n - 1)。
笔记使用计数器样本块
  • 在仿真软件无缝操作,柜台提供正确的信息块。金宝app
  • 确定发生翻转时,模型比较连续两个编码器输出和寻找一个大跳。一个大跳指示寄存器溢出。
你选择的阈值定义了一个大跳。阈值越小,越有可能连续模型的误解在编码器计数翻转。阈值越大,越有可能模型不会检测翻转。在理想的情况下,选择一个数字,一半是寄存器的大小(例如,2 ^ (n - 1)),其中n是位寄存器的大小。
  • 一些驱动程序块允许最初的起始值加载到寄存器中。您必须将该值传递给翻转块调整抵消。
  • 翻转块每个翻转代表需要知道有多少数量。一般来说,这个数字是2 ^ n,其中n是位寄存器的大小。

更多的答案(0)

类别

找到更多的在通用应用程序帮助中心文件交换

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!