国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Power PC架構(gòu)嵌入式系統(tǒng)的FLASH選型及設(shè)計(jì)要點(diǎn)

2016-05-30 08:41:56施辰光張陽(yáng)
科技風(fēng) 2016年10期
關(guān)鍵詞:嵌入式系統(tǒng)

施辰光 張陽(yáng)

摘 要:本文以MPC8349處理器所搭建的嵌入式系統(tǒng)為例,分析了國(guó)內(nèi)外幾種NOR FLASH芯片在選型、布局、焊接時(shí)所需要注意的事項(xiàng),并針對(duì)傳統(tǒng)的NOR FLASH自測(cè)試方法提出了改進(jìn)意見(jiàn)。

關(guān)鍵詞:MPC8349;NOR FLASH;Power PC;嵌入式系統(tǒng);脫焊

隨著當(dāng)今計(jì)算機(jī)技術(shù)的迅猛發(fā)展,國(guó)防、通訊、醫(yī)療儀器、工業(yè)控制等領(lǐng)域?qū)τ?jì)算機(jī)的要求也變得越來(lái)越高。

嵌入式系統(tǒng)的功耗低、可靠性高、處理能力強(qiáng)、實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn)使得嵌入式系統(tǒng)能夠滿足機(jī)載計(jì)算機(jī)的各項(xiàng)要求,成為當(dāng)代機(jī)載計(jì)算機(jī)的主要實(shí)現(xiàn)方式。

Freescale公司推出的Power PC嵌入式處理器集成度高,接口豐富,應(yīng)用廣泛,在全球處理器市場(chǎng)上處于無(wú)可爭(zhēng)議的領(lǐng)先地位。

Power PC處理器上電后會(huì)從其存儲(chǔ)接口讀取引導(dǎo)程序,來(lái)對(duì)處理器進(jìn)行初始化,接著再?gòu)拇鎯?chǔ)接口中讀取操作系統(tǒng)和需要運(yùn)行的應(yīng)用程序,因而存儲(chǔ)器是Power PC嵌入式系統(tǒng)中不可或缺的一部分。

FLASH已經(jīng)成為了目前最成功、最流行的一種固態(tài)內(nèi)存,與EPROM、EEPROM相比FLASH的讀寫速度更快,而與SRAM相比FLASH具有非易失、以及價(jià)廉等優(yōu)勢(shì),因而絕大多數(shù)PowerPC嵌入式系統(tǒng)都采用FLASH作為其數(shù)據(jù)存儲(chǔ)單元。

1 NAND FLASH與NOR FLASH

FLASH用于存儲(chǔ)系統(tǒng)運(yùn)行所必需的系統(tǒng)程序、應(yīng)用程序和重要的數(shù)據(jù),它的優(yōu)點(diǎn)是掉電后其中的數(shù)據(jù)不會(huì)丟失。常用的FLASH有NOR型和NAND型兩種。NOR FLASH是由Intel公司在1988年開(kāi)發(fā),以替代EPROM和E2PROM,徹底改變了原先由EPROM和EEPROM一統(tǒng)天下的局面。隨后,東芝公司在1989年發(fā)布了Nand Flash[ 1 ]。

NAND FLASH能提供極高的單元密度,并且寫入和擦除的速度也很快,是大容量數(shù)據(jù)存儲(chǔ)的最佳選擇[ 2 ]。但它的缺點(diǎn)也同樣明顯,NAND FLASH讀取速度較慢,它的I/O端口只有8個(gè),數(shù)據(jù)地址線共用,傳送數(shù)據(jù)時(shí),速度遠(yuǎn)遠(yuǎn)比不上NOR FLASH的并行模式。再加上NAND FLASH的邏輯為電子盤模塊結(jié)構(gòu),內(nèi)部不存在專門的存儲(chǔ)控制器,一旦出現(xiàn)數(shù)據(jù)壞塊將無(wú)法修正, 可靠性較NOR FLASH要差[ 3 ]。

NOR FLASH采用NOR SGC(Stacked Gate Cell)存儲(chǔ)單元,接口都是單獨(dú)的地址、數(shù)據(jù)和控制信號(hào),讀寫方式為并行讀寫,便于直接讀取,隨機(jī)讀取速度快,但擦除和寫入速度較慢。NOR FLASH最主要的特點(diǎn)是芯片內(nèi)執(zhí)行XIP(eXecute-In-Place),這樣應(yīng)用程序可以直接在FLASH內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。NOR FLASH的傳輸效率很高,在小容量時(shí)具有很高的成本效益,不過(guò)在大容量時(shí)就顯得力不從心。

以上這些特性使得NAND FLASH適合存儲(chǔ)數(shù)據(jù),而NOR FLASH適合存儲(chǔ)程序。

本文接下來(lái)討論的幾種FLASH都屬于NOR FLASH,用來(lái)存儲(chǔ)嵌入式引導(dǎo)程序,操作系統(tǒng)等。

2 MPC8349處理器單板計(jì)算機(jī)設(shè)計(jì)

本文以MPC8349處理器單板計(jì)算機(jī)為例對(duì)PowerPC處理器的嵌入式系統(tǒng)FLASH設(shè)計(jì)進(jìn)行分析。MPC8349嵌入式計(jì)算機(jī)主要應(yīng)用于信號(hào)處理與數(shù)據(jù)計(jì)算領(lǐng)域,其系統(tǒng)功能框圖如圖1所示。

MPC8270嵌入式系統(tǒng)的硬件結(jié)構(gòu)包括以下幾個(gè)功能電路:電源及復(fù)位電路,時(shí)鐘電路,處理器電路,存儲(chǔ)器電路以及對(duì)外接口電路。

本系統(tǒng)中的串行接口、網(wǎng)絡(luò)接口和PCI總線均采用MPC8349上集成的協(xié)議控制器來(lái)實(shí)現(xiàn)。

本系統(tǒng)中的存儲(chǔ)空間包含以下幾個(gè)方面:

DDR:采用4片16位256MB的DDR2芯片MT47H128M16HG

-3IT,以地址線共用、數(shù)據(jù)線拼接的方式為處理器提供了64位1GB的動(dòng)態(tài)存儲(chǔ)空間,還有1片連接ECC 校驗(yàn)位,進(jìn)行校驗(yàn),以上5片DDR2芯片作為整個(gè)系統(tǒng)的動(dòng)態(tài)存儲(chǔ)單元,為軟件的運(yùn)行提供空間;

系統(tǒng)FLASH:采用2片16位32MB的FLASH芯片,以地址線共用、數(shù)據(jù)線拼接的方式為處理器提供了32位64MB的系統(tǒng)FLASH,用于存儲(chǔ)引導(dǎo)程序、操作系統(tǒng)等系統(tǒng)程序;

應(yīng)用FLASH:采用2片16位32MB的FLASH芯片,以地址線共用、數(shù)據(jù)線拼接的方式為處理器提供了32位64MB的應(yīng)用FLASH,用于存儲(chǔ)簡(jiǎn)單的應(yīng)用程序。

2.1 國(guó)內(nèi)外主要FLASH選型差異

MPC8270嵌入式系統(tǒng)中我們總共選用了4片16位32MB的FLASH芯片。國(guó)內(nèi)外先后有許多電子元器件廠家生產(chǎn)過(guò)這類FLASH芯片,他們大致相同,但選用不同的FLASH芯片在細(xì)節(jié)上有許多需要注意的問(wèn)題。

2.1.1 扇區(qū)大小

這種規(guī)格的FLASH芯片最早是由AMD公司生產(chǎn)的AM29LV256,該FLASH的扇區(qū)大小為64KB。如今AMD的FLASH停產(chǎn)了,這種規(guī)格的FLASH芯片主要由國(guó)外的SPANSION公司和國(guó)內(nèi)的國(guó)微公司進(jìn)行生產(chǎn),但是SPANSION公司和國(guó)微公司的FLASH扇區(qū)大小為128KB。

出于通用化考慮,由于不同類型的FLASH的設(shè)備ID是不一樣的,因此我們可以在引導(dǎo)程序中通過(guò)讀取設(shè)備ID來(lái)識(shí)別扇區(qū)大小。

2.1.2 SPANSION公司的兩種FLASH芯片

SPANSION公司生產(chǎn)過(guò)兩種8/16位可配置,32MB的FLASH芯片,它們的型號(hào)分別為S29GL256N11TFI01和S29GL256P10TFI010。這兩種FLASH芯片的扇區(qū)大小,扇區(qū)總數(shù),讀寫操作都是一致的。但由于在制作工藝上略有差別,使得它們?cè)谶M(jìn)行校驗(yàn)運(yùn)算時(shí)有所不同。

FLASH芯片在擦除、寫入等操作后需要采用toggle的方式進(jìn)行查詢,判斷操作是否完成。兩種FLASH的toggle算法最大的差異在于S29GL256N11TFI01為讀兩次之后判斷toggle位是否還在變化,而S29GL256P10TFI010為讀三次之后進(jìn)行判斷。如果沒(méi)有按照正確的算法進(jìn)行校驗(yàn),在數(shù)據(jù)量比較小的時(shí)候或許也能使用,但進(jìn)行數(shù)據(jù)量比較大的操作時(shí)經(jīng)常會(huì)出現(xiàn)錯(cuò)誤。因此也推薦使用讀FLASH的設(shè)備ID號(hào)來(lái)區(qū)分不同的FLASH芯片,使用相應(yīng)的算法。

2.1.3 國(guó)微公司的四種FLASH芯片

深圳國(guó)微公司對(duì)SPANSION公司的S29GL256N11TFI01芯片進(jìn)行了國(guó)產(chǎn)化研制,質(zhì)量等級(jí)為國(guó)軍標(biāo)級(jí),校驗(yàn)算法與S29GL256N11TFI01一致,但是國(guó)微公司的FLASH芯片具有四種封裝形式。

除了最初的SM29LV256M,國(guó)微公司還提供管腳二次成型的FLASH芯片,從芯片頂端出管腳的飛翼FLASH芯片,以及馬上完成定型的塑封FLASH芯片。

由于前三種FLASH芯片均為金屬封裝,導(dǎo)致芯片質(zhì)量較大,因此使用時(shí)建議在FLASH芯片的兩側(cè)點(diǎn)封高強(qiáng)度的膠加以固定,可以有效減少FLASH脫焊現(xiàn)象。

二次成型的FLASH芯片對(duì)管腳進(jìn)行了處理,增加了應(yīng)力釋放環(huán),用于分?jǐn)偛煌瑴囟葧r(shí)芯片管腳處產(chǎn)生的應(yīng)力。飛翼FLASH芯片由于其從芯片頂端出管腳的特性,可極大程度減少焊點(diǎn)處的應(yīng)力,但由于暴露在外的管腳過(guò)長(zhǎng),容易在運(yùn)輸、使用過(guò)程中遭受外力造成管腳損壞,建議增加蓋板進(jìn)行保護(hù)。

2.2 PCB布局

對(duì)于FLASH芯片,由于其管腳非常細(xì)密,相對(duì)來(lái)說(shuō)更加容易出現(xiàn)脫焊。我們對(duì)3種模塊近兩年產(chǎn)生的14起脫焊事件進(jìn)行了分析,有11起脫焊都發(fā)生在距離處理器芯片較近一邊的FLASH芯片上,僅有3起脫焊發(fā)生在距離處理器芯片較遠(yuǎn)一邊的FLASH芯片上。

我們對(duì)其中一個(gè)模塊進(jìn)行了熱仿真,環(huán)境溫度為30℃,仿真結(jié)果見(jiàn)圖2。

從上圖中我們可以看出,處理器芯片是整個(gè)模塊中最大的發(fā)熱源。模塊加電工作時(shí)處理器芯片附近的溫度會(huì)非常高,不斷地加電掉電產(chǎn)生非常大的冷熱溫差,使得靠近處理器芯片的FLASH受到很大的溫度應(yīng)力,導(dǎo)致脫焊。因此我們?cè)谶M(jìn)行PCB布局的時(shí)候應(yīng)該把FLASH芯片盡可能遠(yuǎn)離處理器等發(fā)熱量較大的芯片。FLASH芯片在走線的時(shí)候?yàn)榱吮WC信號(hào)質(zhì)量,不要從開(kāi)關(guān)電源、晶振等噪聲較大的芯片下方穿過(guò)。FLASH芯片的讀周期時(shí)間一般在100ns左右,不屬于高速信號(hào),因此走線要求比較寬松,不需要嚴(yán)格等長(zhǎng)。

2.3 FLASH芯片焊接

FLASH芯片如果采取回流焊,會(huì)使得管腳淌錫過(guò)少,容易出現(xiàn)脫焊。因此建議回流焊之后再進(jìn)行手工補(bǔ)焊,增加管腳處的錫量。另外,F(xiàn)LASH芯片在維修、更換時(shí)一定要將芯片下方的印制板清洗干凈,如果有殘留的松香等雜物,會(huì)將FLASH芯片墊高,使得芯片管腳浮空,容易出現(xiàn)脫焊現(xiàn)象。

如果焊接國(guó)微公司金屬封裝的FLASH芯片,由于其自重過(guò)大,在震動(dòng)時(shí)容易出現(xiàn)脫焊。因此焊接完成這類FLASH芯片時(shí),需要在芯片的兩側(cè)點(diǎn)封高強(qiáng)度膠,對(duì)芯片進(jìn)行固定。

2.4 數(shù)據(jù)保護(hù)

我們將引導(dǎo)程序存儲(chǔ)在FLASH中,但是在使用過(guò)程中常常由于誤操作,對(duì)存放引導(dǎo)程序的區(qū)域進(jìn)行擦寫,導(dǎo)致引導(dǎo)程序錯(cuò)誤,整個(gè)模塊無(wú)法啟動(dòng),以至于我們重新需要從處理器芯片的JTAG接口來(lái)配置處理器并重新編程,對(duì)于一些裝有殼體的模塊十分麻煩。因此可以采取一些措施對(duì)我們的引導(dǎo)程序進(jìn)行保護(hù)。

在FLASH芯片上有引腳WP#/ACC,當(dāng)這個(gè)信號(hào)為低時(shí),可以保護(hù)最后一個(gè)扇區(qū)不被擦寫。但是最后一個(gè)扇區(qū)的地址為0xFFFE0000-0xFFFFFFFF,而PowerPC處理器的上電自啟動(dòng)地址為0xFFF00100,所以采用該方式不能保護(hù)引導(dǎo)程序。因此需要采用控制FLASH的寫信號(hào)來(lái)完成保護(hù),可以在FPGA中設(shè)置控制寫信號(hào)使能寄存器,上電時(shí)為“1”。

當(dāng)寫FLASH地址0XFFF00000—0XFFF20000這段地址時(shí),依據(jù)該控制寄存器來(lái)決定是否產(chǎn)生寫信號(hào)。這種方法可以有效保護(hù)我們的引導(dǎo)程序不被誤操作改寫。

2.5 FLASH測(cè)試

FLASH一般有兩種類型的測(cè)試:FLASH讀測(cè)試和FLASH寫測(cè)試。FLASH讀測(cè)試通常將FLASH中的數(shù)據(jù)讀取出來(lái),與事先設(shè)置好的校驗(yàn)和進(jìn)行比較,若比較結(jié)果一致則說(shuō)明讀取FLASH數(shù)據(jù)正常。FLASH寫測(cè)試則是將測(cè)試范圍內(nèi)的數(shù)據(jù)擦除,再寫入新的數(shù)據(jù)。寫入完成后讀取FLASH中新的數(shù)據(jù),如果和需要寫入的數(shù)據(jù)一致則說(shuō)明FLASH寫入數(shù)據(jù)正常。

由于FLASH寫入數(shù)據(jù)時(shí)具有固定的寫序列,如果在寫序列執(zhí)行過(guò)程中處理器收到中斷,跳轉(zhuǎn)到中斷服務(wù)程序,等中斷服務(wù)程序執(zhí)行完畢之后再繼續(xù)進(jìn)行寫序列會(huì)有可能會(huì)造成寫入失敗,因此在每一個(gè)FLASH寫序列過(guò)程中需要關(guān)閉中斷,等到寫序列執(zhí)行完畢后再使能中斷。

傳統(tǒng)的FLASH寫測(cè)試一般的操作順序?yàn)椴脸龁蝹€(gè)扇區(qū),寫入數(shù)據(jù),比較數(shù)據(jù),擦除下個(gè)扇區(qū)。我們?cè)趯?shí)際應(yīng)用中發(fā)現(xiàn)有個(gè)別FLASH芯片在寫入文件時(shí)報(bào)錯(cuò),但是對(duì)FLASH進(jìn)行寫測(cè)試卻沒(méi)有發(fā)現(xiàn)錯(cuò)誤。對(duì)FLASH管腳進(jìn)行檢測(cè)時(shí)發(fā)現(xiàn)高位地址線橋連或者脫焊。高位地址線橋連或者脫焊使得FLASH芯片在對(duì)扇區(qū)內(nèi)的數(shù)據(jù)進(jìn)行讀寫操作時(shí)沒(méi)有影響,但是在扇區(qū)選擇時(shí)會(huì)發(fā)生錯(cuò)誤。傳統(tǒng)的測(cè)試程序是對(duì)單個(gè)扇區(qū)進(jìn)行操作,無(wú)法檢測(cè)出這類故障。針對(duì)這類問(wèn)題我們對(duì)傳統(tǒng)測(cè)試程序進(jìn)行了改進(jìn),改進(jìn)后的操作順序?yàn)閷⑺袦y(cè)試范圍內(nèi)的扇區(qū)進(jìn)行擦除,向每個(gè)扇區(qū)寫入各自不同的數(shù)據(jù),等所有測(cè)試扇區(qū)的數(shù)據(jù)全部寫入完成后進(jìn)行讀取,再與需要寫入的數(shù)據(jù)進(jìn)行比較。改進(jìn)后的測(cè)試程序不再局限于單個(gè)扇區(qū),而是對(duì)整個(gè)測(cè)試區(qū)域進(jìn)行讀寫操作,可以檢測(cè)出高位地址線異常而產(chǎn)生的問(wèn)題。

2.6 其他需要注意的問(wèn)題

在對(duì)FLASH進(jìn)行擦除或者寫入操作過(guò)程中,如果因?yàn)橥话l(fā)情況導(dǎo)致模塊掉電,會(huì)使得正在擦除或者寫入的扇區(qū)中的數(shù)據(jù)不穩(wěn)定。重新上電后該扇區(qū)中的個(gè)別數(shù)據(jù)會(huì)不斷跳變,如果這時(shí)對(duì)FLASH進(jìn)行讀測(cè)試會(huì)報(bào)出錯(cuò)誤。出現(xiàn)這類現(xiàn)象時(shí)只需要對(duì)該扇區(qū)重新進(jìn)行擦除,即可消除故障。

3 結(jié)束語(yǔ)

由于航空航天領(lǐng)域?qū)?guó)產(chǎn)化的要求,我們?cè)谛酒x型時(shí)具有一些限制。但隨著國(guó)內(nèi)芯片廠家的發(fā)展,將有越來(lái)越多的國(guó)產(chǎn)芯片可供選擇。S29GL01GP11TFI010等更大容量的NOR FLASH也將進(jìn)行國(guó)產(chǎn)化研制,對(duì)此我們拭目以待。

參考文獻(xiàn):

[1] 周書林,邱磊,唐桂軍.同時(shí)支持Nand Flash和Nor Flash啟動(dòng)的啟動(dòng)加載程序設(shè)計(jì)實(shí)現(xiàn).科學(xué)技術(shù)與工程,2010(02).

[2] 張起貴,裴科,張剛,趙哲峰.基于不同類型Flash-ROM的Bootloader設(shè)計(jì).計(jì)算機(jī)工程與應(yīng)用,2007(33).

[3] 劉錦萍.閃存與數(shù)碼相機(jī).嘉興學(xué)院學(xué)報(bào),2006(S1).

作者簡(jiǎn)介:施辰光(1988-),男,上海人,助理工程師,研究方向:嵌入式技術(shù)。

猜你喜歡
嵌入式系統(tǒng)
辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)
嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開(kāi)發(fā)環(huán)境
广平县| 石泉县| 昌平区| 鄂托克旗| 穆棱市| 平罗县| 东安县| 交口县| 台山市| 石家庄市| 黎平县| 昌黎县| 桦南县| 濮阳县| 和田市| 北辰区| 河间市| 闸北区| 什邡市| 高陵县| 双桥区| 哈巴河县| 都安| 玛沁县| 时尚| 惠水县| 慈溪市| 罗城| 徐闻县| 阿巴嘎旗| 谢通门县| 永定县| 北京市| 东港市| 东兰县| 阿巴嘎旗| 咸宁市| 永宁县| 杂多县| 和田市| 彰化县|