板子莫名其妙就不能進(jìn)行調(diào)試了,?燒錄芯片經(jīng)常出現(xiàn)壞片,?良品率太低?是芯片太過(guò)脆弱么,?還是我們的操作不當(dāng),?也許看了下面,你就能找到問(wèn)題的真正原因,。
我想大家或多或少遇到過(guò)這樣的問(wèn)題,,手上的芯片不知怎么的就燒不進(jìn)去程序了,搞了半天也找不出原因,,對(duì)于開(kāi)發(fā)者來(lái)說(shuō),,雖然也就是多花個(gè)幾兩銀子換個(gè)芯片的事,但也是挺鬧心的,,而對(duì)于大批量生產(chǎn)來(lái)說(shuō),經(jīng)常出現(xiàn)這種情況可就不是個(gè)小問(wèn)題了,。這里總結(jié)了一些可能會(huì)搞壞你芯片的小細(xì)節(jié),,可能對(duì)苦于換芯片或者糾結(jié)于良品率的你有一些幫助。
1.供電電壓
看到這里你也許就笑了,,我系統(tǒng)板上的芯片供電是LDO輸出的,,穩(wěn)定的很,怎么會(huì)燒芯片,。這就要從芯片燒寫(xiě)程序的兩種方式說(shuō)起:在板燒錄和座燒,。
對(duì)于個(gè)人用戶或是某些特定的行業(yè),如汽車電子,,大部分都是用在板燒錄,,
圖 1 在板燒錄
另一種方式工廠批量生產(chǎn)用的比較多,即座燒的方式,,如下圖這種情況,。
圖 2 座燒
對(duì)于很多開(kāi)發(fā)板或者我們自己設(shè)計(jì)的系統(tǒng)板,,調(diào)試接口的VCC一般都是直接從芯片供電引腳拉出,如果編程器供電不穩(wěn),,則很容易造成芯片的過(guò)壓損壞,。下圖為一款MCU的供電電壓范圍:
若編程器供電電壓不準(zhǔn)或電壓不穩(wěn),超過(guò)了這個(gè)范圍,,則芯片將很容易損壞,。
座燒就更不用說(shuō)了,芯片直接由編程器供電,,如果編程器供電不穩(wěn),,那燒錄芯片的良品率將會(huì)成為你的噩夢(mèng)。
2.芯片加密
一般的開(kāi)發(fā)者很容易忽略芯片為我們提供的這個(gè)重要功能,,但是當(dāng)你的產(chǎn)品要大賣的時(shí)候,,這個(gè)功能就顯得尤為重要了,加密功能能有效防止你的產(chǎn)片代碼被抄襲,。芯片加密等級(jí)一般有3級(jí),,我覺(jué)得這款Cypress的芯片手冊(cè)給出了比較明確的說(shuō)明。
OPEN:芯片沒(méi)有保護(hù),,意味著你燒錄到芯片中的軟件可以被山寨者直接讀出,。
PROTECTED:芯片有了讀出保護(hù),意味著沒(méi)有人可以讀出來(lái)芯片中的數(shù)據(jù),,但是芯片可以擦除,,擦除之后可以再次使用。
KILL:你的芯片被“殺死了”,,和上一個(gè)級(jí)別的保護(hù)一樣,,沒(méi)有人可以讀取芯片數(shù)據(jù),但是這一次,,整片擦除也不起作用了,,你的芯片無(wú)法重新燒錄,但是不是真的“死了”,它還可以運(yùn)行燒錄進(jìn)去的程序,。
需要注意的是這些保護(hù)一般都是重新上電后才會(huì)生效,。
如果你哪天沒(méi)睡醒燒寫(xiě)程序的時(shí)候把芯片的加密位設(shè)置成了KILL,那么恭喜你,,可以換新的芯片了,。
另外一種比較有意思的情況發(fā)生在大批量生產(chǎn)中,由于各種各樣的因素影響,,芯片有時(shí)候燒到一半就被中斷了,,而有些芯片的加密位恰恰是在燒錄文件的前段,對(duì)于有些燒錄器,可能會(huì)直接按燒錄文件順序燒錄,,就會(huì)造成芯片已經(jīng)被KILL了,,但是由于燒錄中斷造成后半段的程序還沒(méi)燒進(jìn)去,那這個(gè)芯片就真的廢了,。一種比較可靠的燒錄方案是在最后燒錄加密位,,這樣就可以有效避免燒錄中斷造成的芯片意外鎖死。
3.編程高壓
有些OTP(一次可編程)芯片可能需要編程高壓才能將數(shù)據(jù)寫(xiě)入,,雖說(shuō)是高壓,,其實(shí)很多也就6、7V左右,,再高也就十幾伏,,這種程度的電壓對(duì)于我們來(lái)說(shuō)比較安全,但對(duì)于很多芯片來(lái)說(shuō),,已經(jīng)算是高壓了,,即使是需要這種電壓才能編程的一些OTP芯片,也無(wú)法長(zhǎng)時(shí)間承受,,因此有些芯片會(huì)規(guī)定高壓加載的最長(zhǎng)時(shí)間,,一旦超過(guò)這個(gè)極限,OTP區(qū)就可能會(huì)永久損壞,。有些編程器會(huì)提供編程高壓的輸出功能,,在燒錄的流程中自動(dòng)開(kāi)關(guān)編程電壓,而對(duì)于那些沒(méi)有提供編程高壓的編程器,,使用時(shí)就要小心不要在編程的時(shí)候發(fā)呆走神了,,一定要及時(shí)斷開(kāi)編程高壓。
此外,,還有很多其他的因素會(huì)損壞你的芯片,,比如靜電防護(hù)是否做得到位,芯片存儲(chǔ)的濕度,,溫度是否符合要求,,芯片焊接的溫度是否過(guò)高等,要提高燒寫(xiě)的良品率,,就要從多個(gè)方面做工作,當(dāng)然也不可忽略以上這些不易引起注意的細(xì)節(jié),。