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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)與FPGA可調(diào)延時(shí)模塊的設(shè)計(jì)

          基于單片機(jī)與FPGA可調(diào)延時(shí)模塊的設(shè)計(jì)

          作者: 時(shí)間:2012-05-29 來源:網(wǎng)絡(luò) 收藏

          系統(tǒng)結(jié)構(gòu)框圖如圖1。其硬件結(jié)構(gòu)比較簡單,主要由P89C51RD、RS-232/TTL接口電路MAX232和可編程邏輯器件三部分組成。P89C51RD2是上位PC機(jī)和的連接紐帶,它通過并口發(fā)送數(shù)據(jù)給,另一邊通過RS-232/TTL接口芯片與PC機(jī)進(jìn)行串行通訊;PC機(jī)主要功能是實(shí)現(xiàn)延時(shí)調(diào)整的可視化操作;FPGA是延時(shí)調(diào)整處理的硬件實(shí)現(xiàn),將PC送過來的延時(shí)調(diào)整參數(shù)輸入FPGA,F(xiàn)PGA在單片機(jī)的控制下對(duì)信號(hào)進(jìn)行延遲處理,最后送入相應(yīng)傳輸通道。某些系統(tǒng)使用現(xiàn)場存在較強(qiáng)的電磁干擾,模塊的設(shè)計(jì)考慮信號(hào)隔離問題,故對(duì)串行接口進(jìn)行了電氣隔離,強(qiáng)化了PC機(jī)和模塊通訊的安全系數(shù)。

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

            延時(shí)模塊正常上電后,單片機(jī)P89C51RD2首先從數(shù)據(jù)存儲(chǔ)區(qū)讀出最近一次存儲(chǔ)的延遲時(shí)間、信號(hào)通道等參數(shù),并轉(zhuǎn)發(fā)到FPGA數(shù)據(jù)接口。FPGA根據(jù)接收到的參數(shù),首先篩選出目標(biāo)地址以便切換到對(duì)應(yīng)的信號(hào)通道,然后再根據(jù)時(shí)間對(duì)該通道進(jìn)行預(yù)定的延時(shí),恢復(fù)先前調(diào)整好的延時(shí)信號(hào)。在模塊運(yùn)行期間,P89C51RD2實(shí)時(shí)監(jiān)測、接收來自上位PC機(jī)發(fā)送的新延時(shí)數(shù)據(jù)。如果需要對(duì)某一路信號(hào)的延時(shí)量進(jìn)行調(diào)節(jié),通過PC機(jī)的串口發(fā)新數(shù)據(jù),P89C51RD2中斷收到新數(shù)據(jù)后,將數(shù)據(jù)分成兩路處理:一路進(jìn)入到單片機(jī)的數(shù)據(jù)存儲(chǔ)區(qū),待下次上電讀取使用;另一路則轉(zhuǎn)發(fā)至由FPGA控制的延時(shí)控制,實(shí)現(xiàn)信號(hào)的延遲時(shí)間調(diào)整。

            塊使用的P89C51RD2是PHILIPS公司內(nèi)核基于8 位80C51單片機(jī)的派生產(chǎn)品,它們在完全保留80C51 指令系統(tǒng)和硬件結(jié)構(gòu)的大框架外,還具有多方面的功能加強(qiáng)、擴(kuò)展、翻新和創(chuàng)新,其中在應(yīng)用中編程(IAP:In-Application Programming)是最顯著特點(diǎn)之一。在應(yīng)用中可編程是指MCU可以在系統(tǒng)中獲取新代碼并對(duì)自己重新編程,即用程序來改變程序。P89C51RD2的IAP功能實(shí)現(xiàn)是通過PHILIPS 公司提供的BootROM 固件來完成的,它位于0FC00H?0FFFFH空間,與閃存空間重疊(見圖2)。固件中已經(jīng)固化有擦除和編程等子程序,PHILIPS 公司提供了尋址該固件的方法,只要用戶程序簡單調(diào)用BootROM中帶適當(dāng)參數(shù)的公共入口,即可實(shí)現(xiàn)所需要的操作。

          P89C51RD2閃存結(jié)構(gòu)見圖2,它具有如下特點(diǎn):

            1. 其閃存空間是分塊的64kB的閃存空間,共分5塊,由低到高分別為8kB(BLOCK0)、8kB(BLOCK1)、16kB(BLOCK2)、16kB(BLOCK3)以及16kB( BLOCK4);

            2. 每一塊都可以單獨(dú)擦除;

            3. 在程序中可以調(diào)用IAP功能對(duì)閃存中的每一字節(jié)進(jìn)行單獨(dú)編程。

            正是由于上述三個(gè)特點(diǎn),在不外擴(kuò)展存儲(chǔ)器情況下,將程序空間剩余下的閃存空間作為數(shù)據(jù)空間,把單片機(jī)接收中斷采集到的信號(hào)通道、延遲時(shí)間等參數(shù)存儲(chǔ)下來,實(shí)現(xiàn)掉電數(shù)據(jù)保存。

            軟件設(shè)計(jì)

            整個(gè)延時(shí)模塊的軟件包括了PC機(jī)發(fā)送參數(shù)程序,單片機(jī)接收并存儲(chǔ)參數(shù)程序和FPGA信號(hào)延時(shí)處理程序。

            PC機(jī)發(fā)送參數(shù)程序是用戶將PC機(jī)的串口與模塊連接,通過PC機(jī)的發(fā)送程序界面,很容易對(duì)信號(hào)進(jìn)行延時(shí)調(diào)整。發(fā)送程序采用VC作為編程語言,調(diào)用串口控件,設(shè)計(jì)方便且界面簡潔,界面如圖3所示。發(fā)送的每個(gè)數(shù)據(jù)幀8位,包括延遲時(shí)間和信號(hào)通道兩個(gè)參數(shù),其中高三位是要調(diào)整的信號(hào)通道,后五位表示延遲的時(shí)間。發(fā)送程序中,對(duì)界面中的“+”或“?”進(jìn)行一次操作,PC就通過串口向單片機(jī)連續(xù)發(fā)送8路信號(hào)延時(shí)參數(shù),即只要調(diào)節(jié)了任一路信號(hào)的延時(shí),PC機(jī)就會(huì)連續(xù)發(fā)送8個(gè)數(shù)據(jù)幀。

            單片機(jī)軟件設(shè)計(jì)

            單片機(jī)主要完成與PC之間的通信,數(shù)據(jù)的存儲(chǔ)和上電數(shù)據(jù)的讀取。程序采用C51編寫,編譯采用當(dāng)前編譯效率最高的C51編譯器KEIL。軟件流程圖見圖4。


          上一頁 1 2 下一頁

          評(píng)論


          相關(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); })();