《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > TMS320C80与存储器接口分析

TMS320C80与存储器接口分析

2009-05-19
作者:卢再奇 付 强 何松华

  摘 要: 通過一個設(shè)計(jì)實(shí)驗(yàn),討論了TMS320C80通過傳輸控制器與幾種常用存儲器的接口方式,提出了接口設(shè)計(jì)中應(yīng)該考慮的一些問題。
  關(guān)鍵詞: TMS320C80 存儲器接口 譯碼


  多媒體視頻處理器TMS320C80是新一代的數(shù)字信號處理芯片,其內(nèi)部集成有四個DSP(PPs)和一個RISC主處理器(MP),一個傳輸控制器(TC),一個視頻控制器(VC)和50K字節(jié)的SRAM等資源。處理能力每秒達(dá)20億次操作(2BOPS),具有高度并行性,高計(jì)算精度和通用性。該芯片可實(shí)時實(shí)現(xiàn)新一代的視頻壓縮和解壓縮,可廣泛應(yīng)用于會議電視,高速電信,多媒體,虛擬現(xiàn)實(shí),保密,雷達(dá)和聲納處理等應(yīng)用場合,在軍事和民用方面有著廣闊的應(yīng)用前景。
  由于C80的多處理器結(jié)構(gòu),高速處理能力和全可編程性,使C80可以適應(yīng)主處理器或者協(xié)處理器等范圍廣泛的應(yīng)用系統(tǒng)要求。
  C80應(yīng)用系統(tǒng)包括主處理器和與之相連的保證處理器能完成既定功能的外部器件,存儲器為重要的外部器件之一。由于C80沒有內(nèi)部ROM,系統(tǒng)的啟動靠加載在存儲器高端區(qū)的引導(dǎo)程序,使系統(tǒng)配置程序運(yùn)行,故在一個應(yīng)用系統(tǒng)中,EPROM必不可少。在程序調(diào)試和與主機(jī)的通信中,常常使用SRAM或者雙口RAM。雙口RAM由于有中斷接口,信號燈機(jī)制以及示忙電路,方便了C80與主機(jī)或者外設(shè)進(jìn)行的通信和數(shù)據(jù)交換;電路中使用高速SRAM芯片,起到補(bǔ)充C80片內(nèi)SRAM的作用,在程序調(diào)試過程中,可加載應(yīng)用程序在其中,使系統(tǒng)能夠全速運(yùn)行。DRAM與片內(nèi)快速RAM的組合即保證了系統(tǒng)的高性能,又減少了系統(tǒng)成本。對于不同的系統(tǒng)應(yīng)用,C80需要外接的存儲器也不同。本文對SRAM、雙口RAM、EPROM、DRAM等存儲器與C80的接口進(jìn)行了分析。
1 外部存儲器接口
1.1 接口概述

  C80與外設(shè)的接口由傳輸控制器(TC)處理,TC通過外部存儲器接口訪問片外存儲器和外設(shè)。TC內(nèi)的一個狀態(tài)序列器產(chǎn)生與各種RAM和外設(shè)接口的周期控制信號,這些周期控制信號經(jīng)過外部邏輯器件譯碼生成訪問識別信息和存儲器訪問控制信號。訪問識別信息為AS,BS,CT,PS,UTIME等,它們輸入傳輸控制器用以配置外部存儲器訪問時序,使C80可動態(tài)地選擇存儲器類型,根據(jù)存儲器的速度選擇最佳訪問時序;存儲器訪問控制信號輸入外部存儲器控制端口,使C80能對外部存儲器進(jìn)行正確的操作。外部存儲器接口信號定義見參考文獻(xiàn)2。
  C80與存儲器接口框圖如圖1所示。PLD為控制邏輯產(chǎn)生部分,產(chǎn)生C80需要的存儲器識別信號以及C80對存儲器的訪問控制信號??偩€緩沖收發(fā)電路用于緩沖數(shù)據(jù)線,地址線和控制線,以及用于C80與5V外部器件的接口電平轉(zhuǎn)換(3.3V到5V)。存儲器電路包括SRAM,雙口RAM,DRAM,EPROM。


  C80與存儲器接口可分為地址通道,數(shù)據(jù)通道和控制通道。地址通道由地址總線組成,根據(jù)AS值的不同,決定地址線連接方式。數(shù)據(jù)通道由數(shù)據(jù)總線組成,根據(jù)BS值的不同,決定數(shù)據(jù)總線寬度;系統(tǒng)啟動時,在系統(tǒng)復(fù)位信號的上升沿采樣UTIME信號,確定C80運(yùn)行時使用何種數(shù)據(jù)輸出模式,當(dāng)UTIME=0時,工作于大端模式(Big_endian),反之,工作于小端模式(Little_endian)。C80的數(shù)據(jù)輸出模式在下次系統(tǒng)復(fù)位前一直有效。數(shù)據(jù)總線和CAS信號對應(yīng)關(guān)系如表1。
  控制通道由存儲器讀寫信號,選通信號以及C80訪問識別信息組成。C80端讀寫信號通過緩沖器與存儲器讀寫端口相連。為簡化接口邏輯,片選信號采用部分譯碼方式產(chǎn)生,僅對C80地址線高4位A[31:28]進(jìn)行譯碼。存儲器地址分配如表2所示。

?


  C80訪問外部存儲器時,行時間狀態(tài)碼在列訪問期間將會改變;C80訪問DRAM時,由于地址總線復(fù)用,其最高位地址在列訪問時無效。故參與存儲器譯碼的地址信號和狀態(tài)信號必須用C80輸出的RL信號來鎖存,設(shè)鎖存后輸出的地址信號為LA[31:28],鎖存后的狀態(tài)信號為LS[5:0]。
  另外,由于C80并不是每次都輸出一個有用的地址(如刷新操作),總線沖突有可能發(fā)生。因此,行時間狀態(tài)碼信號STATUS必須參與譯碼,用來指示C80的時序類型。故片選信號譯碼時需要加入下列信號:
  !ENB=!REF & !SDRAM_CYC(1)
  這里:
  REF=!LS5 & !LS4 & !LS3&!LS2 & LS1 & !LS0   ″刷新周期
  SDRAM_CYC=!LS5 & !LS4 & !LS3 & !LS2 & LS1 & LS0 #!LS5 & !LS4 & LS3 & LS2 &!LS1 & !LS0  ″SDRAM周期
  在行時間的r2狀態(tài),C80采樣UTIME,如果UTIME=0,C80在該頁工作于用戶定時方式。此時,RAS和CAS變化的方式改變。在每個列訪問的c1周期,RAS有一個周期的低電平,以表明每個列訪問的開始,CAS選通對整個尋址時間都有效。因此,在用戶定時方式,RAS參與片選信號譯碼。
1.2 存儲器接口電路設(shè)計(jì)
1.2.1 SRAM接口
  如前述,CE譯碼由高位地址和狀態(tài)碼產(chǎn)生,如果UTIME=0,為了保證TC輸出有效的數(shù)據(jù),在寫周期,CE譯碼應(yīng)該加上RAS信號,以便對于不同的列訪問,CE信號有相應(yīng)的變化。CE譯碼如下:
  !CEx=!ENB & LA[31:28] & !RAS & !CASx & ! W# !ENB&LA[31:28] & !CASx & W  (2)
  C80的地址線,數(shù)據(jù)線,W信號經(jīng)過緩沖接于SRAM的相應(yīng)端口;SRAM端OE信號直接接地;經(jīng)過外部邏輯器件譯碼后生成的CEx信號送入SRAM的CE端。
1.2.2 雙口RAM接口
  雙口RAM用來實(shí)現(xiàn)C80與主機(jī)或者外設(shè)的通信和數(shù)據(jù)交換。由于有中斷接口,信號燈機(jī)制以及示忙電路,故與C80的接口比較復(fù)雜。
  C80的地址線,數(shù)據(jù)線,W信號經(jīng)過緩沖接于雙口RAM的相應(yīng)端口,其CE信號經(jīng)過外部邏輯器件產(chǎn)生,送入雙口RAM的CE端。對于16位存儲器,有高低字節(jié)選通信號UB,LB。根據(jù)C80輸出數(shù)據(jù)模式,緩沖后的CAS信號接UB,LB端。雙口兩邊有BUSY信號,中斷信號以及SEM信號。當(dāng)雙口兩邊器件同時訪問同一存儲單元時,示忙信號BUSY有效,表示有一個訪問沖突發(fā)生。當(dāng)一邊向雙口高端地址(FE和FF地址)寫入數(shù)據(jù),另一邊的中斷信號有效時,向所連接的器件指示有消息需要傳遞。雙口的SEM信號與用戶軟件結(jié)合,可把雙口存儲空間最多劃分為8個部分。利用雙口RAM的中斷信號和SEM信號可大大提高C80與外設(shè)或主機(jī)的通信能力。由于SEM信號和CE信號利用同一套地址和數(shù)據(jù)線選通雙口RAM上的不同的地址空間,故兩個信號不能同時有效。當(dāng)CE信號有效時,C80對雙口進(jìn)行正常的讀寫操作;當(dāng)SEM信號有效時,利用雙口RAM低3位地址,可用于讀寫8個SEM空間。此時,只使用數(shù)據(jù)線D0。如果SEM空間寫入數(shù)據(jù)1(D0位),讀出數(shù)據(jù)為1,表明申請存儲空間成功;否則,表明該存儲空間已被另一邊的器件占用。實(shí)現(xiàn)SEM信號有兩種方法,其一為當(dāng)需要對SEM空間訪問時,C80通過命令口使SEM信號置低,同時外部邏輯使CE信號無效,當(dāng)C80對雙口RAM空間訪問時,由于CE信號無效而SEM信號有效,C80能夠讀寫SEM空間的值。當(dāng)SEM信號無效時,進(jìn)行正常的雙口存儲空間訪問。雙口RAM譯碼邏輯方程如下(UTIME=0):
 ??!DPRAM-CS =LA[31:28] & !ENB & !RAS & !W & SEMR # LA[31:28] & !ENB & W & SEMR  (3)
  其次,可利用系統(tǒng)高位地址譯碼選通SEM空間和雙口RAM空間。邏輯實(shí)現(xiàn)如下所示(UTIME=0):
  !DPRAM-CS =LA[31:28] & !ENB & !RAS & !W # LA[31:28] & !ENB & W   (4)
  !SEM=LA[31:28] & !ENB    (5)
1.2.3 EPROM接口
  EPROM空間必須分配到C80地址空間的最高端,因?yàn)镸P復(fù)位時,從0XFFFF FFF8開始執(zhí)行程序。通常,這個地址上存儲一個帶有32位立即數(shù)的排空延遲槽的分支或跳轉(zhuǎn)指令,系統(tǒng)復(fù)位后,程序可轉(zhuǎn)移到所需的存儲空間繼續(xù)執(zhí)行。
  EPROM的G端接相應(yīng)的CAS端。經(jīng)過緩沖后的地址線和數(shù)據(jù)線直接與EPROM的地址和數(shù)據(jù)端口相連,EPROM的輸出允許信號OE,由外部邏輯產(chǎn)生。OE譯碼如下:
 ?。E=LA[31:28] & !ENB  (6)
1.2.4 DRAM接口
  與以往DSP器件不同,C80可以不通過外部邏輯而直接支持對DRAM的訪問,故使得C80對DRAM的接口邏輯變得與訪問靜態(tài)存儲器一樣簡單。C80的W信號和CAS信號經(jīng)過緩沖后直接與DRAM相應(yīng)端口連接。C80的8個CAS信號用于選擇字節(jié),對于64位的DRAM,C80的8個CAS信號全部有效,相應(yīng)地,C80邏輯地址的低3位不使用。DRAM模塊上的PD信號指示存儲器的大小和速度。通常,DRAM模塊由數(shù)片SIMM組成,對于4M×n組織的SIMM,查C80地址移位表,對應(yīng)的AS=100,每個SIMM的最低位接C80的A14。使用16MB的SIMM時,C80的A14~A24與DRAM的地址線連接。當(dāng)C80訪問DRAM時或者C80對DRAM刷新時,DRAS信號有效。刷新時,對于比較大的存儲空間,可利用刷新時輸出的刷新偽地址的低位參與譯碼來劃分刷新空間,本設(shè)計(jì)使用16MB的SIMM組成32MB的DRAM,當(dāng)A16=0,A17=0和A16=0,A17=1時刷新DRAM空間。DRAS譯碼如下:
  !DRAS0=(!RAS& LA[31:28] & !ENB & !BANK)
  # !RAS & REF & !LA17 & !LA16) (7)
  !DRAS1=(!RAS & LA[31:28] & !ENB & !BANK) # (!RAS & REF & LA17 & !LA16) (8)
  !BANK指示存儲器大小信號,由PD信號和選通存儲器子模塊的地址信號產(chǎn)生。當(dāng)SIMM為4MB或者16MB時,只有DRAS0有效;當(dāng)SIMM為8MB或者32MB時,DRAS0,DRAS1都有效。在本設(shè)計(jì)中,DRAS0接DRAM模塊的RAS0和RAS2端,DRAS1接DRAM模塊的RAS1和RAS3端。
1.3 存儲器識別信息的產(chǎn)生
  為了能與外部存儲器接口,C80必須知道存儲器的類型。外部邏輯電路在行時間中輸入的周期狀態(tài)信息標(biāo)識了存儲器地址線移位數(shù),數(shù)據(jù)總線寬度,訪問速度,頁大小等,這些輸入為AS、BS、CT、PS、UTIME,稱之為存儲器識別信息。只有讀取了這些參數(shù)值,C80才能以正確的方式訪問存儲器。
  如前所述,存儲器識別信息從C80輸出的地址信號和狀態(tài)信號經(jīng)外部邏輯譯碼得到,由于C80必須在行時間的r2狀態(tài)讀取這些值,故存儲器識別信息譯碼不能使用經(jīng)過鎖存后的地址信號和狀態(tài)信號,否則,將不能滿足C80的時序要求。
  對于快速SRAM和DRAM,C80使用頁模式訪問,可以大大提高系統(tǒng)速度。對于慢速器件,如EPROM,頁模式被禁止,即PS=1000。當(dāng)C80與靜態(tài)存儲器連接時,地址不需要移位,故C80的地址線直接對應(yīng)于存儲器的地址線(應(yīng)考慮總線寬度),此時,AS=000。C80訪問各存儲區(qū)時,識別信息定義如表3。


  表中不同類型存儲器的識別信息譯碼邏輯的HDL描述如下:
 ?。繰ADIX 2;″二進(jìn)制
  AS=[AS2..AS0];″地址移位選擇
  BS=[BS1..BS0];”數(shù)據(jù)總線寬度
  CT=[CT2..CT0];″列訪問時序
  PS=[PS3..PS0];”存儲頁面大小
  REC=[AS,BS,CT,PS,UTIME];“存儲器識別信息
  REC_DRAM=[100,11,111,1100,1];
  “DRAM區(qū)存儲器識別信息”
  REC_SRAM=[000,10,110,1010,0];
  “SRAM區(qū)存儲器識別信息
  REC_DPRAM=[000,01,110,1100,0];
  “雙口RAM區(qū)存儲器識別信息
  REC_EPROM=[000,01,111,1000,1];
  “EPROM區(qū)存儲器識別信息
  REC_SEM=[000,01,111,1000,1];
  “SEM區(qū)存儲器識別信息
  @RADIX 1010;
  S=[STATUS5..STATUS0];
  AL=[A17..A16];
  REF=2
  AL1=0
  AL2=2;
  A=[A31..A28];“使用高4位地址譯碼
  DRAM_AV=10;“DRAM地址區(qū)
  SRAM_AV=11;“SRAM地址區(qū)
  DPRAM_AV=12;“雙口RAM地址區(qū)
  EPROM_AV=15;“EPROM地址區(qū)
  SEM_AV=13;“SEM區(qū)
  Equations
  when ((A==DRAM_AV)# (S==REF & (AL==AL1 # AL==AL2)))
  then REC=REC_DRAM;else
  when ((A==SRAM_AV) & (S==REF & (AL==AL1 # AL==AL2)))
  then REC=REC_SRAM;else
  when ((A==DPRAM_AV) & (S=REF & (AL==AL1 # AL==AL2)))
  then REC=REC_DPRAM;else
  when (((A==EPROM_AV) # (A==SEM_AV)) & (S==REF &(AL==AL1 # AL==AL2)))
  then REC=REC_EPROM;
  根據(jù)C80不同的外設(shè),可以很方便地對識別信息進(jìn)行修改,以適應(yīng)不同的設(shè)計(jì)要求。
2 時序分析
  C80的地址線,數(shù)據(jù)線,W信號,CAS信號經(jīng)過緩沖與存儲器連接,應(yīng)考慮這些信號線的延遲;由于有些控制信號由外部邏輯產(chǎn)生,應(yīng)考慮其最大的邏輯延遲。時序分析,主要是把存儲器和C80的時序參數(shù)加上外部邏輯器件的最大最小延遲綜合考慮后的結(jié)果。經(jīng)過分析,接口時序滿足要求。
  總之,本文詳細(xì)分析了C80與幾種常用存儲器的接口關(guān)系。這些結(jié)果可作為電路設(shè)計(jì)時的參考。由于C80的TC支持多種外設(shè),如FIF0,VRAM,SDRAM,限于篇幅,本文未進(jìn)行討論,但其接口原理和分析方法類似。讀者可在本文的基礎(chǔ)上,結(jié)合應(yīng)用需要,設(shè)計(jì)出滿足要求的各種外設(shè)接口。
參考文獻(xiàn)
1 The User's Guides of The TMS320C80.TI公司,1996
2 The User's Guides of Transfer Controler of The TMS320C80.TI公司,1996
3 The Data Sheet of The TMS320C80.TI公司,1996

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容