新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > DSP和Flash接口技術(shù)的實(shí)現(xiàn)

DSP和Flash接口技術(shù)的實(shí)現(xiàn)

作者:康樂(lè)峰,王和國(guó),劉書(shū)明 時(shí)間:2008-09-11 來(lái)源:中電網(wǎng) 收藏

  1 引言

本文引用地址:http://www.butianyuan.cn/article/87948.htm

  在現(xiàn)代數(shù)字信號(hào)處理系統(tǒng)中,采用做為程序加載和引導(dǎo)是一種常用的方法,它為用戶對(duì)那些將來(lái)可能需要改變數(shù)據(jù)或代碼的系統(tǒng)維護(hù)提供了有效手段。利用器件,能夠?qū)崿F(xiàn)在線程序編寫(xiě),減少程序燒寫(xiě)帶來(lái)的麻煩。

  2 AM29LV800B簡(jiǎn)介

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

  2.1主要性能

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

  2.2引腳功能說(shuō)明

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

  2.3工作模式 

  2.3.1讀模式

  為了讀取數(shù)據(jù),系統(tǒng)需將CE和OE設(shè)為低電平,同時(shí)將WE設(shè)為高電平。在器件上電或硬件復(fù)位后,器件默認(rèn)設(shè)置為讀模式。

  2.3.2寫(xiě)模式

  為了向器件寫(xiě)入數(shù)據(jù)或指令,系統(tǒng)需將CE和WE置為低電平,同時(shí)將OE置為高電平,寫(xiě)操作需要4個(gè)周期,前3個(gè)周期向兩個(gè)特定地址寫(xiě)入3個(gè)特定字符,第4個(gè)周期將所需數(shù)據(jù)寫(xiě)入相應(yīng)地址:

  2.3.3復(fù)位

  向器件的任意地址寫(xiě)入特定指令,該器件復(fù)位,復(fù)位后默認(rèn)為讀模式。

  2.3.4自動(dòng)選擇模式

  向器件兩個(gè)特定地址寫(xiě)入3個(gè)特定的字符,該器件就進(jìn)入自動(dòng)選擇模式。在該模式下獲取器件的廠商號(hào)和設(shè)備號(hào),系統(tǒng)必須通過(guò)復(fù)位指令斷開(kāi)。

  2.3.5擦除模式

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

  3 與Flash設(shè)計(jì)

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

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

 

  4 對(duì)Flash加載的軟件編程

  本程序采用匯編語(yǔ)言,整個(gè)程序流程如圖2所示。當(dāng)采用圖1所示的連接時(shí),ADSP-TS201向Flash寫(xiě)入一個(gè)字,由于DSP外部數(shù)據(jù)總線為[31:0],而Flash只連接了其中的低8位,因此DSP在向Flash寫(xiě)入數(shù)據(jù)時(shí),需要先打包處理。以下為本系統(tǒng)設(shè)計(jì)的關(guān)鍵程序代碼。

  擦除操作和擦除狀態(tài)的查詢對(duì)Flash非常重要,因?yàn)槿魏蜦lash器件的寫(xiě)入操作只能在空或已擦除的單元內(nèi)進(jìn)行,所以大多數(shù)情況下,在進(jìn)行寫(xiě)入操作之前必須先執(zhí)行擦除。擦除操作可按6周期指令完成。該操作將Flash的內(nèi)容全部清零,然后從Flash的任意地址讀取數(shù)據(jù),與0相比較,判斷擦除操作是否順利進(jìn)行。相關(guān)指令代碼如下: 整個(gè)程序的流程如圖2所示。

   5結(jié)語(yǔ)

  以Flash AM29LV800B為例,提出了Flash與DSP的硬件接口設(shè)計(jì)和Flash燒寫(xiě)程序的基本步驟。這種系統(tǒng)設(shè)計(jì)使得軟件設(shè)計(jì)相對(duì)簡(jiǎn)單,已多次應(yīng)用于現(xiàn)代數(shù)字信號(hào)處理系統(tǒng)中應(yīng)用,效果良好。



關(guān)鍵詞: DSP Flash 接口 EPROM 閃存

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉