主题中讨论的其他器件:C2000WARE
您好!
我想使用 CLB 内核来分析输入位流。 我想在串行器中移位位流、然后对该寄存器中存在的1个位进行计数。 但是、我希望移位寄存器中存储的位数保持不变。 因此、当一个新值被移入时、MSB 必须从寄存器中删除。
是否有可能实施此类行为? 我是否必须使用中断例程来更新没有 MSB 的最后一个计数器?
提前感谢您的回答。
此致
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.
您好!
我想使用 CLB 内核来分析输入位流。 我想在串行器中移位位流、然后对该寄存器中存在的1个位进行计数。 但是、我希望移位寄存器中存储的位数保持不变。 因此、当一个新值被移入时、MSB 必须从寄存器中删除。
是否有可能实施此类行为? 我是否必须使用中断例程来更新没有 MSB 的最后一个计数器?
提前感谢您的回答。
此致
您好!
我需要在我身边创建一个实现方案来仔细检查这一点、但我遇到了一个问题、需要先解决这个问题。 一旦我解决了这个问题、我就会回复给您。
但是、我希望移位寄存器中存储的位数保持不变。
抱歉、由于我不熟悉该特定的应用程序、因此这一部分让我有点困惑。 这种情况下、移位寄存器是什么? 如果您可以创建图表或表示您正在尝试实现的目标、这将帮助我了解这个问题的背景。 主要是、我想知道数据是如何到达 CLB 的、正在使用 CLB 的哪些模块/如何、如何/是否将数据传输回 CPU (如果您的问题与这些步骤之一相关、请告诉我)。
GPIO 上连接了数据线和时钟线。 时钟的每个上升沿、根据数据线状态将一位插入串行器计数器。 串行器计数器应包含在最后一个 X 时钟上升沿测量的最后一个 X 位。 当一个新位进入时、测得的最后一个位从计数器值中清零(用作 FIFO)。 在插入的每个新位时、需要处理计数器值以计算串行器中出现的1的数量。
首先、我想知道我所描述的串行器的行为是否可以通过串行器计数器以任何方式完成。
您好!
我首先想知道我所描述的串行器的行为是否可以以任何方式通过串行器计数器来完成。
您是否已经了解过 clb_ex22_serializer? 此示例使用了与您之前所说的类似的 CLB 串行器、其中 GPREG_0表示数据线路、GPREG_1表示时钟线路。 相关示例可在 C2000Ware_5_01_00_00\driverlib\f28003x\examples\CLB 中找到。
是的、我有。 我可能弄错了、但我认为该示例显示了如何填充用作串行器的计数器、但没有显示如何根据需要从串行器中删除位。
您好!
我明白您的意思、是的、不存在 CLB 中的这种特性。 如果您希望移出位、则需要使用 HLC 将计数器值推入 FIFO、然后通过 CLB ISR/中断手动移出位。 如果您需要了解如何使用 HLC 将数据从 CLB 发送到 CPU、可以参阅 C2000Ware_5_01_00_00\training\device\f28003x\advance_topices\lab_clb_ecap 中的示例。