FPGA larmsystem (4 / 7 steg)
Steg 4: Klanggeneratorns
Klanggeneratorns använder LilyPad summern. Det får indata från viktigaste modulen, och om vissa villkor är uppfyllda, det låter larmet. Viktigaste modulen erkänner om larmet är beväpnad (beväpnade staten = 1) och om ljuset träffar IR bryta strålen sensorn har avbrutits medan systemet var beväpnade (utlöste state = 1). Om båda är 1, ljuder larmet.
Koden är följande:
koden i larm modul tas från
http://www.fpga4fun.com/MusicBox1.html och modifierade
modul alarmSound (högtalare, clk, triggeredState);
ingående clk;
input triggeredState;
output talare;
parametern clkdivider = 25000000/440/2;
reg [23:0] tonar;
alltid posedge clk)
if (triggeredState == 1)
tonar < = tone + 1.
reg [14:0] counter;
alltid posedge clk)
if (triggeredState == 1)
börja
if (counter == 0)
räknare < = (tona [23]? clkdivider-1: clkdivider/2-1);
annat
räknare < = counter-1;
slutet
rt.ex högtalare;
alltid posedge clk)
if (triggeredState == 1)
if (counter == 0)
talaren < = ~ talare;
endmodule