999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2016-05-30 08:41:56施辰光張陽
科技風(fēng) 2016年10期

施辰光 張陽

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

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

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

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

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

Power PC處理器上電后會從其存儲接口讀取引導(dǎo)程序,來對處理器進行初始化,接著再從存儲接口中讀取操作系統(tǒng)和需要運行的應(yīng)用程序,因而存儲器是Power PC嵌入式系統(tǒng)中不可或缺的一部分。

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

1 NAND FLASH與NOR FLASH

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.1.1 扇區(qū)大小

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

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

2.1.2 SPANSION公司的兩種FLASH芯片

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

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

2.1.3 國微公司的四種FLASH芯片

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

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

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

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

2.2 PCB布局

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

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

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

2.3 FLASH芯片焊接

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

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

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

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

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

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

2.5 FLASH測試

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

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

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

2.6 其他需要注意的問題

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

3 結(jié)束語

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

參考文獻:

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

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

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

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

主站蜘蛛池模板: 青青草原国产精品啪啪视频| 国产精品人莉莉成在线播放| 亚洲高清资源| 亚洲欧美人成人让影院| h视频在线观看网站| 2024av在线无码中文最新| 99在线免费播放| 成人福利免费在线观看| 亚洲欧美极品| 在线va视频| 国产在线无码av完整版在线观看| 国产一级毛片yw| 亚洲精品中文字幕无乱码| 日韩不卡免费视频| 一本一道波多野结衣一区二区 | 亚洲第一区精品日韩在线播放| 久久精品嫩草研究院| 久久国产乱子| 免费毛片网站在线观看| 日韩中文精品亚洲第三区| 尤物国产在线| 国产乱子伦无码精品小说| 亚洲人成在线免费观看| 刘亦菲一区二区在线观看| 国产美女在线免费观看| 国产人人干| 九色在线观看视频| 成年午夜精品久久精品| 国产在线观看人成激情视频| 日本精品视频一区二区| 熟妇无码人妻| 第一区免费在线观看| 伊人激情久久综合中文字幕| 日韩成人高清无码| 在线播放精品一区二区啪视频| 综合色在线| aaa国产一级毛片| 国产好痛疼轻点好爽的视频| 日韩少妇激情一区二区| 人妻中文字幕无码久久一区| 国产成人禁片在线观看| 亚洲国产精品无码久久一线| 丁香五月激情图片| 国产欧美综合在线观看第七页| 爽爽影院十八禁在线观看| 中文字幕中文字字幕码一二区| 婷婷六月综合| 永久免费无码日韩视频| 伊人久综合| 自拍亚洲欧美精品| 毛片在线播放a| 国产精品开放后亚洲| 成人毛片免费在线观看| 亚洲三级影院| 久久女人网| 国产网站免费看| 五月婷婷综合网| 久久免费看片| 久青草网站| AV在线天堂进入| 中文字幕亚洲第一| 欧美中文字幕在线视频| 在线观看欧美精品二区| 欧洲一区二区三区无码| 亚洲第一成人在线| 欧美中日韩在线| 久久视精品| 丰满人妻中出白浆| 亚洲人成网站日本片| 亚洲一区黄色| 国产美女一级毛片| 免费看一级毛片波多结衣| 一级做a爰片久久免费| 999国产精品永久免费视频精品久久| 91小视频在线观看| 日韩av手机在线| 91在线精品麻豆欧美在线| 国产三区二区| 国产www网站| 亚洲成a人在线播放www| 国产在线一区视频| 久青草网站|