基于EMIF接口的數(shù)據(jù)采集系統(tǒng)的設計
近年來,隨著微控制器的發(fā)展,各類工業(yè)控制產(chǎn)品對現(xiàn)代數(shù)字控制器的需求也越來越大。這又反過來推動了現(xiàn)代大規(guī)模集成電路和微控制器的不斷發(fā)展,同時各類數(shù)字處理器的工作頻率也越來越快,例如TI公司的控制器TMS320C6000可達到200 MHz。而為了支持與各種外部存儲器之間的無縫對接,TMS320C6000系列處理芯片加入了外部存儲器接口(The External Memory Interface,EMIF)。本次設計主要是以TI公司的浮點核芯片TMS320C6713為主要控制器。
1 浮點DSP TMS320C6713簡介
TMS320C6713是一款高性能浮點DSP,其工作主頻可達200 MHz,其單指令執(zhí)行周期僅5 ns,具有強大的定點浮點運算能力,運算速度高達1 600MIPS/1 200MFLOPS。
TMS320C6713處理器由3個主要部分組成:CPU內(nèi)核、存儲器和外設。
CPU中包含8個功能單元,可以并行操作;有兩組寄存器,每組寄存器由16個32位寄存器組成。片內(nèi)程序存儲器的總線寬度為256 bit,每個周期可取8條32位指令。外設包括擴展的直接存儲器訪問(EDMA)、低功耗、外部存儲器接口(EMIF),串口、McBSP接口、IIC接口和定時器等。TMS320C6713功能框圖如圖1所示。
從總體上歸納一下,TMS320C6713具有以下特點:
1)高性能浮點DSP,主頻高達200 MHz,運算速度最高可達1600 MIPS;
2)超長指令字(VLIW)DSP核:8個獨立功能單元(6個累加器和2個乘法器),32個32 bit的通用寄存器的存儲裝載結(jié)構(gòu),可以大大縮減代碼的指令包;
3)L1/L2存儲器結(jié)構(gòu):4 KB L1P程序緩存,4 KB L1D數(shù)據(jù)緩存:256 KB L2內(nèi)存:其中64 K字節(jié)可配置成緩存或存儲器,192 K字節(jié)統(tǒng)一映像內(nèi)存,可以靈活地定位為程序/數(shù)據(jù)空間;
4)32位外部存儲器接口(EMIF):可配置異步存儲器接口,擴展SRAM和E2PROM;可配置同步存儲器接口,可擴展SDRAM和SBSRAM;可尋址512 MB外存空間;
5)16位的HPI接口,可訪問CPU的任意可尋址空間;
6)2個多通道緩存串口(McBSP);
7)2個I2C總線主/從模式接口;
8)內(nèi)置靈活的PLL鎖相時鐘電路;
9)支持1EEE-1149.1(JTAG)邊界掃描接口;10)16路GPIO接口。
與其他DSP相比較而言,TMS320C6713的主要優(yōu)點是運行速度快、存儲配置方便、資源豐富,這些都給微控制器的設計帶來了很大的便利。
2 EMIF簡介
TMS320C6000的EMIF接口,即外部存儲器接口(The External Memory Interface),支持各種外部器件的無縫接口,包括:流水線式同步猝發(fā)SRAM(SBSRAM);異步DRAM(SDRAM);異步器件,包括SIAM、ROM和FIFO等;外部共享存儲器。
簡單來說,EMIF接口就相當于一個可配置的總線接口,其接口上面的信號線基本囊括了各種存儲器(SRAM、Flash RAM、DDR-RAM等)的讀寫接口信號。通過軟件配置相應的寄存器,可以使EMIF接口工作于和設計中使用的外部存儲器相匹配的固定的接口形式。但是與其他固定接口不同的是,EMIF接口讀寫時序中的高低電平的保持時間是可以通過寄存器設置的。
下面就本次設計使用的TMS320C6713為例詳細介紹一下EMIF。TMS320C6713的EMIF可以通過下面兩種請求器處理外部總線請求:片內(nèi)加強型直接存儲器存取EDMA控制器;外部共享存儲器的設備控制器。
圖2是TMS320C6713的EMIF接口信號示意圖。
圖2中,ECLKIN信號是系統(tǒng)提供的一個外部時鐘源。ECLKOUT信號是由內(nèi)部產(chǎn)生(基于ECLKIN),所有與本控制器EMIF接口對接的存儲器必須工作在ECLKOUT下。SBSRAM接口、SDRAM接口和異步接口的信號合并復用。這里的CE1片選空間支持所有的3種存儲器接口。
表1列出TMS320C6713的EMIF存儲器映射寄存器。通過設置這些寄存器,既可以將EMIF配置成為不同類型、不同位寬的總線接口,又可以配置總線讀寫時序的速度。由于EMIF接口的這一優(yōu)勢,設計者使用集成EMIF接口的控制芯片時,無論是擴展外部存儲設備,還是利用EMIF接口進行外部設備的讀取,其難度都大大降低。這在一定程度上也使得具有EMIF接口的高速控制核心(TMS320C6000系列的DSP)在將來能夠得到更加廣泛的應用。
[!--empirenews.page--]
3 硬件電路設計與實現(xiàn)
3.1 需求分析
本設計硬件任務主要是完成對主電路的電壓、電流的采集,具體的要求如表2所示。
3.2 硬件設計
圖3所示是TMS320C6713外圍的主要的功能框圖。
如圖3所示,本設計的外圍器件主要包括:雙口RAM,用于與定點核DSP芯片(如TMS320F2812)交換數(shù)據(jù);Boot Flash,當程序的大小大于192 KB,用于存儲啟動程序;SDRAM,用作運行部分程序的存儲介質(zhì);CPLD,用于邏輯擴展;AD7865,用于采集電壓電流的實時數(shù)據(jù)。
AD7865是一種高速、低功耗、四通道同步采樣的14位A/D轉(zhuǎn)換芯片,該芯片內(nèi)部有1個2.4μs的逐次逼近型A/D轉(zhuǎn)換器,4個跟蹤/保持放大器,內(nèi)部2.5V參考電壓,同時片上還集成有時鐘振蕩器和1個高速并行接口。AD7865可大大簡化硬件電路設計。AD574轉(zhuǎn)換時間為25μs,而AD7865完成四通道信號的同時轉(zhuǎn)換,則只需要100 μs。 AD7865內(nèi)部4個采樣通道的輸入信號是同步采樣的,只需發(fā)送1個脈沖的采樣啟動信號,芯片將自動完成采樣、逼近和存儲數(shù)據(jù)到片內(nèi)特定寄存器等工作,單路采樣速率350 KSPS,四路同時采集時100 kHz。
根據(jù)設計需求可設定調(diào)理電路放大倍數(shù)為2倍(反相放大),則實際值與A/D的采樣值之間的關(guān)系可由式(1)表示。
實際值=采樣值/213x10/(-2)×傳感器系數(shù) (1)
若采樣值為正數(shù)時可用式(1),否則需先進行求補處理。
AD7865的前端調(diào)理電路如圖4所示。
AD7865的外圍連接電路如圖5所示。
TMS320C6713的EMIF接口各信號線可以根據(jù)EMIF接口的示意圖(圖2)連接。在這里需要注意的是各信號線的上拉、下拉和信號線上的限流等措施??砂凑杖缦略瓌t設計:1)地址線和數(shù)據(jù)線以及控制線出口處可以串聯(lián)33 Ω的電阻,以達到限流的效果;2)對于某些敏感信號(如片選/CEx信號,保有信號/HOLD等等)在默認狀態(tài)下的電平,應該通過上拉和下拉進行確定。一般情況下,上拉電阻用10 kΩ的電阻,下拉電阻用1 kΩ的電阻。
CPLD的主要功能主要是實現(xiàn)邏輯擴展,在本設計中,CPLD的主要工作是在DSP6713和多片AD7865芯片之間進行信號的解析和傳遞。選用的CPLD芯片是ALTERA公司的EPM570,該芯片相較于其他同類型的CPLD而言,配置簡單、存儲容量大而價格較低廉。其外圍電路比較簡單,可以參考ALTERA公司關(guān)于該芯片的引腳功能表,在此不做贅述。[!--empirenews.page--]
4 軟件實現(xiàn)與部分流程圖
4.1 EMIF接口的配置實現(xiàn)
TMS320C6713要實現(xiàn)EMIF接口數(shù)據(jù)讀取的首要條件是正確配置EMIF接口的寄存器,以達到設計的要求。
本設計將CE3作為外部AD的尋址空間,因此在這里主要需要配置的EMIF寄存器主要是全局控制寄存器GBLCTL和CE3空間控制寄存器。當然,要正確地配置EMIF接口,必須要正確配置TMS320C6713的鎖相環(huán)(PLL)寄存器,在此處不具體說明。配置TMS320C6713的鎖相環(huán)(PLL)寄存器以后,就可以配置EMIF總線的幾個控制寄存器了。本設計中具體主要寄存器配置的幾個參數(shù)如下:
本設計中采用的EMIF接口方式為32位異步接口(MTYPE=0010b)。雖然AD7865是14位MD轉(zhuǎn)換器,配置為16位寬的接口方式也可以了,但是實際上,由于內(nèi)部數(shù)據(jù)處理時為了計算方便而采用了32位的數(shù)據(jù),數(shù)據(jù)位寬通常為32位,在進行外部讀取時,如果采用16位寬度,那么一次讀
取總線為了匹配數(shù)據(jù)長度,將要發(fā)送連續(xù)讀取兩次的讀信號,這在一定程度上雖然加快了A/D讀取的速度,但在后續(xù)數(shù)據(jù)處理方面則需要更多的操作和更多的時間,所以權(quán)衡各因素,采用32位寬異步接口方式。
4.2 實現(xiàn)A/D轉(zhuǎn)換和讀取數(shù)據(jù)
實際使用中,AD7865啟動轉(zhuǎn)換只需要給出片選和ADCONV信號。而它的讀取方式有兩種:
1)轉(zhuǎn)換過程中讀取數(shù)據(jù),即轉(zhuǎn)換一路讀取一路;
2)所有通道的信號均轉(zhuǎn)換完成后再順序讀取各通道數(shù)據(jù)。
兩種讀取方式的主要區(qū)別是:第1種讀取速度較快,但是時序要求較高,硬件連接復雜,增加軟硬件設計的難度;而第2種讀取速度相對較慢,但是時序要求不高,軟硬件設計也相對簡單??紤]到系統(tǒng)的可靠性,同時CPLD完成時序的能力較差,故本設計采用了第2種讀取方式。
實際采用的A/D轉(zhuǎn)換和讀取的主要流程如圖6所示。
5 測量結(jié)果
本文完成輔助控制器的設計后,對軟硬件進行測試。
主要采用直流電源進行測試,測試分為正向電壓、反向電壓(即認為傳感器系數(shù)為1)。測試結(jié)果見表3。由表可知測試結(jié)果的誤差小于1%,完全符合設計要求。
6 結(jié)束語
由測量數(shù)據(jù)和控制器的計算結(jié)果可知,本設計完成了基于EMIF接口的數(shù)據(jù)采集系統(tǒng)的設計任務。由系統(tǒng)采集得到的數(shù)據(jù)誤差較小,可以滿足各類工程的需求。通過在線調(diào)試??煽吹皆趯嶋H采樣過程中,采樣數(shù)據(jù)是在一個值附近波動,在某些對于數(shù)據(jù)的實時度需求不是很高,而對數(shù)據(jù)的精確度需求較高的場合,可通過求取某一段較短時間內(nèi)的采樣平均值的方法來提高數(shù)據(jù)的精度。而且,由于控制器選用性能較高的TMS320C6000系列DSP,其性能和資源還有很大的可利用率。系統(tǒng)在采集數(shù)據(jù)完成以后,可以高速高精度的進行電力系統(tǒng)的參數(shù)計算,比如三相電壓/電流和相位、有功功率和無功功率、功率因素以及諧波分析等計算。