鄧 明 王茂林 朱德鵬 黨 峰 李利杰
(1.中國石油集團測井有限公司華北事業(yè)部 河北任丘) (2.中國石油集團測井有限公司 陜西西安)
低速存儲器與高速DSP處理器接口技術(shù)
鄧 明1王茂林1朱德鵬1黨 峰2李利杰1
(1.中國石油集團測井有限公司華北事業(yè)部 河北任丘) (2.中國石油集團測井有限公司 陜西西安)
通過軟件插入等待的方法完成了低速存儲器與高速DSP處理器的接口技術(shù),該接口電路設(shè)計簡單、方法可行,為其它低速存儲器與高速DSP處理器的接口設(shè)計技術(shù)提供了一定的參考。
TMS320VC33;高速處理器;低速存儲器;接口技術(shù)
如何實現(xiàn)低速外圍與高速處理器的接口設(shè)計也就成為困擾許多工程師的一個難題。而存儲器是系統(tǒng)的主要部分,運行的程序需要存儲器,處理數(shù)據(jù)需要存儲器,存儲數(shù)據(jù)也需要存儲器,沒有存儲器,系統(tǒng)就無法工作,任何一個系統(tǒng),必須包括程序存儲器和數(shù)據(jù)存儲器。但是外部存儲器的讀寫速度相對于DSP處理速度而言,很難與其實現(xiàn)接口匹配,本文旨在實現(xiàn)低速存儲器與高速的DSP處理器的接口設(shè)。
1.1 總體設(shè)計方案
圖1給出了DSP與存儲器的總體接口電路示意圖。
圖1 DSP與存儲器接口電路框圖
圖1中,電源轉(zhuǎn)換芯片主要是為滿足存儲器I/O口電平跟DSP的I/O口電平的匹配而設(shè)計。
1.2 低速存儲器與TMS320VC33的接口電路設(shè)計
TMS320VC33(以下簡稱VC33)是性價比極高的32浮點型數(shù)字信號處理芯片[1],和C3X系列的前兩款相比,VC33的優(yōu)點表現(xiàn)在體積更小、性能更好、更易使用。VC33-120的浮點運算速度可達到 120 MFPLOPS,處理能力達到60 MIPS,片內(nèi)有34 K×32位雙存取的SRAM,總尋址空間為16M×32位[2],分為4部分,其中兩部分為16 K字節(jié),兩部分為2 K字節(jié),可以把SRAM映射成程序或數(shù)據(jù)存儲空間,當(dāng)系統(tǒng)的程序容量不超過34 K時,可充分利用內(nèi)部SRAM,單周期的并行邏輯運算和乘法運算能力,適于作高速高精度控制。
由于很多系統(tǒng)在進行數(shù)據(jù)處理的同時希望能記錄實時時間,即實時數(shù)據(jù)處理。所以,本文所描述的接口電路設(shè)計就是基于Dallas公司生產(chǎn)DS1251實時時鐘芯片,在系統(tǒng)中DS1251常常是多面手:作為系統(tǒng)實時時鐘的同時,還兼有外部RAM功能。但是擁有4 096 K非易失SRAM為全靜態(tài)非易失RAM的DS1251在作為外部存儲器時,其讀、寫周期最小時間為120 ns,而作為時鐘芯片被使用時,最小讀取周期也為70 ns,而VC33的運行速度為執(zhí)行一條指令18 ns,這樣在進行接口電路設(shè)計時就遇到困難,如何進行合理的接口電路設(shè)計?本文所采用的方法是軟件插入等待的方法,VC33內(nèi)部有一寄存器,其各位的功能如圖2所示。
圖2 主總線控制寄存器
圖2中SWW控制位與WTCNT控制位配合使用,這兩位字段定義了等待狀態(tài)發(fā)生器的方式,SWW= 00:等待,直到硬件給定的就緒信號有效;SWW=01:直到軟件制定的等待狀態(tài)數(shù)減少到0;SWW=10:硬件與軟件制定的等待狀態(tài)的邏輯“或”;SWW=11:硬件與軟件等待狀態(tài)的邏輯“與”,其中,WTCNT為設(shè)置軟件等待狀態(tài)數(shù)而存在,這三個字段規(guī)定了插入的等待狀態(tài)數(shù),其范圍是0(WTCNT=000)到7(WTCNT= 111)。
如何實現(xiàn)軟件插入等待在軟件設(shè)計中講到,其基本原理為:假如存儲器的讀寫速度為60 ns,這時DSP就應(yīng)該插入軟件等待數(shù)為4個等待狀態(tài),因為184= 6860,也就是說插入等待的狀態(tài)數(shù)與DSP的指令執(zhí)行速度的乘積大于等于外圍器件的讀寫速度即可[3]。就DS1251與VC33的硬件接口電路設(shè)計如圖3所示。
圖3 DS1251與TMS320VC33接口電路
圖3中74LVC2425接口電平轉(zhuǎn)換芯片,負(fù)責(zé)5 V的TTL電平與3.3 V的電平進行轉(zhuǎn)換,DSP的A22地址線存儲芯片DS1251的選通信號,當(dāng)A22地址線為低電平時,芯片DS1251被選中;圖中的R/W與STRB管腳信號邏輯“與”控制,當(dāng)邏輯與信號為低電平時, DS1251可以被寫;時鐘芯片的輸出時能管腳右DSP的CLK0取“非”后提供;開關(guān)S1、S2連接DSP的CLKMDO、CLKMD1管腳,其功能是選擇DSP的工作頻率,本電路設(shè)計中,CLKMD0與CLKMD1接高電平,即外部晶振5倍頻后提供DSP的工作頻率[4]。
根據(jù)圖1中所示,在選擇外部存儲器時,若其讀寫速度在插入軟件等待以后未能實現(xiàn)接口匹配,則可以選擇DSP降頻處理,或者是外部硬件等待實現(xiàn),在圖3中沒有給出硬件等待電路設(shè)計,讀者可根據(jù)自己的實際需要進行電路設(shè)計,如在DSP的硬件等待管腳接計數(shù)器電路等。
2.1 DS1251存儲器讀時序分析
DS1251內(nèi)部存儲器讀取時序如圖4所示。
根據(jù)DS1251資料介紹,DS1251的選通時間為120ns,這樣就很清楚地看到,DS1251不管是作為外部RAM,還是作為時鐘芯片,它的讀取周期遠(yuǎn)遠(yuǎn)大于DSP一條指令執(zhí)行18 ns的時間,在接口設(shè)計上就會產(chǎn)生很多的附加電路,本文通過DSP軟件插入等待的辦法,可以大大簡化系統(tǒng)的硬件結(jié)構(gòu),并且通過軟件編程的方法大大縮短了電路設(shè)計周期,還提高了整個系統(tǒng)工作效率。
圖4 DS1251存儲器讀時序
2.2 軟件流程設(shè)計
DSP通過軟件插入等待的方法解決低速存儲器與高速處理器之間的接口技術(shù),本文所述的VC33,通過設(shè)置內(nèi)部主總線控制器的內(nèi)容,實現(xiàn)軟件插入等待,其軟設(shè)計流程如圖5所示。
圖5 DS1251存儲器寫數(shù)據(jù)軟件流程
圖5中,數(shù)據(jù)十六進制數(shù)據(jù)6D8寫入到主總線控制寄存器(其地址是808064),其目的就是將主總線控制寄存器的SWW控制位設(shè)置為軟件等待狀態(tài),只有軟件等待狀態(tài)減少到“0”以后,才會執(zhí)行后續(xù)程序;同時將WTCNT控制位,即軟件等待狀態(tài)數(shù)設(shè)置為7,也就是軟件插入等待狀態(tài)數(shù)為7,這樣也就滿足我們在3.2節(jié)中提到的187=126120的原理,根據(jù)圖3的電路設(shè)計,由數(shù)據(jù)線A22控制DS1251的片選管腳,再由其操作時序分析,在對DS1251進行讀寫的時候須為低電平,同時,輸出使能要置高,寫使能管腳低電平有效,待以上設(shè)置全部完成以后,根據(jù)流程設(shè)計,設(shè)置數(shù)據(jù)存放地址[5],根據(jù)要求進行數(shù)據(jù)存放就可以了。DS1251的讀數(shù)據(jù)過程跟寫數(shù)據(jù)過程大致相似。
本文通過作者自己的電路設(shè)計,成功地解決了低速存儲器與高速DSP處理器之間的接口電路設(shè)計,其主要方法是通過軟件插入等待的方法。該方法不僅大大的簡化了硬件電路的設(shè)計,還為今后電路的再次改動設(shè)計也提供了方便的平臺,同時提高了電路的工作效率,運算速率提高近8s。通過對多種存儲器的性能比較、分析,在存儲器選這方面提供了一定的參考價值,通過實驗證明,文中接口電路設(shè)計方法簡單、可行。
[1] Texas Instrument.TMS320VC33 Digital Signal Processor. 1999(資料)
[2] Texas Instrument.TMS320C3x User′s Guide.1997(資料)
[3] 謝 雁,黨瑞榮,謝 高,等.電或工品發(fā)火過程的無損耗檢測方法[J].火工品,2005,27(4)
[4] 謝 雁.DSP芯片在超聲波鉆井測漏儀中的應(yīng)用[J].電子技術(shù)應(yīng)用.2004,30(10)
[5] 黨瑞榮.TMS320VC3X DSP原理與應(yīng)用[M].西安:陜西省科學(xué)技術(shù)出版社,2002
TP343
B
1004-9134(2010)03-0085-03
鄧 明,男,1962年生,工程師,河北工業(yè)大學(xué)畢業(yè),現(xiàn)在中國石油集團測井有限公司華北事業(yè)部從事測井儀器維修工作。郵編: 062552
2009-11-05 編輯:高紅霞)