FPGA larmsystem (5 / 7 steg)
Steg 5: Huvudsakliga modul
Denna modul stycken alla andra moduler tillsammans för att få full larmsystemet. Det får information direkt från IR-break beam sensorn att avgöra den utlösta staten och känner igen oavsett om systemet är i en beväpnad eller avväpnade stat. Systemet är beväpnad av bilden växlar på undersidan av FPGA styrelsen; en pin aktivera systemet, och att stänga av systemet när det är iväg. Stift för växlarna finns på sidorna 36 av användarmanualen.
Denna modul ger input till båda de andra modulerna.
Koden är följande:
Huvudsakliga modul
modul finalproject (armedIn, beam, clk, disarmedIn, armedState, beamOut, disarmedState, högtalare, SSD, SSD1, SSD2, triggeredState);
input armedIn; // SW0
ingående beam;
ingående clk;
input disarmedIn; // SW1
utgång regarmedState = 0; //LEDR17
utgång beamOut; //LEDG0
utgång regdisarmedState = 1; //LEDR16
output talare;
utgång [6:0] SSD, SSD1, SSD2;
utgång reg triggeredState = 0;
parametern å = 1;
parametern off = 0;
tilldela beamOut = balk; / / anges på ledg0 om balken är trasig
titta på alla ingångarna
alltid disarmedIn, beam)
börja
if (armedIn)
börja
armedState < =;
disarmedState < = off;
slutet
if (disarmedIn)
börja
armedState < = off;
disarmedState < =;
triggeredState < = off;
slutet
if ((beam == 0) & & (armedState == 1) & & (disarmedState == 0))
triggeredState < =;
slutet
armedStatusDisplay display1(armedState,SSD,SSD1,SSD2); / / visar aktuell status för larmet på SSD
alarmSound alarm1 (högtalare, clk, triggeredState); / / larm
endmodule