日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于閃爍存儲器的TMS320VC5409 DSP并行引導(dǎo)裝載方法

TMS320VC5409 是TI公司推出的第一代的高性能、低價位、低功耗數(shù)字信號處理器(DSP)。與現(xiàn)在流行的TMS320C5409相比,性能提高了60%,功耗效率提高了 50%。它的應(yīng)用對象大多是要求能脫機(jī)運行的內(nèi)嵌式系統(tǒng),如機(jī)頂盒(STB)、個人數(shù)字助理(PDA)和數(shù)字無線通信等。閃爍存儲器FLASH MEMORY)是可以在線電擦寫、掉電后信息不丟失的存儲器。FLASH與EPROM相比,具有更高的性能價格比,而且體積小、功耗低、擦寫速度快、使用比較方便。因此,采用FLASH存儲程序和固定數(shù)據(jù)是一種比較好的選擇。AMD公司的Am29LV400B FLASH可以直接與DSP相接。
600)this.style.width=‘600px‘;" border="0" />
1 Am29LV400B的主要特點及編程方法

Am29AL400B是AMD公司新推出的256K×16位產(chǎn)品,具有以下主要特點:

(1)支持單電源操作,可分為滿負(fù)荷電壓供電(2.7V~3.6V)和電壓范圍可調(diào)節(jié)(3.0V~3.6V)和電壓范圍可調(diào)節(jié)(3.0V~3.6V)供電兩種方式。滿幅度電壓供電壓供電方式主要用于電池供電的應(yīng)用中,而電壓范圍可調(diào)節(jié)供電方式直接與3.3V的高性能DSP接口,簡化了系統(tǒng)的電源要求。

(2)最快的存取速度高達(dá)55ns,CMOS工藝,具有100000次寫入/擦寫壽命。

(3)低功耗(200nA的自動休眠電流,200nA的待命電流,7mA的讀電流,15mA的編程/擦除電流)。

(4)靈活的塊結(jié)構(gòu)支持整片擦除、塊擦除。整片分為11個塊(1塊8K字、2塊4K字、1塊16K字、7塊32K字)。

(5)塊保護(hù)功能,具有防止對任何區(qū)段進(jìn)行編程或擦除的硬件保護(hù)機(jī)制。

(6)與JEDEC標(biāo)準(zhǔn)兼容,引腳分布和命令集與單電源FLASH相兼容,具有優(yōu)越的防止意外編程的保護(hù)功能。

(7)數(shù)據(jù)查詢位和數(shù)據(jù)切換位,可以通過軟件方法檢測編程/擦除操作的狀態(tài)。

(8)Ready/Busy#管腳,可以通過硬件方法檢測編程/擦除操作的狀態(tài)。

(9)具有擦除暫停/擦除恢復(fù)功能。在暫停擦除操作過程中,支持讀寫不處于擦除狀態(tài)的塊。

(10)內(nèi)嵌的擦除/編程算法能自動對整個芯片或某幾個塊進(jìn)行擦除編程操作。

Am29LV400B編程和擦除算法的命令定義如表1所示。

表1 Am29LV400B命令定義

操作命令序列周期

總    線    周    期

123456
地址數(shù)據(jù)地址數(shù)據(jù)地址數(shù)據(jù)地址數(shù)據(jù)地址數(shù)據(jù)地址數(shù)據(jù)

復(fù)位
片擦除
段擦除
字編程
1
1
6
6
4
RA
XXX
555
555
555
RD
F0
AA
AA
AA


2AA
2AA
2AA


55
55
55


555
555
555


80
80
A0


555
555
PA


AA
AA
PD

2AA
2AA

55
55

555
SA

10
30

表中,RA為要讀的存儲器地址;RD為從存儲器地址RA處讀出的數(shù)據(jù);SA為要擦除的段地址;PA為要寫入數(shù)據(jù)的存儲器地址;PD為要在地址PA處寫入的數(shù)據(jù)。根據(jù)表中的命令定久可編制FLASH的“燒寫”和“擦除”程序(用C語言和匯編語言混合編程實現(xiàn))。根據(jù)需要,我們編制了“燒寫”單字和“燒寫”多字的程序。

2 硬件電路組成

DSP 存儲區(qū)硬件接口電路如圖1所示。主要由5部分組成:DSP處理器-TMS320VC5409、系統(tǒng)邏輯控制電路(采用CPLD-EPM7128實現(xiàn))、閃存FLASH-Am29LV400B(256K字的FLASH用來存儲應(yīng)用程序和初始化數(shù)據(jù))、程序存儲器SRAM1-IDT71V416S12PH(容量為256K字)、數(shù)據(jù)存儲器SRAM2-IDT71V016S12PH(容量為64K字)。邏輯控制電路主要由3個模塊組成:FLASH頁選控制模塊、讀/寫控制模塊、程序空間/數(shù)據(jù)空間/FLASH切換控制模塊。圖中,CPLD的輸出FMSEL為FLASH的片選腳;PMSEL為程序空間的片選腳; DMSEL為數(shù)據(jù)空間的片選腳。

FLASH分為8頁,每頁32K,通過CPLD中的FLASH頁選控制模塊(Page0~Paeg2)實現(xiàn)FLASH翻頁功能。為實現(xiàn)FLASH引導(dǎo)裝載,F(xiàn)LASH物理空間的前32K映射到TMS320VC5409的數(shù)據(jù)空間0x8000h~0xFFFFh上,即TMS320VC5409的數(shù)據(jù)空間 0x8000h~0xFFFFh為FLASH的前32K空間。為了重點說明FLASH的引導(dǎo)裝載過程,本文只談及DSP片內(nèi)程序存儲空間以及FLASH前 32K字的使用情況。
600)this.style.width=‘600px‘;" border="0" />
3 TMS320VC5409 DSP的引導(dǎo)裝載方式

TMS320VC5409芯片具有兩種引導(dǎo)方式:片內(nèi)引導(dǎo)方式和片外執(zhí)行方式。片內(nèi)引導(dǎo)方式就是利用片內(nèi)ROM中的引導(dǎo)程序?qū)⒊绦驈耐獠考虞d到程序存儲器中運行。由于FLASH的速度較低,難以與DSP相匹配,因此,本文采用片內(nèi)引導(dǎo)方式。

TMS320VC5409 片內(nèi)掩模ROM中固化的引導(dǎo)裝載(Bootloader)程序用于在上電復(fù)位時把用戶程序從外部引導(dǎo)到高速RAM中,以保證其全速運行。 TMS320VC4509提供的片內(nèi)引導(dǎo)方法有:有機(jī)口HPI方法、8位或16位并行EPROM方法、8位或16位并行I/O方法和8位或16位串行口方法等。TMS320VC5409片內(nèi)引導(dǎo)裝載源程序可以在TI網(wǎng)絡(luò)下載得到,讀者可以自行分析。下面通過圖2所示的引導(dǎo)過程框圖,闡述一下本文選用的并行引導(dǎo)方式過程。[!--empirenews.page--]

上電復(fù)位后,TMS320VC5409檢測其MP/MC引腳,如果MP/MC="0",DSP從0xFF80h處開始執(zhí)行片內(nèi)引導(dǎo)裝載程序。進(jìn)入引導(dǎo)程序后,如有INT2請求中斷,則進(jìn)入HPI 引導(dǎo)方式;如有INT3請求中斷,則進(jìn)入EEPROM串行口引導(dǎo)方式;否則就進(jìn)入并行引導(dǎo)方式。其詳細(xì)引導(dǎo)過程如圖3所示。

片內(nèi)并行引導(dǎo)方式前半部件是I/O空間并行引導(dǎo)方式,我們不采用此方式,程序繼續(xù)運行直到從數(shù)據(jù)空間0xFFFFh地址讀入一個地址數(shù)據(jù),此數(shù)據(jù)為用戶自舉表的入口地址。這時片內(nèi)引導(dǎo)程序就開始執(zhí)行FLASH中的用戶自舉表,若自舉表的第一個字是0x10AA,則表示是16位并行引導(dǎo)模式。
600)this.style.width=‘600px‘;" border="0" />
4 FLASH中自舉表(Boottable)的存儲格式

為了實現(xiàn)DSP加電自舉,F(xiàn)LASH的數(shù)據(jù)必須按照自舉表的格式“燒寫”。自舉表的作用是:DSP運行此表時,首先根據(jù)自舉表中前部分用戶起始地址把后面的用戶程序代碼加載到DSP片內(nèi)程序空間中相應(yīng)的用戶地址區(qū)域(由于FLASH與DSP時間不匹配,要設(shè)置好SWWR和BSCR寄存器),然后根據(jù)自舉表中的程序入口址,在程序空間相應(yīng)的地址開始運行程序。表2為16位并行自舉的代碼結(jié)構(gòu)(自舉表在空間允許的情況下可以放幾個程序代碼段,為便于說明,在此只說明一個程序代碼段的情況)。

表2 并行自舉表的代碼結(jié)構(gòu)

10AA(并行尋址格式)
SWWSR寄存器的初始值
BSCR寄存器的初始值
用戶程序入口的XPC
用戶程序入口的地址PC
用戶程序的長度
用戶程序起始地址XPC
用戶程序起始地址PC
用戶程序代碼…
0000(表示自舉表結(jié)束)

下面結(jié)合一個實例,說明利用hex500命令生成二進(jìn)制數(shù)據(jù)自舉表的方法。

(1)所編寫的一個用戶程序名為myblink.C,在編譯鏈接成功后生成的輸出文件名為myblink.out;程序空間的開始地址為0x1400h,程序執(zhí)行的入口地址為0x144Fh。利用hex500工具,生成文件名為myblink.hex的二進(jìn)制數(shù)據(jù),hex500命令后添加如下條件:

mybilink.out ;要轉(zhuǎn)換的.out文件

-a ;生成ASCII碼的形式

-e 0x144Fh ;程序空間中程序運行的開始

地址

-boot ;轉(zhuǎn)換成自舉表的形式

-bootorg PARALLEL ;并行格式

-byte ;按字節(jié)分配地址

-memwidth 16 ;系統(tǒng)存儲器字寬度為16位

-romwidth 16 ;ROM物理寬度為16位

-swwsr 0x7FFFh ;SWWSR設(shè)置軟件等待周期

-bscr 0xF800h ;BSCR設(shè)置段開關(guān)控制寄存器值0xF800

-o myblink.hex ;輸出的二進(jìn)制數(shù)據(jù)文件名

(2)生成的進(jìn)制數(shù)據(jù)文件myblink.hex的數(shù)據(jù)為:

0x10AA 0x7FFF 0xF800 0x0000 0x144F 0x00D1 0x0000 0x1400 …(用戶程序代碼)… 0x0000;

前8個數(shù)據(jù)解釋分別為:

0x10AAh:16位并行尋址格式;

0x7FFFh:SWWSR初始值為0x7FFFh,因為FLASH的運行速度比DSP慢,等待7個周期;

0xF8000h:BSCR初始值為0xF800h;

0x0000h:自舉表程序入口的XPC=0;

0x144Fh:自舉表程序入口的地址=0x144Fh;

0x00D1h:自舉表程序的長度=0xD1h;

0x0000h:自舉表起始地址XPC=0;

0x1400h:自舉表的起始地址=0x1400h。

(3)編寫一個數(shù)據(jù)轉(zhuǎn)換程序,把二進(jìn)制數(shù)據(jù)文件myblink.hex轉(zhuǎn)換為數(shù)組頭文件myblink.h。在CCS環(huán)境下,F(xiàn)LASH的“燒寫”主程序包含此頭文件,編譯鏈接后通過仿真器下載到DSP中,運行DSP,用戶程序就被“燒入”FLASH中了。

實際應(yīng)用是:在數(shù)據(jù)空間地址0xFFFFh(也就是FLASH的空間0xFFFFh)中“燒寫”數(shù)據(jù)0x9000h(FLASH中存放的自舉表起始地址),在FLASH的地址0x9000h開始“燒入”用戶自舉表數(shù)據(jù)即myblink.h中的數(shù)組數(shù)據(jù)。

DSP 運行情況是:依據(jù)第3節(jié)所述的引導(dǎo)裝載過程,經(jīng)過一系列的設(shè)置,使DSP尋址到數(shù)據(jù)空間地址0xFFFFh,得到自舉表的起始地址0x9000h,PC指針指向0x9000h,執(zhí)行自舉表的數(shù)據(jù),根據(jù)自舉表寫入信息,把后面的程序裝載入程序空間起始地址0x1400h(XPC=0)(這時通過仿真器查看程序空間0x1400h開始的數(shù)據(jù),與仿真器下載的myblink.out文件數(shù)據(jù)是一致的)。然后,DSP的PC指針指向程序入口地址0x144Fh (XPC=0)開始執(zhí)行用戶程序,從而完成了DSP利用FLASH實現(xiàn)16位并行引導(dǎo)裝載的過程。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

我們知道 Flash 讀時序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡講過《串行NOR Flash的Continuous read模式》,Continuous r...

關(guān)鍵字: CMD ADDR Flash

Flash Memory 是一種非易失性的存儲器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應(yīng)用和數(shù)據(jù)等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤以及主板 BIOS 中。

關(guān)鍵字: Flash 存儲器 嵌入式系統(tǒng)

為增進(jìn)大家對存儲器的認(rèn)識,本文將對單片機(jī)中的程序存儲器、數(shù)據(jù)存儲器以及二者的區(qū)別予以介紹。

關(guān)鍵字: 程序存儲器 指數(shù) 存儲器

為增進(jìn)大家對存儲器的認(rèn)識,本文將對PLC內(nèi)部常用存儲器的使用規(guī)則予以介紹。

關(guān)鍵字: 存儲器 指數(shù) PLC

為增進(jìn)大家對存儲器的認(rèn)識,本文將對隨機(jī)存儲器、只讀存儲器以及二者的區(qū)別予以探討。

關(guān)鍵字: 隨機(jī)存儲器 指數(shù) 存儲器

程序存儲器(又稱數(shù)據(jù)Flash),顧名思義,是用來存儲用戶的程序,使單片機(jī)能夠按照編寫的代碼順序執(zhí)行,完成指定的任務(wù)。所以程序存儲器是只讀存儲器(只讀存儲器),我們已經(jīng)聽過很多次了。代碼存儲在里面,一般有常數(shù)、表格、pi...

關(guān)鍵字: 51單片機(jī) 存儲器

摘要:主要介紹了應(yīng)用DSP的電能質(zhì)量檢測系統(tǒng)的硬件電路及軟件開發(fā)工具,對采集來的某電鐵電流信號進(jìn)行了電能質(zhì)量檢測,并開展了實際實驗嘗試。實驗結(jié)果顯示,實際信號含有大量諧波,但通過應(yīng)用DSP的電能質(zhì)量檢測系統(tǒng)成功檢測到了它...

關(guān)鍵字: 電能質(zhì)量檢測 Matlab仿真 DSP

隨著生活水平的提高,大家都想從生活壓力中釋放出來,越來越多的人向往戶外運動、露營等,在大自然的擁抱中釋放壓力,解放自我,從而成為戶外旅行火熱的原因之一。因此,很多音箱廠商都開始推出針對戶外的戶外藍(lán)牙音箱。但是市面上的藍(lán)牙...

關(guān)鍵字: PD快充 I2S DSP IC

M15X將于今年10月動工,預(yù)計2025年初竣工,決定在今后5年內(nèi)投資約15萬億韓元 自2012年并入SK集團(tuán)10年后,將開啟新10年的第一個生產(chǎn)設(shè)施 提早決定韓國內(nèi)投資,奠定未來成長基礎(chǔ) 首爾202...

關(guān)鍵字: SK海力士 存儲器 COM NI

單片機(jī)的基本結(jié)構(gòu)包括中央處理器(CPU) 、存儲器、定時/計數(shù)器、輸入輸出接口、中斷控制系統(tǒng)和時鐘電路六部分。

關(guān)鍵字: 單片機(jī) 中央處理器 存儲器

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉