《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > CPLD在無功補償控制儀鍵盤設計中的應用
CPLD在無功補償控制儀鍵盤設計中的應用
摘要: 本控制儀以單片機80c196kc為核心,集無功補償、電度量計量、電能質量監測及通信于一體,能實時顯示電網的各項參數,通過鍵盤可人工設定系統運行的參數。單片機外圍芯片PSD8XX及復雜可編程邏輯器件(CPLD)的使用不僅使系統的硬件電路簡化,而且使系統的性能提高。本文將討論用CPLD來實現控制儀的鍵盤系統,給出了硬件電路和軟件設計方法。
Abstract:
Key words :

     摘 要:本控制儀以單片機80c196kc為核心,集無功補償、電度量計量、電能質量監測及通信于一體,能實時顯示電網的各項參數,通過鍵盤可人工設定系統運行的參數。單片機外圍芯片PSD8XX及復雜可編程邏輯器件(CPLD)的使用不僅使系統的硬件電路簡化,而且使系統的性能提高。本文將討論用CPLD來實現控制儀的鍵盤系統,給出了硬件電路和軟件設計方法。

  1 引言

  無功補償裝置是用于補償電網無功功率的不足,提高功率因數,保證供電系統安全運行和節約電能的設備,其核心是控制儀。本控制儀集無功補償、電度量計量、電能質量監測及通信于一體,對電網參數進行實時采樣與計算并把各項參數顯示在LCD上,還可通過鍵盤進行系統參數設置,用于改變控制儀的運行模式等。

  控制儀的最小系統由單片機80c196kc和可編程單片機外圍接口芯片PSD834F2組成,這樣既省去了地址鎖存器和譯碼器等一些小規模芯片,使硬件電路得到了簡化,又提高了系統的可靠性。系統運行所需要的程序、數據和參數均放在PSD834F2中。用復雜可編程邏輯器件(CPLD)取代一些數字器件擴展系統的外圍電路,進一步提高了系統的性能,還便于調試和維護。本文以下將具體介紹如何用CPLD來擴展鍵盤和顯示電路。

  2 鍵盤輸入模塊的硬件設計

  鍵盤輸入主要用于現場電流變比,電容器組數,單組電容器容量,電壓上、下限,諧波上限,控制儀地址編號等系統參數設置。而且與顯示模塊配合用于查看各相電壓、電流,無功功率,有功功率,功率因數等的情況。

  設計鍵盤時,如果采用軟件掃描的方式,雖然硬件電路簡單,但掃描會耗去CPU不少時間,降低系統的整體性能;如果采用接口芯片8279來管理鍵盤,雖可代替CPU完成對鍵盤的控制,減輕CPU的負擔,但8279體積大且功能單一。所以,本系統采用復雜可編程邏輯器件(CPLD)來設計鍵盤的接口電路,完成對鍵盤的掃描工作,當有鍵按下時,則產生中斷信號供CPU讀取掃描碼。除此之外,CPLD還可實現其它模塊的接口電路以及完成地址譯碼等功能。

  本系統采用4X4鍵盤,其硬件電路如圖1:

圖1 4X4 鍵盤框圖

  CPLD采用LATTICE公司的ispLSI1016E-100L器件,該器件包括32個I/O引腳,4個專用引腳,集成密度為2000個PLD等效門,引腳至引腳的延遲為7.5ns,工作頻率為100MHz。該器件由集總布線區(GRP)和萬能邏輯塊(GLB)構成,GLB通過GRP連接起來。

  對復雜可編程邏輯器件(CPLD)內部邏輯功能的描述方式有多種,本系統采用了原理圖輸入與VHDL語言描述相結合的方式,這樣可以發揮兩者的優勢,加快開發進程。設計時采用層次化設計,描述系統總體功能的最上層使用原理圖輸入,而原理圖中的某些功能模塊采用VHDL編寫。實際原理圖如圖2:

圖2 鍵盤邏輯實際原理圖

  上圖中Module 1模塊實現分頻功能,CLK來自單片機80C196KC的CLKOUT腳,其周期為3個時鐘振蕩周期,占空比為33%。若單片機用16M晶振,其頻率約為:16M/3=5.33M。Module 1 把頻率降至約1K,Module 2模塊以一秒的間隔使O3~O0依次循環輸出低電平進行鍵盤掃描 。當有鍵按下時,I3~I0中有一個為低電平,異或門輸出1個高電平脈沖,鎖存鍵盤狀態并向單片機申請中斷。系統為鍵盤分配的地址空間為0xf100~0xf1ff,在此范圍內可讀取鍵盤的掃描碼。

  由于篇幅有限,以下只給出Module 2的VHDL語句,具體如下:

  LIBRARY ieee;

  USE ieee.STd_logic_1164.ALL;

  USE ieee.std_logic_unsigned.ALL;

  ENTITY Module2 IS

  PORT ――定義端口

  ( clk :IN std_logic;

  q :OUT std_logic_vector(3 DOWNTO 0)

  );

  END Module2;

  ARCHITECTURE Module2 of Module2 IS

  BEGIN

  PROCESS(clk)

  VARIBLE sum:integer:=0; ――定義變量sum,初值為0

  BEGIN

  IF(clk’event AND clk=’1’)THEN

  sum:=sum+1; ――clk為上升沿時,sum加1

  IF(sum>=5)THEN

  sum:=1;

  END IF;

  END IF;

  CASE sum IS ――根據sum輸出相應的值

  WHEN 1 => q<=“1110”;

  WHEN 2 => q<=“1101”;

  WHEN 3 => q<=“1011”;

  WHEN 4 => q<=“0111”;

  WHEN THERS => q<=“1111”;

  END CASE;

  END PROCESS;

  END Module2;

  3 鍵盤掃描碼與相應鍵的對應關系

  中斷服務程序讀取寄存器FD18中的掃描碼,經過判斷就可知道按下的是哪一個鍵,然后轉入相應的程序進行處理。鍵號和掃描碼的具體對應關系如表1:

表1 鍵號和掃描碼對應表

  4 鍵盤輸入模塊的軟件設計

  系統的一些基本參數可以通過鍵盤來設置或改變,每按下一鍵,CPLD掃描到鍵值后向CPU申請中斷。CPU進入鍵盤管理中斷程序后,讀取、存儲鍵值并置接收到鍵值標志。主程序識別到標志,對接收到的鍵值進行處理。

  參數設置格式是:A**B**…*B。也就是說,按‘A’鍵進入設置狀態,‘**’的組合表示設置項目,‘B’確認設置項目,‘**…*’所設置項目的數值,最后的‘B’是結束符,表示此次設置結束。設置步驟的軟件處理流程如圖3:

圖3 系統參數設置處理流程圖

  5 結束語

  用復雜可編程邏輯器件(CPLD)擴展的鍵盤接口經過實用,效果較好,既提高了單片機的響應速度,又簡化了硬件電路。此外,CPLD還可用于其它的接口設計,使其性能得到進一步體現。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久99频这里只精品23热 视频 | 日韩欧美一区二区三区不卡在线 | 精品久久久中文字幕一区 | 亚洲一区 中文字幕 久久 | 亚洲国产精品一区二区第四页 | 久热免费在线观看 | 久久怡红院亚欧成人影院 | 视频一二三区 | 日韩精品一区二区在线观看 | 日日摸天天摸狠狠摸视频 | 免费播放国产性色生活片 | 男女视频免费观看 | 国产精品久久一区二区三区 | 成人午夜性a一级毛片美女 成人午夜亚洲影视在线观看 | 成人午夜网| 欧美另类专区 | 97在线观看视频免费 | 美女视频黄在线观看 | 国产欧美日韩精品一区二 | 国产成人一区二区三区高清 | 亚洲性欧美 | 成人禁在线观看网站 | 欧美午夜视频一区二区 | 日韩一级免费视频 | 欧美一区二区在线 | 久草影视在线观看 | 日本久久综合 | 精品国产三级a | 亚洲视频中文字幕在线 | 一区二区视频在线 | 欧美成网站| 99精品国产在热久久 | 久久中出| gdcm01果冻传媒 | 国产高清片 | 另类一区二区三区 | 正能量www正能量免费网站 | 欧美成人观看免费版 | 一区二区三区久久 | 新版天堂资源中文8在线 | 欧美一级视频 |