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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應用 > 一種工業(yè)級數(shù)據(jù)采集監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

          一種工業(yè)級數(shù)據(jù)采集監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

          作者: 時間:2009-08-21 來源:網(wǎng)絡(luò) 收藏

          2.2 USB接口電路設(shè)計
          PDIUSBD12是飛利浦公司推出的一款高性價比的 USB固件,完全符合 USB 1.1的協(xié)議規(guī)范,自帶并行接口,可與多種 MCU相結(jié)合。其硬件接口如圖 3所示。另外,它還支持本地的 DMA傳輸,為微控制系統(tǒng)與 PC機進行大規(guī)模數(shù)據(jù)傳輸提供了解決方案。PDIUSBD12所具有的掛起低功耗功能,可以滿足 USB電源管理的要求,可使其應用于使用總線供電的外部設(shè)備。此外,它集成了內(nèi)部上拉電阻、連通指示等功能。AT89S52控制器與 PDIUSBD12通過 8位并行總線連接(采用地址總線與數(shù)據(jù)總線復用的方式),采用 MCU與 PDIUSBD12結(jié)合的形式實現(xiàn) USB數(shù)據(jù)的高速傳輸,使系統(tǒng)變得形式靈活、編程簡潔、成本低廉。

          2.3 顯示模塊及存儲器擴展設(shè)計系統(tǒng)的顯示是使用 MAX7219實現(xiàn)的 8位穩(wěn)定靜態(tài)顯示 ,MAX7219是串行共陰極數(shù)碼管
          動態(tài)掃描顯示驅(qū)動芯片,僅使用3線串行接口傳送數(shù)據(jù) ,可直接與單片機接口,用戶還可以方便地修改其內(nèi)部參數(shù)以實現(xiàn)多位 LED顯示,因此可以方便地使用單片機的 USB口送出顯示數(shù)據(jù),并且其占用的時間少,方便編程及對信號的檢測。
          存儲器擴展采用了 8片 8K的 6264芯片。他們通過地址所存芯片 74LS373和譯碼芯片 74LS138進行地址的所存和芯片的選擇。采用 A0-A12作為它們的地址線 ,A13-A15作為 74LS138芯片的 3個引腳 ,用來與 8片 6264的選通信號相連。因此 ,第一片 6264的地址對應范圍是:0000H-1FFFFH;第二片為 2000H-3FFFH,依次類推,第 7片 6264對應的地址范圍是 E000-FFFFH。 3 軟件部分設(shè)計
          3.1 系統(tǒng)軟件算法
          采集系統(tǒng)的主要功能是采集各模擬量輸入通道的數(shù)據(jù) ,并將收到的信息進行存儲。程序結(jié)構(gòu)分為主程序和中斷程序 ,其中包括初始化、信號的采集和數(shù)據(jù)處理顯示輸出。初始化包括定時器、終端系統(tǒng)、工作狀態(tài)和 USB接口的初始化等。系統(tǒng)每隔 20ms采集一次信號 ,保證對信號有很好的跟隨性。在下位機固件程序中 ,在設(shè)備接入主機后 ,首先對下位機進行系統(tǒng)初始化,然后進行 USB連接,被主機識別并能正常驅(qū)動,進入正常使用狀態(tài),等待數(shù)據(jù)傳輸。如果有 PC數(shù)據(jù)傳輸,則調(diào)用通訊模塊接收數(shù)據(jù),并將數(shù)據(jù)存入下位機存儲器,然后調(diào)用讀數(shù)據(jù)模塊與顯示模塊進行顯示;否則直接執(zhí)行讀數(shù)據(jù)模塊并調(diào)用顯示模塊進行顯示(顯示上次存儲的數(shù)據(jù))。系統(tǒng)軟件的流程圖如圖4所示。



          評論


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