【導讀】現(xiàn)在社會快速發(fā)展,我們都很浮躁。大家都基本貼上了急功近利的標簽。市場總是變化的,當看到一個方向有利可圖的時候,大家都會像潮水一樣涌向那邊。于是乎,市場總是逼著研發(fā)快速出產(chǎn)品。
現(xiàn)在社會快速發(fā)展,我們都很浮躁。大家都基本貼上了急功近利的標簽。市場總是變化的,當看到一個方向有利可圖的時候,大家都會像潮水一樣涌向那邊。于是乎,市場總是逼著研發(fā)快速出產(chǎn)品。
所以現(xiàn)在的產(chǎn)品開發(fā)周期短,成本要求低,客戶體驗好,質(zhì)量把控嚴。這些標準對技術(shù)工程師的要求也越來越高。
殊不知,做產(chǎn)品是一門工程學,一個好的產(chǎn)品也是“十年磨一劍”的。歷數(shù)那些留在人們心中的品牌產(chǎn)品無不是經(jīng)過多少年慢慢磨練出來的。這不故事就是由此來的。
給客戶做的一個產(chǎn)品還有一個月就要量產(chǎn)了,突然接到通知,產(chǎn)品里的一個模塊需要切換供應商。只有硬著頭皮,頂著一個月的壓力,解決問題。模塊與我們產(chǎn)品的接口是不能變的,只需做一個同樣尺寸的模塊,就可以滿足要求。所以自己評估下硬件工作量也不是很大,軟件自己評估了下也可行。
參考芯片的datasheet,做好原理圖,發(fā)給原廠FAE , check后做了修改,就開始lay板了。開始還進展順利,PCB出來,貼片完成,把新模塊貼到機器上,交給軟件調(diào)試了。軟件與我們不在一起,機器寄給他們調(diào)試,一個多星期后,發(fā)過來個版本說可以測試。離導入量產(chǎn)只剩下半個月了,只能抓緊時間測試,期待盡早發(fā)現(xiàn)問題,不然,等到量產(chǎn)時候如果有問題自己只有哭了。
測試了幾次,問題就來了。發(fā)現(xiàn)偶爾機器上電,這個模塊的功能點擊應用沒有反應。查軟件,發(fā)現(xiàn)在沒有反應的時候,軟件I2C讀取芯片里面的寄存器,卻讀不到數(shù)據(jù)。硬件開始查模塊AVDD3.3V和DV33供電(開始只測試了模塊的22個PIN腳信號),未發(fā)現(xiàn)異常。測試了復位信號RESET#,復位時間也滿足要求。繼續(xù)測試,每次I2C上也有數(shù)據(jù)發(fā)給模塊,但是異常時候卻收不到模塊應答??嗫嗨妓?,沒有答案。
繼續(xù)測試,發(fā)現(xiàn)模塊不是每次起不來。如果斷電久一點,再上電,模塊就起不來,但是如果斷電后馬上上電,模塊就會OK。貌似發(fā)現(xiàn)了攻城的突破口,一絲激動。應該與上電時序有關(guān)系。馬上查datasheet,查找芯片的上電時序。一瓢冷水突然潑過來,芯片有好幾個引腳供電,但是沒有上電時序的詳解,打電話問FAE,了解到這個芯片也是第一次開始量產(chǎn),目前規(guī)格書確實沒有上電時序的介紹。天啊,這芯片盡然在我們這開始量產(chǎn),而且還在這么短的時間,頓時沒有了信心。懈怠了會,只有繼續(xù),誰讓咱們是做技術(shù)的。做技術(shù)和當兵一樣,技術(shù)工程師如果怕問題和當兵的怕打仗沒啥區(qū)別,量產(chǎn)前發(fā)現(xiàn)的問題逃避不解決,就如戰(zhàn)場上的逃兵。
只有繼續(xù)用示波器對比測試芯片各個電源引腳斷電后馬上上電與等會再上電看看電源引腳上有無異常。開始懷疑某個電源必須先上電才行,因為斷電后放久一點再上電異常,斷電后馬上上電OK。過一段時間后應該是某電源上有電容放電完了,而馬上上電上一次電容上的電荷還沒有放電完畢,立刻再上電相當于提前上電了。順著這個思路繼續(xù)與FAE用示波器測試,果然不出所料。
此芯片需要3.3V和1.8V 2種電源。LDO2_EN,DCVDD1和DBVDD1我們用模塊引腳的3.3V直接供電,而LDO_IN我們用3.3V在模塊上通過LDO轉(zhuǎn)換過來的。LDO2_EN通過100K上拉電阻連接到3.3V。繼續(xù)測試發(fā)現(xiàn)在LDO2_EN有貓膩。芯片異常的時候,LDO2_EN有0.9V電壓,而芯片正常時候,LDO2_EN有3.3V電壓,估計0.9V電壓偏低無法使能LDO2,所以芯片不能正常工作。示波器繼續(xù)抓取波形:
繼續(xù)抓取Power on 與 Power off波形如圖4:
原因慢慢露出水面,可能LDO_IN要比LDO2_EN先上電,因為每次斷電后立即上電,此時LDO_IN discharging time 小于5 秒,LDO_IN電壓還有近400mv,此時芯片上電每次都正常。為了驗證,繼續(xù)做通斷電實驗,示波器再抓取波形:
為了驗證,從模塊外另外找到一個比模塊3.3V先上電的1.8V電源,飛線到LDO_IN,做通斷電實驗,發(fā)現(xiàn)每次OK。不管什么時候上電芯片都正常工作。奮戰(zhàn)到這一步,大家都欣喜不已。抓緊再驗證了2臺機器,通斷電實驗,也是每次OK。到此刻,大家才確定算找到了原因,下一步就是找到最優(yōu)化的解決方案,最小化的改動PCB板,最低成本的解決問題,最短時間的導入。
討論后,決定在板上增加2個三極管控制,用LDO_IN 的1.8V使能3.3V后得到LDO2_EN的3.3V,這樣保證LDO_IN_1.8有電壓后,才會有LDO2_EN的3.3V。其它地方?jīng)]有做改動。改PCB板后,立即回來焊接了10PCS,裝了10臺機器,做通斷電實驗沒有發(fā)現(xiàn)此問題了。終于在量產(chǎn)前解決了這個硬件的BUG。
晚上的加班測試,分析,直到最后有了初步定論后大家都身心疲憊,看看時間已經(jīng)是凌晨3點多。晚餐為了節(jié)省時間,大家點的外賣麥當勞?;氐郊?,洗漱后,看看窗外,黎明的曙光已經(jīng)照射進來。不管怎么問題總算解決了,可以安心的睡覺了,也許下一個滅火的戰(zhàn)斗還在等待這我,但是我們還是要及時總結(jié),避免這樣的問題再次發(fā)生。
總結(jié)一下,在我們設計的時候,每一個細節(jié)還是要確認好,上電時序是最基本的要求,一定要按照datasheet來設計。順便說一下,后來FAE聯(lián)系了芯片原廠,芯片也確實有這樣要求,只是在datasheet上沒有體現(xiàn)。雖然沒有體現(xiàn),但是作為工程師做設計,這些基本的考慮是我們必須要主動確認好的。一個小小的疏漏,導致你可能奮戰(zhàn)一個通宵。如果在量產(chǎn)后再發(fā)現(xiàn),后果會更嚴重。
以此為教訓,分享出來給大家,希望大家以后在做設計的時候都注意。同時我們還必須注意夯實自己的基礎,即使時間再緊張,基礎不能丟,很多時候出問題都是因為基礎不扎實引起的。
(來源:面包板博客,作者:面包板博主:smile_miao)
免責聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理。