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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于NiosⅡ的學(xué)習(xí)型遙控器設(shè)計

          基于NiosⅡ的學(xué)習(xí)型遙控器設(shè)計

          作者: 時間:2010-12-10 來源:網(wǎng)絡(luò) 收藏

          2 硬件電路設(shè)計
          2. 1 主控制電路設(shè)計
          主控制電路主要以Altera 系列Cyclone EPlCl2Q240C8器件為載體,通過SoPC技術(shù)構(gòu)建嵌入式軟核NiosⅡ處理器平臺,運用Verilog HDL硬件描述語言設(shè)計等精度測量載波頻率IP核、紅外信號解調(diào)IP核、紅外編碼脈寬測量IP核和紅外發(fā)送調(diào)制邏輯電路,以實現(xiàn)載波的精確測量,紅外信號解調(diào)、脈寬測量和調(diào)制功能。復(fù)位電路采用了專用看門狗芯片CATl025,以避免電路的死循環(huán),同時也可以通過手動按下復(fù)位鍵,使系統(tǒng)重新啟動。時鐘是采用外部時鐘方式,其頻率為50 MHz。主控制電路圖如圖2所示。
          b.JPG

          2.2 外圍硬件電路設(shè)計
          2.2.1 按鍵與指示電路
          為了簡化軟件程序,結(jié)合口的優(yōu)勢,本設(shè)計采用獨立按鍵方式,當(dāng)按鍵按下時,對應(yīng)的口會檢測到低電平;按鍵彈起時,F(xiàn)PGA 對應(yīng)的口會檢測到高電平。對于指示電路,采用不同顏色的發(fā)光二極管來指示不同的狀態(tài)或控制不同的家用電器,當(dāng)其中的一個指示燈閃爍時,表示正在學(xué)習(xí)對應(yīng)的家電遙控器或者是發(fā)送對應(yīng)的家電遙控信號。
          2.2.2 紅外接收和發(fā)送電路
          紅外接收電路由紅外二極管、三極管9014及電阻組成。當(dāng)未檢測到紅外信號時,紅外接收二極管電阻很大(近似于斷路),三極管9014處手截止?fàn)顟B(tài),此時 IR_RECEIVE端檢測到高電平;當(dāng)檢測到紅外信號時,紅外接收二極管電阻較小,這時三極管9014發(fā)射極正偏,集電極反偏,三極管處于放大狀態(tài)。紅外信號通過共發(fā)射極電路放大后輸入到FPGA的I/O口18腳,交給Nios軟核進行處理。發(fā)送時,經(jīng)過紅外發(fā)送調(diào)制邏輯電路調(diào)制后的紅外信號從FPGA I/O口16腳輸出,紅外信號通過三極管9014再次倒相放大后從集電極輸出,驅(qū)動紅外發(fā)射管輻射出紅外調(diào)制信號,從而實現(xiàn)紅外遙控信號的再生。紅外發(fā)送和接收電路如圖3所示。

          c.JPG
          2.2.3 存儲電路
          存儲電路主要由AM29LV320DT(4 MB 16位并行總線)FLASH芯片和K4S641632H(64 MB 16位并行總線)SDRAM芯片組成。其中的SDRAM芯片起緩沖數(shù)據(jù)的作用,保存處理器及外部交換的數(shù)據(jù)信息,掉電或復(fù)位后數(shù)據(jù)丟失。FLASH閃速存儲器,用于SoPC系統(tǒng)的程序存放和需要掉電保存的數(shù)據(jù)存放,但是,F(xiàn)LASH的讀操作比SDRAM慢,寫速度更加緩慢(相對于SDRAM而言)。 NiosⅡ系統(tǒng)啟動后,在NiosⅡ的Boot程序把存放在FLA-SH中的程序復(fù)制到SDRAM后,再運行。


          關(guān)鍵詞: FPGA I/O 電源 仿真 單片機

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();