原创 晶振引发的系列血案

2011-7-12 09:38 6449 11 30 分类: 消费电子

晶振引发的系列血案

 

         上周陆续接收到一小批量客户返回的“不合格”产品,回来一测试,主要是两个问题:一是液晶屏漏液,通常这是由于液晶屏表面被外物碰撞或挤压造成的,可能是运输流通环节造成的,也可能是用户使用装配过程不规范导致的;最棘手的是另一个问题,用户提供样机对其(我们的模块)做测试,发现常常出现用户的第一幅上电开机界面无法正常显示,本来白色的背景频繁出现花屏(清屏指令丢失)。

 

         在生产阶段,已经遇到过类似问题,当时断定是采购的晶振批次有这样的问题,已经更换了检验和老化阶段出现问题产品的晶振(其他品牌优质晶振)。但没想到的是,整个批次到用户手中再返回来竟然还有一批这样的产品。细细想想,一点不稀奇,斩草不除根怎么行,生产阶段就应该果断的将整个批次晶振更换掉。

 

         由于和对方是第一次合作,并且这批产品是用户的替代产品,所以Y总也很重视。周四下午和Y总驱车赶往用户现场,这一去不要紧,对方公司什么技术、采购、主管、副总、老总挨个出场,那个老总脾气火爆,直接当着我们的面劈头盖脸口沫横飞,场面很是尴尬。Y总毕竟是过来人,什么人什么场面没见识过,心态也很是平和,没有硬碰硬,当场检验剩下的产品后,坐下来和对方老总好好的沟通了一番,最终双方都表示应该相互理解,在磨合期相关应该多一些信任和支持。

 

         作为技术方面的主要责任人,当晚我好好的做了一番检讨,对整个流程的各个环节作了一些检视。周五整个对能够召回的产品更换了晶振,但是测试基本没出现什么异常,只是个别有些不一样的状况出现,以为是一类问题,没太留心,更换晶振了事。

 

         周一准备发货前再做了一次检验,这一查不要紧,整个批次还是存在问题。第一次出现的状况归咎于那个批次的晶振起振偏慢,只是影响到用户的头几条指令的锁存,不会对后续显示造成影响。但是,今天一早发现的状况却怎么也用晶振的起振偏慢解释不了。因为通常我们推断用户送背景色后马上送清屏指令,如果起振偏慢则整个清屏没实现属于正常现象;而这回却是整个背景黑屏(正常应该为白色背景),黑色就想到背景色初始化时就是黑色,估计是清屏指令送到了,而前面一条背景色指令没送到位,做了一个测试,使用其他颜色作为初始化验证了这个假设是成立的。于是一下午加晚上苦心思索验证,最终解决了问题,这个不仅仅与内部代码的健壮性不够有关,更是与两个系统模块之间上电先后息息相关。

 

         用户是ARM系统,这边是CPLD系统,两边通过一组准8080并口总线通信。由于本身这是一个替代项目,所以我这边的CPLD系统处于很被动的必须完全就着用户ARM系统的脾性来设计。其实一开始的晶振起振偏慢问题完全可以在不更换器件的情况下解决,用户只要在上电后多做些延时再发指令即可,但是这个问题到工程师出好解决,那些不懂技术又坐高位的人不这么看,所以我们只好把苦水咽下肚子统统算自己的错。

 

         而今天出现的问题,显然不是晶振起振快慢的事,而是两个系统谁先起来的事情,因此我也一直纠结在CPLD系统这边的复位快慢问题。说实话,很难把握好,复位若是晚了,和晶振起振偏慢是**事;复位快了,就出现新的症状,那组并口总线上的信号在复位前会是一组不确定的状态,此时如果CPLD内锁存这组信号的逻辑(通常可能会用到状态机等进行设计)不够健壮,那么出现异常在所难免,就像特权同学的第一条指令偶尔丢失(100次开机会出现2-4次通常)现象。

 

         对于新开发的项目,这些问题都是很好解决的,在双方的联调过程中相互协调和改进很容易就可以避免这些系统上电快慢导致的症状。但对于某一方不可更改的情况这就有些困难了,在CPLD系统上必须有足够的出错容忍机制和可靠健壮的代码逻辑来保证系统的稳定。

 

 

PARTNER CONTENT

文章评论19条评论)

登录后参与讨论

用户1602177 2013-11-25 09:44

感谢分享~

用户1699644 2013-6-27 18:27

伟大的中国人民

用户1561824 2012-5-7 19:59

两个系统的协调,单独靠CPLD代码的健壮性似乎较难实现。如何判定MCU已经复位成功,开始同步通信呢?

用户1495453 2011-11-10 21:29

不错 很好的一篇

用户1626152 2011-9-24 15:36

支持一下

用户1626152 2011-9-24 15:33

支持一下

用户1620221 2011-8-15 11:29

注意:违规内容已被屏蔽!

用户1588487 2011-8-11 14:39

呵呵,顾客都是只看效果,不管原因的

用户1492696 2011-7-27 15:27

hehe

用户1400651 2011-7-22 13:34

多系统,多电压, power sequence 和reset时间很重要的。研发阶段都是要用示波器量的。都要预留足够的余量。
相关推荐阅读
用户1587532 2012-12-04 14:56
被忽略的硬件常识
          在特权同学的《都是IO弱上拉惹的祸》一文中,提及了Altera的CPLD在初始化时管脚通常会处于弱上拉状态。在实际示波器采样来看,就表现在上电初 期IO脚会有一个短暂(当时是持...
用户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应用中,常常需要产生一些源同步接口信...
我要评论
19
11
关闭 站长推荐上一条 /3 下一条