新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 幾種DSP與外接存儲器的連接方法

        幾種DSP與外接存儲器的連接方法

        作者: 時間:2017-06-06 來源:網絡 收藏

        1 引言

        本文引用地址:http://www.104case.com/article/201706/349621.htm

        接口分為ROM接口和RAM接口兩種。ROM包括EPROM和FLASH,而RAM主要是指SRAM。TMS320C5409具有32K字的片內RAM和16K字的掩膜ROM。但是在應用的很多場合,尤其是帶信號存儲的應用來說,TMS320C5409的片內存儲資源是遠遠不夠用的。因此,設計一個TMS320C5409硬件系統一般應該包括其與EPROM/FLASH和SRAM的接口設計,以存放程序和數據。本文介紹TMS320C5409與的接口設計方案。

        2 與SRAM的接口設計

        除了內部32k字RAM和16K字ROM之外,TMS320C5409還可以擴展外部。其中,數據總空間總共為64k字(0000H~FFFFH),I/O空間為64K字(0000H~FFFFH),程序空間為8M。8M的程序空間的尋址是通過額外的7根地址線(A16~A22)實現的,由XPC寄存器控制。根據程序和數據的空間配置,擴展的方法主要有3種。

        2.1 分開的程序和數據空間配置

        這種方案是采用外接一個128k×16位的RAM,將程序區和數據區分開,如圖1所示。采用程序選通線接外部RAM的A16地址線實現,因此,程序區為RAM的前64k字(0000H~FFFFH),數據區為RAM的后64k字(10000H~1FFFFH)。對DSP而言,程序區和數據區的地址范圍均為0000H~FFFFH。
        采用這種配置方法需要注意:如果內部RAM設置為有效,則相同地址的外部RAM自動無效;當外部RAM不能全速運行時,需要根據速度設置插入等待狀態(設置SWWSR)。

        2.2 混合的程序和數據空間配置

        這種方案是令OVLY=1,此時內部RAM既是數據區也是程序區。這樣設置的優點是程序可以在內部全速運行,缺點是由于程序和數據是共用的,因此存儲區就變小了。此外,在鏈接時必須將程序和數據分開,以避免重疊。
        這種配置方法如圖2所示。將和信號接至一與非門,形成PDS信號,這個信號不論是有效還是有效都呈現有效(高電平),將這個信號經反向用作片選信號,就可以保證外部RAM既作為程序區也作為數據區。

        圖1 分開的數據和程序空間配置

        圖2 混合的數據和程序空間配置

        2.3 優化的混合程序和數據空間配置

        圖3所示為一種優化的混合程序和數據區外接RAM的方法。這種配置方法省去了DSP的A15地址線,將RAM分成32k字長的塊。采用這種方法后,可充分利用外接的RAM,不會因內部RAM和外部RAM的地址重疊而造成外部RAM的浪費。

        圖3 優化的混合數據和程序空間配置

        由于外部擴展的空間很大,因此DSP程序區另外的地址空間也能訪問到外部RAM。這種優化的外部RAM配置方法,使得在使用DSP的內部RAM的情況下,能夠充分利用外部擴展RAM。

        圖4 DSP與FLASH的接口

        3 DSP與FLASH的接口設計

        圖4為DSP與FLASH的一種接口配置。圖中FLASH采用Silicon Storage 公司的新一代256K×16位CMOS FLASH Memory產品SST39VF400A作為DSP的外部數據存儲器,地址總線和數據總線接至DSP的外部總線,接至DSP的。DSP上的XF引腳用于啟動編程。當XF為低時,FLASH處于讀狀態;當XF為高時,FLASH可擦或編程。為了滿足SST39VF400A的時序要求,XF與相“或”后接至,引腳與相“或”后接至。

        4 FLASH的擦寫

        4.1 片外FLASH擦寫原理

        在實際應用中,選擇的片外存儲器通常是片外的RAM或FLASH Memory。但是,由于RAM中數據掉電即丟失,不適合長期保存數據,因此當需要保存到片外存儲器的是一些無需頻繁讀/寫但需要長期保存的數據時,如字模數據、端口地址等,通常選擇使用片外的FLASH擴展DSP芯片的存儲器空間。但是,使用片外的FLASH必須要解決對其的擦寫問題。
        在實際應用中,對FLASH的擦寫主要有兩種方式:一是使用通用編程器對FLASH芯片進行擦寫;二是直接由DSP對FLASH進行擦寫。這里介紹一種利用存儲器映射技術,通過對DSP芯片編程實現片外FLASH擦寫的方法。
        CCS5000 IDE是TI公司專為TMS320C5409設計的開發平臺,該平臺具有簡單明了的圖形用戶界面和豐富的軟件開發工具。利用GPIO0口可以生成合適的片外FLASH和片內RAM片選信號,從而實現片外FLASH和片內RAM訪問的切換,在電路上可以將GPIO0信號與數據選擇信號或程序選擇信號相“或”實現。

        4.2 片外FLASH擦寫流程

        編寫FLASH擦寫程序的流程圖如圖5所示。

        圖5 FLASH擦寫程序流程圖

        (1)將character[180][32]設置為全局變量。
        (2)將程序編譯下載到DSP芯片中,打開工程目錄中output文件夾中的.map文件,
        找到character數組在RAM中存放的起始地址和長度。
        (3)使用Save Memory命令將RAM中對應于character數組的地址段的數據以二進制形式保存在計算機上。
        (4)打開FLASH擦寫程序,修改數據在片內RAM中存儲的起始地址和FLASH擦寫的起始地址和數據長度,編譯下載后,單步執行,直到擦寫完FLASH,并將地址映射方式設置為映射到片內RAM處,數據便寫到片外FLASH的相應地址中。
        這一種通過地址映射方式的方法可適用于多種場合,針對多個FLASH芯片使用多個GPIO端口進行地址的擴展,即可實現對其進行擦寫操作;若將部分擦寫程序放置到片外FLASH中并作相應設置,即可實現系統得自舉運行。

        5 Bootload的設計

        BootLoader是嵌入式系統加電后在操作系統內核運行之前運行的第一段代碼。BootLoader用于初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核準備好正確的環境。通常,Boot Loader是嚴重地依賴于硬件而實現的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的Boot Loader幾乎是不可能的。BootLoader一般它只在系統啟動時非常短的時間內運行。對于嵌入式系統來說,這是至關重要的一步。
        TMS320C54x內部具有16K×16位的掩模ROM,其內部具有Bootloader程序,工作在微計算機方式下可以啟動ROM中的引導程序,將用戶程序從EPROM(FLASH)、串行口、I/O口或HPI口引導到內部RAM或外部的高速SRAM中全速運行。 TMS320C5409硬件復位后采樣引腳如果為低,則DSP從FF80H開始執行片內的引導程序,FF80H包含一條跳轉到Bootloader程序的語句,Bootloader程序將用戶程序下載到RAM中運行。在硬件復位期間,如果TMS320C5409的為高電平,則從片外的0FF80H開始執行程序。選擇過程如圖6所示。

        圖6 自舉加載方式的選擇過程

        6 結束語

        實踐證明,在DSP的使用中,以上介紹的DSP與其外圍存儲器的接口設計是切實可行的。




        關鍵詞: 存儲器 DSP 連接

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 定陶县| 大名县| 沽源县| 大英县| 平阳县| 永昌县| 呼伦贝尔市| 汝城县| 巍山| 沙河市| 铜陵市| 简阳市| 赞皇县| 阿拉善左旗| 金乡县| 合山市| 奉新县| 金沙县| 德格县| 江陵县| 尤溪县| 沙河市| 永胜县| 定陶县| 房产| 文山县| 牡丹江市| 星座| 玉山县| 义乌市| 布拖县| 定州市| 广丰县| 株洲市| 广河县| 鄂托克旗| 于都县| 云浮市| 宾阳县| 南华县| 若尔盖县|