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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA開發(fā)板遠(yuǎn)程檢測系統(tǒng)的實現(xiàn)

          FPGA開發(fā)板遠(yuǎn)程檢測系統(tǒng)的實現(xiàn)

          作者: 時間:2017-02-06 來源:網(wǎng)絡(luò) 收藏

          1系統(tǒng)概述

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

          目前FPGA開發(fā)板的板載資源檢測都是采用將示例下載到開發(fā)板上檢測的方法,檢測不同的資源需要一般使用不同的示例。這樣的檢測方法缺少對檢測結(jié)果信息的收集。對于實驗室批量管理FPGA開發(fā)板的情況,難以應(yīng)對。

          本系統(tǒng)基于Nexys?3 Spartan-6FPGA開發(fā)板,不僅可對該開發(fā)板的板載資源進(jìn)行檢測,并且可以對檢測結(jié)果數(shù)據(jù)進(jìn)行收集,將收集的數(shù)據(jù)進(jìn)行保存以方便診斷開發(fā)板的狀態(tài)。

          其原理是由上位機(jī)通過串口發(fā)送測試數(shù)據(jù)到開發(fā)板上的串口模塊,F(xiàn)PGA從串口模塊得到相應(yīng)的測試命令,然后根據(jù)命令,對開發(fā)板上對應(yīng)的資源進(jìn)行檢測,并將檢測結(jié)果反饋到上位機(jī)進(jìn)行保存。

          本系統(tǒng)的結(jié)構(gòu)示意圖如下所示。



          圖1系統(tǒng)結(jié)構(gòu)示意圖

          本系統(tǒng)還可作為FPGA設(shè)備遠(yuǎn)程診斷系統(tǒng)的原型,通過提交上位機(jī)生成的檢測結(jié)果文件,可以在管理信息系統(tǒng)中直接顯示開發(fā)板的狀態(tài)。。

          本系統(tǒng)可以以下載流文件的形式或以存入EEPROM的形式應(yīng)用到Nexys?3 Spartan-6FPGA開發(fā)板。本系統(tǒng)還可通過修改部分代碼應(yīng)用于其他型號的FPGA開發(fā)板。

          2系統(tǒng)需求

          本系統(tǒng)由三部分組成,上位機(jī)軟件,核心控制軟件,SOC子系統(tǒng)。

          2.1上位機(jī)軟件

          在本系統(tǒng)中以上位機(jī)作為檢測程序的發(fā)起者。

          模塊需求描述

          串口通訊:上位機(jī)數(shù)據(jù)的接受和發(fā)送。

          VGA檢測啟動VGA模塊的檢測,輸入實際顯示結(jié)果。

          自由按鍵檢測啟動自由按鍵模塊的檢測,顯示檢測結(jié)果。

          撥碼開關(guān)檢測啟動撥碼開關(guān)模塊的檢測,顯示檢測結(jié)果。

          7段數(shù)碼管檢測啟動7段數(shù)碼管的檢測,輸入實際顯示結(jié)果。

          LED燈檢測啟動LED燈的檢測,輸入實際顯示結(jié)果。

          PMod檢測發(fā)送啟動檢測命令,顯示檢測結(jié)果。

          USB Host檢測發(fā)送啟動檢測命令,顯示檢測結(jié)果。

          LAN檢測發(fā)送啟動檢測命令,顯示檢測結(jié)果

          VHDC檢測發(fā)送啟動檢測命令,顯示檢測結(jié)果。

          2.2核心控制軟件

          在本系統(tǒng)中核心控制軟件負(fù)責(zé)FPGA開發(fā)板上串口的輸入/輸出,以及負(fù)責(zé)將檢測數(shù)據(jù)應(yīng)用到各模塊并收集檢測結(jié)果。

          模塊需求描述

          串口通訊:開發(fā)板上數(shù)據(jù)的傳入和輸出。

          VGA檢測從串口讀取檢測用數(shù)據(jù)傳輸?shù)絍GA控制模塊。

          自由按鍵檢測接收命令,讀取自由按鍵模塊的數(shù)據(jù)。

          撥碼開關(guān)檢測接收命令,讀取撥碼開關(guān)模塊的數(shù)據(jù)。

          7段數(shù)碼管檢測從串口讀取檢測用數(shù)據(jù)傳輸?shù)?段數(shù)碼管控制模塊。

          LED燈檢測從串口讀取檢測用數(shù)據(jù)傳輸?shù)絃ED燈控制模塊。

          PMod檢測實現(xiàn)PMod的自檢測。

          USB Host檢測實現(xiàn)USB Host的自檢測。

          LAN檢測實現(xiàn)LAN的自檢測。

          VHDC檢測實現(xiàn)VHDC的自檢測。

          2.3FPGA上SOC子系統(tǒng)

          在本系統(tǒng)中SOC子系統(tǒng)包括控制核心以及各資源的控制模塊。

          模塊需求描述

          控制核心控制其他模塊,執(zhí)行部分邏輯功能。

          串口控制模塊控制開發(fā)板上的串口硬件。

          VGA控制模塊控制開發(fā)板上的VGA硬件。

          自由按鍵控制模塊控制開發(fā)板上的自由按鍵。

          撥碼開關(guān)控制模塊控制開發(fā)板上的撥碼開關(guān)。

          7段數(shù)碼管控制模塊控制開發(fā)板上的7段數(shù)碼管

          LED燈控制模塊控制開發(fā)板上的LED燈。

          PMod控制模塊控制開發(fā)板上的PMod硬件。

          USB Host控制模塊控制開發(fā)板上的USB Host硬件。

          LAN控制模塊控制開發(fā)板上的LAN硬件。

          VHDC控制模塊控制開發(fā)板上的VHDC硬件。

          3 系統(tǒng)結(jié)構(gòu)



          圖2系統(tǒng)結(jié)構(gòu)圖

          3.1 上位機(jī)軟件

          上位機(jī)軟件包括以下結(jié)構(gòu)。

          模塊描述

          啟動檢測用戶界面,檢測活動的發(fā)起者

          輸入實際顯示結(jié)果用戶界面,用來輸入從顯示設(shè)備、數(shù)碼管以及LED燈看到的實際顯示結(jié)果

          串口通訊協(xié)議:發(fā)送檢測用數(shù)據(jù)到開發(fā)板串口,從開發(fā)板串口接收反饋數(shù)據(jù)。

          VGA模塊檢測隨機(jī)生成用于顯示的檢測數(shù)據(jù)以及顯示位置和顯示顏色,將其與實際顯示信息進(jìn)行比較,判斷檢測結(jié)果并記錄。

          自由按鍵檢測發(fā)送啟動檢測命令,將按鍵編號依次與從串口讀取檢測結(jié)果進(jìn)行對比,判斷檢測結(jié)果并記錄。

          撥碼開關(guān)檢測發(fā)送啟動檢測命令,將撥碼開關(guān)編號依次與從串口讀取檢測結(jié)果進(jìn)行對比,判斷檢測結(jié)果并記錄。

          7段數(shù)碼管檢測可設(shè)置全亮或全滅,或生成一個隨機(jī)數(shù)字,將其與實際顯示信息進(jìn)行比較,判斷檢測結(jié)果并記錄。

          LED燈檢測可設(shè)置依次點亮、全亮或全滅,或隨機(jī)生成一組LED燈編號,將其與實際顯示信息進(jìn)行比較,判斷檢測結(jié)果并記錄。  


          上一頁 1 2 下一頁

          評論


          技術(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); })();