一種數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
近年來,隨著微控制器的發(fā)展,各類工業(yè)控制產(chǎn)品對現(xiàn)代數(shù)字控制器的需求也越來越大。微控制器是將微型計(jì)算機(jī)的主要部分集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī)。微控制器誕生于20世紀(jì)70年代中期,經(jīng)過20多年的發(fā)展,其成本越來越低,而性能越來越強(qiáng)大,這使其應(yīng)用已經(jīng)無處不在,遍及各個(gè)領(lǐng)域。例如電機(jī)控制、條碼閱讀器/掃描器、消費(fèi)類電子、游戲設(shè)備、電話、HVAC、樓宇安全與門禁控制、工業(yè)控制與自動化和白色家電(洗衣機(jī)、微波爐)等。微控制器(Microcontroller Unit,即MCU)可從不同方面進(jìn)行分類:根據(jù)數(shù)據(jù)總線寬度可分為8位、16位和32位機(jī);根據(jù)存儲器結(jié)構(gòu)可分為Harvard結(jié)構(gòu)和Von Neumann結(jié)構(gòu);根據(jù)內(nèi)嵌程序存儲器的類別可分為OTP、掩膜、EPROM/EEPROM和閃存Flash;根據(jù)指令結(jié)構(gòu)又可分為CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。
1 浮點(diǎn)DSP TMS320C6713簡介
TMS320C6713 DSP是美國TI于1997年推出的C6000系列DSP芯片的一款,它是32位高速浮點(diǎn)型DSP,時(shí)鐘最高頻率為300MHz。TMS320C6713主要特點(diǎn)有:(1)體系結(jié)構(gòu)采用超長指令字(VLIW)結(jié)構(gòu),單指令字長為32位,指令包里有8個(gè)指令,總字長達(dá)到256位。執(zhí)行指令的功能單元已經(jīng)在編譯時(shí)分配好,程序運(yùn)行時(shí)通過專門的指令分配模塊,可以將每個(gè)256位的指令包同時(shí)分配到8個(gè)處理單元,并由8個(gè)單元同時(shí)運(yùn)行。其最大處理能力可以達(dá)到2400MIPS。(2)采用二級緩沖處理,4KByte直接匹配的程序緩沖L1P,4KByte可匹配的數(shù)據(jù)緩沖L1D,256KByteL2額外匹配內(nèi)存。32位外部存儲器接口,可無縫連接SRAM、EPROM、Flash、SBSRAM和SDRAM。(3)豐富的外設(shè),包括DMA,EDMA,支持無需CPU參與可以在允許的地址空間里傳送數(shù)據(jù),擴(kuò)展總線,具有主機(jī)口和I/O端口操作等功能,多通道緩沖串口,其通過配置能和多種串行通信接口通信,兩個(gè)32位通用定時(shí)器等。
CPU中包含8個(gè)功能單元,可以并行操作;有兩組寄存器,每組寄存器由16個(gè)32位寄存器組成。片內(nèi)程序存儲器的總線寬度為256 bit,每個(gè)周期可取8條32位指令。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的通用寄存器的存儲裝載結(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):可配置異步存儲器接口,擴(kuò)展SRAM和E2PROM;可配置同步存儲器接口,可擴(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接口。
2 EMIF簡介
外部存儲器接口(EMIF),External Memory Interface,是TMS DSP器件上的一種接口。一般來說,EMIF可實(shí)現(xiàn)DSP與不同類型存儲器(SRAM、Flash RAM、DDR-RAM等)的連接。一般EMIF與FPGA相連,從而使FPGA平臺充當(dāng)一個(gè)協(xié)同處理器、高速數(shù)據(jù)處理器或高速數(shù)據(jù)傳輸接口。設(shè)計(jì)接口提供了一個(gè)FPGA塊至RAM的無縫連接。在讀/寫、FIFO或存儲器模式中,雙端口塊RAM的一側(cè)被用來實(shí)現(xiàn)與DSP的通信。另一側(cè)用于實(shí)現(xiàn)與內(nèi)部FPGA邏輯電路或平臺-FPGA嵌入式處理器的通信。在使用DSP的過程中,需要設(shè)計(jì)外部存儲器接口時(shí)可以參考TI的TMS320XX DSP External Memory Interface (EMIF) Reference Guide。其中XX代表某一種具體的dsp處理器。
TMS320C6000的EMIF接口,即外部存儲器接口(The External Memory Interface),支持各種外部器件的無縫接口。
簡單來說,EMIF接口就相當(dāng)于一個(gè)可配置的總線接口,其接口上面的信號線基本囊括了各種存儲器(SRAM、Flash RAM、DDR-RAM等)的讀寫接口信號。通過軟件配置相應(yīng)的寄存器,可以使EMIF接口工作于和設(shè)計(jì)中使用的外部存儲器相匹配的固定的接口形式。
下面就本次設(shè)計(jì)使用的TMS320C6713為例詳細(xì)介紹一下EMIF。TMS320C6713的EMIF可以通過下面兩種請求器處理外部總線請求:片內(nèi)加強(qiáng)型直接存儲器存取EDMA控制器;外部共享存儲器的設(shè)備控制器。
圖2是TMS320C6713的EMIF接口信號示意圖。
圖2中,ECLKIN信號是系統(tǒng)提供的一個(gè)外部時(shí)鐘源。ECLKOUT信號是由內(nèi)部產(chǎn)生(基于ECLKIN),所有與本控制器EMIF接口對接的存儲器必須工作在ECLKOUT下。SBSRAM接口、SDRAM接口和異步接口的信號合并復(fù)用。這里的CE1片選空間支持所有的3種存儲器接口。
表1列出TMS320C6713的EMIF存儲器映射寄存器。通過設(shè)置這些寄存器,既可以將EMIF配置成為不同類型、不同位寬的總線接口,又可以配置總線讀寫時(shí)序的速度。由于EMIF接口的這一優(yōu)勢,設(shè)計(jì)者使用集成EMIF接口的控制芯片時(shí),無論是擴(kuò)展外部存儲設(shè)備,還是利用EMIF接口進(jìn)行外部設(shè)備的讀取,其難度都大大降低。
3 硬件電路設(shè)計(jì)與實(shí)現(xiàn)
3.1 需求分析
本設(shè)計(jì)硬件任務(wù)主要是完成對主電路的電壓、電流的采集,具體的要求如表2所示。
3.2 硬件設(shè)計(jì)
圖3所示是TMS320C6713外圍的主要的功能框圖。
如圖3所示,本設(shè)計(jì)的外圍器件主要包括:雙口RAM,用于與定點(diǎn)核DSP芯片(如TMS320F2812)交換數(shù)據(jù);Boot Flash,當(dāng)程序的大小大于192 KB,用于存儲啟動程序;SDRAM,用作運(yùn)行部分程序的存儲介質(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完成四通道信號的同時(shí)轉(zhuǎn)換,則只需要100 μs。 AD7865內(nèi)部4個(gè)采樣通道的輸入信號是同步采樣的,只需發(fā)送1個(gè)脈沖的采樣啟動信號,芯片將自動完成采樣、逼近和存儲數(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接口各信號線可以根據(jù)EMIF接口的示意圖(圖2)連接。在這里需要注意的是各信號線的上拉、下拉和信號線上的限流等措施。可按照如下原則設(shè)計(jì):1)地址線和數(shù)據(jù)線以及控制線出口處可以串聯(lián)33 Ω的電阻,以達(dá)到限流的效果;2)對于某些敏感信號在默認(rèn)狀態(tài)下的電平,應(yīng)該通過上拉和下拉進(jìn)行確定。一般情況下,上拉電阻用10 kΩ的電阻,下拉電阻用1 kΩ的電阻。
CPLD的主要功能主要是實(shí)現(xiàn)邏輯擴(kuò)展,在本設(shè)計(jì)中,CPLD的主要工作是在DSP6713和多片AD7865芯片之間進(jìn)行信號的解析和傳遞。選用的CPLD芯片是ALTERA公司的EPM570,該芯片相較于其他同類型的CPLD而言,配置簡單、存儲容量大而價(jià)格較低廉。其外圍電路比較簡單,可以參考ALTERA公司關(guān)于該芯片的引腳功能表,在此不做贅述。
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)寄存器,在此處不具體說明。本設(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ù)讀取兩次的讀信號,這在一定程度上雖然加快了A/D讀取的速度。
4.2 實(shí)現(xiàn)A/D轉(zhuǎn)換和讀取數(shù)據(jù)
實(shí)際使用中,AD7865啟動轉(zhuǎn)換只需要給出片選和ADCONV信號。而它的讀取方式有兩種:
1)轉(zhuǎn)換過程中讀取數(shù)據(jù),即轉(zhuǎn)換一路讀取一路;
2)所有通道的信號均轉(zhuǎn)換完成后再順序讀取各通道數(shù)據(jù)。
兩種讀取方式的主要區(qū)別是:第1種讀取速度較快,但是時(shí)序要求較高,硬件連接復(fù)雜,增加軟硬件設(shè)計(jì)的難度;而第2種讀取速度相對較慢,但是時(shí)序要求不高,軟硬件設(shè)計(jì)也相對簡單??紤]到系統(tǒng)的可靠性,同時(shí)CPLD完成時(shí)序的能力較差,CPLD(Complex Programmable Logic Device)復(fù)雜可編程邏輯器件,是從PAL和GAL器件發(fā)展出來的器件,相對而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應(yīng)的目標(biāo)文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。
實(shí)際采用的A/D轉(zhuǎn)換和讀取的主要流程如圖6所示。
5 測量結(jié)果
本文完成輔助控制器的設(shè)計(jì)后,對軟硬件進(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è)值附近波動,在某些對于數(shù)據(jù)的實(shí)時(shí)度需求不是很高,而對數(shù)據(jù)的精確度需求較高的場合,可通過求取某一段較短時(shí)間內(nèi)的采樣平均值的方法來提高數(shù)據(jù)的精度。而且,由于控制器選用性能較高的TMS320C6000系列DSP,其性能和資源還有很大的可利用率。
朦煙