74ls160設計數字秒表方案匯總(一)
現場可編程門陣列(簡稱 FPGA)是20 世紀 80 年代中期出現的高密度可編程邏輯器件,采用SRAM開關元件的 FPGA 是易失性的,每次重新加電,FPGA 都要重新裝入配置數據。突出優點是可反復編程,系統上電時,給 FPGA 加載不同的配置數據,即可令其完成不同的硬件功能。這種配置的改變甚至可以在系統的運行中進行,實現系統功能的動態重構。
“在系統可編程”(簡稱 ISP)是指對器件、電路或整個電子系統的邏輯功能可隨時進行修改或重構的能力,支持 ISP 技術的可編程邏輯器件稱為在系統可編程邏輯器件,它不需要專門的編程器,利用計算機接口和一根下載電纜就可以對器件編程了。
1、總體結構
本文利用 EDA 技術中的 Max + plus Ⅱ作為開發工具,設計了一款基于 FPGA 的數字式秒表 ,并下載到在系統可編程實驗板的 EPF10K10LC84 - 4 器件中測試實現。其總體結構框架如圖1 所示。圖中的信號源是由實驗板上的時鐘信號經分頻而得到的 0. 1 秒信號;控制計數部分由一個計數模塊 ctrl 構成,用來實現計時功能,鎖存器模塊 latch 用來對數據進行鎖存 ;而譯碼器模塊 DISP 用來對計數結果進行掃描譯碼;數碼管用來顯示秒表的工作結果。
2、電路設計
圖2為數字式秒表的模塊示意圖。輸入信號有三個,分別是 K1 , K2 和 CLK;輸出信號有四個,分別是 LED ,QH[ 6. 。 0 ] ,QL[6. 。 0 ] 及 Q[ 6. 。 0 ]。其中 K1 為“開始/ 清零鍵”,接的是控制計數部分的整體清零端,該清零信號低電平有效。要求按下 K1 時計時開始 ,再按一下,停止計時,恢復到零狀態。K2 為“固定顯示鍵”,接的是鎖存器 74373 的允許鎖存端 G,該信號是高電平有效。在計時過程中,按下 K2 時,鎖存數據 ,顯示固定 ,但計時仍繼續 ;按第二下時 ,顯示從新時間開始。CLK 為時鐘信號 ,必須是秒表計時所需的最小單位 0. 1S。
QH[6. 。 0 ] ,QL[6. 。 0 ] 及 Q[6. 。 0 ] 接三個數碼管,分別表示秒十位,秒個位和秒十分位。LED 接發光二極管用來表示秒表的分位,當秒表計時超過59. 9 秒時 LED 燈亮,且能持續表示到 1分 59. 9 秒,然后燈滅,同時數碼管重新計時顯示,即該數字式秒表的計時范圍從0 到2 分鐘。基于原理圖編輯和VHDL語言,并使用從上到下的設計方法設計的秒表,其具體的線路構成如圖3 所示。
在總體電路圖中,根據設計要求,輸入信號 K1、K2 應采用脈沖開關。由于實驗板上除了撥動開關就是瞬時的按鍵開關,且按鍵開關平時都呈高電平,按一下為低電平。故在實際測試時采用了撥動開關來模擬脈沖開關。根據設計要求將K1、K2 平時置于相應的高、低電平狀態,需要清零或固定顯示時再將它們分別置于相應的位置上即可。
3、模塊設計
在設計電路時,要遵循從上到下的設計原則。首先從系統設計入手,在頂層進行功能劃分和結構設計,頂層模塊中的每個次層模塊均可完成一個較為獨立的功能,次模塊在調試成功后可生成一個默認符號,以供上一層模塊調用。
3. 1、時鐘信號模塊 cnt100
由于最終的設計結果要下載到可編程邏輯器件中測試,而承載該芯片的“在系統”可編程實驗板上最小也是1 kHz 的時鐘源,而秒表計時所需的最小單位為 0. 1s,故采用 2 片 74160,利用并行輸入方式,接成 100 進制計數器(00~99),將 1 kHz 信號變成 10 Hz (即 0. 1 s),從而達到分頻的目的。編譯通過后創建的默認符號為 cnt100,其輸入信號為 CLK,輸出信號為 CQ(即高位的進位端 RCO) 。
3. 2、控制計時模塊 ctrl
從 Maxplus2 器件庫中調用 3 片 74160,采用串行時鐘方式,連接成六百進制計數器(即 0~599),用來表示秒位。將 3 片 74160 的清零端 CLR 連接在一起,用來做秒表的整體清零端。再調用器件庫中的 J K觸發器,連接相應控制端形成 T′觸發器,將六百進制計數器的進位信號接 T′觸發器的時鐘端。平時其輸出端 Q 保持低電平,所接發光二極管不亮 ;當計時到 59. 9 秒時,由于有進位信號到來,因此時鐘端出現脈沖下降沿,觸發器翻轉,Q 由低電平變為高電平,發光二極管點亮,表示已計時到 1 分鐘。再計到 1分 59. 9 秒時,過 1 秒,燈滅,同時數碼管重新計時顯示。該控制模塊為圖 3 中 ctrl 模塊。
3. 3、鎖存器模塊 latch
因為秒表設計中要求在計時過程中能隨時固定顯示時間,而計時仍然繼續,所以要用到鎖存器。在本例中適宜采用 CD4511 芯片,因為它集合了鎖存、譯碼和驅動功能。但由于 Maxplus2 器件庫中沒有此類芯片,故以鎖存器 74373 外加譯碼器 7447 (DISP) 代替。在設計時從器件庫中調用 2 片 74373 (8 位鎖存器), 將它們的 OEN 統統接低電平,允許數據輸出。G端接一起,作為允許數據鎖存端 (高電平有效) 。鎖存器部分編譯通過后創建的默認符號見圖 3 中的 latch 模塊,輸入信號有四個,分別是 DH[ 3. 。 0 ] 、DL[3. 。 0 ] 、D[3. 。 0 ] 及 G,輸出有三個,分別是 QH[3. 。 0 ] 、QL[3. 。 0 ]及 Q[3. 。 0 ] 。
3. 4、譯碼顯示模塊 DISP
譯碼器可直接從器件庫中調用 7447 (共陽極譯碼器),將它的控制端按要求接好,形成默認符號 ;也可用 VHDL 語言編程,將 4 位 BCD 碼譯成 7 段數碼管的編碼(0~9),現采用 VHDL 語言編程,編譯無誤后創建默認文件符號 DISP 以供上層電路調用。顯示部分直接采用實驗板上的 3 個共陽極數碼管,不用將譯碼器的輸出 a~g 具體連線到實驗板上數碼管的 7 個段,只需將其輸出端口定義到可用作數碼管顯示的器件的 I/ O 引腳上即可。7 段數碼管譯碼器源程序如下
4、編程及測試
為設計項目選定 FLEX10K系列中的 EPF10K10LC84 - 4 器件,鎖定頂層設計中各端口所對應的引腳號,并編譯通過。然后對器件編程,使用 ByteBlaste 下載電纜把項目以在線配置的方式下載到 ISP 實驗板的 EPF10K10LC84 - 4 器件中,按相應的 K1、K2 鍵,觀測數碼管及發光二極管的狀態,發現顯示結果正確。該數字式秒表具有清零功能,能夠在計時過程中隨時停止計時,恢復到初始狀態。且具有鎖存/ 計時功能,能在計時過程中通過按“固定顯示鍵”,將顯示固定住,而計時仍繼續 ;再按下鍵,顯示從新時間開始。實驗證明該秒表工作正常,基本上已達到了預期的設計要求。
5、結束語
在Max + plus Ⅱ開發環境下,采用自頂向下的設計方法有利于在早期發現結構設計中的錯誤,避免不必要的重復設計。再結合基于 FPGA 的“在系統”可編程實驗板,輕輕松松就能實現各種電子產品的設計,現場觀察實驗測試結果。大大縮短了產品的設計周期和調試周期,提高了設計的可靠性和成功率,充分體現了可編程邏輯器件在數字電路設計中的優越性。
評論
查看更多