i must have the code for detecting a missin g pulse? do some one have some for me to see?
G !
The standard problem.
If you have a question, you must supply a complete problem description.
It sounds like you may have a g sensor - but we don't know which, or how it is connected. And we don't know why you would have lost G pulse to even figure out that you have lost. Exactly how do you loose it?
If you do not know enough to give a complete problem description, then neither you nor we may have a chance of knowing the answer.
And how do you distinguish a missing G pulse from a missing F or H pulse...?
Per, I must disagree. There is nothing wrong with providing an 'answer' with the same thoroughness as the question.
Answer (start here...)
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; --============================================================================ -- ENTITY for "The Case Of The Missin G Pulse" -- --============================================================================ entity mPulse is Port ( -------------------------------------------------------------- -- IO port definitions -- -------------------------------------------------------------- RST : in std_logic; -- Reset all states to known values Clock : in std_logic; -- The time-base Pulses : in std_logic; -- The incoming pulse train Enable : in std_logic; -- Enables the function Missin : out std_logic -- The result (without the 'G') ); end mPulse;
And then you simply write the architecture as needed. It almost writes itself.
--Cpt. Vince Foster 2nd Cannon Place Fort Marcy Park, VA
lol gatmal
i made mistake!!!!! alrigt!!!!!!!
it is {{{not}}} a missin g pulse . it is a missing pulse.
aneybody answer me now plz?????
"it is a missing pulse.
aneybody answer me now plz?"
Sure, but first, describe "a missing pulse"?
I stand corrected. Will try to redeem myself.
// \note The following library is dependant on the current // geographical location (latitude + longitude + // distance from the mean earth radius) moon // location, speed and travel direction, and sensor // orientation, since the g pulse // detector is calibrated relative to the local // gravitational levels (and influences of coriolis // forces) at the sensor location. // \todo A laser gyro and GPS tracker should be integrated // for automatic adjustments of the reference limits // for the g pulse sensor, and to allow detect failures // to be reported in relation to the GPS reference time. // \note Calibration or orientation differences between // G and H pulse sensors will affect the reliability of // the error detector. The H pulse detector should normally // be calibrated with a higher detect level (percentage // depending on current security classification) to // make sure that a too sensitive H pulse sensor generates // alarms when the G pulses are just below the detection // levels. bool have_seen_g_pulse; bool any_g_missing; bool last_g_missing; unsigned detector_timeout; timestamp time_last_failure; timestamp time_first_failure; void init(void) { // Initialized to true even if no G pulse seen yet, // to make sure we don't get a false error in case // the supervision is started between a G and an H // pulse. have_seen_g_pulse = true; any_g_missing = false; last_g_missing = false; comm_failure = false; detector_timeout = get_now() + COM_FAILURE_TMO; clear_timestamp(time_first_failure); clear_timestamp(time_last_failure); } void report_g_pulse(void) { if (detector_timeout()) { if (!any_g_missing) { get_timestamp(time_first_g_missing); } get_timestamp(time_last_g_missing); last_g_msising = true; any_g_missing = true; } have_seen_g_pulse = true; last_g_missing = false; detector_timeout = get_now() + COM_FAILURE_TMO; } void report_h_pulse(void) { if (!have_seen_g_pulse || detector_timeout()) { // Since everyone knows that H always follows G, // a detect of H without a G implies a lost // G. if (!any_g_missing) { get_timestamp(time_first_g_missing); } get_timestamp(time_last_g_missing); last_g_msising = true; any_g_missing = true; } // Arm detector. have_seen_g_pulse = false; detector_timeout = get_now() + COM_FAILURE_TMO; comm_failure = false; } bool detector_timeout() { return get_now() > detector_timeout; } bool have_mmissed_last_g_pulse(timestamp* when) { if (last_g_missing) { if (when) *when = time_last_g_missing; return true; } if (detector_timeout()) { if (!any_g_missing) { get_timestamp(time_first_g_missing); any_g_missing = true; } get_timestamp(time_last_g_missing); last_g_missing = true; comm_failure = true; if (when) *when = time_last_g_missing; return true; } return false; } bool have_missed_any_g_pulse() { if (any_g_missing) { if (when) *when = time_last_g_missing; return true; } if (detector_timeout()) { if (!any_g_missing) { get_timestamp(time_first_g_missing); any_g_missing = true; } get_timestamp(time_last_g_missing); last_g_missing = true; comm_failure = true; if (when) *when = time_last_g_missing; return true; } return false; }
Well done Per! NP Complete!
View all questions in Keil forum