摘 要:為了提高電網(wǎng)和電力設(shè)備數(shù)據(jù)采集的效率和精度,設(shè)計一種高速高精度的數(shù)據(jù)采集系統(tǒng)。介紹32位微處理器Coldfire5307和高速4通道14位A/D轉(zhuǎn)換器AD7865的性能特點(diǎn),以Coldfire5307為核心,復(fù)雜可編程邏輯器件(CPLD)為邏輯控制芯片,采用AD7865實(shí)現(xiàn)多路信號的同步采樣,給出系統(tǒng)的軟硬件結(jié)構(gòu)。實(shí)驗(yàn)測試結(jié)果表明,系統(tǒng)能穩(wěn)定地工作,為參量分析提供準(zhǔn)確的數(shù)據(jù)來源。
關(guān)鍵詞:數(shù)據(jù)采集;高精度;Coldfire5307;AD7865
中圖分類號:TN98 文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2008)10-160-04
Power Acquisition System Based on Coldfire5307 and AD7865
WANG Jiupeng,SHANG Chunyang
(Institute of Information and Electromechanical,Xi′an Jiaotong University,Xi′an,710049,china)
Abstract:In order to improve the efficiency and accuracy of data acquisition in grid and power equipment,a new data acquisition system of high speed and precision is designed.The performance characteristics of 32 bit microprocessor Coldfire5307 and high-speed four-channel 14 bits A/D converter is introduced,Coldfire5307 is used as the core,Complex Programmable Logic Device (CPLD) is used as the logic control chip,and AD7865 is used to sample the multi-channel signals simultaneously,the system′s structure of hardware and software is also given.Experiments showed that the system can work steadily and provide accurate data for parametric analysis.
Keywords:data acquisition;high precision;Coldfire5307;AD7865
在電力系統(tǒng)中,電量測量儀是用來對電網(wǎng)和電力設(shè)備的電壓、電流、相位等電參量進(jìn)行測量,并進(jìn)行諧波和頻譜分析的儀器。其中,數(shù)據(jù)采集是非常重要的一環(huán),他是系統(tǒng)分析的數(shù)據(jù)來源。在測量的過程中,需要在現(xiàn)場同步采集三相電流和三相電壓共計6路電信號,同時進(jìn)行轉(zhuǎn)換處理。這不僅要求CPU的處理速度快、計算準(zhǔn)確,而且對A/D轉(zhuǎn)換的速度和精度也提出一定的要求。傳統(tǒng)的采集系統(tǒng)通常由MCS51單片機(jī)或96系列單片機(jī)構(gòu)成,采用單片機(jī)內(nèi)置的A/D轉(zhuǎn)換器進(jìn)行數(shù)據(jù)采集[1]。這樣不僅是因?yàn)閱纹瑱C(jī)集數(shù)據(jù)采集、處理、控制判斷與輸出于一身而負(fù)擔(dān)較重,還因其沒有專門的浮點(diǎn)計算單元和16位精度的限制,使得計算時間較長且精度不高,不能滿足復(fù)雜的后續(xù)處理的需要。
為了克服以上缺點(diǎn),本設(shè)計以32位嵌入式微處理器Coldfire 5307為核心,并采用14位模數(shù)轉(zhuǎn)換器AD7865構(gòu)成高速數(shù)據(jù)采集模塊,使低成本、高精度、多功能、便攜式電量測試儀的實(shí)現(xiàn)成為可能。
1 系統(tǒng)模型
測試儀的硬件系統(tǒng)在以32位嵌入式微處理器Coldfire 5307(MCF5307)為核心的主系統(tǒng)板基礎(chǔ)上,擴(kuò)展設(shè)計信號調(diào)理模塊和數(shù)據(jù)采集模塊。硬件結(jié)構(gòu)如圖1所示:
圖1 電量測試儀硬件結(jié)構(gòu)圖
在系統(tǒng)工作時,由于輸入到A/D轉(zhuǎn)換器的模擬信號有電壓范圍的限制,因此對輸入的電壓和電流信號,首先由信號調(diào)理模塊進(jìn)行一系列的范圍調(diào)整,轉(zhuǎn)換為適應(yīng)數(shù)據(jù)采集模塊的輸入信號,然后數(shù)據(jù)采集模塊采集信號并送入微處理器進(jìn)行處理及顯示。
2 AD7865的結(jié)構(gòu)及工作設(shè)置
2.1 A/D轉(zhuǎn)換器的技術(shù)指標(biāo)
A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)有轉(zhuǎn)換精度、轉(zhuǎn)換速度等。在選擇A/D轉(zhuǎn)換器時,除考慮這2項技術(shù)指標(biāo)外,還應(yīng)滿足其輸入電壓的范圍、輸出數(shù)字的編碼、工作溫度范圍和電壓穩(wěn)定度等方面的要求。
轉(zhuǎn)換精度是用分辨率和轉(zhuǎn)換誤差描述:分辨率表示轉(zhuǎn)換器對微小輸入變化量的敏感程度,通常用轉(zhuǎn)換器輸出數(shù)字量的位數(shù)來表示。他說明A/D轉(zhuǎn)換器對輸入信號的分辨能力;轉(zhuǎn)換誤差通常是以輸出誤差的最大值形式給出。他表示A/D轉(zhuǎn)換器實(shí)際輸出的數(shù)字量和理論上的輸出數(shù)字量之間的差別。
轉(zhuǎn)換時間是指A/D轉(zhuǎn)換器從轉(zhuǎn)換控制信號的到來開始,到輸出端得到穩(wěn)定的數(shù)字信號所經(jīng)過的時間。A/D轉(zhuǎn)換器的轉(zhuǎn)換時間與轉(zhuǎn)換電路的類型有關(guān)。
常用的A/D轉(zhuǎn)換器主要有雙積分型、逐次比較型和并行比較型3種。3種電路在精度、轉(zhuǎn)換速率及其他參數(shù)等方面各具特色,因而應(yīng)用都比較廣泛[2]。
2.2 AD7865的功能與結(jié)構(gòu)
AD7865是美國Analog Device 公司生產(chǎn)的一種高速、低功耗、4通道同步采樣的14位A/D轉(zhuǎn)換器,采用+5 V供電。內(nèi)部結(jié)構(gòu)如圖2所示:
圖2 AD7865內(nèi)部原理圖
芯片內(nèi)部有1個 2.4 μs的逐次逼近的ADC、4個跟蹤/保持放大器、內(nèi)部2.5 V參考電壓、片上時鐘振蕩器和一個高速并行接口。4個通道的輸入信號是同步采樣的,因而可以保存4路信號的相對相位信息。該芯片系列有AD7865-1,AD7865-2,AD7865-3三種型號,本設(shè)計采用的是AD7865-1。其允許±10 V和±5 V兩種輸入范圍。
VIN1~VIN4為4個模擬信號的輸入通道,每個通道有A和B兩個引腳。對于AD7865-1,每個輸入通道既可以設(shè)置為±5 V的輸入范圍,也可設(shè)置為±10 V的輸入范圍。若要設(shè)置成±5 V的輸入范圍,必須將管腳VINxA和VINxB相連接,輸入電壓VINxA同時加于二者之上;若要設(shè)置成±10 V的輸入范圍,必須將管腳VINxB與模擬地相連,輸入電壓施加在管腳VINxA上。管腳VINxA和VINxB輸入是對稱的并且可以互換,即在±10 V的輸入范圍時,如果為了PCB布線的方便,也可將VINxA接地,而輸入電壓接在管腳VInxB上[3]。在本設(shè)計中,將輸入電壓范圍設(shè)置成±10 V。
2.3 AD7865的工作方式設(shè)置
2.3.1 通道選擇
VIN1~VIN4的中任何幾個組合都可以被選中進(jìn)行轉(zhuǎn)換,選中的通道按照升序進(jìn)行轉(zhuǎn)換。通道選擇既可以用硬件通道選擇輸入管腳SL1~SL4(如果H/S接低電平),也可以通過對通道選擇寄存器進(jìn)行編程實(shí)現(xiàn)(如果H/S接高電平)。當(dāng)CONVXT變?yōu)檫壿嫺唠娖綍r ,若某硬件通道選擇輸入管腳接邏輯高電平(或通道選擇寄存器某一位為邏輯1),則標(biāo)志著相應(yīng)的輸入通道被選中。數(shù)據(jù)總線中的DB0~DB3(DB0代表通道1直到DB3代表通道4)是雙向的,并且在RD為高電平而CS和WR為低電平時作為通道選擇寄存器的輸入管腳。當(dāng)WR變?yōu)楦唠娖綍r,DB0~DB3的邏輯狀態(tài)被鎖入該寄存器。圖3為軟件控制選擇通道的時序圖。
圖3 通過軟件控制選擇通道的時序圖
本設(shè)計出于靈活性的考慮,選擇軟件控制方式。
2.3.2 啟動轉(zhuǎn)換和讀取結(jié)果
在選擇轉(zhuǎn)換通道之后,給CONVXT一個負(fù)脈沖,就可進(jìn)行1個轉(zhuǎn)換順序,在CONVXT的上升沿各路模擬信號被同時采樣,最少70 ns(圖4中t2)后BUSY管腳輸出變?yōu)楦唠娖?,?biāo)志轉(zhuǎn)換正在進(jìn)行,不能進(jìn)行新的轉(zhuǎn)換,當(dāng)他的輸出出現(xiàn)下降沿時標(biāo)志著各通道轉(zhuǎn)換結(jié)束[3]。轉(zhuǎn)換結(jié)果既可在轉(zhuǎn)換過程當(dāng)中在每個通道轉(zhuǎn)換完畢時被讀取,也可在各通道都轉(zhuǎn)換完畢時被依次讀出,出于可靠性方面的考慮,本設(shè)計選擇了后者,時序圖如圖4所示。
3 電量采集系統(tǒng)的硬件設(shè)計
3.1 Coldfire單片機(jī)介紹
Coldfire系列CPU是Freescale公司針對工業(yè)應(yīng)用設(shè)計的嵌入式微處理器,指令集結(jié)構(gòu)是可變長度的,可以是16位、32位或48位,其代碼的壓縮率要比傳統(tǒng)的68K系列的32位或64位CPU高,提高了存儲器的有效利用率,減小了總線寬度和對外存儲器的需求,從而從整體上降低了系統(tǒng)的成本。MCF5307是包含了Coldfire微處理器V3版本內(nèi)核的CPU,具有很高的性價比,主要有以下模塊:
(1)8 kB統(tǒng)一的Cache(即數(shù)據(jù)和指令在一起);
(2)4 kB的片上SRAM與核心同頻運(yùn)行,無需等待時間;
(3)整數(shù)/分?jǐn)?shù)乘法單元,與DSP的指令相仿;
(4) 硬件除法單元;
(5) 系統(tǒng)調(diào)試接口;
(6) 同步DRAM/異步DRAM支持;
(7) 四通道DMA控制器;
(8) 兩個通用定時器;
(9) 兩個全雙工串口;
(10)I2C總線;
(11)并行I/O口;
(12) 系統(tǒng)集成模塊SIM。
圖4 各通道轉(zhuǎn)換結(jié)束后讀取結(jié)果的時序圖
MCF5307在V2架構(gòu)的基礎(chǔ)上增強(qiáng)了許多功能,包括更深的指令流水線、分支加速和統(tǒng)一編址的 Cache,運(yùn)算能力為75 MI/S@90 MHz,316 MIPS@220 MHz,其強(qiáng)大的功能足以滿足高速數(shù)據(jù)處理的要求,并可以很容易地實(shí)現(xiàn)與8位、16位、32位等芯片的接口[5]。
3.2 高速高精度電量采集系統(tǒng)的硬件結(jié)構(gòu)設(shè)計
由于在電量測量中,需要同時采集三相電壓、電流共6路信號,因此使用2片AD7685-1,使其輸出數(shù)據(jù)線分別接至MCF5307的D[13:0]和D[29:16],將3路電壓信號接至1片AD7865的輸入通道,3路電流信號接至另1片AD7865。圖5為AD7865-1與MCF5307接口原理圖。
三相電壓和電流信號經(jīng)過信號采樣和調(diào)理電路后分別輸入到AD7865的模擬輸入通道,2個AD7865共同占用MCF5307的片選端nCS6,片選基地址由程序在初始化過程中完成,本設(shè)計中設(shè)置為0x66000000。
每個A/D轉(zhuǎn)換都同步采樣保持,4通道輪流轉(zhuǎn)換,即每次啟動A/D轉(zhuǎn)換后,連續(xù)轉(zhuǎn)換4個通道的采樣值。2片AD7865的A/D轉(zhuǎn)換啟動信號nCovert完全相同,均由圖中的邏輯模塊2將CPU的時鐘信號2500分頻后得到。因此,A/D轉(zhuǎn)換時自動循環(huán)啟動的,而不需要程序控制。每次6路電壓、電流信號被同時采樣,然后進(jìn)行6路采樣值的順序轉(zhuǎn)換,此時CPU并沒有讀取轉(zhuǎn)換結(jié)果。
Busy信號是AD7865轉(zhuǎn)換過程的標(biāo)志,不轉(zhuǎn)換時,Busy為低電平,在轉(zhuǎn)換的過程中Busy由低變高并保持高電平直至轉(zhuǎn)換結(jié)束。因此通過讀取Busy信號即可判斷轉(zhuǎn)換是否結(jié)束。讀取Busy信號的譯碼邏輯由圖中的邏輯模塊1完成,相當(dāng)于完成“地址=0x66000000”與“R/W=‘1’”兩個條件的“與”。圖中邏輯模塊3完成的功能與模塊1類似,即相當(dāng)于“地址=0x66000000”和“R/W=‘0’”兩個條件邏輯“與”,得到AD7865的寫信號“Wr”有效;“地址=0x66000000”和“R/W=‘1’”兩個條件邏輯“與”,得到AD7865的讀信號“Rd”有效。
圖5 AD7865-1與MCF5307接口原理圖
圖5中的3個邏輯模塊都是由1片CPLD芯片EPM3064ATC100-10完成的。
4 電量測試系統(tǒng)的軟件設(shè)計
4.1 數(shù)據(jù)采集系統(tǒng)的程序流程圖
為了方便頻譜分析,對于工頻50 Hz的采樣信號,規(guī)定每周期采樣512點(diǎn),實(shí)際采樣頻率為25.6 kHz,并且每次連續(xù)采樣4個周期,總采樣點(diǎn)數(shù)為2 048點(diǎn)。本系統(tǒng)的A/D轉(zhuǎn)換是由CPLD定時器控制并且連續(xù)循環(huán)啟動的,程序只控制實(shí)現(xiàn)讀取當(dāng)前信號的A/D轉(zhuǎn)換值。流程圖如圖6所示。
首先分配好數(shù)據(jù)緩沖區(qū),然后先等待AD7865的Busy信號變?yōu)榈碗娖剑硎旧弦淮蔚腁/D轉(zhuǎn)換已經(jīng)結(jié)束,再等待Busy信號變?yōu)楦唠娖綍r,表示該次A/D轉(zhuǎn)換開始;再次待Busy信號變?yōu)榈碗娖綍r,即可讀取A/D轉(zhuǎn)換的結(jié)果并存入緩沖區(qū)中。
4.2 編程示例
以每片AD7865采集3路信號為例,即第1片采集三相電壓信號,第2片采集三相電流信號。用C語言編程如下,在SingleStep On Chip(ColdFire)下調(diào)試通過。
首先定義如下一些變量:
unsigned long *AdcControlP;/* AD控制觸發(fā)信號地址*/
unsigned long *AdBufferP; /* AD轉(zhuǎn)換結(jié)果對應(yīng)地址*/
unsigned long *AdcStatusP; /* AD轉(zhuǎn)換狀態(tài)對應(yīng)基地址*/
unsigned long AdcStatus;/*存放AD轉(zhuǎn)換狀態(tài)*/
圖6 A/D轉(zhuǎn)換程序流程圖
采用查詢方式讀取結(jié)果的程序如下:
for(i=0;i<100;i++)
{
AdcStatus=*(MyBoard0.AdcStatusP);
while(0x00!=(0x03AdcStatus))
{AdcStatus=*(MyBoard0.AdcStatusP);}
/*AD轉(zhuǎn)換已經(jīng)完成,讀取數(shù)據(jù)*/
*AdBufferP=0x3fff3fff(*(MyBoard0.AdcResultP));
/*高低14分別對應(yīng)兩塊AD的轉(zhuǎn)換結(jié)果*/
}
這樣,6個通道的轉(zhuǎn)換結(jié)果就被存在指針AdcBufferP所指的單元中,進(jìn)而可進(jìn)行相應(yīng)的處理。
5 結(jié) 語
實(shí)驗(yàn)表明,系統(tǒng)能實(shí)時、準(zhǔn)確、穩(wěn)定地進(jìn)行電量數(shù)據(jù)采集,是一種簡單易行、方便可靠的數(shù)據(jù)采集系統(tǒng)。
A/D轉(zhuǎn)換器是實(shí)現(xiàn)數(shù)據(jù)采集的關(guān)鍵部分,而數(shù)據(jù)采集是很多測試儀器的基本要求,實(shí)現(xiàn)一個精度相對較高的數(shù)據(jù)采集系統(tǒng)有著廣泛的應(yīng)用背景。AD7865不僅功能強(qiáng)大,而且與控制器的接口方便,本設(shè)計選用的Coldfire 5307微處理器具有很強(qiáng)的數(shù)據(jù)處理能力,在采樣結(jié)束后,可以高速、高精度地進(jìn)行交流電壓/電流有效值、直流電壓/電流平均值、基波頻率、同一相電壓電流相位夾角、頻譜中各諧波分量幅度、功率和阻抗等計算和處理。
參 考 文 獻(xiàn)
[1]張雋,丁仁杰.一種基于DSP和AD7865數(shù)據(jù)采集卡的設(shè)計與實(shí)現(xiàn)[J].電測與儀表,2004,41(6):38-39.
[2]馬義德,杜桂芳.微型計算機(jī)原理與應(yīng)用[M].蘭州:蘭州大學(xué)出版社,2001.
[3]AD7865 Data Sheet.Analog Devices,2000.
[4]MCF5307 ColdFire Integrated Miccroprocessor User′s Manual[R].Freescale,2000.
[5]ColdFire Family Programmer′s Reference Manual[R]. Freescale,2005.
[6]申忠汝,陶慧斌,曹建安.Coldfire嵌入式系統(tǒng)設(shè)計[M].西安:西安電子科技大學(xué)出版社,2006.
作者簡介 王久鵬 男,1983年出生,甘肅靖遠(yuǎn)人,碩士研究生。主要從事嵌入式系統(tǒng)設(shè)計、移動通信方面的研究。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。