本文將介紹如何拆焊Flash芯片,設(shè)計(jì)及制作相應(yīng)的分線板。了解對(duì)嵌入式設(shè)備的非易失性存儲(chǔ)的簡(jiǎn)單有效攻擊手段。這些攻擊包括:
讀取存儲(chǔ)芯片內(nèi)容
修改芯片內(nèi)容
監(jiān)視對(duì)存儲(chǔ)芯片的讀取操作并遠(yuǎn)程修改(中間人攻擊)
想想,當(dāng)你拆開(kāi)一個(gè)嵌入式產(chǎn)品,卻被擋在Flash之外,好奇的你一定想對(duì)它一探究竟。
那么,下面我們就開(kāi)始。
拆焊Flash芯片
為了讀取Flash芯片的內(nèi)容,有以下兩個(gè)基本途徑:
直接將導(dǎo)線連接到 芯片的引腳
把芯片拆下來(lái),插到另一塊板子上
下面介紹的Flash為BGA(球形柵格陣列)封裝——無(wú)外露引腳。因此,只能選擇拆焊的方法。
圖:目標(biāo)芯片
拆焊法的優(yōu)點(diǎn):
可避免對(duì)電路板上其他器件造成影響;
可以很容易看到芯片底部的布線;
可用其他芯片或微控制器代替原芯片。
一些不便之處:
電路在缺少完整器件的情況下無(wú)法運(yùn)行;
在拆卸過(guò)程中,一些鄰近器件可能被損壞;
如果操作不恰當(dāng),F(xiàn)lash本身可能毀壞。
OK,拆焊是吧?你看,下圖所示的熱風(fēng)槍簡(jiǎn)直就是神器。只要將芯片周?chē)訜幔憧梢院苋菀椎啬孟滦酒?/p>
這種辦法簡(jiǎn)單、快速只是可能傷及無(wú)辜——焊掉鄰近的元件,所以,務(wù)必小心翼翼。
下圖顯示芯片拆下后PCB的布線。觀察圖片,猜想底部的兩列引腳為空引腳,因?yàn)樗麄儔焊蜎](méi)接入電路。
圖:拆焊下來(lái)后
用KiCAD定制分線板
現(xiàn)在該做什么?BGA封裝簡(jiǎn)直就是一團(tuán)糟,依然無(wú)法外接導(dǎo)線。
一種可行的方法是制作分線板。通常,分線板是將芯片的所有針腳的位置“鏡像”下來(lái),這樣就能將芯片的引腳引接出來(lái)。
為此,我們首先要搜集芯片的相關(guān)信息。大多數(shù)情況下,芯片的型號(hào)都印制在芯片上,這樣我們就很容易識(shí)別。如上圖,芯片上第一行為MXIC代表Macronix International公司,第二行為芯片的具體型號(hào)MX25L3255EXCI datasheet 。以下為datasheet資料:
圖:針腳排布
PCB的設(shè)計(jì)可由KiCAD ,常用的EDA軟件實(shí)現(xiàn)。
分線板的設(shè)計(jì)過(guò)程與其他PCB板一樣:
新建電路板,畫(huà)出電路簡(jiǎn)圖,標(biāo)明元器件的具體型號(hào)
確定芯片的具體尺寸
根據(jù)之前datasheet的資料。我們添加1個(gè)4×6的網(wǎng)格作為整個(gè)芯片的BGA封裝,2個(gè)1×4的網(wǎng)格作為連接芯片8個(gè)有效引腳的接線柱。最后一步是,用線路將這些器件連接起來(lái):
圖:step2
轉(zhuǎn)接板的設(shè)計(jì)到此為止,接下來(lái)是如何把設(shè)計(jì)轉(zhuǎn)化成的PCB。
PCB制作
PCB就像是由兩層銅和一層基板壓制成的三明治,導(dǎo)線分布在銅上面。
根據(jù)制作流程,分為:
蝕刻法
數(shù)控銑法
以下為兩種方法的具體步驟。
蝕刻法
蝕刻,即是用化學(xué)藥品逐步除去銅的過(guò)程。我們先用油墨保護(hù)覆銅板上的線路及要保留下來(lái)的銅。
1、首先,用熱轉(zhuǎn)印法制作PCB。PCB電路圖用激光打印機(jī)打印在亮光紙上。然后,把亮光紙緊貼在覆銅板上,加熱和施以壓力,使亮光紙上的電路圖轉(zhuǎn)印到覆銅板上。通常,這個(gè)過(guò)程用熨衣服的熨斗即可完成,但是專(zhuān)用的壓制器會(huì)使加熱及受力更加均勻,更容易成功。
2、接下來(lái)是蝕刻,將整塊PCB板浸沒(méi)在腐蝕液,以此來(lái)去除多余的銅。
蝕刻后的分線板,轉(zhuǎn)印的墨粉還附著在上面:
圖:step3
除去墨粉后:
圖:step4
現(xiàn)在可以準(zhǔn)備手工焊接了。微型焊接與正常焊接一樣,只是器件的尺寸極小,因此需要借助顯微鏡。
此外,傳統(tǒng)的焊接用的是線狀的焊錫絲,而B(niǎo)GA微型焊接用的是錫球。
圖:step5
接下來(lái),開(kāi)始重整錫球:
將一個(gè)新的錫球放置在凹槽上,加熱,熔化錫球;
校準(zhǔn)芯片和板子;
回流。
圖:step6
錫球重整完成:
圖:step7
芯片焊接完成后的最終結(jié)果:
圖:step8
數(shù)控銑
作為替代方法,數(shù)控銑僅是將需要的線路和剩余的銅隔離開(kāi)來(lái)而已。
(1)5X5的BGA通常用于制作 PCB,而4X6的常用于分線板。我們?cè)O(shè)計(jì)5X5的是為了該分線板可以直接插接在通用EEPROM 編程器的ZIF插槽里,電路簡(jiǎn)圖如下:
圖:step9
(2)芯片的尺寸與前面設(shè)計(jì)的4X6的一樣,只是網(wǎng)格變成5X5,板上的布線也稍顯復(fù)雜:
圖:step10
(3)由于KiCAD無(wú)法直接生成與數(shù)控銑兼容的目標(biāo)文件,因此,我們用Flatcam接收Gerber文件并確定數(shù)控銑隔離的導(dǎo)線的路徑:
圖:step11
圖:step12
(4)接下來(lái)將生成的STL文件導(dǎo)入bCNC——數(shù)控銑的終端控制程序,如下圖所示:
圖:step13
雕刻過(guò)程中:
圖:step14
(5)板子雕刻完成:
圖:step15
最終結(jié)果:
圖:step16
(6)下一步,涂覆阻焊層,保護(hù)銅不被氧化,并用紫外燈固化:
圖:step17
圖:step18
(7)阻焊層覆蓋了BGA的銅片及1X4的接線柱,我們得刮掉這個(gè)薄層,使銅片露出來(lái):
圖:step19
(8)給各個(gè)節(jié)點(diǎn)焊錫:
圖:step20
圖:step21
(9)回到數(shù)控銑,打孔,切削PCB的邊緣:
圖:step22
圖:step23
(10)最終成品,BGA焊接在板子上,準(zhǔn)備插到EEPROM編程器上:
圖:step24
結(jié)論
了解了如何拆焊Flash芯片和如何設(shè)計(jì)PCB,以及制作PCB的兩種不同方法。
來(lái)源:STM32嵌入式開(kāi)發(fā)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
芯片
+關(guān)注
關(guān)注
456文章
51192瀏覽量
427334 -
pcb
+關(guān)注
關(guān)注
4326文章
23161瀏覽量
399993 -
嵌入式
+關(guān)注
關(guān)注
5094文章
19178瀏覽量
307732 -
FlaSh
+關(guān)注
關(guān)注
10文章
1642瀏覽量
148685
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
嵌入式主板的概述與發(fā)展
![<b class='flag-5'>嵌入式</b>主板的概述與發(fā)展](https://file1.elecfans.com/web2/M00/EB/A1/wKgZomZe5fWAXs4EAABHp9zbA6E074.png)
評(píng)論