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