摘 要:本控制儀以單片機80c196kc為核心,集無功補償、電度量計量、電能質(zhì)量監(jiān)測及通信于一體,能實時顯示電網(wǎng)的各項參數(shù),通過鍵盤可人工設(shè)定系統(tǒng)運行的參數(shù)。單片機外圍芯片PSD8XX及復雜可編程邏輯器件(CPLD)的使用不僅使系統(tǒng)的硬件電路簡化,而且使系統(tǒng)的性能提高。本文將討論用CPLD來實現(xiàn)控制儀的鍵盤系統(tǒng),給出了硬件電路和軟件設(shè)計方法。
關(guān)鍵詞:無功補償; 鍵盤; 復雜可編程邏輯器件
1 引言
無功補償裝置是用于補償電網(wǎng)無功功率的不足,提高功率因數(shù),保證供電系統(tǒng)安全運行和節(jié)約電能的設(shè)備,其核心是控制儀。本控制儀集無功補償、電度量計量、電能質(zhì)量監(jiān)測及通信于一體,對電網(wǎng)參數(shù)進行實時采樣與計算并把各項參數(shù)顯示在LCD上,還可通過鍵盤進行系統(tǒng)參數(shù)設(shè)置,用于改變控制儀的運行模式等。
控制儀的最小系統(tǒng)由單片機80c196kc和可編程單片機外圍接口芯片PSD834F2組成,這樣既省去了地址鎖存器和譯碼器等一些小規(guī)模芯片,使硬件電路得到了簡化,又提高了系統(tǒng)的可靠性。系統(tǒng)運行所需要的程序、數(shù)據(jù)和參數(shù)均放在PSD834F2中。用復雜可編程邏輯器件(CPLD)取代一些數(shù)字器件擴展系統(tǒng)的外圍電路,進一步提高了系統(tǒng)的性能,還便于調(diào)試和維護。本文以下將具體介紹如何用CPLD來擴展鍵盤和顯示電路。
2 鍵盤輸入模塊的硬件設(shè)計
鍵盤輸入主要用于現(xiàn)場電流變比,電容器組數(shù),單組電容器容量,電壓上、下限,諧波上限,控制儀地址編號等系統(tǒng)參數(shù)設(shè)置。而且與顯示模塊配合用于查看各相電壓、電流,無功功率,有功功率,功率因數(shù)等的情況。
設(shè)計鍵盤時,如果采用軟件掃描的方式,雖然硬件電路簡單,但掃描會耗去CPU不少時間,降低系統(tǒng)的整體性能;如果采用接口芯片8279來管理鍵盤,雖可代替CPU完成對鍵盤的控制,減輕CPU的負擔,但8279體積大且功能單一。所以,本系統(tǒng)采用復雜可編程邏輯器件(CPLD)來設(shè)計鍵盤的接口電路,完成對鍵盤的掃描工作,當有鍵按下時,則產(chǎn)生中斷信號供CPU讀取掃描碼。除此之外,CPLD還可實現(xiàn)其它模塊的接口電路以及完成地址譯碼等功能。
本系統(tǒng)采用4X4鍵盤,其硬件電路如圖1:
圖1 4X4 鍵盤框圖
CPLD采用Lattice公司的ispLSI1016E-100L器件,該器件包括32個I/O引腳,4個專用引腳,集成密度為2000個PLD等效門,引腳至引腳的延遲為7.5ns,工作頻率為100MHz。該器件由集總布線區(qū)(GRP)和萬能邏輯塊(GLB)構(gòu)成,GLB通過GRP連接起來。
對復雜可編程邏輯器件(CPLD)內(nèi)部邏輯功能的描述方式有多種,本系統(tǒng)采用了原理圖輸入與VHDL語言描述相結(jié)合的方式,這樣可以發(fā)揮兩者的優(yōu)勢,加快開發(fā)進程。設(shè)計時采用層次化設(shè)計,描述系統(tǒng)總體功能的最上層使用原理圖輸入,而原理圖中的某些功能模塊采用VHDL編寫。實際原理圖如圖2:
圖2 鍵盤邏輯實際原理圖
上圖中Module 1模塊實現(xiàn)分頻功能,CLK來自單片機80C196KC的CLKOUT腳,其周期為3個時鐘振蕩周期,占空比為33%。若單片機用16M晶振,其頻率約為:16M/3=5.33M。Module 1 把頻率降至約1K,Module 2模塊以一秒的間隔使O3~O0依次循環(huán)輸出低電平進行鍵盤掃描 。當有鍵按下時,I3~I0中有一個為低電平,異或門輸出1個高電平脈沖,鎖存鍵盤狀態(tài)并向單片機申請中斷。系統(tǒng)為鍵盤分配的地址空間為0xf100~0xf1ff,在此范圍內(nèi)可讀取鍵盤的掃描碼。
[$page] 由于篇幅有限,以下只給出Module 2的VHDL語句,具體如下:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;