原创 都是IO弱上拉惹的祸

2012-12-4 14:56 3793 22 27 分类: 消费电子

         开发的一款液晶驱动器,接收MCU过来的指令和数据进行图像显示。使用了一片可编程(带使能和PWM调节控制)的背光芯片。在CPLD设计中,上电复位状态将背光使能拉低(关闭),直到MCU端发送开显示指令后才会将背光使能拉高(开启)。

         遇到的问题是这样,一上电原本背光是关闭的,直到MCU发出指令后才会开启,但是一上电(按下开关),背光闪烁了一下。效果就像闪光灯一样,也就是说,上电瞬间,背光开启又关闭,然后再开启。试着改变上电延时启动背光时间以及不同的电路板,发现都会出现类似的问题,排除代码设计问题和电路板本身的问题。

开始的时候,没有动用示波器,只是以为CPLD在上电后复位结束前的这段时间内控制背光使能信号的引脚出于三态,使能引脚对于这个三态(类似悬空)也有可能被开启。因此,猜想在背光芯片的输入端所使用的10uF电容是否太小,如果加大这个电容应该就可以大大延缓背光芯片的输入电压的时间,从而即便在复位结束后一段时间内,使能管脚仍然无法正常使能背光。这个想法确是也没有什么问题,于是并了一个10uF,效果不是那么明显,再并了一个100uF大大家伙,问题解决了。不过充电长放电也长,关闭后短时间内若再开启,现象仍然复现,问题搁浅,加大电容不是办法。

询问了背光芯片的原厂商,提出了CPLD在上电初始是高电平的解释。拿来示波器一看,确是在CPLD的复位信号刚刚上升的时候(0.5V以下),连接到背光使能的IO脚出现了一个短暂的高脉冲,这个高脉冲维持了大约250us,感觉很蹊跷,为什么复位期间IO脚出现如此的高脉冲呢?于是再找了另一个IO脚对照,一摸一样的波形。然后找了同一个BANK的VCCIO同时捕获,VCCIO上升后不久就看到那个IO脚上升,上升的波形也几乎一致。挺纳闷的,为什么CPLD在上电初始复位之时IO出现一个短暂的高脉冲呢?是电路的干扰吗?不像,于是找来Altera的FAE,一句话解决问题:Altera CPLD的IO在上电后复位前处于弱上拉状态。也难怪出现这个高电平,而且对背光产生了作用。弱上拉已成事实,那解决的办法有一个,加个下拉,电阻要远小于上拉。而看看电路,原本就有一个推荐的100K下拉电阻在呢?思考了一下,为什么不起作用呢?而且采到的高电平还是直逼3.3V呢。是不是那个弱上拉比100K小得多呢?不知道,但是换了10K的下拉后,问题解决了,无数次开关看不到闪屏现象了。再次采样,那个IO的输出不到0.33V,这么看若上拉该有100K以上吧?而和下拉100K时的压值算算还挺让人摸不着头脑的。但,这个问题也许是和负载有关吧。不过,让特权同学记住了一点,CPLD上电后复位前的IO处于弱上拉。

 

文章评论5条评论)

登录后参与讨论

xucun915_925777961 2012-12-16 20:23

可能与背光电路的驱动电路有关~

用户1226159 2012-12-15 09:01

很多MCU都是这样的,上电复位完成之前上拉是打开的。但我试过在软件上面处理也是可以解决这个问题的。软件上不要加上电延迟,一工作马上将不希望工作的IO置成0,然后再初始化。

wen715591069_844196294 2012-12-11 18:39

51单片机上电瞬间也是高电平啊

用户1563150 2012-12-5 15:01

3.3V/100K=0.33/10K,从等式上看,IO口输出的应该是个电流信号。也许弱上拉是一个电流源提供的电压。

用户1032582 2012-12-5 12:08

好神奇的电阻。在100K下拉能直接拉到3.3,在10K下拉只能拉到0.33. 第一个内部上拉至少10K,第二个内部上拉应该100K。还能动态变化? 如果100K上拉,对100K下拉,应该在1.7V. 神奇。
相关推荐阅读
用户1587532 2012-12-04 14:56
被忽略的硬件常识
          在特权同学的《都是IO弱上拉惹的祸》一文中,提及了Altera的CPLD在初始化时管脚通常会处于弱上拉状态。在实际示波器采样来看,就表现在上电初 期IO脚会有一个短暂(当时是持...
用户1587532 2011-12-29 09:39
四通道波形动态演示效果
 ">http:// http://v.youku.com/v_show/id_XMzM3MDY2NjYw.html   这效果,Cortex-M3可以吗?     ...
用户1587532 2011-12-21 12:54
高速绘图显示,还是FPGA给力
  示波器的效果,曾经以为难于上青天,殊不知咱用FPGA一样能够轻松效仿。目前只是单通道的显示效果,随后送上4通道独立或叠加的波形效果。          感兴趣的朋友不妨去看看他的详细参数:...
用户1587532 2011-10-12 10:23
Keil存储空间自定义分配
Keil存储空间自定义分配          看来Capital-Micro的软件支持包做得还不够到位啊,在51编程环境KeilC中使用Astro II器件光有个Capital Micro D...
用户1587532 2011-09-22 16:38
源同步信号跨时钟域采集的两种方法
源同步信号跨时钟域采集的两种方法            对于数据采集接收的一方而言,所谓源同步信号,即传输待接收的数据和时钟信号均由发送方产生。FPGA应用中,常常需要产生一些源同步接口信...
我要评论
5
22
关闭 站长推荐上一条 /2 下一条