亚洲日本成本线在观看,最新国自产拍在线,免费性爱视频日本,久久精品国产亚洲精品国产精品

            現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>TMS320VC5402的并行引導(dǎo)裝載方案的研究與設(shè)計(jì)

            TMS320VC5402的并行引導(dǎo)裝載方案的研究與設(shè)計(jì)

            時(shí)間:2023-02-20 23:20:19 電子通信論文 我要投稿
            • 相關(guān)推薦

            TMS320VC5402的并行引導(dǎo)裝載方案的研究與設(shè)計(jì)

            摘要:介紹了TMS320VC5402并行Bootloader的原理,分析了設(shè)計(jì)過程中需要考慮的重點(diǎn)問題并提出了解決問題的可靠的電路方案,設(shè)計(jì)的電路具有良好的可擴(kuò)展性。

                關(guān)鍵詞:TMS320VC5402 Bootloader CPLD EPROM

            TMS320VC5402的并行引導(dǎo)裝載方案的研究與設(shè)計(jì)

            TMS320VC5402(以下簡稱C5402)是德州儀器公司1999年10月推出的性價(jià)比極高的定點(diǎn)數(shù)字信號處理器(DSP)。與TMS32054X系列的其它芯片相比,C5402以其獨(dú)有的高性能、低功耗和低價(jià)格特性,使得一推出就受到業(yè)內(nèi)用戶的歡迎。它大多應(yīng)用在如機(jī)頂盒(STB)、數(shù)字無線通信等要求能脫機(jī)運(yùn)行的內(nèi)嵌式系統(tǒng)中。但它的內(nèi)部結(jié)構(gòu)和片內(nèi)掩模的引導(dǎo)裝載(Bootloader)程序與C54X系列的其它DSP處理器有較大差異。C5402為脫機(jī)運(yùn)行提供了五種啟動裝載模式:HPI端口啟動模式、標(biāo)準(zhǔn)串口啟動模式、I/O口啟動模式、串口EEPROM啟動模式和并行啟動方式。對于以C5402為核心的獨(dú)立系統(tǒng)中,并口加載方案被認(rèn)為是最佳的。因?yàn)榍叭N方案只適用于由其它處理器為C5402提供運(yùn)行代碼的多處理器系統(tǒng)中,后兩種方案雖然都可以適應(yīng)以C5402為核心的獨(dú)立系統(tǒng),但是串口EEPROM啟動模式中只支持價(jià)格偏高的SPI端口EEPROM,而并口啟動模式卻可以采用EPROM,而且并行EPROM和FLASH種類很多,有的價(jià)格較低,因而可以充分體現(xiàn)系統(tǒng)的性價(jià)比優(yōu)勢。

            基于實(shí)踐經(jīng)驗(yàn),本文詳細(xì)介紹并行Bootloader的實(shí)現(xiàn)方法和方案設(shè)計(jì)重點(diǎn),并介紹一種方便可靠的可擴(kuò)展EPROM Bootloader方案。
            (范文先生網(wǎng)adivasplayground.com收集整理)
            1 C5402的Bootloader原理

            C5402的Bootloader在系統(tǒng)加電時(shí)把外部源程序傳送到內(nèi)部存儲器或內(nèi)部程序空間。它允許程序被存放在外部慢速的存儲器中,并調(diào)到高速的存儲器中運(yùn)行。這可大大減小C5402內(nèi)部RAM掩模的需要,降低電路設(shè)計(jì)的成本。C5402的內(nèi)部ROM中有固化好的加載程序。如果DSP的MP/MC管腳接低,在DSP加電RESET時(shí),程序就從內(nèi)部ROM的FF80H地址開始行運(yùn)行。在FF80H處,有一條跳轉(zhuǎn)到BOOT程序的指令,執(zhí)行內(nèi)部固化好的BOOT程序。BOOT程序在運(yùn)行搬移程序之前,首先進(jìn)行初始化,工作包括關(guān)閉中斷、將內(nèi)部RAM映射在程序/數(shù)據(jù)空間,以及為訪問數(shù)據(jù)和程序空間設(shè)置的七個(gè)軟件等待等;然后根據(jù)設(shè)計(jì)完成不同方式下程序的搬移。C5402共有上面講述的5種加載方式。這里只討論并口加載方案的設(shè)計(jì),其流程如圖1所示。

            在判斷前幾種加載方式無效后,Bootloader從I/O空間0FFFFH處讀取一個(gè)16位的程序起始地址。然后根據(jù)這個(gè)地址從外部數(shù)據(jù)區(qū)讀入一個(gè)字,判斷是否為10AAH。如果是,就采用16位的搬移方式;否則,就判斷讀入的字的低位字節(jié)和下一個(gè)地址讀入的字的低字節(jié)組成的16位字。如果是08AAH,就采用8位并行加載方式;否則,就在外部數(shù)據(jù)空間的0FFFFH讀取一個(gè)16位的程序起始地址,然后重復(fù)上面的檢測方法。本文采用在外部數(shù)據(jù)空間0FFFFH處存放程序起始地址的方案。

            2 方案設(shè)計(jì)中需要考慮的重點(diǎn)問題

            C5402并口Bootlader需要將映射在數(shù)據(jù)區(qū)的程序由慢速的EPROM搬到快速的RAM中運(yùn)行,其設(shè)計(jì)主要需要考慮三個(gè)方面的問題。

            2.1 速度匹配問題

            C5402的工作頻率可以達(dá)到100MHz。一般的并口EPROM是無法可靠工作的,如何使C5402順利裝載而又能使C5402達(dá)到最高的工作效率是要考慮的一個(gè)重點(diǎn)。

            2.2 3.3V和5V混合邏輯設(shè)計(jì)

            C5402的外圍工作電壓為3.3V,而它的外圍器件包括EPROM一般工作在5V,必須為DSP和外圍芯片設(shè)計(jì)一個(gè)安全可靠的接口。

                2.3 高效協(xié)調(diào)地利用空間

            如何高效方便地利用存儲空間和I/O端口,例如重新利用并口EPROM在bootloader時(shí)占用的數(shù)據(jù)空間、如何協(xié)調(diào)外設(shè)和地址分配等都是需要考慮的問題。

            3 系統(tǒng)硬件電路設(shè)計(jì)

            圖2為一種具有良好擴(kuò)展性的C5402的Bootloader方案設(shè)計(jì)原理圖。

            圖中,DVDD為3.3V供電。C5402的時(shí)鐘輸入為20MHz,此時(shí)系統(tǒng)工作頻率就是CLKMD1、CLKMD2、CLKMD3組合產(chǎn)生的倍頻系數(shù)和輸入時(shí)鐘的乘積。C5402的工作頻率可達(dá)到100MHz。雖然C5402在RESET時(shí)自動插入7個(gè)軟件延時(shí),但這只能滿足較貴的速度不低于70ns的EPROM接口,而一般的EPROM無法可靠工作。為了解決速度匹配問題,利用了C5402的倍頻可以由硬件和軟件兩種方式設(shè)置

            的特性。在系統(tǒng)加電時(shí)將C5402的倍頻選擇為2,即將CLKMD1、CLKMD2、CLKMD3分別設(shè)置為1、0、0,讓DSP工作在40MHz的頻率,等加載完成之后再通過軟件將C5402的工作頻率調(diào)高到100MHz,使C5402達(dá)到最大的工作效率。實(shí)驗(yàn)證明這是可行而且可靠的。

            C5402的地址總線和數(shù)據(jù)總線掛有兩個(gè)164245,它是TI公司生產(chǎn)的3.3V和5V雙向收發(fā)器,個(gè)164245可以看作兩個(gè)8位收發(fā)器或一個(gè)16位收發(fā)器。它由3.3V和5V雙電源供電,收發(fā)的方向由兩個(gè)方向控制端管腳(DIR)控制。它串在地址總線和數(shù)據(jù)總線上,既可為DSP提供驅(qū)動5V數(shù)字電路的能力,也可為DSP提供5V信號讀入的保護(hù)。對于地址總線,只是輸出信號,所以將同地址總線相接的164245的DIR信號接高,使其只完成從3.3V到5V的轉(zhuǎn)換。使用164245,總線就可以為擴(kuò)展的多個(gè)外設(shè)提供可靠的接口,解決了3.3V和5V混合邏輯設(shè)計(jì)問題。

            EPM7032用來提供整個(gè)系統(tǒng)需要的組合邏輯。它屬于MAX7000系列,是Altera公司的基于第二代MAX結(jié)構(gòu)的CPLD,可提供多達(dá)5000個(gè)可用門和在系統(tǒng)編程。其引腳到引腳延時(shí)快達(dá)5ns?梢匀菁{各種各樣的獨(dú)立的組合邏輯和時(shí)序邏輯功能。所有的驅(qū)動器均能配置在3.3V和5.5V電壓下工作,允許用于混合電壓系統(tǒng)中。EPM7032為Bootloader提供的內(nèi)部組合邏輯電路如圖3所示。

            EPROM采用NS公司或ST公司的27C256。EPM7032的ROMCE接EPROM的CE管腳,使其映射在DSP的C000H-FFFFH的數(shù)據(jù)空間。DIR控制16245的轉(zhuǎn)發(fā)方向。EPM7032共有36個(gè)I/O引腳可供編程使用,剩余的管腳可以用來接入PS、IS等管腳,方便系統(tǒng)擴(kuò)展存儲空間和外設(shè)。它同時(shí)方便了系統(tǒng)的調(diào)試,修改時(shí)只需重新編程,不用修改硬件電路,且延時(shí)非常小?梢苑奖愕赝瓿蓞f(xié)調(diào)外設(shè)和存儲空間的工作。

            對于如何在Bootloader后釋放EPROM占用的數(shù)據(jù)空間,可以通過軟件可設(shè)置管腳XF解決,只需簡單修改內(nèi)部邏輯電路,如圖4所示。RESET時(shí),XF被置高,使EPROM能夠映射在數(shù)據(jù)空間。RESET完成之后,可用軟件設(shè)置XF為低,使CE輸出的片選無效,從而讓EPROM讓出數(shù)據(jù)空間。

            4 系統(tǒng)軟件設(shè)計(jì)

            4.1 測試程序設(shè)計(jì)

            由于Bootloader需要完成的是系統(tǒng)的脫機(jī)運(yùn)行,因此可用一個(gè)簡單可靠的測試程序驗(yàn)證硬件是否已經(jīng)協(xié)調(diào)工作。下面是一個(gè)可行的方法,通過設(shè)置XF的電平高低,讓XF輸出不同頻率的方波,或者在XF管腳外接一個(gè)發(fā)光二極管,就可以直觀的看到系統(tǒng)有沒有協(xié)調(diào)工作。

            test:nop

            rsbx,1,13 /*將XF管腳置為低電平*/

            call delay /*調(diào)用延時(shí)子程序*/

            ssbx 1,13 /*將XF管腳置為高電平*/

            call delay /*調(diào)用延時(shí)子程序*/

            b test /*循環(huán)運(yùn)行*/

            4.2 系統(tǒng)設(shè)置程序

            加載完成之后,需要半DSP的頻率調(diào)高,使DSP能高效運(yùn)行。實(shí)際上就是用軟件改變DSP內(nèi)部的PLL來改變倍頻系數(shù)。因?yàn)镻LL是模擬的,在它鎖定之前需要一定的鎖定時(shí)間,在鎖定時(shí)間內(nèi)DSP不能使用PLL模式,必須把它調(diào)整到DIV模式。下面就是方案系統(tǒng)設(shè)置部分的子程序。

            .mmregs

            vCLKMD:.set 0x4007 /*5倍頻的CLKMD值*/

            .global sinitCLKMD

            .sect "initCLKMD"

            sinitCLKMD:

            cmpm CLKMD,#0x1007 /*測試DSP是否工作在2倍頻*/

            nop

            bc lretest,ntc

            stm #0h,CLKMD /*將CLKMD寄存器設(shè)置為二分頻,即關(guān)閉倍頻電路*/

            test: ldm 58h,A /*下面程序讀取CLKMD的PLLSTAUS值

            AND #0001h,A 如果PLLSTAUS值為0,則DIV狀態(tài)

            Bc test,aneq 設(shè)置成功。為1,等待再檢測*/

            Stm #vCLKMD,CLKMD /*將CLKMD設(shè)置為5倍頻,DSP工作在100MHz/

            Rpt #256 /*等待C5402工作頻率穩(wěn)定*/

            Nop

            EinitCLKMD:

            Ret

            .end

            5 將軟件裝入EPROM

            要使在系統(tǒng)調(diào)試的程序能夠脫機(jī)裝載,需要hex500.exe把*.out文件轉(zhuǎn)化為*.hex。一個(gè)名稱為main的轉(zhuǎn)換文件(CMD文件)例子如下:

            syw.out /*syw.out是在系統(tǒng)調(diào)試生成的out格式的文件名。*/

            -i /*-i選項(xiàng)決定了輸出文件的格式*/

            -memwidth 8 /*-memwidth選項(xiàng)決定產(chǎn)生的數(shù)據(jù)的位寬度,根據(jù)使用的EPROM具體情況設(shè)定,這里選8。如果采用16位的EPROM則應(yīng)該為16*/

            -romwidth 8 /*-romwidth選項(xiàng)決定于存儲數(shù)據(jù)的EPROM的位寬度*/

            -boot /*-boot選項(xiàng)用來說明產(chǎn)生一個(gè)boot表示*/

            -bootorg 0xc000 /*-bootorg選項(xiàng)說明加載信息在DSP數(shù)據(jù)空間中的起始位置*/

            -e 0080h /*-e選項(xiàng)時(shí)程序中斷向量的入口點(diǎn)*/

            -o syw.hex /*-o產(chǎn)生的文件的文件名。*/

            在DOS環(huán)境下執(zhí)行Hex500 main.cmd就可以完成轉(zhuǎn)換。對應(yīng)上面的地址分配,在燒錄時(shí)同時(shí)在EPROM的7FFEH和7FFFH處燒處C000H的值。

            6 方案性能分析

            從上面的分析可以看出,方案實(shí)現(xiàn)方便可靠。但是采用外部并行BOOT方式時(shí),BOOT的尋址區(qū)是在數(shù)據(jù)區(qū),因而最大的范圍是3FFF~FFFFH,共48KPB。而采用8位的EPROM,最大的程序代碼長度僅為24K字。如果程序超過了48K字,只能采用另外的替代方法。這是在一些電路方案論證時(shí)需要考慮的問題。



            【TMS320VC5402的并行引導(dǎo)裝載方案的研究與設(shè)計(jì)】相關(guān)文章:

            TMS320VC5402外部并行引導(dǎo)裝載方法的研究08-06

            TMS320VC5402 DSP并行8bit EPROM引導(dǎo)裝載方法研究08-06

            DSP外掛Flash在系統(tǒng)編程及并行引導(dǎo)裝載方法08-06

            C6202 ROM引導(dǎo)裝載方式的研究08-06

            TMS320C6711的FLASH引導(dǎo)裝載系統(tǒng)研究與設(shè)計(jì)08-06

            DSP56362的雙引導(dǎo)裝載方法研究與實(shí)現(xiàn)08-06

            DSP+FLASH引導(dǎo)裝載系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)08-06

            雙核DSP片TMS320VC5421的并行引導(dǎo)方案08-06

            TMS320C5410燒寫Flash實(shí)現(xiàn)并行自舉引導(dǎo)08-06