tft每日頭條

 > 科技

 > 可編程邏輯器件的設計流程

可編程邏輯器件的設計流程

科技 更新时间:2024-07-29 20:17:18

1 引言

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

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

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

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

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

可編程邏輯器件的設計流程(基于複雜可編程邏輯器件實現鍵盤接口電路的設計)1

圖 1 4X4 鍵盤框圖

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

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

可編程邏輯器件的設計流程(基于複雜可編程邏輯器件實現鍵盤接口電路的設計)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;[page]

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

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

表 1 鍵号和掃描碼對應表

可編程邏輯器件的設計流程(基于複雜可編程邏輯器件實現鍵盤接口電路的設計)3

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

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

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

可編程邏輯器件的設計流程(基于複雜可編程邏輯器件實現鍵盤接口電路的設計)4

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

5 結束語

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

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved