<form id="itnzz"><noscript id="itnzz"></noscript></form>

          1. <menuitem id="itnzz"></menuitem>
          2. 成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
            現在位置:范文先生網>理工論文>電子通信論文>利用Flash實現DSP對多個程序有選擇的加載

            利用Flash實現DSP對多個程序有選擇的加載

            時間:2023-02-21 00:11:51 電子通信論文 我要投稿
            • 相關推薦

            利用Flash實現DSP對多個程序有選擇的加載

              摘要:主要介紹一種利用Flash存儲器實現雙DSP系統對多份用戶代碼有選擇的上電加載的方法。其中,重點介紹M29W800ABFlash的使用和編程方法,TMS320VC54XDSP的上電自動引導過程,以及HPI模式和并行模式加載用戶代碼的方法。
              關鍵詞:Flash存儲器DSP主機接口Bootloader引導表
              
              引言
              
              在TMS320C54X系列DSP系統的開發中,由于DSP片內只有ROM和RAM存儲器,如要將用戶代碼寫入ROM中,必須要由DSP芯片廠家來完成;但這樣做用戶就不能再更改代碼,很不實用。由于RAM在DSP掉電后不能再保存數據,因此,常常利用EPROM、Flash等一些外部存儲器來存放用戶代碼。在DSP上電工作后,利用DSP提供的boot機制,再將程序下載到DSPRAM中運行。如果使用EPROM外部存儲器存放用戶代碼,需要用代碼轉換工具將用戶代碼轉換為二進制目標文件,然后用編程器將其燒寫進EPROM;而如果使用Flash存儲器存放用戶代碼,則可直接使用DSP仿真器和CCS(CodeComposerStudio)仿真環境進行在線編程,使用靈活方便,不再需要其它編程設備。在某一以太網通信系統中,我們就采用Flash存儲器來實現多份用戶代碼的有選擇加載。下面就以此系統為例介紹對TMS320VC54XDSP的一種用戶代碼加載的方法。
              
              1系統構架
              
              ??此通信系統基于802.3以太網標準,用以實現各終端之間的話音和其它數據的通信,以及實現局域網內終端與外界的話音和數據通信。為節約開發成本,提高系統的可擴展性、通用性和靈活性,我們對每個網內終端采用同樣的硬件架構,通過使用不同的軟件代碼而使其實現不同的功能,發揮不同的作用。
              
              ??每一通信終端由2塊DSP芯片、1塊網卡、1塊CPLD和1塊FPGA以及Flash存儲器等器件組成可擴展的基本結構。其中,以TMS320VC5410DSP作為主CPU,負責系統的邏輯控制和一般數據傳輸;以MS320VC5416DSP作為從CPU,負責話音的編解碼和回聲消除、語音檢測等工作。2塊DSP之間通過主機接口(HPI)進行通信。為了實現代碼的有選擇下載,可由FPGA配置一端口作為撥碼開關,使用戶通過調節撥碼開關,可以有選擇地下載存儲于Flash中的用戶代碼,其結構如圖1所示。
              
              ??配置撥碼開關是為了擴充系統的功能,以實現一個硬件平臺的多種用途。我們可以將實現不同功能的多份用戶代碼都寫入Flash存儲器中存放,通過硬件撥碼開關的設置,選擇其中一份用戶代碼下載執行。在系統上電加載用戶代碼時,系統先從Flash下載FPGA配置程序,然后通過FPGA讀出撥碼開關的值,再根據此值從Flash中選擇對應的5410DSP用戶代碼加載;而5416DSP的用戶代碼加載是在5410代碼加載完成,啟動運行后由5410程序從Flash中讀出相應的5416代碼,再通過HPI加載到5416的,以此實現5416DSP的代碼加載與啟動。
              
              2M29W800ABFlash存儲器介紹及使用
              
              ??在此系統中,我們選用的是M29W800ABFlash存儲器,其容量為512K×16位,分為16頁,每頁32K。其中,第0頁有4個模塊:0x00~0x1fff、0x2000~0x2fff、0x3000~0x3fff、0x4000~0x7fff。其余各頁,每頁為1個模塊,共有19個模塊。
              
              ??對Flash的操作要靠寫入一系列特定的地址和數據序列來完成。在每次對Flash寫入之前,要對其原來的內容進行擦除。Flash的擦除包括塊擦除和芯片擦除兩種。塊擦除是對一個模塊進行擦除,芯片擦除是擦除整個Flash的內容。因此,對Flash的操作,是以模塊為基本單元的。對Flash的操作由指令決定,其必須滿足Flash的時序要求,每條指令需要1~6個不等的指令周期。主要操作指令包括讀數據指令、編程指令、復位指令、自動選擇指令和擦除指令。每個指令周期由一個命令構成,每個命令代碼所執行的任務如表1所列。
              
              表1Flash的命令說明
              
              HEX代碼命令00h有效/保留10h芯片擦除確認20h保留30h模塊擦除繼續/確認80h建立擦除90h讀電平信號/模塊保護狀態A0h編程B0h擦除中止F0h讀陣列/復位
              ??下面以M29W800ABFlash的塊擦除指令為例,具體說明Flash的操作時序:塊擦除指令需要6個總線周期,先以2個解鎖周期開始,然后是1個擦除建立周期,接下來又是2個解鎖周期,最后是1個擦除確認周期,其指令時序如表2所列。
              
              表2Flash擦除指令說明
              
              周期第1周期第2周期第3周期第4周期第5周期第6周期地址5555h2AAAh5555h5555h2AAAh模塊地址數據AAh55h80hAAh55h30h
              ??其C語言程序設計代碼如下:
              
              #defineflash((volatileunsignedint*)0x8000)
              
              Block_Erase(ADDR){
              
              flash[0x5555]=0x00AA;
              
              wait(1000);
              
              flash[0x2AAA]=0x0055;
              
              wait(1000);
              
              flash[0x5555]=0x0080;
              
              wait(1000);
              
              flash[0x5555]=0x00AA;
              
              wait(1000);
              
              flash[0x2AAA]=0x0055;
              
              wait(1000);
              
              flash[ADDR]=0x0030;
              
              }
              
              ??需要注意的是,Flash相對于DSP來說是慢速設備,編程時,對Flash的訪問需要有足夠的延時等待。對其它指令這里就不一一介紹了。要了解更多內容,可參考具體的Flash存儲器手冊。
              
              3引導裝載
              
              ??TMS320VC5410和TMS320VC5416片內ROM中固化有TI公司的引導裝載(Bootloader)程序,用于在上電復位時把用戶代碼從外部存儲器引導到片內RAM中運行。引導程序是在一些片內固化的一個程序,它負責上電時初始化存儲器。換句話說,它將程序從非易失性存儲器(如Flash存儲器)中調入系統的存儲器中。其提供的片內引導模式有:HPI(主機接口)引導、并行EPROM引導、并行I/O引導和串行口引導等。下面先介紹這兩塊芯片的上電引導過程。
              
              ??DSP上電復位后,先檢測其MP/MC引腳,如果MP/MC=“0”,表示使用片內ROM引導。此時,DSP從0xFF80處開始執行TI的片內引導程序。進入引導程序后,HINT引腳變為低電平,然后開始檢測INT2是否為低電平(有效)。如有效,則進入HPI引導方式;否則,檢測INT3引腳。如有INT3請求中斷,則進入串行引導方式;否則,就進入并行引導方式。在本系統中,我們采用TI公司提供的Bootlooder程序進行引導裝載,為此,應將MP/MC引腳接低電平。引導程序流程如圖2所示。
              
              3.1HPI模式實現TMS320VC5416的程序加載
              
              ??按以上設計,5416DSP的程序加載采用HPI(主機接口)模式。對于HPI引導模式,必須將HINT和INT2引腳連接在一起,以保證Bootloader程序能檢測到INT2有效。當檢測其為低電平時,進入HPI引導方式。主處理器5410啟動運行后,5410程序從Flash中下載5416程序,通過5410與5416之間的HPI寫入5416RAM。在將程序寫入5416時,要按照5416程序的cmd文件配置,將從Flash中讀出的代碼寫入5416程序空間的代碼段。寫完代碼后,還應將5416代碼的起始地址寫入5416的0x7f單元,將0寫入0x7e單元,起始地址可在CCS仿真環境中編譯5416代碼后看出,此時PC所指向的位置就是代碼的起始地址。這是因為,當5416進入HPI引導方式后,Boodloader程序開始檢測0x7f單元的內容(0x7e和0x7f兩單元內容在Boodloader程序開始執行時就清零)。當檢測到其內容不為零時,即將0x7e的內容賦給XPC,將0x7f的內容賦給PC,程序跳轉到PC所指向位置執行用戶代碼。這樣就實現了從片5416的程序加載啟動。圖3是HPI模式加載用戶代碼的流程。
              
              3.2并行加載模式實現TMS320VC5410的程序加載
              
              ??5410主處理器的用戶代碼加載采用并行模式加載。在本系統中,有多份5410用戶代碼存儲于Flash中。系統上電后,先要從Flash中下載FPGA配置代碼,然后讀出撥碼開關的值,再選擇相應的用戶代碼下載,完成后,跳轉到用戶代碼的入口地址開始執行用戶代碼。為此,需要設計一啟動程序以實現以上功能。啟動程序的內容包括下載FPGA配置代碼,讀拔碼開關值,并根據此值選擇下載相應的5410用戶代碼到其cmd文件配置的相應程序空間。完成后,跳轉到用戶代碼起始地址。代碼的起始地址通過CCS仿真環境編譯后獲得,啟動程序的下載運行,則要依靠TI的片內引導程序,采用16位并行模式引導加載,需要構建引導表。所謂引導表就是引導程序要調入的代碼。引導表中除了包括源代碼之外,還包含一些附加信息。這些信息指導引導程序的具體執行過程。因此,可以說引導表是由程序代碼和一些附加信息組成的一種數據結構。在這里,我們需要用啟動程序構建引導表,并將引導表也寫入Flash中。
              
              ??在此系統中,Flash存儲器映射為DSP的0x8000~0xffff數據空間。對Flash操作時,首先要選擇頁,每一頁都對應為DSP的0x8000~0xffff地址的數據空間。需要注意:除了將引導表寫入Flash外,還應將引導表的起始地址(對于DSP處理器而言的地址,如果在Flash中為0,則對DSP即為0x8000)寫入Flash第一頁的最后一個單元(0x7fff單元),即DSP存儲空間的0xFFFFh單元。
              
              ??引導程序進入并行加載模式后,將查詢數據空間的0xFFFFh單元,直到讀入一個有效的地址數據。此數據為用戶引導表的入口地址。這時,引導程序就跳轉到Flash中的用戶引導表開始執行。需要注意的是,對于不同型號和廠家的Flash,其引導表的格式和內容是不同的。下面就M29W800ABFlash引導表的格式及我們所配置的內容說明如下:
              
              10AAh(16位模式)7fff(SWWSR寄存器值)8000h(BSCR寄存器值)0h(啟動程序運行的XPC值)d08h(啟動程序運行起始的PC值)22f8h(啟動程序的長度)0h(啟動程序裝載的起始地址XPC)d08h(啟動程序裝載起始地址PC)啟動程序代碼…連接8個單元的0h(表示引導表結束)
              ??程序根據引導表的內容將用戶代碼下載到指定的程序空間中,并將指定的程序入口地址值賦給PC,使程序從此處開始執行,從而完成5410DSP的引導啟動。并行引導流程如圖4所示。
              
              ??在系統的實際調試過程中,通過HPI加載5416代碼時,要注意5410和5416的時鐘要匹配。一般來說,要求從片時鐘為主片時鐘的1.25倍以上。在此系統中,系統基準時鐘為8MHz,5410啟動時鐘設為8MHz,5416設為10倍頻80MHz。
              
              ??本系統最大的優點是實現了一機多用,擴展了系統的功能,增強了系統的靈活性和通用性,在實際應用中已取得了良好的效果。
              
              
              
              

            【利用Flash實現DSP對多個程序有選擇的加載】相關文章:

            DSP+FLASH引導裝載系統的設計與實現08-06

            一種基于CAN總線的DSP程序加載技術08-06

            利用DSP實現IIR濾波器的精度擴展08-06

            TMS320C6x DSP的FLASH引導方法研究與實現08-06

            利用ISA總線實現對DSP芯片VC5402的軟配置08-06

            DSP與慢速設備接口的實現08-06

            CF卡與雙核DSP的實現08-06

            利用異步通信芯片16C552實現PC機與DSP的串行通訊08-06

            利用DSP控制直流無刷電機08-06

            主站蜘蛛池模板: 精品尤物TV福利院在线网站| 欧美成人精品三级网站视频| 成人无码影片精品久久久| 国产女主播白浆在线观看| 亚洲东京色一区二区三区| 久久国产色av免费看| 日本韩无专砖码高清观看| 国产99视频精品免费视频76| 国产稚嫩高中生呻吟激情在线视频| 国产色爱av资源综合区| 久久久精品无码一二三区| 最新亚洲人成网站在线影院| av在线播放无码线| 亚洲人成网站77777在线观看| 欧美色欧美亚洲国产熟妇| 国产精品一区二区三区黄色| 亚洲精品成人一二三专区| 亚洲精品福利一区二区三区蜜桃| 亚洲天堂视频网| 夜夜添狠狠添高潮出水| 人妻系列中文字幕精品| 亚洲AV综合A∨一区二区| 亚洲中文字幕日产无码成人片| 国产午夜福利视频第三区| 亚洲夂夂婷婷色拍ww47| 亚洲男人av天堂久久资源| 亚洲国产精品一区第二页| 国产成人久久久精品二区三区| 国产精品视频一区二区不卡| 影视先锋av资源噜噜| 久久国内精品一国内精品| 国产精品久久久一区二区三区| 亚洲色在线v中文字幕| 激情内射亚州一区二区三区爱妻| 四房播色综合久久婷婷| 国产精品激情av在线播放| 玖玖在线精品免费视频| 波多野结衣在线精品视频| 亚洲欧美日韩精品久久亚洲区色播| 鲁丝一区二区三区免费| 色花堂国产精品首页第一页|