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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于USB的便攜式硬度計數(shù)據(jù)通信的實現(xiàn)方法

          基于USB的便攜式硬度計數(shù)據(jù)通信的實現(xiàn)方法

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

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

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

          c.JPG
          本方案選用微處理器ATmega128作為系統(tǒng)的控制器。
          ATmega128為Atmel公司推出的8位AVR微處理器,具有很高的信價比,工作時最高速度可以達到16MIPS,128 KB的FLASH、4 KB的E2PROM,足夠滿足方案中數(shù)據(jù)暫存的需要,另外,ATmega128具有53個可編程輸入/輸出口,可擴展64 KB的外部存儲器,便于實現(xiàn)多點硬度值數(shù)據(jù)采集的硬件擴展。
          在該系統(tǒng)中,MCU ATmega128承擔(dān)著數(shù)據(jù)采集和的雙重任務(wù),主要完成采集多路數(shù)字量輸入、配合PC機控制通信電路完成硬件檢測、枚舉連接及數(shù)據(jù)的雙向傳輸;控制存儲電路完成數(shù)據(jù)的存取等控制功能。
          本方案選用的USB芯片PDIUSBD12是Philips公司成熟且價格低廉的產(chǎn)品。片內(nèi)集成了高性能USB接口器件、FIFO存儲器、收發(fā)器以及電壓調(diào)整器等,支持USB 2.O的全速模式。
          為保證USB數(shù)據(jù)傳輸?shù)男?,本方案采用離線測量,定量傳送的實現(xiàn)方式。按工藝流程將一組產(chǎn)品硬度測量值臨時存入MCU的存儲器中,再將MCU存儲器中的臨時數(shù)據(jù)打包通過USB發(fā)給PC機并存入主機數(shù)據(jù)庫,主機應(yīng)用程序需要時對數(shù)據(jù)進行處理。

          2 軟件系統(tǒng)實現(xiàn)
          本方案要解決以下三個方面的工作:一是在MCU上設(shè)計USB固件程序;二是編寫上位機的USB驅(qū)動程序;三是實現(xiàn)上位機數(shù)據(jù)處理應(yīng)用程序。
          2.1 USB固件程序
          固件設(shè)計主要完成設(shè)備枚舉、主機與設(shè)備的數(shù)據(jù)交換、設(shè)備端的數(shù)據(jù)處理和控制等工作,固件程序設(shè)計成前后臺模式,把設(shè)備端數(shù)據(jù)處理和控制作為MCU的前臺任務(wù),枚舉及枚舉成功之后的USB數(shù)據(jù)交換放在后臺進行。實現(xiàn)設(shè)備與主機以最大的傳輸速率通信。
          設(shè)計時將USB端口1和端口2定義為普通輸入/輸出類型,對應(yīng)于PDIUSBD12的模式0??刂贫丝?完成響應(yīng)USB標(biāo)準(zhǔn)請求的功能,輸入端口用于把數(shù)據(jù)采集電路采集并打包的硬度值數(shù)據(jù)送給USB主機,輸出端口接收USB主機發(fā)送的包。
          PDIUSBD12從USB收到一個數(shù)據(jù)包,就對MCU產(chǎn)生一個中斷請求,MCU立即響應(yīng)中斷,中斷服務(wù)子程序用來處理由PDIUSBD12引發(fā)的中斷,它將數(shù)據(jù)從PDIUSBD12的FIFO中取回到MCU存儲器中。各端點中斷處理程序如下:
          d.JPG
          在各端點的中斷處理程序中,MCU主要是通過對PDIUSBD12端點緩沖區(qū)寫入或讀取數(shù)據(jù)包來完成處理過程的,其流程如圖2和圖3所示。

          e.JPG



          評論


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