原创 被忽略的硬件常识

2012-12-4 14:56 6312 22 35 分类: 消费电子

          在特权同学的《都是IO弱上拉惹的祸》一文中,提及了Altera的CPLD在初始化时管脚通常会处于弱上拉状态。在实际示波器采样来看,就表现在上电初 期IO脚会有一个短暂(当时是持续大约几百us)的高脉冲。虽然当时遇到的一些闪屏现象在外接一个10K下拉电阻后得到解决,但是近期特权同学又遇上换汤 不换药的类似问题。有了前车之鉴,问题定位很快。用示波器一采样,怪哉,在上电初期居然有1.68V左右的高脉冲,和上回唯一的不同是器件更换了,之前是 MAX II家族,而这次是Cyclone III家族。那么他们在上电弱上拉的一些细节上又有怎样的不同呢。

         在同样的FPGA外部输出IO脚下拉了10K的电阻,用示波器采样到上电初期也确实有一个瞬间的高脉冲,这个高脉冲维持了200ms左右,而且电压值居然 高达1.68V,IO的电平是标准的LVTTL,高电平3.3V,那么1.68V差不多是减半的样子。由此推断,此时IO脚上的“弱上拉”好像不“弱”, 应该也在10K左右。推想归推想,特权同学将外部下拉的10K换成了4.7K,再一测试,闪屏现象虽然有所好转,但还是没有完全根除,抓取到上电初期的高 脉冲大约在1V多点。从理论上想,1V肯定不会被认为是TTL的高电平,但是为什么依然出现了高电平而使能背光的一个状况呢?翻看datasheet,在 图1所示的VLED on/off一行的高低电压参数中,2V~5.5V被认为是高电平开启背光,而低于0.8V被认为是低电平关闭背光。那么处于0.8V~2V之间的两不管 地带电平到底又会被认为是开还是关背光呢?实践告诉我们至少1V时是开背光了(当然也许长期的1V电压不会得到稳定的背光开启状态)。所以,再降低外接下 拉电阻才可能解决问题。

 

25.jpg


图1

         于是换成了2K的下拉,和预想的一样,此时的上电高脉冲在0.55V左右(满足Off Controller Voltage电压),完全印证了IO管脚内部上拉10K电阻的初步推断。关于上电弱上拉,其实特权同学也想到了JTAG的TCK/TMS/***上拉或下拉都用1K电阻也许与此也有一定的关系。此外,在Quartus II的管脚约束中有Weak Pull-Up Resistor一项,原本天真的以为这个选项可以更改IO管脚上电时的弱上拉开启与否,但是实践证明不是这样,至于具体的用法和功能,特权同学也没有在Handbook中找到,或许这个选项是用于设置IO正常工作期间内部是否进行弱上拉。

         其实特权同学在这里不是要再次强调这个所谓的上电弱上拉,而是想提一下数字电路中的电平标准。也就如标题所示,被忽略的硬件常识,至少特权同学近来或者说 一直以来都不太关心这个问题。电平标准,最常见就是TTL和CMOS,他们的异同优劣用不着我费口舌,大家肯定比我清楚。而在前面遇到的问题当中比较有意 思的就是1V这样即非高电平又非低电平的“悬浮状态”居然也“被高电平”了。

         其实,特权同学还遇到了一个被疏忽的背光使能的问题,所以才需要发点感慨让自己清醒些。如图2所示,一颗升压芯片的电气特性截图,需要关心的是Enable Control Input一栏。

 

26.jpg


图2

         在特权使用的这个升压电路中,VIN是5V,而使能信号想当然的用FPGA的3.3V TTL电平供过去了(之前有另一颗芯片按这个标准没有问题的),结果可想而知。出现的状况是无负载状态升压输出12V很稳定,一旦外接负载则输出跌落到仅有6V多,最终在图2的电气特性中才发现问题。被认为是High Voltage的最低电压应该是0.7*VIN,对于我的电路就是0.7*5V = 3.5V,而用FPGA的3.3V高电平供过去显然还没有“达标”,那么不稳定也就理所当然了。

         其实,设计中我们有很多遗漏疏忽的考虑,究其根本原因也许不仅仅是我们看datasheet不够认真,不太细心。而是由于太多的先入为主的观念在影响着我们的思维,太多基本的硬件设计常识无形中被我们忽略了。我想,一个优秀的硬件工程师也许不是不犯错,而是“转”得快。

PARTNER CONTENT

文章评论13条评论)

登录后参与讨论

ailjgang_213138858 2013-3-24 21:23

遇到过同样的问题!

用户1334174 2013-2-19 09:12

FPGA和CPLD在没有配置的情况下是弱上拉的;CPLD在写入程序后就是设定值。

用户1666239 2012-12-18 19:11

晕倒,

用户1052046 2012-12-15 13:41

很多时候还是需要比主电路动作早的电路先来Hold住,等主电路工作状态稳定了再放开。参考下文: 是鸟不死还是不死鸟 Is secular and is born of fire 微处理器监控电路是罕见的从出现以来没有多少发展变化的电路;第一款706从1993年上市到现在,历经了微处理器的世世代代,不同厂牌生产的706除了功耗有所降低,还是当初的概念、功能和性能。微处理器不断地提高其适应性,试图摆脱老不死的外部复位电路。事实是微处理器的改进和提高走得太远了,可以在很宽的电压范围内可靠地复位和工作,而系统的其它部分还不能正常工作。所以,微处理器监控电路浴火重生、承担了新的任务:上电伊始尽快强制微处理器复位,直到系统的其它部分可以工作了再释放对微处理器的限制。 微处理器的内部电路如果能在更低电压工作,一定会推出新的低电压工作的微处理器,不会只把低电压工作的特性留给监控部分使用。监控电路则一定是在更低的电压下开始工作,早早地输出复位信号;例如圣邦的全部监控电路在1V以上工作电压都可以有稳定、确定的复位输出。 “豪车摩登也得有手刹,飞机先进还得手工打堰儿”,简单的、自成体系的嵌入式微处理器可以不使用外部监控电路,需要外部配合协同工作的应用还是离不开监控电路协调控制。

用户1052046 2012-12-15 13:34

问个问题,它到底是弱上拉还是CMOS互补电路在建立起互补状态前和建立稳定的内部逻辑状态前的暂态导致的近半电位输出?

不醉不归ing 2012-12-13 20:45

楼主说的很好,学习了,膜拜……

lab_cen_960480872 2012-12-13 11:40

小小的臆测分析一下。数字电路的输出很多是采用互补电路构成,在加电的瞬间,控制栅电压往往无法达到控制电压要求,导致出现瞬间高电平输出。因此搞清楚芯片的整体布局和接线情况,也许有更好的解决方案。比如是否支持加电顺序控制等,单纯的采用下拉电阻,在某些应用中也许并不是最好的选择。

用户1198977 2012-12-13 09:40

支持楼主追根探源,大多数人还是没有沉下去吃透硬件,现在的人浮躁啊。

用户1273422 2012-12-10 15:49

good

用户1255142 2012-12-6 23:59

        通常来说,用数字I/O控制模拟电路,经常碰到的就是集成电源芯片,一定要注意电压匹配。

        模拟电路总是会设计为能在一定电压范围内工作,“门限”也不精确,不像数字电路都有固定的工作电压和门限,二者结合不考虑整个模拟电路的全范围工作电压就一定会出问题。      

        道理很简单,设计时注意一下就行了。这点东西也谈不上是高要求的细节,属于基本的设计常识。

相关推荐阅读
用户1587532 2012-12-04 14:56
都是IO弱上拉惹的祸
         开发的一款液晶驱动器,接收MCU过来的指令和数据进行图像显示。使用了一片可编程(带使能和PWM调节控制)的背光芯片。在CPLD设计中,上电复位状态将背光使能拉低(关闭),直到MC...
用户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应用中,常常需要产生一些源同步接口信...
EE直播间
更多
我要评论
13
22
关闭 站长推荐上一条 /3 下一条