0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA报警系统的制作

454398 来源:wv 2019-09-29 08:41 次阅读

步骤1:所需的设备/程序

能够处理的计算机

Quartus II网络

Altera FPGA开发板DEs-115 Cyclone IV系列( )

红外光束中断传感器(该部分的第二张图片)

Arduino LilyPad蜂鸣器(该部分的第三张图片) )

用户手册(参考部分提供了链接)

面包板

电线

一个上拉电阻; 10K欧姆

耐心; Verilog代码并非总是容易做到的

步骤2:框图和模块故障

请参阅底部的PDF

警报系统由三个模块组成;主模块,显示模块和声音模块。系统可以处于三种状态:布防,撤防和触发。

主模块监视输入并更改状态变量的值。设防和撤防状态的输入是开关。触发状态的输入是断线传感器。如果光束入射到传感器,则输入为1。相反,如果光束中断并且没有光入射到传感器,则输入为0,触发状态变为1。

显示模块将从主模块获得布防和撤防状态的值。如果设防输入变为高电平(1),则设防状态将变为1,并且单词‘on’将显示在七段显示器(SSD)中,该显示器位于FPGA板上滑动开关上方。如果输入变为低电平(0),则撤防状态将更改为1,并且SSD会显示“关闭”字样。

声音模块还将获得撤防,撤防和撤防的值。从主模块触发状态。如果布防状态为1,触发状态为1,则警报声将响起。仅在撤防状态更改为1时,声音才会关闭。

步骤3:显示模块

如果警报为“ ON”或“ OFF”,则显示模块将使用SSD进行显示。这使用了布防和撤防状态变量的值。根据输入,模块将点亮显示器的某些部分。请参阅本节的第二张图片,以了解哪些片段将被点亮。请参阅本节的第一张图片,以查看分段点亮时SSD的外观。

在布防状态为打开(输入为1)时,将使用两个显示器,每个字母一个上的单词。第一次显示时,除数字6外的所有段均将点亮。第二个显示屏将点亮0、1、2、4和5段(也可以使用2、4和6段)。

在撤防状态为打开(输入为1)时,三个显示器将被使用;单词“ off”的每个字母一个。第一个显示屏将与系统打开时的第一个显示屏相同。第二个和第三个显示器的段0、4、5、6都将点亮。

SSD是低电平敏感的,这意味着当它们为0时它们会点亮。第二张图片中的标签表明您位置,其中应放置0以形成所需的形状。例如,要使字母“ n”,段0、1、2、4和5必须点亮,这意味着所有这些位置都为零。其他位置(在这种情况下为位置3和6)将为1。因此,为了使字母“ n”成为要馈送到引脚的7位二进制数是0001001。由于每个板都不同,因此您可能必须保留

此项目所需的引脚可以在Altera DE2-115用户手册的第36至38页上找到。请注意,SSD引脚每个显示器有7个引脚,例如HEX0 [0]至HEX0 [6]。 7位二进制数的每个位置都将获得这7个引脚之一。但是,尽管7位二进制数将从位置0到位置6,要获得正确的引脚顺序,它们必须递减计数。

HEX0 [6]的位置为0,HEX0 [5]的位置为1,依此类推。

代码如下:

模块 armedStatusDisplay(armedState,SSD,SSD1,SSD2);

输入武装状态; 《/p》

输出规则 [6:0] SSD,SSD1,SSD2;

始终 @(armedState)

开始

SSD2 = 7‘b0000001;

如果(armedState == 1)

开始

SSD = 7’b1111111;

SSD1 = 7‘b0001001;

否则

开始

SSD = 7’b0111000;

SSD1 = 7‘b0111000;

endmodule

步骤4:声音模块

声音模块使用LilyPad蜂鸣器。它接收来自主模块的输入,如果满足某些条件,它将发出警报。主模块可以识别警报是否已布防(布防状态= 1),以及在系统布防时(触发状态= 1)是否已经中断了撞击IR中断光束传感器的光。如果两者均为1,则警报将响起。

代码如下:

//警报模块中的代码来自

http://www.fpga4fun.com/MusicBox1.html并进行了修改

模块 AlarmSound(扬声器,clk,triggeredState);

输入 clk;

输入 triggerState;

输出扬声器;

参数 clkdivider = 25000000/440/2;

reg [23:0]音调;

总是 @(摆姿势 clk)

如果(触发状态== 1)

音频《=音频+1;

reg [14:0]计数器;

始终 @( posege clk)

如果(triggeredState == 1)

开始

if (counter == 0)

counter 《=(tone [23]?clkdivider-1:clkdivider/2-1);

其他

counter 《= counter-1;

结束

r 例如扬声器;

总是 @( posege clk)

如果(triggeredState == 1)

如果(counter == 0)

扬声器《=〜扬声器;

结束模块

步骤5:主模块

该模块将所有其他模块拼凑在一起,以获取完整的警报系统。它直接从红外中断光束传感器接收信息,以确定触发状态,并识别系统是否处于布防或撤防状态。该系统通过FPGA板底部的滑动开关进行布防。一针打开系统,一针关闭系统。开关的引脚位于用户手册第36页上。

此模块为其他两个模块提供输入。

代码如下:

//主模块

模块 finalproject(armedIn,beam,clk,disarmedIn,armedState,beamOut,disarmedState,扬声器,SSD, SSD1,SSD2,triggertedState);

输入 //SW0

输入光束;

输入 clk;

输入 disarmedIn; //SW1

输出 regarmedState = 0; //LEDR17

输出 beamOut; //LEDG0

输出 regdisarmedState = 1; //LEDR16

输出扬声器;

输出 [6:0] SSD,SSD1 ,SSD2;

输出 reg 触发状态= 0;

参数打开= 1;

参数关闭= 0;

分配 beamOut =梁; //如果光束断开则在ledg0上指示

//监视所有输入

始终 @(armedIn,disarmedIn,梁)

开始

如果(armedIn)

开始

武装状态《=开;

解除状态《=关;

结束

如果(已撤防)

开始

武装状态《=关闭;

disarmedState 《=开;

TriggeredState 《=关;

结束

如果((光束== 0)&&(armedState == 1)&&(disarmedState == 0))

TriggeredState 《= on;

end

ArmedStatusDisplay display1(armedState,SSD,SSD1,SSD2); //在SSD上显示警报的当前状态

alarmSound alarm1(扬声器,clk,triggeredState); //发出警报

endmodule

步骤6:演示

请观看随附的视频以观看我们的警报系统演示。

完整代码如下:

模块最终项目(armedIn,beam,clk,disarmedIn,armedState,beamOut,disarmedState,扬声器,SSD,SSD1,SSD2,triggerState);

输入 armarmIn ;

输入光束;

输入 clk;

输入 disarmedIn;

输出注册表武装状态= 0;

输出 beamOut;

输出注册表 disarmedState = 1;

输出扬声器;

输出 [6:0] SSD,SSD1,SSD2;

输出注册表,触发状态= 0;

参数开启= 1;

参数关闭= 0;

分配 beamOut =梁;//如果光束断开则在ledg0上显示

//始终注视所有输入

@(armedIn,disarmedIn,beam)

开始

如果(armedIn)

开始

武装状态《=开启;

撤防状态《=关闭;

结束

如果(

开始

武装状态《=关闭;

解除状态《=开启;

触发状态《= off;

结束

如果((beam == 0)&&(armedState == 1)&&(disarmedState == 0))

TriggeredState 《= on;

end

ArmedStatusDisplay display1(armedState,SSD,SSD1,SSD2) ;//在SSD上显示警报的当前状态

alarmSound alarm1(speaker,clk,triggedState);//发出警报

endmodule

///警报模块中的代码来自http://www.fpga4fun.com/MusicBox1.html和修改

模块 alarmSound(扬声器,clk,triggerState);

输入 clk;

输入 triggerState;

输出扬声器;

参数 clkdivider = 25000000/440/2;

reg [23:0]音调;

始终 @( posege clk)

如果(triggeredState == 1)

tone 《= tone + 1;

reg [14:0]计数器;

始终 @(姿势 clk)

如果(triggeredState == 1)

开始

如果(计数器== 0)

计数器《=(音调[23]?clkdivider-1:clkdivider/2-1);

其他

counter 《= counter-1;

结束

reg 扬声器;

始终 @(《如果(triggeredState == 1)

如果(counter == 0),则

扬声器《=〜扬声器;

终端模块

模块武装状态显示(armedState,SSD, SSD1,SSD2);

输入 armedState;

输出注册表 [6:0] SSD,SSD1,SSD2;

始终 @(armedState)

开始

SSD2 = 7’b0000001;

如果(armedState == 1)

开始

SSD = 7‘b1111111;

SSD1 = 7’b0001001;

结束

否则

开始

SSD = 7‘b0111000;

SSD1 = 7’b0111000;

结束

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593173
  • 报警系统
    +关注

    关注

    5

    文章

    621

    浏览量

    74651
收藏 人收藏

    评论

    相关推荐

    基于51单片机的红外报警器的设计与制作

    电子发烧友网站提供《基于51单片机的红外报警器的设计与制作.rar》资料免费下载
    发表于 01-12 09:18 9次下载

    基于51单片机的红外报警器的设计与制作

    电子发烧友网站提供《基于51单片机的红外报警器的设计与制作.rar》资料免费下载
    发表于 01-03 11:32 4次下载

    FANUC数控0i系统报警400维修

    FANUC数控0i系统报警400维修
    的头像 发表于 12-08 09:13 526次阅读

    汽车蓄电池报警器的制作与调试

    汽车蓄电池报警器的制作与调试  
    发表于 12-07 10:32 1次下载

    FANUC数控0i系统报警维修方法

    FANUC数控0i系统报警维修方法
    的头像 发表于 11-27 14:00 376次阅读

    GSM设计的家庭防盗报警系统

    电子发烧友网站提供《GSM设计的家庭防盗报警系统.pdf》资料免费下载
    发表于 11-07 14:43 1次下载
    GSM设计的家庭防盗<b class='flag-5'>报警</b><b class='flag-5'>系统</b>

    基于VHDL语言用FPGA制作SPI-ASI接口转换器

    本文在分析ASI发送系统机理的基础之上,提出一种使用FPGA完成ASI发送系统的实现方案,并使用VHDL语言在Altara的FPGA上实现了硬件电路。 1 引言 在目前的广播电视
    的头像 发表于 10-18 12:13 1575次阅读
    基于VHDL语言用<b class='flag-5'>FPGA</b><b class='flag-5'>制作</b>SPI-ASI接口转换器

    汽车远程防盗报警系统设计

    电子发烧友网站提供《汽车远程防盗报警系统设计.doc》资料免费下载
    发表于 10-12 11:45 0次下载
    汽车远程防盗<b class='flag-5'>报警</b><b class='flag-5'>系统</b>设计

    基于单片机的汽车防盗报警器的设计与制作

    电子发烧友网站提供《基于单片机的汽车防盗报警器的设计与制作.pdf》资料免费下载
    发表于 10-12 10:35 3次下载
    基于单片机的汽车防盗<b class='flag-5'>报警</b>器的设计与<b class='flag-5'>制作</b>

    基于51单片机的红外报警器的设计与制作

    当倒计时时,报警器会报警并且led灯会闪烁提示
    发表于 08-29 15:29 549次阅读
    基于51单片机的红外<b class='flag-5'>报警</b>器的设计与<b class='flag-5'>制作</b>

    高效的摩托车防盗报警制作.pdf

    高效的摩托车防盗报警制作.pdf电路图不完整
    发表于 08-16 12:09

    使用RT-Thread Studio实现物联网温室环境实时监测报警系统的设计

    温度、湿度、光照是农业养殖中十分重要的参数,该方案基于农业的大棚温室养殖,用星火一号开发板制作了一套物联网温室报警系统
    发表于 08-01 16:00 414次阅读
    使用RT-Thread Studio实现物联网温室环境实时监测<b class='flag-5'>报警</b><b class='flag-5'>系统</b>的设计

    安防系统入侵报警系统设计原理及应用

    根据用户实际应用需要,通过软件配置,可联动报警图像上墙显示,可设置具体哪一路或几路图像上墙显示、上墙画面分辨率、上墙的具体位置等参数。当报警发生时,相关图像自动在显示屏上的指定位置进行实时显示,监控中心工作人员可实时掌握报警点的
    发表于 07-28 14:29 1320次阅读
    安防<b class='flag-5'>系统</b>入侵<b class='flag-5'>报警</b><b class='flag-5'>系统</b>设计原理及应用

    5款电子diy制作电路图

    电路1:简易声控闪光灯的制作 电路2:音乐门铃的制作 电路3:多功能报警器的制作 电路4: 节拍器的制作 电路5:汽车转向灯电路的
    的头像 发表于 07-27 16:19 2656次阅读
    5款电子diy<b class='flag-5'>制作</b>电路图

    基于物联网的运动激活报警系统

    电子发烧友网站提供《基于物联网的运动激活报警系统.zip》资料免费下载
    发表于 07-03 10:18 4次下载
    基于物联网的运动激活<b class='flag-5'>报警</b><b class='flag-5'>系统</b>