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