文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.02.018
中文引用格式: 卞楠,馬聰. 基于CPLD的光伏數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(2):68-70.
英文引用格式: Bian Nan,Ma Cong. Design of photovoltaic data acquisition system based on CPLD[J].Application of Electronic Technique,2016,42(2):68-70.
0 引言
當(dāng)光伏陣列處于遮陰條件時,需要對每個電池板進行光照強度的采集,以便完成最大功率點跟蹤控制的設(shè)計,使光伏陣列更高效穩(wěn)定地工作[1]。高速數(shù)據(jù)采集系統(tǒng)在現(xiàn)代工業(yè)的各個領(lǐng)域中應(yīng)用越來越廣泛,基于單片機、ARM的數(shù)據(jù)采集技術(shù)已經(jīng)很成熟,作為一種復(fù)雜可編程邏輯器件,CPLD(Complex Programmable Logic Device)這些年來發(fā)展迅猛,以其極高的集成度、穩(wěn)定的性能以及高速、易用的特點,在各個領(lǐng)域都得到了廣泛的應(yīng)用[2]。因此,本文為了實現(xiàn)對光照強度數(shù)據(jù)進行多路并行采集,采用CPLD作為核心器件進行系統(tǒng)設(shè)計。
在檢測控制系統(tǒng)中,當(dāng)需要采集的信號特別多時,傳統(tǒng)的方法是利用單片機及其他芯片擴展系統(tǒng)資源來實現(xiàn),但是這樣做會增加大量的外部電路和系統(tǒng)成本,并且增大了系統(tǒng)設(shè)計的復(fù)雜性。CPLD是一種具有豐富的可編程I/O 引腳的器件,具有在系統(tǒng)可編程、使用方便靈活、可用I/O端口多的特點,可實現(xiàn)復(fù)雜的數(shù)字邏輯功能。和單片機結(jié)合可較容易實現(xiàn)數(shù)據(jù)的采集任務(wù)[3]。
FIFO(First Input First Output)是一種廣泛應(yīng)用在設(shè)計中的用來作為緩沖的存儲器,它能對數(shù)據(jù)進行快速順序的存儲和發(fā)送,主要用來解決不同速率器件間的速率匹配問題。本系統(tǒng)通過精心設(shè)計FIFO體系結(jié)構(gòu),可以實現(xiàn)FIFO工作性能的大幅提升[4]。
1 硬件電路設(shè)計
本設(shè)計的接收點為將每一路光照強度傳感器產(chǎn)生的模擬量轉(zhuǎn)化為CPLD可以接收并處理的數(shù)字量的信號調(diào)理電路,將它直接連入I/O口即可。本設(shè)計使用了40個接收點來接收40塊光伏電池板的光照強度數(shù)值,由于受到芯片資源的限制,故使用了3片CPLD同時工作。
本設(shè)計選用的CPLD芯片為Altera公司的MAX II EPM1270T144C5N芯片,此芯片在所有CPLD系列中其單位I/O成本最低,功耗最低,包含1 270個LE,相當(dāng)于40 000門數(shù)、980個等效宏單元數(shù)、8 KB用戶可用Flash 比特數(shù)。硬件電路設(shè)計如圖1。
1.1 CPLD采集電路的設(shè)計
因為數(shù)據(jù)通過信號調(diào)理電路已經(jīng)轉(zhuǎn)化為CPLD可以直接讀取的數(shù)字量,所以各信號直接接入CPLD 的普通I/O口即可。設(shè)計時對精度、穩(wěn)定性、功率等方面綜合考慮,采用了50 MHz有源晶振。CPLD在線編程和芯片自身的測試可通過JTAG接口來實現(xiàn)。
1.2 通信電路設(shè)計
系統(tǒng)與上位機通信數(shù)據(jù)輸出電路采用了無線傳輸模塊和RS232串口通信電路,采用雙通信是為了適應(yīng)不同環(huán)境下的工作,無線傳輸模塊采用了挪威NORDIC公司的NRF905射頻發(fā)射芯片。RS232串口通信電路則采用以MAX232電平轉(zhuǎn)換芯片為核心設(shè)計而成的串口通信電路。
1.3 電源電路設(shè)計
本系統(tǒng)控制器單片機與CPLD使用的都是3.3 V電源,但是液晶顯示屏、電池供電等采用的是5 V電源,故需要對電源進行變換才能給芯片供電,故對電源模塊進行了設(shè)計,采用了以穩(wěn)壓塊LM1117T為核心的5 V轉(zhuǎn)3.3 V電路。
1.4 控制電路設(shè)計
系統(tǒng)數(shù)據(jù)采集芯片采用的是CPLD,但是控制核心采用了TI公司的MSP430F169單片機,MSP430具有處理能力強、運算速度快、低能耗、片內(nèi)資源豐富、方便高效的開發(fā)環(huán)境等優(yōu)點,被廣泛應(yīng)用在各種工業(yè)場合。
2 軟件設(shè)計
2.1 CPLD采集數(shù)據(jù)主程序設(shè)計
由于CPLD芯片的設(shè)計特點,工作方式不像單片機等屬于順序執(zhí)行,而是采用速度更快的并行執(zhí)行,這意味著所有的接收口可以同時工作。每串?dāng)?shù)據(jù)都有起始位和停止位,并且起始位都為低電平,停止位為高電平。檢測數(shù)據(jù)是否開始傳輸只需判斷是否來了低脈沖,但這也可能是誤差信號,所以需設(shè)置判斷是否是真正的起始位,本設(shè)計采用的方法是每隔十分之一數(shù)據(jù)位的時間檢測一次,如果連續(xù)五次都為低脈沖,則確認(rèn)為有效數(shù)據(jù),并且每隔一個數(shù)據(jù)位開始接收。由于篇幅限制,只給出如圖2所示的一路數(shù)據(jù)端的主程序流程圖。
2.2 CPLD內(nèi)部FIFO算法判斷程序設(shè)計
為達到高速緩存的目的,以及解決存入數(shù)據(jù)與取出數(shù)據(jù)的速率不同步的問題,設(shè)計了一套FIFO寄存器的執(zhí)行流程,因為CPLD是并行操作,所以流程圖中各個判斷位是同時執(zhí)行。圖3為CPLD內(nèi)部FIFO寄存器的執(zhí)行程序。
2.3 單片機程序流程圖
單片機作為控制核心,但由于單片機I/O資源有限,所以3片CPLD采集芯片的輸出端接在一起,這就意味著需要MSP430單片機對CPLD進行片選控制,否則會出現(xiàn)數(shù)據(jù)紊亂。流程圖中的寄存器狀態(tài)位為本設(shè)計中設(shè)定的一個標(biāo)志位,設(shè)定的依據(jù)為當(dāng)數(shù)據(jù)超過FIFO寄存器的2/3時,就認(rèn)定FIFO即將溢出,將狀態(tài)位置1,否則置0。當(dāng)讀取到其中一片CPLD芯片的寄存器狀態(tài)位為1時,就讓其余2片CPLD所有的數(shù)據(jù)輸出為高阻態(tài),即輸出喪能??刂坪诵膯纹瑱C則作為數(shù)據(jù)的接收端根據(jù)需要來產(chǎn)生時鐘信號,被選中的CPLD按照單片機的時鐘信號進行數(shù)據(jù)傳輸,如圖4所示。
3 實驗結(jié)果分析
仿真驗證是CPLD設(shè)計中的重要一環(huán),Altera公司的CPLD自帶的Quartus II軟件本身帶有仿真功能,但是無法使用TestBench(類似于一種激勵產(chǎn)生器),對于復(fù)雜的設(shè)計,畫波形圖顯然不是明智的選擇。而Modelsim是業(yè)界最優(yōu)秀的HDL仿真軟件,其突出優(yōu)點能為用戶提供全面完善以及高性能的驗證功能,不需要硬件就能對CPLD的設(shè)計進行仿真,而且能夠觀察具體的模擬波形圖[5]。
本系統(tǒng)根據(jù)設(shè)計目標(biāo)要求做了實驗驗證,如圖5所示。CPLD的仿真驗證使用Modelsim-altera編寫了腳本程序?qū)庹諒姸葦?shù)據(jù)采集結(jié)果進行了實驗。Lock信號是單片機讀取數(shù)據(jù)的時鐘信號,高電平時讀取一串?dāng)?shù)據(jù)的高8位,低電平時讀取數(shù)據(jù)的低8位,data為輸出信號,txdb模擬輸入的信號。仿真顯示能夠順利讀取數(shù)據(jù),基本達到了設(shè)計要求。圖6為Modelsim的仿真波形圖,從圖中可直觀地看出讀取的數(shù)據(jù)。
4 結(jié)論
本文研究設(shè)計了基于CPLD和MSP430F169單片機的光伏數(shù)據(jù)采集系統(tǒng),完成了電路板的設(shè)計,測試了工作性能。通過不斷地在線編程完善和調(diào)試,該系統(tǒng)可以快速可靠地進行數(shù)據(jù)采集和處理,效果理想,可以應(yīng)用于光伏系統(tǒng)中。
參考文獻
[1] 龔耀,林小玲.光伏系統(tǒng)數(shù)據(jù)采集的設(shè)計與實現(xiàn)[J].儀表技術(shù)與傳感器,2011(8):108.
[2] 張云梓.基于CPLD的高速數(shù)據(jù)采集系統(tǒng)的實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[3] 程明,畢立恒,楊曉光.基于CPLD的數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].自動化技術(shù)與應(yīng)用,2007(8):100.
[4] 李冬,趙志凱.一種高性能異步FIFO的設(shè)計與實現(xiàn)[J].微電子學(xué)與計算機,2010(8):145.
[5] 張桂興,張英敏,張鵬.基于IP核與ModelSim的正弦波發(fā)生器仿真平臺建立[J].測控技術(shù),2011(1):28.