文档库 最新最全的文档下载
当前位置:文档库 › 探寻FPGA LAB底层资源、复位、上电初值

探寻FPGA LAB底层资源、复位、上电初值

探寻FPGA LAB底层资源、复位、上电初值
探寻FPGA LAB底层资源、复位、上电初值

一、LAB内部资源

Cyclone III 每个LAB包括16个LE ,每个LAB 还包括LAB control signals、LE carry chains、Register chains、Local interconnect,需要对LAB control signals 有所了解。

每个LAB 的LAB control signals 包括Two Clocks、Two clock enables、Two asynchronous clears、One synchronous clear、one synchronous load,这些信号都是LAB-wide 作用的。

LAB-wide: 比如某个LE的register 使用的时钟是clk1,那么这个clk1 的作用域是整个LAB,此LAB 内任何一个register都连接了此clk1,或者说clk1走的是LAB内的时钟网络,注意,虽然作用域是整个LAB,但是任意某个LE 可以选择不用此时钟。这就像,家里的水龙头,整栋楼使用的是同一个供水管道(作用域:整栋楼),但是对于各家各户,提供给你们家的只是一个水龙头(接口),你可以选择打开或者不用。对于Cyclone III 每个LAB 有Two clocks ,这就是说这个楼有两个供水管道,每户人家可以选择打开水龙头A 或者水龙头B ,或者不用水。但是,想打开水龙头C ,对不起,这栋楼只有两个供水管道(假设每个管道只提供给各户一个接口)。

有了上边的概念,一切就简单了。

Two clocks :两个时钟域的不同LEs,可以位于同一个LAB模块内,但是三个时钟域的不同LEs,绝对不同位于同一个LAB中,编译时,布局布线时,编译器会自动把这些LEs分配到不同的LAB内,如果通过Chip Planner ECO 改动不同时钟域(三个以上)的LEs 到同一个LAB 编译时会报错;

One synchronous clear :同一个LAB 只有一个同步复位线,不同同步复位的LEs 不能位于一个LAB 内!

其它LAB内控制信号亦如此!

二、谈一谈复位的问题

1、在assignment -setting -Device and Pins -General 中Enable device-wide reset(DEV_CLRn) ,打勾,使能全局清零管脚,不打勾,这个脚就是普通IO 脚,这个脚只能chip-wide 寄存器清零,不能置 1 ,一般不用此脚当复位脚!因为复位后有些初值不希望是0 ,而且这个复位脚只能对寄存器清0 ,对组合逻辑无效。

2、对于有些系列的FPGA的LE 有同步复位,同步置位端,这种情况使用同步复/置位,比较省资源,但是对于没有同步复位端的FPGA,在程序中使用同步复/置位,会占用大量的组合逻辑资源,所以不推荐使用同步复/置位。

对于Cyclone III ,LE 有sclr和sload 端,但是即使程序使用的同步复位,编译器默认也不会使用sclr 端口,反而会用很多LUT 资源实现同步复位功能,设置编译器:Analysis $ Synthesis Setting -more setting - Fource use synchronous clear signals ,这样才会编译成使用sclr专用端口的同步复位;对于同步置位,由于软件中没有对应的设置,所以即使程序写的同步置位,也很难在编译时使用sload端口。所以,不推荐使用这种方式!

3、异步复位,异步复位同步释放是推荐的方式!

三、全局时钟网络

Cyclone III 有20个全局时钟网络,GCLKs 。

注意:全局资源只有这20个全局时钟网络,任何走全局线的信号都是用的这20个GCLKs中的某一个,不是只有全局时钟才用全局时钟资源。全局资源可以连接到chip中任意一个LE,相当于这个小区都是用的这个管道。

有个住宅小区(chip),30栋楼(30个LAB),有个很粗的送水管道(全局时钟网络GCLK,chip-wide)接到各栋楼,每栋楼又有细管道(clock,clr,sclr,LAB-wide)接此粗管道到各户人家。

哪些用的全局资源,view report -Fitter -Resource Section -Glogal % Other fast signals / Non-Global High fan-out signals 可以看到具体的情况(下图),如果想改某个信号到全局线上(比如fan-out太多),可以右键,locate in assignment editor 设置即可。一般按照编译器默认的分配方式即可。

四、上电初始值

以Cyclone III 为例,signaltap 实测结果

(1)程序中有异步复位的情况

always@(posedge clk or negedge reset)

if(!reset)

dataout1<=4'd5;

else ......

异步复位/置位上电就等于复位初始值;异步置位的寄存器后边接有反相器,实现置位功能,因为只有异步复位端。

output reg [3:0] dataout1=4'd3;

always@(posedge clk or negedge rst_n )

if(!rst_n)

begin

dataout1<=4'd1;

end

上电等于4'd1。

(2)同步

always@(posedge clk )

if(!rst_n)

begin

dataout2<=4'd5;

dataout1<=4'd1;

end

同步复位/置位上电不等于复位初始值,全是0;

output reg [3:0] dataout1=4'd3;

always@(posedge clk )

if(!rst_n)

begin

dataout1<=4'd1;

end

上电等于4'd3 。

(3)

output dataout2<=4'd8;

上电等于4'd8。

(4)网上有人说在Analysis&Synthesis setting 设置pow up don't care 可以对上电初值设置,试了试,没有任何效果!!

从datasheet 了解到FPGA芯片内有POR Circuitry,上电后,对寄存器reset(复位清0),所以实际上上电后,寄存器都是0 ,异步置位的情况,在寄存器后加了反相器,实现上电置位的功能,而同步置位比较复杂,则实现不了。

上边的结果是实测的,可能只适用于Cyclone III系列。

五、异步复位同步释放,上电初值

reg reset;

always@(posedge clk or negedge rst_n)

if(!rst_n)

reset<=1'b0;

else reset<=rst_n;

always@(posedge clk )//or negedge reset)

if(!reset)

begin

dataout1<=4'd0;

end

always@(posedge clk1 or negedge reset1)

if(!reset1)

begin dataout2<=4'd0; end

else if(state==state0)

dataout2<=4'd5;

寄存器reset ,dataout1,dataout2 不能位于同一个LAB ,原因:

reset 寄存器本省需要aclr 信号rst_n,rst_n占用一个异步复位线(LAB-wide),reset又作为dataout1的aclr,所以reset的输出会占用另一个异步复位线(LAB-wide),dataout2需要reset1作为aclr,然而,一个LAB 只有两条异步复位线,所以资源不够用!

reset ,dataout1 ,dataout2中任意两个都可以在同一个LAB中!

六、

output reg [3:0] dataout1=4'd3;

always@(posedge clk )

if(!reset)

begin

dataout1<=4'd0;

end

即使选中Fource use synchronous clear signals,对于dataout1[1:0]这两位,也不会接reset到专用同步清零sclr端,因为上电默认这两位是 1 ,按照异步清零的方式,在后边加了反相器,所以连到sclr 会出现同步复位变成 1 的情况;这两位会使用LUT资源,实现同步复位,上电置位,不会有任何冲突!

dataout1[3:2] 的专用sclr 接reset 没有任何问题。

c单片机上电复位和复位延时的时序分析

80C51单片机上电复位和复位延时的时序分析 80C51单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上.为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如下. 1 上电复位时序 在单片机及其应用电路每次上电的过程中,由于电源回路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是从低到高逐渐上升的.该过程所持续的时间一般为1~100 ms(记作taddrise).上电延时taddrise的定义是电源电压从10% VDD上升到90% VDD所需的时间,如图1所示. 图1 上电延时taddrise和起振延时tosc实测结果 在单片机电源电压上升到适合内部振荡电路运行的范围并且稳定下来之后,时钟振荡器开始了启动过程(具体包括偏置、起振、锁定和稳定几个过程).该过程所持续的时间一般为1~50 ms(记作tosc).起振延时tosc的定义是时钟振荡器输出信号的高电平达到Vih1所需的时间.从图1所示的实际测量图中也可以看得很清楚.这里的Vih1是单片机电气特性中的一个普通参数,代表XTAL1和RST引脚上的输入逻辑高电平.例如,对于常见的单片机型号AT89C51和AT89S51,厂家给出的Vih1值为0.7VDD~VDD+0.5 V. 从理论上讲,单片机每次上电复位所需的最短延时应该不小于treset.这里,treset等于上电延时taddrise与起振延时tosc之和,如图1所示.从实际上讲,延迟一个treset往往还不够,不能够保障单片机有一个良好的工作开端. 在单片机每次初始加电时,首先投入工作的功能部件是复位电路.复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时,如图2所示.

单片机复位原理总结

题6是作者在2006年10月份全国巡回人才招聘的考题,居然60%的同学得零分,却只有一位同学得满分,这种现象值得我们彻底地反思。 题6:单片机上电复位电路如图3所示,请回答下列问题(12分): (1)该复位电路适用于高电平复位还是低电平复位? (2)试述复位原理,画出上电时Vc的波形; (3)试述二极管D的作用。 图3RC复位电路 答案:(1)低电平复位。 (2)在图3中,CPU上电时,但由于电容C两端的电压V C不能突变,因此V C保持低 不断上升,上升曲线如图4所示。只要选择合适电平。但随着电容C的充电,V C 就可以在CPU复位电压以下持续足够的时间使CPU复位。复位之后,的R和C,V C V 上升至电源电压,CPU开始正常工作。相当于在CPU上电时,自动产生了一个C 一定宽度的低电平脉冲信号,使CPU复位。 4 RC充放电曲线 图 (3)当电源电压消失时,二极管D为电容C提供一个迅速放电的回路,使/RESET端迅速回零,以便下次上电时CPU能可靠复位。 这是一个非常重要的知识点,如果CPU的复位电路设计得不合理将会导致CPU严重死机,并且影响与CPU有关的外围器件的稳定性,比如存储器上电丢失数据。因此我们在学习的过程中,一定要善于将前后的知识连贯起来。千万不要随意放过哪怕一个细小的问题,只有这样才能做到融会贯通。在管理新产品的开发过程中,作者发现出现质量事故的产品都是由一些看起来并不起眼的小问题所引起的,最终给企业带来的损失却是巨大的,甚至是毁灭性的打

击。 二、复位电路的工作原理 在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个过程是如何实现的呢? 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。 开机的时候为什么为复位 在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。 也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。 按键按下的时候为什么会复位 在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。 总结: 1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。 2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。

51单片机复位电路有关问题

想问一下单片机复位电路问题 复位过程我明白,RST接高电平复位,接低电平单片机正常工作 但电路连接不太理解什么意思, 想知道图中电解电容的作用,既然是按键高电平复位为什么要加电解电容呢不加可以吗?如果一定要加原因是什么? 另外想知道电容作用是隔直流通交流,是绝对的直流不通过还是什么充电过程无电流放电过程有电流,求指教 我认为绛红的蓝同学说的不太好。 电容确实可以起到按键去除抖动的作用,但是这里的电容还有一个更重要的作用就是上电复位,因为考虑到芯片刚刚上电时由于供电不稳定而做出错误的计算,所以增加一个上电复位以达到延时启动CPU的目的,使芯片能够正常工作。虽然现在很多芯片自带了上电延时功能,但是我们一般还是会增加额外的上电复位电路,提高可靠性。 上电复位是如此工作的,此时不用考虑按键和你图中1K电阻的作用。上电瞬间,电压VCC短时间内从0V上升到5V(比方说5V),这一瞬间相当于交流电,电容相当于导线,5V的电压全部加在10K电阻上,也就是说,这时RST的电平状态为高电平。但是从上电开始,电容自己就慢慢充电,其两端电压呈曲线上升,最终达到5V,也就是说其正端电位为5V,负端电位为0V,其负端也就正好是RST,此时RST为低电平,单片机开始正常工作。 添加按键是为了手动复位,一般那个1K电阻可以不加。当按键按下时,电容两端构成回路并放电,使RST端重新变为高电平,按键抬起时电容又充电使RST 变回低电平。 复位电路的作用 在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。 基本的复位方式 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 1、手动按钮复位 手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

复位电路的作用

复位电路的作用 在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。 基本的复位方式 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 1、手动按钮复位 手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

图1 图2 2、上电复位 AT89C51的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1μF。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。 2、积分型上电复位 常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。 根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。 图3中:C:=1uF,Rl=lk,R2=10k 图3 积分型上电复位电路 专用芯片复位电路:

80C51单片机的上电复位POR

80C51单片机的上电复位POR(Pmver On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如下。 1 上电复位时序 在单片机及其应用电路每次上电的过程中,由于电源同路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是从低到高逐渐上升的。该过程所持续的时间一般为1~100ms(记作 tsddrise)。上电延时taddrise的定义是电源电压从lO%VDD上升到90%VDD所需的时间,如图1所示。 在单片机电源电压上升到适合内部振荡电路运行的范围并且稳定下来之后,时钟振荡器开始了启动过程(具体包括偏置、起振、锁定和稳定几个过程)。该过程所持续的时间一般为1~50 ms(记作tOSC)。起振延时tOSC的定义是时钟振荡器输出信号的高电平达到Vih1所需的时间。从图1所示的实际测量图中也可以看得很清楚。这里的 Vih1是单片机电气特性中的一个普通参数,代表XTALl和RST引脚上的输入逻辑高电平。例如,对于常见的单片机型号AT89C5l和 AT89S5l,厂家给出的Vih1值为0.7VDD~VDD+0.5V。 从理论上讲,单片机每次上电复位所需的最短延时应该不小于treset。这里,treset等于上电延时taddrise与起振延时tOSC之和,如图1所示。从实际上讲,延迟一个treset往往还不够,不能够保障单片机有--一个良好的工作开端。 在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时

单片机各种复位电路原理

单片机各种复位电路原理 复位电路的作用 在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是 一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁 兼容性能。 无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设 计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可 靠引起的。 基本的复位方式 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始 工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 1、手动按钮复位 手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST 端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒, 所以,完全能够满足复位的时间要求。

图1 图2 2 、上电复位 AT89C51 的上电复位电路如图 2 所示,只要在RST 复位输入引脚上接一电容至Vcc 端,下接一个电阻到地即可。对于CMOS 型单片机,由于在RST 端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1μF。上电复位的工作过程是在加电时,复位电路通 过电容加给RST 端一个短暂的高电平信号,此高电平信号随着Vcc 对电容的充电过程而 逐渐回落,即RST 端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地 复位,RST 端的高电平信号必须维持足够长的时间。上电时,Vcc 的上升时间约为10ms ,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz ,起振时间为1ms ;晶振频率为1MHz ,起振时间则为10ms 。在图 2 的复位电路中,当Vcc 掉电时,必然会使RST 端电压迅速下降到0V 以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生 损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l态”。如果系统在上电时得不到有效的复位,则程序计数器PC 将得不到一个合适的初值,因此,CPU 可能会从一个未被定义的位置开始执行程序。 2 、积分型上电复位 常用的上电或开关复位电路如图 3 所示。上电后,由于电容C3 的充电和反相门的作用,使RST 持续一段时间的高电平。当单片机已在运行当中时,按下复位键K 后松开,也能使RST 为一段时间的高电平,从而实现上电或开关复位的操作。 根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。 图3 中:C:=1uF ,Rl=lk ,R2=10k

单片机上电复位

80C51单片机的上电复位POR 80C51单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如下。 1 上电复位时序 在单片机及其应用电路每次上电的过程中,由于电源回路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是从低到高逐渐上升的。该过程所持续的时间一般为1~100ms(记作taddrise)。上电延时taddrise的定义是电源电压从10% VDD 上升到90% VDD所需的时间,如图1所示。 图1 上电延时taddrise和起振延时tosc实测结果 在单片机电源电压上升到适合内部振荡电路运行的范围并且稳定下来之后,时钟振荡器开始了启动过程(具体包括偏置、起振、锁定和稳定几个过程)。该过程所持续的时间一般为1~50 ms(记作tosc)。起振延时tosc的定义是时钟振荡器输出信号的高电平达到Vih1所需的时间。从图1所示的实际测量图中也可以看得很清楚。这里的Vih1是单片机电气特性中的一个普通参数,代表XTAL1和RST引脚上的输入逻辑高电平。例如,对于常见的单片机型号AT89C51和AT89S51,厂家给出的Vih1值为0.7VDD~VDD+0.5 V。

从理论上讲,单片机每次上电复位所需的最短延时应该不小于treset。这里,treset等于上电延时taddrise与起振延时tosc之和,如图1所示。从实际上讲,延迟一个treset往往还不够,不能够保障单片机有一个良好的工作开端。 在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时,如图2所示。 图2 复位信号释放的时机 2 上电复位电路3款 上述一系列的延时,都是利用在单片机RST引脚上外接一个RC支路的充电时间而形成的。典型复位电路如图3(a)所示,其中的阻容值是原始手册中提供的。在经历了一系列延时之后,单片机才开始按照时钟源的工作频率,进入到正常的程序运行状态。从图2所示的实测曲线中可以同时看到4条曲线:VDD、Vrst、XTAL2和ALE。在电源电压以及振荡器输出信号稳定之后,又等待了一段较长的延时才释放RST信号,使得CPU脱离复位锁定状态;而RST 信号一旦被释放,立刻在ALE引脚上就可检测到持续的脉冲信号。

单片机上电复位延时

80C51单片机的上电复位POR(Pmver On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如下。 1 上电复位时序 在单片机及其应用电路每次上电的过程中,由于电源同路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是从低到高逐渐上升的。该过程所持续的时间一般为1~100ms(记作tsddrise)。上电延时taddrise的定义是电源电压从lO%VDD上升到90%VDD所需的时间,如图1所示。 在单片机电源电压上升到适合内部振荡电路运行的范围并且稳定下来之后,时钟振荡器开始了启动过程(具体包括偏置、起振、锁定和稳定几个过程)。该过程所持续的时间一般为1~50 ms(记作tOSC)。起振延时tOSC的定义是时钟振荡器输出信号的高电平达到Vih1所需的时间。从图1所示的实际测量图中也可以看得很清楚。这里的Vih1是单片机电气特性中的一个普通参数,代表XTALl和RST引脚上的输入逻辑高电平。例如,对于常见的单片机型号AT89C5l和AT89S5l,厂家给出的Vih1值为0.7VDD~VDD+0.5V。 从理论上讲,单片机每次上电复位所需的最短延时应该不小于treset。这里,treset等于上电延时taddrise与起振延时tOSC之和,如图1所示。从实际上讲,延迟一个treset 往往还不够,不能够保障单片机有--一个良好的工作开端。 在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时,如图2所示。

RC复位电路的原理

RC复位电路的原理 下面图片里的电路,请问哪一个为高电平有效,为什么? 高电平复位低电平复位 最佳答案 看高电平有效还是低电平有效很简单啦。你看按键按下去之后RST是高还是低。左图按下去是高就是高有效,右边按下去是低就是低有效。 顺带说下原理(左图为例): 先不管按键,看上电复位的情况:通电瞬间电容可以当短路(别问我为什么)所以RST脚为高电平。随着时间的飞逝(电容充电),稳定后VCC的电压实际上是加在电容上的。电容下极板也就是RST脚最终为0V。这样RST持续一段时间高电平后最终稳定在低电平,高电平持续时间由RC时间常数决定。这就是上电高电平复位 在说按键。按键按下去就相当于上电那一瞬,让电容短路。后面的事都一样了。再顺便说下,大电容旁边那个小电容一般是稳定电源电压滤波用的 回答时间:2008-9-26 10:34

为什么不使用RC复位电路? 在网上看到有人说RC复位电路不稳定,一直没想到是怎么回事,今天翻自己电脑里以前下载的电路图时,看到一个RC电路,突然想到。RC复位电路的工作原理是,上电前电容里的电荷放光,上电瞬间,电源通过电阻向电容充电,在充电过程中,RESET的电压慢慢上升,对外部电路进行复位,当RESET上升到复位高电平时,外部系统开始工作。这里存在两个问题,一个是必须合理选择电阻和电容的值,否则复位时间过长或过短都不能满足要求,第二个问题是当系统正常复位后在工作状态下,电源突然有一个较短时间的大幅度抖动,例如在保持了1ms的低电平,此时外部系统已经紊乱了,但可能电容里的电荷还没有放干尽,故这时RESET输出仍然是高电平,没能对外部系统进行复位,这种情况比较容易发生在电源合闸瞬间(机械接触存在抖动)。我想到的就这两个原因,希望看到的大侠能补充和斧正。 低电平复位

51上电复位分析

80C51上电复位和复位延时的时序分析 80C51单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如下。 1上电复位时序 在单片机及其应用电路每次上电的过程中,由于电源回路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是从低到高逐渐上升的。该过程所持续的时间一般为1~100ms(记作taddrise)。上电延时taddrise的定义是电源电压从10%VDD上升到90%VDD所需的时间,如图1所示。 图1上电延时taddrise和起振延时tosc实测结果 在单片机电源电压上升到适合内部振荡电路运行的范围并且稳定下来之后,时钟振荡器开始了启动过程(具体包括偏置、起振、锁定和稳定几个过程)。该过程所持续的时间一般为1~50ms(记作tosc)。起振延时tosc的定义是时钟振荡器输出信号的高电平达到Vih1所需的时间。从图1所示的实际测量图中也可以看得很清楚。这里的Vih1是单片机电气特性中的一个普通参数,代表XTAL1和RST引脚上的输入逻辑高电平。例如,对于常见的单片机型号AT89C51和AT89S51,厂家给出的Vih1值为0.7VDD~VDD+0.5V。 从理论上讲,单片机每次上电复位所需的最短延时应该不小于treset。这里,treset等于上电延时taddrise与起振延时tosc之和,如图1所示。从实际上讲,延迟一个treset往往还不够,不能够保障单片机有一个良好的工作开端。 在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时,如图2所示。

上电复位电路的使用策略

上电复位电路的使用策略 摘要:工程师们在调试各式各样的板子时,常会出现开机出现错误,系统无法正常打开,接下来我们将列举电路板上电时可能引发的一些常见系统问题,并说明了保证电路板正确初始化的基本原则。 许多IC 都包含POR电路 (上电复位,即Power-on Reset) (上电复位,即Power-on Reset) (上电复位,即Power-on Reset)!重要的事情说三遍! 其作用是保证板子上电后,模拟和数字模块初始化至已知状态。 POR三步走:电源电压达到阈值电压——POR电路就会释放内部复位信号——状态机开始初始化器件。 在初始化完成之前,器件忽略外部信号,包括传输的数据。唯一例外是复位引脚,它会利用POR信号内部选通。 1.1 POR电路长什么样? 先通俗的科普一个概念,窗口比较器:常用两个比较器组成(双比较器),它有两个阈值电压VT2(高阈值电压)及VT1(低阈值电压),若VT1≤VA≤VT2,Vout输出高电平;若VA<VT1,VA>VT2,则Vout输出低电平。 图 1 双比较器 POR电路可以表示为窗口比较器,也就是一旦工作电压落在高低阈值之间,电路就自动复位。如图2所示。

图2 简化的POR电路 1.2 POR怎么运作? 比较器窗口通常由数字电源电平定义。数字模块控制模拟模块,数字模块全面工作所需的电压与模拟模块工作所需的最小电压相似。 较高的VT2阈值对模拟模块会更好,若过于接近推荐最小电源电压,当电压略微降低时,可能会意外触发复位。 如果器件包括独立的模拟电源和数字电源,则避免故障的一种策略是增加一个POR 电路,使两个模块保持复位状态,直至电源电压高到足以确保电路正常工作。 1.3 POR怎么对付短暂断电? POR 电路有时会集成一个掉电检测器(BOD),用于防止电路在电压非常短暂地意外降低时发生复位。实际上,掉电电路给POR模块所定义的阈值电压增加了迟滞,通常为300mV左右。BOD保证,当电源电压降至VT2以下时,POR不会产生复位脉冲,除非电源电压降至另一阈值VBOD(VT2-300mv)以下,如错误!未找到引用源。所示。 图 3 掉电检测 掉电阈值电平足以保证数字电路保留信息,但不足以保证其正常工作。这样,如果电源电平只是非常短暂地降低的话,控制器可以在电源降至某一电平以下时中止活动,使整个器件都免于重新初始化。 1.4 正确上电要掌握的三种情况 一、单调性电源有震荡时 实际的POR电路比图2所示的简化版本要复杂得多, POR电路需要一个启动模块来产生启动脉冲,这种情况下必须使用单调性电源(单调上升或下降而没有震荡的电源),

上电复位

上电复位:比较简单的复位电路。只需接一个电容把RST复位引脚连接到VCC,再接一个电阻连接到地就搞定了。我们把上电复位定义为:当在给系统连接上电的时候,就在这个时候复位电路就会借助电容给RST的复位引脚一个暂时的高电平信号,它也有弊端,那就是电容充电的这个时间会影响到RST引脚复位的高电平坚持的时间的长短,而在这个时候电源在对电容的充电过程中复位信号也会随着其变化而变化。仅RST引脚的高电平信号能够保持很长的时间,这样才能确保系统安全的复位。 按键的开关可以通过电路高、低电平的变化来控制。按键如果闭合那么在相应的I/O端口就会形成一个对应的负脉冲。由于机械抖动,闭合和释放过程,需要一定的方法来达到一个稳定的状态,这里我们把介于高、低电平之间的不稳定状态,我们称作抖动。 科学家们在通过研究后发现它的表面存在一定量的半导体材料,而其中被我们加入到PN结构中的少数载流子以及多数载流子这两个就会产生复合,它还通过发光的形式释放出我们想要的能量,这样子就把电能巧妙地转化成光能了。当PN 结加了反向电压时,只有少许的载流子,其数量太小导致难以注入到PN结中,所以他就不会发光。 LED数码管事实上是由七个发光管一起构成的8字形状,这样加上小数点一起8个,如图3.2所示,这些段我们标了字母a、b、c、d、e、f、g、dp,其

中DP表示小数点。当数码管特定的段上加了电压后,加压段就会发出光亮,从而显示了不同的字样。如果发光二极管的阴极全部被我们接在一起了,如果我们再把它全部连接到了低电平,这样子的数码管我们就叫做共阴极数码管,如图3.3所示;与上面同理,如果发光二极管的所有阳极被我们连接在一起了,与此同时我们又把它们接到电源得正极上,那么这个二极管就被称作共阳极数码管,AT89C2051单片机端口特性: P1端口:设计者定义P1端口是一个有8位双向的I/O端口,而其中的两个引脚P1.0,P1.0条件要求苛刻,其要求外部必须上拉电阻,故P1.2到P1.7都带有它。当P1.0和P1.1在被当作比较器时,它还有反相输入和同相输入的功能。当P1口做输出缓冲器功能用时,大概能吸收达20mA左右的电流,并且这个数值能够借助LED显示出来。。 P3端口:它具有上拉电阻的端口有P3.0到P3.5以及P3.7。对于P3.6这个端口,我们不只把它做只读的引脚,它还有对输入片内比较器相对应的输出信号起到了固定输出信号的作用。当P3端口做输出缓冲器功能使用时,大概能吸收达20mA左右的电流。当我们对这个端口写1时候,由于此时它内部的上拉电阻使端口拉至了高电位,此时它就具备了另外的一个功能:可作为输入端口使用。

DSP上电引导过程

2812上电引导过程讨论!请踊跃发言 从上电到我们的主函数运行之间这段时间里2812到底做了些什么?2812是怎样引导程序运行的?下面叙述其启动过程。 在2812中引脚XMP/~MC,当该引脚的为高电平时表示是微处理器模式(microprocessor),为低电平时表示微机算计模式(microcomputer),当为微处理器模式时,2812内部的bootrom背禁止,通过zone7从外部调引导程序启动。2812复位以后,其复位向量是固定的0x3F FFC0,如果为为处理器模式,那么复位后的复位向量指向的外部的地址,即0x3F FFC0是zone7处的地址,若为微机算计模式,那么0x3F FFC0指向的是2812的片内FLASH的地址。下面就以微机算计模式加以说明其过程。 上电复位后,复位向量是指向片内Flash的0x3F FFC0,2812有一块flash地址从0x3F F000-0x3F FFFF在出厂时已经固化好了引导程序。在0x3F FFC0处是一条跳转指令,跳到iniboot(地址0x3F FB50)函数处执行iniboot代码,该iniboot代码就是ti在dsp出厂时固化在flash中的。Iniboot函数判断几个GPIO引脚来判断使用哪一种引导模式,比如flash boot模式,检测SPICLKA,SCITXA,GPIO34的电平,当都为高电平时表明是片内flash boot 模式,那么initboot执行完后跳转到0x3F 7FF6处,此位置刚好在128位(CSM)密码位置之前,你要在0x3F 7FF6处纺织跳转指令(yang见:code_start!! codestart:>BEGIN,PAGE=0 flash //H0(3F8000)、OTP(3D7800)各不相同), 以跳转到你要去的地方,比如是boot loader或应用代码。在0x3F 7FF6 处放置跳转指令的方法如下: .sect "codestart" code_start: .if WD_DISABLE == 1 LB wd_disable ;Branch to watchdog disable code .else LB _c_int00 ;Branch to start of boot.asm in RTS library .endif .if WD_DISABLE == 1 .text wd_disable: SETC OBJMODE EALLOW MOVZ DP, #7029h>>6 MOV @7029h, #0068h EDIS LB _c_int00 .endif .end MEMERY { Page 0: ……….. Start rigin = 0x3F 7FF6,length = 0x000002 ………..

单片机上电复位和复位延时的时序分析

单片机上电复位和复位延时的时序分析 80C单片机51单片机的上电复位POR(Pmver On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如下。 1 上电复位时序 在单片机及其应用电路每次上电的过程中,由于电源同路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是从低到高逐渐上升的。该过程所持续的时间一般为1~100ms(记作 tsddrise)。上电延时taddrise的定义是电源电压从lO%VDD上升到90%VDD所需的时间,。 在单片机电源电压上升到适合内部振荡电路运行的范围并且稳定下来之后,时钟振荡器开始了启动过程(具体包括偏置、起振、锁定和稳定几个过程)。该过程所持续的时间一般为1~50 ms(记作tOSC)。起振延时tOSC的定义是时钟振荡器输出信号的高电平达到Vih1所需的时间。从图1所示的实际测量图中也可以看得很清楚。这里的 Vih1是单片机电气特性中的一个普通参数,代表XTALl和RST引脚上的输入逻辑高电平。例如,对于常见的单片机型号AT89C5l和 AT89S5l,厂家给出的Vih1值为0.7VDD~VDD+0.5V。 从理论上讲,单片机每次上电复位所需的最短延时应该不小于treset。这里,treset 等于上电延时taddrise与起振延时tOSC之和,。从实际上讲,延迟一个treset往往还不够,不能够保障单片机有--一个良好的工作开端。 在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟 2个机器周期的延时,。 2 上电复位电路3款 上述一系列的延时,都是利用在单片机RST引脚上外接一个RC支路的充电时间而形成的。典型复位电路,其中的阻容值是原始手册中提供的。在经历了一系列延时之后,单片机才开始按照时钟源的工作频率,进入到正常的程序运行状态。从图 2所示的实测曲线中可以同时看到4条曲线:VDD、Vrst、XTAL2和ALE。在电源电压以及振荡器输出信号稳定之后,又等待了一段较长的延时才释放 RST信号,使得CPU脱离复位锁定状态;而RST信号一旦被释放,立刻在ALE引脚上就可检测到持续的脉冲信号。 由于标准80C51的复位逻辑相对简单,复位源只有RST一个(相对新型单片机来说,复位源比较单一),因此各种原因所导致的复位活动以及复位状态的进入,都要依靠在外接引脚

51单片机复位电路及复位后寄存器的状态

51单片机复位电路及复位后寄存器的状态 51单片机复位电路 当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。 根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。 上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如下图A中左图所示。图中电容C1和电阻R1对电源十5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如下图(A)中右图所示。 上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如上图(B)所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K 后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。 根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。 上图(A)中:Cl=10-30uF,R1=1kO 上图1.27(B)中:C:=1uF,Rl=lkO,R2=10kO 单片机复位后的状态: 单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。 值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始化部分是十分必要的。 说明:表中符号*为随机状态; A=00H,表明累加器已被清零;

单片机复位电路

单片机在启动运行时都需要复位,复位使CPU 和系统中的其他部件都处于一个确定的工作状态,并从这个状态开始工作。在系统中,有时也会出现显示不正常,也为了调试方便,需要设计一个复位电路,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。 在此系统中单片机的复位靠外部电路实现的,AT89C51单片机有一个复位引脚RST ,高电平有效。只要RST 保持高电平,单片机便保持复位状态。此时,ALE/PSEN 、P0、P1、P2、P3口都输出高电平。RST 变成低电平后,退出复位状态,CPU 开始正常工作。需要注意的是,复位操作不影响片内RAM 的内容。 复位电路的基本功能是系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。图1为基本RC 复位电路,其电路为高电平复位有效, SW1为手动复位开关,可以实现上述基本功能。 图1基本RC 复位电路 对于图1中的电阻10R 两端的电压R u (即复位信号)是一个时间的函数。上电复位时R u 和t 有以下函数关系,波形图如图2(a )所示。 ) 2.2.3(V u C R R 10a e cc t - ?= 按键复位时设t 在0~0t 之间时SW1合上,t 0t ≥ 时,SW1断开,则R u 和t 有以下函数关系,波形图如图2(b )所示。 ) 2.2.3()1(0)1(2 1 0110 11010 110b t t e e V R R R t t e V R R R u o t t CC o t CC R ????? ??≥-+<<-+=- --τττ 其中,C R //1011?=R τ,C R 102?=τ,Vcc 为电源电压(+5V )。

51单片机复位电路的设计

51单片机复位电路的设计- 懵懂者的日志- 网易博客(转载) 大白菜的书馆收藏 于 2011-11-12 阅读 数:1 被转藏: 1 公众 公开 原文 来源 修改如何标记批注? 51单片机复位电路的设计 默认分类2009-10-12 10:05:16 阅读1955 评论1 字号:大中小订阅 单片机在可靠的复位之后,才会从0000H地址开始有序的执行应用程序。同时,复位电路也是容易受到外部噪声干扰的敏感部分之一。因此,复位电路应该具有两个主要的功能: 1. 必须保证系统可靠的进行复位; 2. 必须具有一定的抗干扰的能力; 一、复位电路的RC选择 复位电路应该具有上电复位和手动复位的功能。以MCS-51单片机为例,复位脉冲的高电平宽度必须大于2个机器周期,若系统选用6MHz晶振,则一个机器周期为2us,那么复位脉冲宽度最小应为4us。在实际应用系统中,考虑到电源的稳定时间,参数漂移,晶振稳定时间以及复位的可靠性等因素,必须有足够的余量。图1是利用RC充电原理实现上电复位的电路设计。实践证明,上电瞬间RC电路充电,RESET引脚出现正脉冲。只要RESET端保持10ms以上的高电平,就能使单片机有效的复位。 图1 对于图1-a中的电容C两端的电压(即复位信号)是一个时间的函数:

u(t)=VCC*[1-exp(-t/RC)] 对于图1-b中的电阻R两端的电压(即复位信号)也是一个时间的函数: u(t)=VCC*exp(-t/RC) 其中的VCC为电源电压,RC为RC电路的时间常数=1K*22uF=22ms。有了这个公式,我们可以更方便的对以上电路进行透彻的分析。 图1-a中非门的最小输入高电平UIH=2.0v,当充电时间t=0.6RC时,则充电电压u(t)=0.45VCC=0.45*5V,约等于2V,其中t即为复位时间。图a中时间常数=22ms,则t=22ms*0.6=13ms。 二、复位电路的可靠性与抗干扰性分析 单片机复位电路端口的干扰主要来自电源和按钮传输线串入的噪声。这些噪声虽然不会完全导致系统复位,但有时会破坏CPU内的程序状态字的某些位的状态,对控制产生不良影响。 1.电路结构形式与抗干扰性能 以图1为例,电源噪声干扰过程示意图如图2种分别绘出了A点和B点的电压扰动波形。 有图2可以看出,图2(a)实质上是个低通滤波环节,对于脉冲宽度小于3RC的干扰有很好的抑制作用;图2(b)实质上是个高通滤波环节,对脉冲干扰没有抑制作用。由此可见,对于图1所示的两种复位电路,a的抗干扰电源噪声的能力要优于b。 2. 复位按钮传输线的影响 复位按钮一般都是安装在操作面板上,有较长的传输线,容易引起电磁感应干扰。按钮传输线应采用双绞线(具有抑制电磁感应干扰的性能),并远离交流用电设备。在印刷电路板上,单片机复位端口处并联0.01-0.1uF的高频电容,或配置使密特电路,将提高对串入噪声的抑制能力。

上电复位和复位延时的时序分析

801251上电复位和复位延时的时序分析 专业技术 2008-11-16 23:32 阅读49 评论0 字号:大中小 分析上电复位的内在原理,具有一般的指导意义,转载 80C51单片机的上电复位POR(Pmver On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如 下。 1 上电复位时序 在单片机及其应用电路每次上电的过程中,由于电源同路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是从低到高逐渐上升的。该过程所持续的时间一般为1~100ms(记作tsddrise)。上电延时taddrise的定义是电源电压从lO%V DD上升到90%VDD所需的时间,如图1所示。

在单片机电源电压上升到适合内部振荡电路运行的范围并且稳定下来之后,时钟振荡器开始了启动过程(具体包括偏置、起振、锁定和稳定几个过程)。该过程所持续的时间一般为1~50 ms(记作tOSC)。起振延时tOSC的定义是时钟振荡器输出信号的高电平达到Vih1所需的时间。从图1所示的实际测量图中也可以看得很清楚。这里的Vih1是单片机电气特性中的一个普通参数,代表XTALl和RST引脚上的输入逻辑高电平。例如,对于常见的单片机型号AT89C5l和AT89S5l,厂家给出的Vih1值为0.7VDD~VD D+0.5V。 从理论上讲,单片机每次上电复位所需的最短延时应该不小于treset。这里,treset等于上电延时taddrise与起振延时tOSC之和,如图1所示。从实际上讲,延迟一个treset往往还不够,不能够保障 单片机有--一个良好的工作开端。 在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时,如图2所示。

相关文档