<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于FPGA的8段數碼管動態(tài)顯示IP核設計

          基于FPGA的8段數碼管動態(tài)顯示IP核設計

          作者: 時間:2009-12-21 來源:網絡 收藏
          引言
          數碼管可顯示簡單的字符和數字,由于其價格低廉、性能穩(wěn)定、顯示清晰、亮度高、使用電壓低、壽命長,在工業(yè)生產、交通運輸、儀器儀表及家用電器等場合得到廣泛應用。然而,開發(fā)基于NiosⅡ的嵌入式系統(tǒng)時,Builder開發(fā)工具中沒有提供現成的數碼管顯示,這使設計者工作量增加。這里把數碼管控制器設計為一個共陰極(或共陽極)7段數碼管,并給出此核的一個參考驅動程序。在系統(tǒng)設計中,可根據實際需求,把此核直接例化成1~8個共陰極(或共陽極)數碼管顯示控制器,控制1~8個共陰極(或共陽極)數碼管工作,實現重用,減少電子設計者的工作量,從而提高設計效率。

          2 LED數碼管結構及驅動顯示方式
          根據發(fā)光二極管的個數可將數碼管分成7段數碼管和,比7段數碼管多一個用于顯示小數點的發(fā)光二極管;根據內部連接形式可將數碼管分成共陽數碼管與共陰數碼管,圖1為數碼管的外形及其內部結構圖。

          本文引用地址:http://www.ex-cimer.com/article/188448.htm

          常用的數碼管顯示驅動方式有靜態(tài)驅動與動態(tài)驅動兩種,靜態(tài)驅動方式的主要特點是,每個數碼管都有相互獨立的數據線,并且所有的數碼管被同時點亮;而動態(tài)驅動方式則是所有數碼管共用一組數據線,數碼管依次被點亮,因此,動態(tài)驅動顯示方式每個數碼管都要有一個點亮控制輸入端口。為節(jié)省I/O端口,此設計采用方式,所有數碼管控制時序,全部由器件產生。

          3 數碼管動態(tài)顯示IP核設計
          根據數碼管動態(tài)顯示方式的工作原理,可把數碼管動態(tài)顯示控制器設計成IP核,包括任務邏輯設計、寄存器文件設計和Avalon接口設計3部分。
          3.1 任務邏輯設計
          任務邏輯實現IP核的基本功能,是IP核設計的關鍵。任務邏輯產生數碼管動態(tài)顯示時的各種控制時序,并根據控制時序的先后順序,讀取寄存器文件中的數據,并送至數碼管譯碼器進行譯碼,圖2是任務邏輯框圖。

          由圖2知,所設計的IP核主要由模N計數器、數據選擇和生成器、8段數碼譯碼器、數碼管位譯碼器和寄存器文件組成。模N計數器可根據參數N,產生N個狀態(tài),其狀態(tài)數與數碼管個數相等,每個狀態(tài)依次分給第一個數碼管;數碼管位譯碼器的作用是根據模N計數器的值(狀態(tài))產生數碼管位選信號。按順序依次點亮數碼管,而參數P的值表示數碼管的類型(共陽或共陰),當P為高電平時,控制共陰極數碼管工作;P為低電平時,控制共陽極數碼管工作。
          數據選擇和生成器用于根據計數器的狀態(tài)選擇數據寄存器組的數據,還可生成要顯示的數據信號,包括數字與小數點兩種,當小數點位置寄存器的值與計數器的值相等時,點亮小數點位;7段數碼管譯碼器對輸入的信號譯碼產生譯碼數據,該數據的最高位是小數點數據,低7位是字符顯示數據。
          3.2 寄存器文件設計
          為實現任務邏輯單元與外界數據交換,要定義一組寄存器,稱為寄存器文件,并為這些寄存器分配地址。根據圖2,在此IP核中共定義10個寄存器,表1為其功能和地址偏移量。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();