新聞中心

EEPW首頁(yè) > 網(wǎng)絡(luò)與存儲(chǔ) > 設(shè)計(jì)應(yīng)用 > 基于TMS320C54x的便攜存儲(chǔ)設(shè)備設(shè)計(jì)

基于TMS320C54x的便攜存儲(chǔ)設(shè)備設(shè)計(jì)

作者:■ 鄧衛(wèi)華1 李建華2 楊吉斌 時(shí)間:2005-05-06 來(lái)源:eaw 收藏

摘    要:本文介紹了一種以TMS320C54x為核心的移動(dòng)存儲(chǔ)終端,終端中使用 作為件。討論了TMS320C54x對(duì) 的編程以及接口設(shè)計(jì)。
關(guān)鍵詞:;

引言
移動(dòng)存儲(chǔ)終端包括手機(jī)、掌上電腦、PDA和數(shù)碼相機(jī)等手持設(shè)備及各種信息家電。在這類產(chǎn)品中既要結(jié)合存儲(chǔ)功能,又需要具備一定的信號(hào)處理能力,因此基于芯片的設(shè)計(jì)方案成為這些產(chǎn)品的主流方案。同時(shí),為了降低產(chǎn)品成本,采用具有較高容量/價(jià)格比的NAND Flash存儲(chǔ)芯片也成為移動(dòng)存儲(chǔ)設(shè)備的首選。本文介紹在基于TMS320C54x的移動(dòng)存儲(chǔ)設(shè)備中,NAND Flash的設(shè)計(jì)和應(yīng)用。

系統(tǒng)構(gòu)成
本系統(tǒng)以TMS320C5409作為核心芯片,完成控制和信號(hào)處理功能。使用兩塊內(nèi)存芯片:Intel公司的4MB Flash芯片28F004B3存放系統(tǒng)的啟動(dòng)代碼,采用Samsung公司的NAND Flash芯片作為用戶數(shù)據(jù)的存儲(chǔ)芯片。
TMS320C5409
TMS320C5409是一款定點(diǎn)芯片,其主要應(yīng)用是無(wú)線等通信系統(tǒng)。它的主要特點(diǎn)包括:(1)運(yùn)算速度快。(2)具有優(yōu)化的CPU結(jié)構(gòu)。(3)具有低功耗方式。(4)具有較多的智能外設(shè)。除了標(biāo)準(zhǔn)的串行口和時(shí)分復(fù)用(TDM)串行口外,還提供了自動(dòng)緩沖串行口BSP和與外部處理器通信的HPI(Host Port Interface)接口。BSP可提供2K字?jǐn)?shù)據(jù)緩沖的讀寫(xiě)能力,從而可以降低處理器的額外開(kāi)銷(xiāo),即使在IDLE方式下,BSP也可以全速工作。HPI可以與外部標(biāo)準(zhǔn)的微處理器直接接口。同時(shí),還具有I/O口等控制信號(hào)。
NAND Flash
在移動(dòng)存儲(chǔ)設(shè)備中,由于NAND的存儲(chǔ)容量大,因此得到了廣泛的應(yīng)用。本系統(tǒng)采用Samsung公司的NAND Flash芯片K9F5608U0M-YCB0進(jìn)行存儲(chǔ)。該芯片存儲(chǔ)容量為32MB,其中主數(shù)據(jù)區(qū)為32MB,輔助數(shù)據(jù)區(qū)為1MB,工作電壓為2.7~3.6V,I/O端口寬度為8位。
NAND Flash芯片的內(nèi)存按頁(yè)和塊的結(jié)構(gòu)組織,其中每個(gè)數(shù)據(jù)頁(yè)內(nèi)有528個(gè)字節(jié),前512個(gè)字節(jié)為主數(shù)據(jù),存放用戶數(shù)據(jù),后16個(gè)字節(jié)為輔助數(shù)據(jù),存放ECC代碼,壞塊信息和文件系統(tǒng)代碼。每個(gè)數(shù)據(jù)塊包含32個(gè)頁(yè),一片K9F5608U0M包括2048個(gè)塊。
NAND Flash芯片內(nèi)有一個(gè)容量為528字節(jié)的靜態(tài)寄存器,稱為頁(yè)寄存器,用來(lái)在數(shù)據(jù)存取時(shí)作為緩沖區(qū)使用。編程數(shù)據(jù)和讀取的數(shù)據(jù)可以在寄存器和存儲(chǔ)陣列中按528個(gè)字節(jié)的順序遞增訪問(wèn)。當(dāng)對(duì)芯片的某一頁(yè)進(jìn)行讀寫(xiě)時(shí),其數(shù)據(jù)首先被轉(zhuǎn)移到該寄存器中,通過(guò)這個(gè)寄存器和其它芯片進(jìn)行數(shù)據(jù)交換,片內(nèi)的讀寫(xiě)操作由片內(nèi)的處理器自動(dòng)完成。
NAND Flash的接口引腳分為三類:數(shù)據(jù)引腳、控制引腳和狀態(tài)引腳。其中數(shù)據(jù)接口高度復(fù)用,既用作地址總線,又用作數(shù)據(jù)總線和命令輸入接口。本系統(tǒng)采用的芯片有8個(gè)I/O數(shù)據(jù)引腳(I/O1~I/O8),用來(lái)輸入/輸出地址、數(shù)據(jù)和命令。控制NAND Flash的控制引腳有5個(gè),其中CLE和ALE分別為命令鎖存使能引腳和地址鎖存使能引腳,用來(lái)選擇I/O端口輸入的是命令還是地址。/CE、/RE和/WE分別為片選信號(hào),讀使能信號(hào)和寫(xiě)使能信號(hào)。狀態(tài)引腳R/B表示設(shè)備的狀態(tài),當(dāng)數(shù)據(jù)寫(xiě)入、編程和隨機(jī)讀取時(shí),R/B處于高電平,表明芯片正忙,否則輸出低電平。

系統(tǒng)連接及配置
TMS320C5409具有16根數(shù)據(jù)總線和23根地址總線,可以對(duì)memory和I/O口進(jìn)行擴(kuò)展。由于NAND Flash的存儲(chǔ)速度較慢,因此使用I/O空間對(duì)其進(jìn)行訪問(wèn)。CLE和ALE 分別由地址線A1和A0控制,NAND Flash對(duì)應(yīng)的映射地址如表1所示。
DSP采用XF作為NAND Flash的片選信號(hào)。狀態(tài)輸出信號(hào)R/B與BIO相連,作為DSP對(duì)NAND Flash的狀態(tài)監(jiān)控。DSP與NAND Flash的連接關(guān)系如圖1所示。
由于NAND Flash中的程序無(wú)法直接運(yùn)行,因此需要將程序代碼存儲(chǔ)在其它芯片中。系統(tǒng)采用Intel Flash芯片28F004B3作為boot區(qū)域使用,按照擴(kuò)展memory對(duì)其進(jìn)行訪問(wèn)。連接關(guān)系也如圖1所示。
系統(tǒng)啟動(dòng)時(shí),C5409芯片的boot流程將Flash芯片28F004B3中的可執(zhí)行代碼搬移到片內(nèi)RAM中,然后在DSP片內(nèi)運(yùn)行程序。上電后自動(dòng)進(jìn)入讀模式狀態(tài),利用XF作為控制引腳對(duì)NAND Flash進(jìn)行片選,可以根據(jù)系統(tǒng)的各種請(qǐng)求讀寫(xiě)用戶數(shù)據(jù)。

讀寫(xiě)控制的實(shí)現(xiàn)
NAND Flash主要用于大塊的數(shù)據(jù)存儲(chǔ),因此數(shù)據(jù)讀寫(xiě)都是基于頁(yè)的。在程序中,由于NAND Flash的寬度為8 bit,因此DSP進(jìn)行讀寫(xiě)時(shí)只利用C5409數(shù)據(jù)線的低8bit。對(duì)于NAND Flash而言,通常只處理其主數(shù)據(jù)區(qū)的512個(gè)字節(jié),輔助數(shù)據(jù)區(qū)不使用。在以文件為基礎(chǔ)的存儲(chǔ)產(chǎn)品中我們需要對(duì)輔助數(shù)據(jù)區(qū)進(jìn)行處理。同時(shí)由于NAND Flash允許芯片中存在壞塊,因此在讀寫(xiě)時(shí)需要繞過(guò)。
本系統(tǒng)使用NAND Flash的基本操作有以下三種:讀一頁(yè)數(shù)據(jù),寫(xiě)一頁(yè)數(shù)據(jù),塊擦除。在這幾種方式下,每次的地址配置,其頁(yè)內(nèi)地址A0~A7均為0,A9~A24選定所在的頁(yè)。
DSP讀數(shù)據(jù)時(shí),首先置低XF,對(duì)NAND Flash進(jìn)行片選,然后向I/O端口0x0001發(fā)送read命令,配置完read命令后,向I/O端口0x0002發(fā)送地址信號(hào),對(duì)地址進(jìn)行選定。此后從I/O端口0x0000連續(xù)進(jìn)行512個(gè)字節(jié)的讀操作,完成對(duì)整個(gè)頁(yè)的讀取。最后拉高XF。
DSP寫(xiě)入NAND Flash的操作也以頁(yè)為基本單位,首先置低XF片選NAND Flash,然后向I/O端口0x0001發(fā)送寫(xiě)入命令,進(jìn)行地址配置,再向I/O端口0x0000寫(xiě)入一個(gè)字節(jié)。每寫(xiě)入一個(gè)字節(jié)后都循環(huán)讀取狀態(tài)寄存器的值,判斷NAND芯片I/O的第6位,如果為低,則芯片正忙,如果為高,則寫(xiě)完數(shù)據(jù),這時(shí)可以繼續(xù)下一個(gè)字節(jié)的寫(xiě)入操作。
DSP對(duì)NAND Flash的擦除以塊為基礎(chǔ),即一次擦除32頁(yè),地址由NAND Flash地址中的A14~A23確定。由于系統(tǒng)中利用R/B和DSP的/BIO相連,因此也可以利用對(duì)BIO進(jìn)行檢測(cè)來(lái)判斷是否寫(xiě)完或擦除完畢。塊擦除的流程如圖2所示。

結(jié)語(yǔ)
本系統(tǒng)中,利用DSP來(lái)進(jìn)行控制和信號(hào)處理,利用與NAND Flash的簡(jiǎn)單連接實(shí)現(xiàn)大量數(shù)據(jù)的存儲(chǔ)。在此基礎(chǔ)上,可以根據(jù)需要完成對(duì)各種信號(hào)的處理和存儲(chǔ),從而構(gòu)成一個(gè)相對(duì)獨(dú)立、便攜的設(shè)備。低端設(shè)備中對(duì)數(shù)據(jù)的完備性要求較低,因此本系統(tǒng)中省略了對(duì)壞塊的處理和ECC處理,在擴(kuò)展SM卡等設(shè)備中可以增加這些功能?!?/P>

參考文獻(xiàn)
1 Datasheet of K9F5608U0M-YCB0,http://www.samsung.com,2000
2 TMS32054x Volume 1: CPU and Peripherals (literature number SPRU131) Texas Instruments
3 Datasheet of TMS320vc5409 (SPRS082C),Texas Instruments
4 張雄偉. DSP芯片的原理與開(kāi)發(fā)應(yīng)用(第三版). 北京:電子工業(yè)出版社,2003



關(guān)鍵詞: DSP Flash NAND 存儲(chǔ)器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉