【发布时间】:2012-06-05 13:18:43
【问题描述】:
我目前正在研究金属探测器,但不知道如何在我的 VHDL 代码中实现它。
ENTITY sensor IS
port ( metaldetector : in std_logic;
metal : out std_logic;
);
END ENTITY sensor;
只要传感器附近没有任何金属,“金属探测器”就会获得 6.1kHz 频率的脉冲。所以只要“金属探测器”不断收到脉冲,输出端口“金属”就应该是“0”。
当缺少一个脉冲(或多个脉冲)时,“金属”应变为“1”,直到下一个脉冲。
编写一个可以做到这一点的代码应该不难,但我就是想不通。任何帮助都会很棒!
【问题讨论】:
-
到目前为止你得到了什么?一方面,如果您要测量脉冲或缺少脉冲,您还需要一个时钟输入。
-
我不知道如何执行此操作,但您对 clk 输入的看法是正确的。
-
我们不会为您编写所有代码 - 您需要尝试就具体问题提出具体问题。例如,对于如何找出 6.1kHz 列车是否缺少脉冲,您的第一个想法是什么?
-
@Martin 我不希望你给我写完整的代码,但我什至不知道如何开始。你能解释一下如何解决这个问题吗?如何开始?我想我们需要一个计数器,(一旦有新脉冲就会被重置。如果数字超过特定值,它应该生成一个金属 = '1'?)我真的不知道如何开始,所以任何指针都会受到赞赏。 ;)
-
听起来你确实有一个起点:)为此编写代码(可能先在伪代码中,然后正确获取 VHDL 语法)
标签: vhdl