《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > TMS320VC5402的并行引導裝載方案的研究與設計

TMS320VC5402的并行引導裝載方案的研究與設計

2008-12-01
作者:孫友偉 潘 瑜 傅豐林

??? 摘? 要: 介紹了TMS320VC5402并行Bootloader 的原理,分析了設計過程中需要考慮的重點問題并提出了解決問題的可靠的電路方案,設計的電路具有良好的可擴展性。?

  關鍵詞: TMS320VC5402? Bootloader? CPLD? EPROM?

?

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

  基于實踐經驗,本文詳細介紹并行Bootloader 的實現方法和方案設計重點,并介紹一種方便可靠的可擴展EPROM Bootloader方案。?

1 C5402的Bootloader原理?

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

?

?

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

2 方案設計中需要考慮的重點問題?

  C5402并口Bootloader需要將映射在數據區的程序由慢速的EPROM搬到快速的RAM中運行,其設計主要需要考慮三個方面的問題。?

2.1 速度匹配問題?

  C5402的工作頻率" title="工作頻率">工作頻率可以達到100MHz。一般的并口EPROM是無法可靠工作的,如何使C5402順利裝載而又能使C5402達到最高的工作效率是要考慮的一個重點。?

2.2 3.3V和5V混合邏輯設計?

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

2.3 高效協調地利用空間?

  如何高效方便地利用存儲空間和I/O端口,例如重新利用并口EPROM在bootloader時占用的數據空間、如何協調外設和地址分配等都是需要考慮的問題。?

3 系統硬件電路設計?

??? 圖2為一種具有良好擴展性的C5402的Bootloader方案設計原理圖。?

?

?

??? 圖中,DVDD為3.3V供電。C5402的時鐘輸入為20MHz,此時系統工作頻率就是CLKMD1、CLKMD2、CLKMD3組合產生的倍頻系數和輸入時鐘的乘積。C5402的工作頻率可以達到100MHz。雖然C5402 在RESET時自動插入7個軟件延時,但這只能滿足較貴的速度不低于70ns的EPROM接口,而一般的EPROM無法可靠工作。為了解決速度匹配問題,利用了C5402的倍頻可以由硬件和軟件兩種方式設置的特性。在系統加電時將C5402的倍頻選擇為2,即將CLKMD1、CLKMD2、CLKMD3分別設置為1、0、0,讓DSP工作在40MHz的頻率,等加載完成之后再通過軟件將C5402的工作頻率調高到100MHz,使C5402達到最大的工作效率。實驗證明這是可行而且可靠的。?

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

  EPM7032用來提供整個系統需要的組合邏輯。它屬于MAX7000系列,是Altera公司的基于第二代MAX結構的CPLD ,可提供多達5000個可用門和在系統編程。其引腳到引腳延時快達5ns。可以容納各種各樣的獨立的組合邏輯和時序邏輯功能。所有的驅動器均能配置在3.3V和5.5V電壓下工作,允許用于混合電壓系統中。EPM7032為Bootloader提供的內部組合邏輯電路如圖3所示。

?

?

  EPROM采用NS公司或ST公司的27C256。EPM7032的ROMCE接EPROM的CE管腳,使其映射在DSP的C000H-FFFFH的數據空間。DIR控制16245的轉發方向。EPM7032共有36個I/O引腳可供編程使用,剩余的管腳可以用來接入PS、IS等管腳,方便系統擴展存儲空間和外設。它同時方便了系統的調試,修改時只需重新編程,不用修改硬件電路,且延時非常小。可以方便地完成協調外設和存儲空間的工作。?

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

?

?

4 系統軟件設計?

4.1 測試程序設計?

??? 由于Bootloader需要完成的是系統的脫機運行,因此可用一個簡單可靠的測試程序驗證硬件是否已經協調工作。下面是一個可行的方法,通過設置XF的電平高低,讓XF輸出不同頻率的方波,或者在XF管腳外接一個發光二極管,就可以直觀的看到系統有沒有協調工作。?

test:nop?

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

??? call delay??? ? /*調用延時子程序*/?

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

??? call delay??? ? /*調用延時子程序*/?

??? b test??????? ? /*循環運行*/?

4.2 系統設置程序?

??? 加載完成之后,需要將DSP的頻率調高,使DSP能高效運行。實際上就是用軟件改變DSP內部的PLL來改變倍頻系數。因為PLL是模擬的,在它鎖定之前需要一定的鎖定時間,在鎖定時間內DSP不能使用PLL模式,必須把它調整到DIV模式。下面就是方案中系統設置部分的子程序。?

??????? .mmregs?

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

??????? .global? sinitCLKMD ??? ?

??? ??? .sect?? ″initCLKMD″?

sinitCLKMD:?

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

??????? nop?

??????? bc? lretest,ntc?

??????? stm #0h,CLKMD ? /*將CLKMD寄存器設置為二分頻,即關閉倍頻電路*/?

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

??????? AND #0001h,A ?? 如果PLLSTAUS值為0,則DIV狀態?

??????? bc test,aneq??? ?? ?設置成功。為1,等待再檢測*/?

??? ??? stm #vCLKMD,CLKMD?? ?

??????????????????????? /* 將CLKMD設置為5倍頻,DSP工作在100MHz/?

??????? rpt #256 ????? /*等待C5402工作頻率穩定*/

??????? nop?

EinitCLKMD: ?

????????ret

??????? .end?

5 將軟件裝入EPROM?

  要使在系統調試的程序能夠脫機裝載,需要使用hex500.exe把*.out文件轉化為*.hex。一個名稱為main的轉換文件(CMD文件)例子如下:?

syw.out?? /*syw.out是在系統調試生成的out格式的文件名。*/?

-i?????? ?? /*-i選項決定了輸出文件的格式*/?

-memwidth 8?? ? /*-memwidth 選項決定產生的數據? 的位寬度,根據使用的EPROM具體情況設定,這里選8。如果采用16位的EPROM則應該為16*/?

-romwidth 8 /*-romwidth 選項決定于存儲數據的EPROM的位寬度*/?

-boot??????? ?????? /*-boot選項用來說明產生一個boot表*/?

-bootorg 0xc000 /*-bootorg 選項說明加載信息在DSP數據空間中的起始位置*/?

-e 0080h????? ? /*-e選項時程序中斷向量的入口點*/?

-o syw.hex?????? /*-o 產生的文件的文件名。*/?

  在DOS環境下執行 Hex500 main.cmd就可以完成轉換。對應上面的地址分配,在燒錄時同時在EPROM的7FFEH和7FFFH處燒入C000H的值。?

6 方案性能分析?

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

參考文獻?

1 TMS320VC5402 and TMS320UC5402 Bootloader. Texas Instruments Application Report, 2002.3 (SPRA618A)?

2 Using the Flash Bootload Capability of the TMS320VC5402 DSK.Texas Instruments Application Report,2001.4(SPRA723)?

3 TMS320VC5402 Digital Signal Processor Silicon Errata Texas Instruments Incorporated,1999.11(SPRZ155C)?

4 彭啟琮.TMS320C54X使用教程.成都:電子科技大學出版社,1999.7?

5 張雄偉.DSP芯片的原理與開發應用.北京:電子工業出版社,2000.9?

6 宋萬杰.CPLD技術及其應用.西安:西安電子科技大學出版社,1999.9?

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美片在线观看| 国产视频一区在线观看一区免费| 午夜日韩av| 一本色道久久综合亚洲精品不| 久久精品av麻豆的观看方式| 亚洲免费在线精品一区| 中文国产一区| 99国产精品| 一区二区三区回区在观看免费视频| 亚洲激精日韩激精欧美精品| 亚洲高清久久久| 在线播放日韩专区| 精品不卡一区| 在线成人av.com| 激情五月***国产精品| 狠狠色噜噜狠狠狠狠色吗综合| 国产视频一区在线观看| 国产一区二区三区高清| 国产一区二区你懂的| 国产一区二区三区日韩| 国语自产在线不卡| 黑人操亚洲美女惩罚| 黄色欧美日韩| 在线激情影院一区| 亚洲成人在线| 亚洲人成网站999久久久综合 | 欧美午夜免费影院| 欧美网站大全在线观看| 国产精品高清在线观看| 国产精品一区二区女厕厕| 国产视频自拍一区| 一区精品久久| 亚洲精品裸体| 亚洲一本大道在线| 午夜精品一区二区三区四区 | 久久精品一区二区| 亚洲欧洲精品一区二区三区 | 欧美日韩理论| 国产精品美女一区二区在线观看| 国产欧美在线看| 亚洲国产成人91精品| 99视频精品全部免费在线| 亚洲尤物在线| 亚洲国内精品在线| 这里只有精品视频| 久久av一区二区| 你懂的国产精品| 欧美午夜视频| 国产主播一区二区三区| 亚洲日本中文字幕区| 亚洲在线成人| 亚洲精品一区二区三| 亚洲你懂的在线视频| 久久久久久午夜| 欧美理论电影在线播放| 国产美女精品一区二区三区| 亚洲国产精品久久人人爱蜜臀| 中文成人激情娱乐网| 亚洲成人在线视频播放 | 国产一区二区视频在线观看| 亚洲国产成人高清精品| 亚洲一二三四区| 亚洲国产婷婷| 亚洲一区观看| 美女网站久久| 国产精品一区在线观看你懂的| 亚洲国产精品v| 午夜精品久久久久久久久久久久久| 亚洲精品乱码久久久久久日本蜜臀| 亚洲免费网址| 欧美成人激情视频| 国产酒店精品激情| 亚洲欧洲精品成人久久奇米网| 亚洲欧美在线高清| 一本综合精品| 噜噜噜在线观看免费视频日韩| 国产精品乱子久久久久| 亚洲欧洲在线看| 久久精品国产在热久久| 亚洲男女自偷自拍| 欧美顶级少妇做爰| 国产自产2019最新不卡| 一本色道久久88综合亚洲精品ⅰ| 亚洲国产精彩中文乱码av在线播放| 亚洲欧美色婷婷| 欧美日韩国产一区精品一区 | 午夜精品久久久久久久久久久久久| 欧美va天堂| 国产日韩精品入口| 亚洲午夜视频| 一本色道久久88综合日韩精品 | 国产欧美日韩三级| 99在线|亚洲一区二区| 亚洲国产视频a| 久久青草欧美一区二区三区| 国产精品日韩欧美一区| 99精品国产福利在线观看免费| 亚洲精品久久7777| 久久亚洲一区二区三区四区| 国产欧美一区二区白浆黑人| 夜夜爽99久久国产综合精品女不卡| 亚洲精品乱码久久久久久久久| 久热精品在线视频| 国产主播精品在线| 欧美一区二区三区电影在线观看| 亚洲欧美激情在线视频| 欧美午夜不卡影院在线观看完整版免费| 亚洲日本欧美在线| 亚洲美女在线看| 欧美黄色大片网站| 亚洲人成7777| 日韩亚洲欧美成人一区| 美女视频黄a大片欧美| 一区二区亚洲精品| 久久成人18免费网站| 久久不射中文字幕| 国产欧美日韩亚洲| 亚洲男人第一网站| 欧美主播一区二区三区| 国产精品一区二区女厕厕| 亚洲一区二区三区三| 欧美亚洲三级| 国产午夜亚洲精品理论片色戒| 欧美一级片一区| 欧美亚洲一区二区三区| 国产精品日韩欧美一区| 午夜精品理论片| 久久精品夜色噜噜亚洲a∨ | 亚洲欧美日韩精品一区二区| 国产精品久久二区二区| 亚洲综合国产激情另类一区| 香蕉成人啪国产精品视频综合网| 国产精品丝袜91| 性做久久久久久| 久久久久青草大香线综合精品| 国语精品一区| 亚洲国产综合视频在线观看| 欧美激情中文字幕一区二区| 亚洲精品久久久蜜桃 | 欧美成人精品在线| 91久久黄色| 亚洲午夜国产一区99re久久| 国产精品乱码妇女bbbb| 欧美一区二区三区在线视频| 久久综合九色综合欧美狠狠| 亚洲激情成人网| 正在播放亚洲一区| 国产美女扒开尿口久久久| 久久国内精品视频| 欧美精品 国产精品| 夜夜嗨av一区二区三区网站四季av| 亚洲欧美日韩国产成人| 国产午夜精品美女视频明星a级| 亚洲成人在线网站| 欧美日韩国产成人在线免费| 亚洲视频精品| 久久久久综合网| 亚洲欧洲精品一区二区精品久久久| 亚洲一区二区三区在线观看视频 | 中文日韩在线| 国产精自产拍久久久久久| 亚洲高清在线播放| 欧美精品激情blacked18| 在线亚洲观看| 久久人人97超碰国产公开结果| 亚洲国产裸拍裸体视频在线观看乱了中文| 一本色道**综合亚洲精品蜜桃冫 | 欧美午夜理伦三级在线观看| 欧美一区二区三区在线| 免费日韩成人| 亚洲天堂网在线观看| 久久噜噜噜精品国产亚洲综合| 亚洲欧洲在线看| 久久国产精品久久国产精品| 亚洲国产精品久久久久久女王| 亚洲欧美三级伦理| 亚洲第一中文字幕在线观看| 亚洲一区二区欧美日韩| 伊人久久亚洲美女图片| 亚洲综合三区| 亚洲国产另类久久精品| 欧美亚洲网站| 日韩视频在线一区| 久久天天躁夜夜躁狠狠躁2022 | 欧美一区二区三区视频免费播放| 亚洲第一黄色| 欧美亚洲综合在线| 亚洲精选一区| 久久永久免费| 亚洲一区视频| 欧美日韩国产一级片| 久久精品人人做人人综合| 国产精品igao视频网网址不卡日韩| 亚洲国产另类久久久精品极度| 国产精品免费区二区三区观看| 亚洲人体大胆视频| 国产手机视频精品| 亚洲在线播放| 亚洲精品在线二区| 玖玖视频精品|