复位信号其实不简单

来源:本站
导读:目前正在解读《复位信号其实不简单》的相关信息,《复位信号其实不简单》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《复位信号其实不简单》的详细说明。
简介:复位信号其实不简单 ,希望这两个小案例对大家有所帮助!

案例一:

clk和rst_n信号连接到FPGA,FPGA将复位信号直接给MCU,时钟信号经二分频提供给MCU,非常简单吧,分频程序如下:

assign rst_mcu_n=rst_n;

always @ (posedge clk or negedge rst_n)

if(rst_n==1'b0)

clk_mcu<=1'b0;

else

clk_mcu<=!clk_mcu;

这样的程序在MCU在执行过程中就会出问题,原因是大部分MCU要求时钟在复位信号无效前必须维持多个周期,而显然上述程序做不到这一点,复位信号变无效后,才开始输出时钟信号的。

案例2:

外部输入的硬复位做全局复位信号?大家似乎对这点从未怀疑过,是啊,硬复位内部所有的触发器还有各种IP核等,似乎是无可争议的事情?但是你想过么:

电源加电后,FPGA上电配置时间有的超过几百ms(不同存储容量的FLASH,加载时间不一样),我们常用的看门狗信号max706,复位有效时间是200ms,所以如果上电加载配置时间大于200ms的话..........呵呵,你懂得,内部触发器不能保证复位到默认值。

所以我的设计方案是:

assign rst_cnt_n=(count==16'hDCBA)?1:0;

assign rst_syn=rst_n & rst_cnt_n;//rst_syn用作全局复位信号

always @ (posedge clk or negedge rst_n)

if(rst_n==1'b0)

count<=16'b0;

else if(count==16'hDCBA)

count<=16'hDCBA;

else

count<=count+1;

希望这两个小案例对大家有所帮助!

提醒:《复位信号其实不简单》最后刷新时间 2024-03-14 01:08:27,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《复位信号其实不简单》该内容的真实性请自行鉴别。