上周陸續(xù)接收到一小批量客戶返回的“不合格”產(chǎn)品,,回來一測試,主要是兩個(gè)問題:一是液晶屏漏液,,通常這是由于液晶屏表面被外物碰撞或擠壓造成的,,可能是運(yùn)輸流通環(huán)節(jié)造成的,也可能是用戶使用裝配過程不規(guī)范導(dǎo)致的,;最棘手的是另一個(gè)問題,,用戶提供樣機(jī)對其(我們的模塊)做測試,發(fā)現(xiàn)常常出現(xiàn)用戶的第一幅上電開機(jī)界面無法正常顯示,,本來白色的背景頻繁出現(xiàn)花屏(清屏指令丟失),。
在生產(chǎn)階段,已經(jīng)遇到過類似問題,,當(dāng)時(shí)斷定是采購的晶振批次有這樣的問題,,已經(jīng)更換了檢驗(yàn)和老化階段出現(xiàn)問題產(chǎn)品的晶振(其他品牌優(yōu)質(zhì)晶振)。但沒想到的是,,整個(gè)批次到用戶手中再返回來竟然還有一批這樣的產(chǎn)品,。細(xì)細(xì)想想,一點(diǎn)不稀奇,,斬草不除根怎么行,,生產(chǎn)階段就應(yīng)該果斷的將整個(gè)批次晶振更換掉。
由于和對方是第一次合作,,并且這批產(chǎn)品是用戶的替代產(chǎn)品,,所以Y總也很重視。周四下午和Y總驅(qū)車趕往用戶現(xiàn)場,,這一去不要緊,,對方公司什么技術(shù)、采購,、主管,、副總、老總挨個(gè)出場,,那個(gè)老總脾氣火爆,,直接當(dāng)著我們的面劈頭蓋臉口沫橫飛,,場面很是尷尬。Y總畢竟是過來人,,什么人什么場面沒見識過,,心態(tài)也很是平和,沒有硬碰硬,,當(dāng)場檢驗(yàn)剩下的產(chǎn)品后,,坐下來和對方老總好好的溝通了一番,最終雙方都表示應(yīng)該相互理解,,在磨合期相關(guān)應(yīng)該多一些信任和支持,。
工程師故事,晶振引發(fā)的系列血案" height="304" src="http://files.chinaaet.com/images/20110727/4493cad0-7ca9-47a3-81e9-22a4a1b3ac3a.jpg" width="421" />
作為技術(shù)方面的主要責(zé)任人,,當(dāng)晚我好好的做了一番檢討,,對整個(gè)流程的各個(gè)環(huán)節(jié)作了一些檢視。周五整個(gè)對能夠召回的產(chǎn)品更換了晶振,,但是測試基本沒出現(xiàn)什么異常,,只是個(gè)別有些不一樣的狀況出現(xiàn),以為是一類問題,,沒太留心,,更換晶振了事。
上周陸續(xù)接收到一小批量客戶返回的“不合格”產(chǎn)品,,回來一測試,,主要是兩個(gè)問題:一是液晶屏漏液,通常這是由于液晶屏表面被外物碰撞或擠壓造成的,,可能是運(yùn)輸流通環(huán)節(jié)造成的,,也可能是用戶使用裝配過程不規(guī)范導(dǎo)致的;最棘手的是另一個(gè)問題,,用戶提供樣機(jī)對其(我們的模塊)做測試,,發(fā)現(xiàn)常常出現(xiàn)用戶的第一幅上電開機(jī)界面無法正常顯示,本來白色的背景頻繁出現(xiàn)花屏(清屏指令丟失),。
在生產(chǎn)階段,,已經(jīng)遇到過類似問題,當(dāng)時(shí)斷定是采購的晶振批次有這樣的問題,,已經(jīng)更換了檢驗(yàn)和老化階段出現(xiàn)問題產(chǎn)品的晶振(其他品牌優(yōu)質(zhì)晶振),。但沒想到的是,整個(gè)批次到用戶手中再返回來竟然還有一批這樣的產(chǎn)品,。細(xì)細(xì)想想,,一點(diǎn)不稀奇,斬草不除根怎么行,,生產(chǎn)階段就應(yīng)該果斷的將整個(gè)批次晶振更換掉,。
由于和對方是第一次合作,,并且這批產(chǎn)品是用戶的替代產(chǎn)品,所以Y總也很重視,。周四下午和Y總驅(qū)車趕往用戶現(xiàn)場,,這一去不要緊,對方公司什么技術(shù),、采購、主管,、副總,、老總挨個(gè)出場,那個(gè)老總脾氣火爆,,直接當(dāng)著我們的面劈頭蓋臉口沫橫飛,,場面很是尷尬。Y總畢竟是過來人,,什么人什么場面沒見識過,,心態(tài)也很是平和,沒有硬碰硬,,當(dāng)場檢驗(yàn)剩下的產(chǎn)品后,,坐下來和對方老總好好的溝通了一番,最終雙方都表示應(yīng)該相互理解,,在磨合期相關(guān)應(yīng)該多一些信任和支持,。
作為技術(shù)方面的主要責(zé)任人,,當(dāng)晚我好好的做了一番檢討,,對整個(gè)流程的各個(gè)環(huán)節(jié)作了一些檢視。周五整個(gè)對能夠召回的產(chǎn)品更換了晶振,,但是測試基本沒出現(xiàn)什么異常,,只是個(gè)別有些不一樣的狀況出現(xiàn),以為是一類問題,,沒太留心,,更換晶振了事。
周一準(zhǔn)備發(fā)貨前再做了一次檢驗(yàn),,這一查不要緊,,整個(gè)批次還是存在問題。第一次出現(xiàn)的狀況歸咎于那個(gè)批次的晶振起振偏慢,,只是影響到用戶的頭幾條指令的鎖存,,不會對后續(xù)顯示造成影響。但是,,一早發(fā)現(xiàn)的狀況用晶振的起振偏慢卻怎么也解釋不了,。因?yàn)橥ǔN覀兺茢嘤脩羲捅尘吧篑R上送清屏指令,,如果起振偏慢則整個(gè)清屏沒實(shí)現(xiàn)屬于正常現(xiàn)象,;而這回卻是整個(gè)背景黑屏(正常應(yīng)該為白色背景),,黑色就想到背景色初始化時(shí)就是黑色,估計(jì)是清屏指令送到了,,而前面一條背景色指令沒送到位,,做了一個(gè)測試,使用其他顏色作為初始化驗(yàn)證了這個(gè)假設(shè)是成立的,。于是一下午加晚上苦心思索驗(yàn)證,,最終解決了問題,這個(gè)不僅僅與內(nèi)部代碼的健壯性不夠有關(guān),,更是與兩個(gè)系統(tǒng)模塊之間上電先后息息相關(guān),。
用戶是ARM系統(tǒng),這邊是CPLD系統(tǒng),,兩邊通過一組準(zhǔn)8080并口總線通信,。由于本身這是一個(gè)替代項(xiàng)目,所以我這邊的CPLD系統(tǒng)處于很被動(dòng)的地位,,必須完全就著用戶ARM系統(tǒng)的脾性來設(shè)計(jì),。其實(shí)一開始的晶振起振偏慢問題完全可以在不更換器件的情況下解決,用戶只要在上電后多做些延時(shí)再發(fā)指令即可,,但是這個(gè)問題到工程師處好解決,,那些不懂技術(shù)又坐高位的人不這么看,所以我們只好把苦水咽下肚子統(tǒng)統(tǒng)算自己的錯(cuò),。
而這次出現(xiàn)的問題,,顯然不是晶振起振快慢的事,而是兩個(gè)系統(tǒng)誰先起來的事情,,因此我也一直糾結(jié)在CPLD系統(tǒng)這邊的復(fù)位快慢問題,。說實(shí)話,很難把握好,,復(fù)位若是晚了,,和晶振起振偏慢是一回事;復(fù)位快了,,就出現(xiàn)新的癥狀,,那組并口總線上的信號在復(fù)位前會是一組不確定的狀態(tài)。此時(shí)如果CPLD內(nèi)鎖存這組信號的邏輯(通??赡軙玫綘顟B(tài)機(jī)等進(jìn)行設(shè)計(jì))不夠健壯,,那么出現(xiàn)異常再所難免,就像特權(quán)同學(xué)的第一條指令偶爾丟失(100次開機(jī)會出現(xiàn)2-4次通常)現(xiàn)象,。
對于新開發(fā)的項(xiàng)目,,這些問題都是很好解決的,,在雙方的聯(lián)調(diào)過程中相互協(xié)調(diào)和改進(jìn)很容易就可以避免這些系統(tǒng)上電快慢導(dǎo)致的癥狀。但對于某一方不可更改的情況這就有些困難了,,在CPLD系統(tǒng)上必須有足夠的出錯(cuò)容忍機(jī)制和可靠健壯的代碼邏輯來保證系統(tǒng)的穩(wěn)定,。