- 相關(guān)推薦
ADSP-218X的IDMA接口自舉設計
摘要:介紹ADSP-218X系列DSP芯片的IDMA接口的自舉設計與應用。硬件方面介紹ADSP-218X的IDMA接口特點(diǎn)以及它與主機的連接方式;軟件方面介紹如何DSP的程序與主機程序代碼結合起來(lái),并由主機通過(guò)IDMA接口與ADSP-218X下載程序。此種方法可簡(jiǎn)化系統設計 ,降低成本。隨著(zhù)DSP芯片技術(shù)的發(fā)展,其種類(lèi)和型號日益增多。ADI公司推出了ADSP-218X系列16位定點(diǎn)DSP,它的IDMA接口極具特色。
1 IDMA接口介紹
IDMA接口是一個(gè)并行的I/O接口, 主機可通過(guò)IDMA接口為DSP下載程序、讀/寫(xiě)DSP的內部存儲器。下面簡(jiǎn)稱(chēng)ADSP-218X為218X。IDMA接口的讀/寫(xiě)訪(fǎng)問(wèn)是完全異步的。也就是說(shuō)在DSP全速運行時(shí),主機可訪(fǎng)問(wèn)DSP的內部程序空間和數據空間。
IDMA接口引腳定義如表1所列。其中I/O是針對DSP來(lái)說(shuō)的,I是輸入信號,O是輸出信號。
表1 IDMA接口引腳定義
功 能 描 述
ISIIDMA接口片選信號IRDIIDMA接口讀信號。當IS和IRD同時(shí)有效時(shí),開(kāi)始一個(gè)IDMA讀周期IWRIIDMA接口寫(xiě)信號。當IS和IWR同時(shí)有效時(shí),開(kāi)始一個(gè)IDMA寫(xiě)周期IALIIDMA接口地址鎖存信號。當IS和IAL同時(shí)有效時(shí),開(kāi)始一個(gè)IDMA地址鎖存序列。此時(shí)主機應將訪(fǎng)問(wèn)IDMA的起臺地址送到IAD0~15上IACKOIDMA接口允許訪(fǎng)問(wèn)的確認信號IAD0~15I/OIDMA接口的16位地址/數據總線(xiàn)當IS與IAL同時(shí)有效時(shí),218X將IAD0~15總線(xiàn)上的地址寫(xiě)入IDMA控制寄存器。雖然主機送到IAD0~15上的是數據,但對218X來(lái)說(shuō),它是要鎖存的地址。該地址的位14是主機通知218X它要訪(fǎng)問(wèn)的是程序空間(PM)還是數據空間(DM),而位0~13是它要訪(fǎng)問(wèn)的存儲器的起始地址。主機第一次訪(fǎng)問(wèn)218X的地址就是IDMA控制寄存器所保存的地址,以后每訪(fǎng)問(wèn)一次,就在該地址值的基礎上再加1。這個(gè)工作由218X自動(dòng)完成,直到主機通過(guò)IAL和IS鎖存新的地址。IDMA控制寄存器定義如圖1所示。
主機只要先通知218X它要訪(fǎng)問(wèn)的是程序空間還是數據空間以及要訪(fǎng)問(wèn)的起始地址,以后就可以連續讀寫(xiě)一段空間的數據。至于218X是如何實(shí)現的,對主機來(lái)說(shuō)是透明的。
2 218X與主機的IDMA接口設計
下面介紹218X如何通過(guò)IDMA接口自舉的系統設計。這樣可以減少一個(gè)程序片,讓218X與主機共用一個(gè)程序片。
ADSP-218X有多種型號。不同型號的DSP處理器,要設置不同的模式引腳,才能達到IDMA自舉功能。對ADSP-2181和ADSP-2183來(lái)說(shuō),要分別設置模式引腳MMAP=0,引腳BMODE=1。對于其它型號的ADSP-218X芯片來(lái)說(shuō),模式引腳分別設置為Mode A=1,Mode=1,Mode C=0。如果該型號的218X還有模式引腳Mode D的話(huà),要設置為0。模式引腳如此設置,表示218X是通過(guò)IDMA接口進(jìn)行自舉的。
圖1
218X占用主機的一個(gè)片選信號。對于主機來(lái)說(shuō),218X只占用兩個(gè)I/O地址空間,一個(gè)是控制端口地址(此時(shí)IAL為1),另一個(gè)是數據端口地址(此時(shí)IAL為0),因此可將主機的地址線(xiàn)A1與218X的IAL相連。而218X的IACK與主機的一個(gè)輸入引腳相連,主機通過(guò)查詢(xún)它來(lái)判斷218X是否繁忙。其它信號接線(xiàn)如圖2所示。
3 218X程序與主機程序的連接
目前大多數主機系統提供C編譯器,因此主機采用C語(yǔ)言進(jìn)行編程,既便于理解又具有實(shí)用價(jià)值。本文以ADSP-2185為例說(shuō)明如何將218X目標代碼鏈接到主機源程序中。
218X程序編完后,用ADI公司提供的VisualDSP for 21xx軟件將它編譯生成218X的目標文件,后綴名為DEX。在VisualDSP for 21xx軟件中的還有一個(gè)轉換工具elfsp121,它將218X目標代碼轉換成便于IDMA下載的文件。如果218X的目標文件為EXAMPLE1.DEX,可以按下面格式調用。
c:EXAMPLE1.DXE DSP.OUT -idma
其中的開(kāi)關(guān)-idma表示要將EXAMPLE1.DXE轉換為IDMA下載格式,輸出文件為DSP.OUT。下面簡(jiǎn)單地表示一下DSP.OUT文件格式。
0040
4000
FFFF
FFFE
…
可以看出它不是C語(yǔ)言格式,因此要將DSP.OUT改寫(xiě)成DSP.H。它內含C語(yǔ)言格式的常量數組,供主機下載程序代碼到218X使其自舉。
下面對DSP.H文件內容進(jìn)行編寫(xiě),并分析其結構。
注:在←及以后的內容DSP.H文件中是沒(méi)有的,只是幫助說(shuō)明。
#define MAX_CODE_LEN 257
unsigned short DSP_ROM_CODE[MAX_CODE_LEN]={←32位機使用short,而16位機要將short改為int 0x0040, ←當前一段要下載的代碼長(cháng)度為0x40,不包含IDMA控制字
0x4000, ←IDMA控制字。先初始化數據空間,地址為數據空間的0x0000,其中4表示訪(fǎng)問(wèn)的是DM數據空間
0xFFFF, ←第一個(gè)數據字
0xFFFE, ←第二個(gè)數據字
…………
0x001F,←第0x40個(gè)數據字
0x00B8,←當前一段要下載的代碼長(cháng)度
0x0001,←IDMA控制字。下面下載程序代碼至PM程序空間,起始地址為0x0001
0x0000,←第1個(gè)程序代碼的高16位一個(gè)程序代碼由24位的字組成,因此要下載兩個(gè)字
0x0000,←第1個(gè)程序代碼的低8位
…………
0x000F,←最后一個(gè)程序代碼的低8位,相當于下
【ADSP-218X的IDMA接口自舉設計】相關(guān)文章:
增強并口EPP與DSP接口的設計增強并口EPP與DSP接口的設計03-18
高速PCI總線(xiàn)接口模塊設計03-08
異步串行通信接口的IP核設計03-18
基于USB接口的數據采集系統設計03-18
基于單片機的MicroDrive接口設計03-20
帶USB接口的電子巡更系統的設計03-18
PowerPC和Dallas的時(shí)鐘芯片接口設計03-18