新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > DSP和Flash接口技術的實現

        DSP和Flash接口技術的實現

        作者:康樂峰,王和國,劉書明 時間:2008-09-11 來源:中電網 收藏

          1 引言

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

          在現代數字信號處理系統中,采用做為程序加載和引導是一種常用的方法,它為用戶對那些將來可能需要改變數據或代碼的系統維護提供了有效手段。利用器件,能夠實現在線程序編寫,減少程序燒寫帶來的麻煩。

          2 AM29LV800B簡介

          Flash存儲器又稱,它結合了ROM和RAM的特點,不僅具備電子可擦除可編程(E)功能,而且不會斷電丟失數據同時能快速讀取數據,它具有在線電擦寫、低功耗、大容量、擦寫速度快等特點,屬于E的改進產品。

          2.1主要性能

          AM29LV800BB-90EC是AMD公司AM29LV800B系列的一種器件,其主要性能如下:訪問時間:90 ns;存儲容量:8Mbit;工作溫度范圍:-55~+125℃:在線編程電壓:3.0~3.6 V;低功耗:讀操作時電流為7 mA,編程/擦除時電流為15 mA。

          2.2引腳功能說明

          A0-A18:19根地址線;
          DQ0-DQ14:15根數據線;
         
          DQ15/A-1:當配置為16位字模式時,該引腳為數據I/O,組成16位字的最高位DQ15;當配置為8位字節模式時,該引腳為地址輸入,為地址線的最低有效位A-1;

          2.3工作模式 

          2.3.1讀模式

          為了讀取數據,系統需將CE和OE設為低電平,同時將WE設為高電平。在器件上電或硬件復位后,器件默認設置為讀模式。

          2.3.2寫模式

          為了向器件寫入數據或指令,系統需將CE和WE置為低電平,同時將OE置為高電平,寫操作需要4個周期,前3個周期向兩個特定地址寫入3個特定字符,第4個周期將所需數據寫入相應地址:

          2.3.3復位

          向器件的任意地址寫入特定指令,該器件復位,復位后默認為讀模式。

          2.3.4自動選擇模式

          向器件兩個特定地址寫入3個特定的字符,該器件就進入自動選擇模式。在該模式下獲取器件的廠商號和設備號,系統必須通過復位指令斷開。

          2.3.5擦除模式

          片擦除是一個6周期操作,需向兩個特定地址寫入4個特定字符。

          3 與Flash設計

          A-TS201是ADI公司的TigerSHARC系列處理器的一種器件,其內核工作頻率可高達600 MHz,指令周期為1.6 ns,片內存儲器DRAM為24 Mbit,集成I/O,包括14通道的DMA控制器,4個鏈路口,可編程標志引腳,SDRAM控制器,外部端口,2個定時器等,具有IEEE 1149.1兼容的JTAG端口用于在線仿真,靈活的指令集和支持高級語言的DSP結構便于DSP編程。

          ADSP片內無ROM,不能將應用程序和數據直接存儲在DSP內部,通常需將應用程序存儲在外部存儲器。系統工作時,通過加載操作將應用程序載人到DSP內部執行。由于EPROM空間只提供8位數據線,因此如果Flash是16位甚至更高位,那么Flash應當配置成8位工作。由于EPROM是專門為處理器采用EPROM或者Flash進行程序引導而設計的,而EPROM和Flash的數據傳輸并不是高速的,因此為了保證通用的EPROM和Flash能正確引導處理器運行程序,ADSP-TS201在進行每次EPROM讀操作時需插入16個等待周期,并且在最后一個EPROM引導總線周期后有3個等待周期,用做EPROM的斷開時間。ADSP-TS201提供BMS引腳用于引導存儲器選擇,作為Flash的片選信號,實現系統加載。此時TigerSHARC只能通過特定的DMA通道0將程序從EPROM自動加載到TigerSHARC內存,并且外部總線自動將字節數據打包成32位指令。另外TS201提供/MS0和/MS1引腳,用于存儲器選擇。當DSP分別訪問存儲器bank0或bank1時,MS0或MS1有效。該引腳也可用作Flash的片選信號,以實現Flash的在線編程。按此方式實現硬件,可采用處理器內核或者非EPROM類型的DMA方式訪問Flash,但是處理器不會自動完成32位字和8位字的打包和拆包,需要編寫專門的打包程序,這點尤為重要。其原理如圖1所示。

         

          4 對Flash加載的軟件編程

          本程序采用匯編語言,整個程序流程如圖2所示。當采用圖1所示的連接時,ADSP-TS201向Flash寫入一個字,由于DSP外部數據總線為[31:0],而Flash只連接了其中的低8位,因此DSP在向Flash寫入數據時,需要先打包處理。以下為本系統設計的關鍵程序代碼。

          擦除操作和擦除狀態的查詢對Flash非常重要,因為任何Flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。擦除操作可按6周期指令完成。該操作將Flash的內容全部清零,然后從Flash的任意地址讀取數據,與0相比較,判斷擦除操作是否順利進行。相關指令代碼如下: 整個程序的流程如圖2所示。

           5結語

          以Flash AM29LV800B為例,提出了Flash與DSP的硬件接口設計和Flash燒寫程序的基本步驟。這種系統設計使得軟件設計相對簡單,已多次應用于現代數字信號處理系統中應用,效果良好。



        關鍵詞: DSP Flash 接口 EPROM 閃存

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁波市| 怀仁县| 兴文县| 大安市| 苍梧县| 蓬莱市| 翁牛特旗| 保德县| 襄樊市| 荆州市| 赫章县| 西乡县| 潼关县| 河北区| 镇坪县| 岚皋县| 班戈县| 大埔县| 平湖市| 乌拉特前旗| 安达市| 康保县| 永仁县| 永安市| 青河县| 嘉祥县| 大连市| 深水埗区| 布尔津县| 桂平市| 彩票| 来安县| 和田县| 上高县| 微博| 进贤县| 宜州市| 年辖:市辖区| 凌海市| 溆浦县| 汕尾市|