女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

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

TMS320VC5409 是TI公司推出的第一代的高性能、低價位、低功耗數(shù)字信號處理器(DSP)。與現(xiàn)在流行的TMS320C5409相比,性能提高了60%,功耗效率提高了 50%。它的應(yīng)用對象大多是要求能脫機(jī)運(yùn)行的內(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到程序存儲器中運(yùn)行。由于FLASH的速度較低,難以與DSP相匹配,因此,本文采用片內(nèi)引導(dǎo)方式。

TMS320VC5409 片內(nèi)掩模ROM中固化的引導(dǎo)裝載(Bootloader)程序用于在上電復(fù)位時把用戶程序從外部引導(dǎo)到高速RAM中,以保證其全速運(yùn)行。 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ù)運(yùn)行直到從數(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運(yùn)行此表時,首先根據(jù)自舉表中前部分用戶起始地址把后面的用戶程序代碼加載到DSP片內(nèi)程序空間中相應(yīng)的用戶地址區(qū)域(由于FLASH與DSP時間不匹配,要設(shè)置好SWWR和BSCR寄存器),然后根據(jù)自舉表中的程序入口址,在程序空間相應(yīng)的地址開始運(yùn)行程序。表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 ;程序空間中程序運(yùn)行的開始

地址

-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的運(yùn)行速度比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中,運(yùn)行DSP,用戶程序就被“燒入”FLASH中了。

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

DSP 運(yùn)行情況是:依據(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)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉