[置顶] NANDFLASH调试(二)

今天一上午测试了下nandflash的各个管脚 发现wp引脚无法拉高,一直处于写保护状态,导致NANDFLASH id无法读取,直接将wp通过上拉电阻拉高不行 将控制WP的io隔断 分别上拉和下拉电阻才搞定,具体原因不明,接下来再分析吧!

     nandflash id读取正确了 但是驱动外部flash发现R/B引脚一直为高电平(由于NANDFLASH的r/b引脚为OD输出 所以已经外接上拉电阻4.7k上拉) 但是发现R/B引脚在操作的时候一直为高电平 我不停的读nandflash ID发现R/B仍然是保持高电平 按时序应该有低电平出现啊  不知道什么原因?这个检测R/B电平的IO口 也是OD门不知道是否这里有影响 。明天重新换下LPC2478的io口线试试看,因为这两个口线都是与2478的两OD引脚连接了 很是郁闷。

    关于nandflash的R/B引脚摘抄点资料以便于理解:

R/B引脚端的上拉电阻电路图如下图所示:

图中电容CL的值为常量:若器件的供电电压为1.8V,则CL=30pF;若供电电压为3.3V,则CL=50pF

R/B引脚的状态图如下图所示:

我们选用的芯片是3.3V的,所以R/B引脚的高电平判决门限为:Voh=2.4V,低电平判决门限为:Vol=0.4V

图中Tf为高电平到低电平的下降时间,Tr为低电平到高电平的上升时间。

上拉电阻的工作示意图如下所示:

上拉电阻Rp的阻值选择:

上拉电阻阻值选择的要求是要满足引脚电平的判决门限,即能把R/B引脚的低电平拉到0.4V以下,也能把高电平拉到2.4V以上,满足判决要求。

分析上拉电阻电路:

Rp=(Vcc-Vol)/Iol

Ioloutput low current(R/B),是电压为Vol时电路中的电流值。对于Vol,必须满足Vol<=0.4V,而电流Iol的最小值为8mA,典型值为10mA。因此Rp的最小值为:

其中IL为连接到R/B引脚的其他设备的输入总电流,此处无其他设备与R/B相连,故IL=0

经计算:Rp(min)=400ohm

R/B端输入高电平时,可把NAND的内阻设为R,则R/B引脚获得的电压VohVccR上的分压,由于R的值很大,因此Rp的阻值的上限并不取决于相对于Rp相对于R的大小(即影响R的分压),而是取决于电平的上升沿时间tr

Rp阻值的大小会影响到电平的上升沿时间tr,因为上拉电阻Rp与电容CL构成RC电路,存在RC延迟。电平上升沿时间trRp阻值的关系如下图所示:

延迟时间tr的计算公式为:tr=Rp*CL

图中tf基本保持不变的原因是电容CL的放电时间很快,基本不受Rp的影响,因此近似为常数。

由于Voh=Ibusy*Rp,故随着Rp阻值的升高,电流ibusy逐渐下降,与tr成反比。

随着Rp阻值的增大,电平上升沿时间会逐渐变长,但tr过大会影响到信号的时序判决,如下图所示:

在上图中,若R/B引脚的上升沿时间tr大于tRRReady to RE Low),则会影响信号速率,导致器件不能正常工作。

电阻阻值越小,消耗的功率越大;而阻值过大可能不能满足上拉要求。因此,根据经验,选择Rp的阻值为4.7kohm

对于电容CL,一般不需要安装,因为容值为50pF,PCB上的寄生电容大小相当。

延伸研究:

上拉电阻的使用范围:
1
、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。

2
OC门(集电极开路)电路必须加上拉电阻,才能使用。

3
、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。

4
、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。

5
、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。

6
、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。

7
、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。

上拉电阻的阻值计算
上拉电阻阻值的选择原则包括
:
1
、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。

2
、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。

3
、对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑以上三点,通常在1k10k之间选取。对下拉电阻也有类似道理对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:

1
. 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。

2
. 下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。

3
. 高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。

4
. 频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。

下拉电阻的设定的原则和上拉电阻是一样的。

open-drain output实际上是漏极开路输出,简称OD,是在CMOS电路中的。相应的,在TTL电路中,有集电极开路输出(open-collector output),简称OC.

开漏形式的电路有以下几个特点:
1.
利用外部电路的驱动能力,减少IC内部的驱动。 或驱动比芯片电源电压高的负载
.
2.
可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成与逻辑关系。这也是I2CSMBus等总线判断总线占用状态的原理。如果作为图腾输出必须接上拉电阻。接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。如 果要求速度高电阻选择要小,功耗会大。所以负载电阻的选择要兼顾功耗和速度。

3.
可以利用改变上拉电源的电压,改变传输电平。例如加上上拉电阻就可以提供TTL/CMOS电平输出等。

4.
开漏Pin不连接外部的上拉电阻,则只能输出低电平。一般来说,开漏是用来连接不同电平的器件,匹配电平用的。

正常的CMOS输出级是上、下两个管子,把上面的管子去掉就是OPEN-DRAIN了。这种输出的主要目的有两个:电平转换和线与。
由于漏级开路,所以后级电路必须接一上拉电阻,上拉电阻的电源电压就可以决定输出电平。这样你就可以进行任意电平的转换了。
线与功能主要用于有多个电路对同一信号进行拉低操作的场合,如果本电路不想拉低,就输出高电平,因为OPEN-DRAIN上面的管子被拿掉,高电平是靠外接的上拉电阻实现的。(而正常的CMOS输出级,如果出现一个输出为高另外一个为低时,等于电源短路。)
OPEN-DRAIN
提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。

 

 

 

你可能感兴趣的:(c,工作,IO,测试,Flash,output)