位置:51电子网 » 技术资料 » 通信网络

MAX233ECWP 控制单元判断是否开锁

发布时间:2019/10/25 21:32:23 访问次数:2047

MAX233ECWP较器输出M为1,由控制单元判断是否开锁。第二个always语句说明选择器的工作。当选择器的输出与所输入的密码相同时B为1,否则为0。

例10.4.3

∥数字密码锁的RTL描述

【nodule Lock~RTL(0PEN,ERROR,nRESET,TRY,READ,BIT,CLK);

/*=====定义输人/输出端口,参见图10.2.14=====*/

input nRESET,TRY,READ,BIT,CLK;

output OPEN,ERROR;

reg OPEN,ERROR;

wire nREsET,TRY,READ,BIT,CLK;

∥对状态进行编码

paran△eter  SO =6’ b000001,s1 =61 b000010,s2 =.61 b000100,S3 =

6i b001000,S4=6i b010000,S5=6’b100000;

paran△eter  P.ass・word=8’bO1011001;

∥定义系统内部的信号变量及其类型,见图10.2.14

reg [5:0]Currentstate,Nextstate; ∥控制寄存器

reg nCLR,CNT; ∥CNT=1,计数器工作;CNT=0,暂停计数

wire B,M;   ∥数据处理器输出

reg [2:0]Q;  ∥计数器输出

wire A2,A1,A0; ∥数据选择器控制信号

Wire [7:0]D;  ∥数据选择器输入信号

reg Mux~out;  ∥数据选择器输出信号

/*=====控制单元状态转换的描述,参见图10.2.16=====*/

always@(posedge CLK or negedge nRESET)

begin~:statereg

if(~nRESET)

begin  Currentstate <=SO;  nCLR (=1i bO;end

else

begin  Currentstate (=Nextstate;nCLFt <=1i b1;end

end∥statereg

anways@(BIT or READ or TRY or B or M or Currentstate)

begin:fsm

oPEN=11 bO;      

ERROR=1t bO;

CNT=1i bO;

在Quartus Ⅱ 5.0软件中建立一个新的工程项目,输人上述HDL文件,对设计项目进行编译。然后建立一个仿真波形文件,给出输入、输出信号的激励波形,对设计项目进行时序仿真,得到如图10.4.3所示的波形。

若系统内设置的密码为01011001。分析波形图可知,nREsET信号使系统首先进入初始状态。BIT开关用于产生1位数码,READ开关将BIT产生的当前数码读入系统,并与系统内所设置密码的相应位进行比较,比较的顺序是从低位到高位。当读人8位数码与开锁密码一致时,按下开锁的TRY信号,系统将产生高电平开锁信号0PEN,如图10.4.3(a)所示。如果开锁过程中任何一次送人的数码与设置的密码数值不一致,例如图10,4,3(b)中输入的第2位数码为1,与设置的0不符,系统发出错误信息ERROR。或者TRY信号使用不当,也会产生ERROR信号。

为便于分析开锁过程中,系统状态之间的转换,图10.4.3中给出了中间变量的波形图,具体含义这里不再赘述,读者可自行分析。

           




MAX233ECWP较器输出M为1,由控制单元判断是否开锁。第二个always语句说明选择器的工作。当选择器的输出与所输入的密码相同时B为1,否则为0。

例10.4.3

∥数字密码锁的RTL描述

【nodule Lock~RTL(0PEN,ERROR,nRESET,TRY,READ,BIT,CLK);

/*=====定义输人/输出端口,参见图10.2.14=====*/

input nRESET,TRY,READ,BIT,CLK;

output OPEN,ERROR;

reg OPEN,ERROR;

wire nREsET,TRY,READ,BIT,CLK;

∥对状态进行编码

paran△eter  SO =6’ b000001,s1 =61 b000010,s2 =.61 b000100,S3 =

6i b001000,S4=6i b010000,S5=6’b100000;

paran△eter  P.ass・word=8’bO1011001;

∥定义系统内部的信号变量及其类型,见图10.2.14

reg [5:0]Currentstate,Nextstate; ∥控制寄存器

reg nCLR,CNT; ∥CNT=1,计数器工作;CNT=0,暂停计数

wire B,M;   ∥数据处理器输出

reg [2:0]Q;  ∥计数器输出

wire A2,A1,A0; ∥数据选择器控制信号

Wire [7:0]D;  ∥数据选择器输入信号

reg Mux~out;  ∥数据选择器输出信号

/*=====控制单元状态转换的描述,参见图10.2.16=====*/

always@(posedge CLK or negedge nRESET)

begin~:statereg

if(~nRESET)

begin  Currentstate <=SO;  nCLR (=1i bO;end

else

begin  Currentstate (=Nextstate;nCLFt <=1i b1;end

end∥statereg

anways@(BIT or READ or TRY or B or M or Currentstate)

begin:fsm

oPEN=11 bO;      

ERROR=1t bO;

CNT=1i bO;

在Quartus Ⅱ 5.0软件中建立一个新的工程项目,输人上述HDL文件,对设计项目进行编译。然后建立一个仿真波形文件,给出输入、输出信号的激励波形,对设计项目进行时序仿真,得到如图10.4.3所示的波形。

若系统内设置的密码为01011001。分析波形图可知,nREsET信号使系统首先进入初始状态。BIT开关用于产生1位数码,READ开关将BIT产生的当前数码读入系统,并与系统内所设置密码的相应位进行比较,比较的顺序是从低位到高位。当读人8位数码与开锁密码一致时,按下开锁的TRY信号,系统将产生高电平开锁信号0PEN,如图10.4.3(a)所示。如果开锁过程中任何一次送人的数码与设置的密码数值不一致,例如图10,4,3(b)中输入的第2位数码为1,与设置的0不符,系统发出错误信息ERROR。或者TRY信号使用不当,也会产生ERROR信号。

为便于分析开锁过程中,系统状态之间的转换,图10.4.3中给出了中间变量的波形图,具体含义这里不再赘述,读者可自行分析。

           




热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!