EmbDev.net

Forum: FPGA, VHDL & Verilog Need help with VHDL code for metal detector


von Roel s. (roelst)


Rate this post
useful
not useful
I am working on a metal detector at the moment but cant figure out how 
to implement it my VHDL code.
1
ENTITY sensor IS
2
     port ( metaldetector : in std_logic;
3
            metal : out std_logic;
4
          );
5
END ENTITY sensor;
As long as there isnt any metal close to the sensor 'metaldetector' gets 
pulses on a 6.1kHz frequency. So as long as the 'metaldetector' keeps 
getting pulses the out port 'metal' should be '0'.

When there is a pulse missing (or multiple pulses) 'metal' should become 
'1' until the next pulse.

It shouldnt be that hard to make a code that can do that, but i just 
cant figure it out. Any help would realy be great!

von P. K. (pek)


Rate this post
useful
not useful
You need a reference clock of some kind.

Then, implement a watchdog counter. If the counter is bigger than the 
required trigger value, stop counting and set metal = '1'. Restart the 
counter and set metal = '0' with each pulse you get.

As the reference clock is asynchronous (most probably) don't forget 
proper synchronisation.

von Roel s. (roelst)


Rate this post
useful
not useful
tell me about this watchdog counter (could you give me an example?). 
Google isnt helping me out here :/

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.