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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 谷物品質快速檢測儀關鍵部件的設計

          谷物品質快速檢測儀關鍵部件的設計

          作者: 時間:2010-04-16 來源:網絡 收藏

          在可編程通道選擇方式下,模擬輸入通道的選擇是由程序控制指令完成的??刂破靼l(fā)出數據轉換指令和要轉換的通道號,通過片選信號與A0和A1端譯碼選擇需要的模擬通道,此時A0和A1為數據通道選擇輸入端。在完成數據通道的選擇之后,后續(xù)各引腳的工作過程與連續(xù)轉換方式下的情況類似。

          圖2. ADS7825并行輸出電路原理圖

          圖3. CY7C68013和ADS7825連接原理圖

          2 USB接口單元

          USB接口單元的主要實現芯片是Cypress公司的CY7C68013,負責完成硬件系統(tǒng)和PC上位機之間的數據傳輸。Cypress公司的EZ-USB FX2系列芯片是世界上第一個集成USB2.0協(xié)議的微處理器,它支持12Mb/s的全速傳輸和480Mb/s的高速傳輸,可使用4種USB傳輸方式:控制傳輸、中斷傳輸、塊傳輸和同步傳輸,完全適用于USB2.0,并向下兼容USB1.1。其CPU采用增強型8051,它比標準8051的速度更快、功能更強,且指令集和標準8051完全兼容,并可使用C51編譯器。FX2內部包含8.5KB的RAM,它們兼做程序存儲器和數據存儲器,增強型8051的固件代碼就存儲在該區(qū)域內,FX2也具有I2C總線,以使其能從外部EEPROM中下載芯片程序。另外,FX2系列芯片采用3.3V供電,且可使用USB總線電源,但是功耗較大。 [2]

          本系統(tǒng)中使用CY7C68013的PA0-PA6管腳作為AD工作狀態(tài)的控制信號,以決定ADS7825數據采集和存儲,PB0-PB7為8位數據總線根據工作狀態(tài)進行高低8位的數據傳輸。如圖3所示為CY7C68013和ADS7825連接原理圖。

          2.2 軟件程序的編寫

          軟件程序包括包括三部分,芯片固件程序、驅動程序、上位機Win32應用程序。

          1 芯片固件程序

          CY7C68013芯片固件程序負責PC發(fā)來的各種USB請求,以完成主機與外圍電路間的數據傳輸。該固件框架使用Keil C51 C編寫,其中使用了許多Keil C對標準C的擴展。固件框架主要包含初始化、處理標準USB設備請求以及USB掛起時的電源管理。

          框架完成了一個簡單的任務循環(huán)(見圖4)。首先框架初始化內部的狀態(tài)變量,然后條用用戶初始化函數TD_Init。從該函數返回后,框架初始化USB接口到未配置狀態(tài)并使能中斷。然后每隔1s進行一次設備重枚舉,直到端點0接收到一個SETUP包。一旦檢測到SETUP包,框架將開始交互的任務調度,其任務調度的步驟如下:

          ①調用用戶函數TD_Poll,實現數據采集。

          ②判斷是否有標準設備請求等待處理,如果有,則分析該請求并響應;其中,DR_VendorCmnd函數負責處理上位機發(fā)出的供應商定義請求,通過上位機發(fā)送請求來控制AD采集的開始和結束。

          ③判斷USB內核是否收到USB掛起信號。如果收到,則調用用戶函數TD_Suspend。從該函數成功返回后,再檢測是否發(fā)生USB喚醒事件。如果未檢測到,則處理器進入掛起方式;如果檢測到,則調用用戶函數TD_Resume,程序繼續(xù)運行。如果從TD_Suspend函數返回FALSE,則程序繼續(xù)運行。

          圖4. 固件程序流程圖



          關鍵詞: 快速檢測 部件

          評論


          相關推薦

          技術專區(qū)

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