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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MSP430和USB的數(shù)據(jù)采集系統(tǒng)

          基于MSP430和USB的數(shù)據(jù)采集系統(tǒng)

          作者: 時間:2012-03-19 來源:網(wǎng)絡(luò) 收藏

          主放大器我們選用美國ADI公司的精密儀表放大器AD620。

          圖3中運放U2部分組成了一個二階壓控低通有源濾波器。傳感器信號通過調(diào)節(jié)放大之后被送到濾波器的輸入端,通過濾波后將干擾部分消除。其傳遞函數(shù)為:。其中為特征角頻率。

          由于傳感器測量的是拉、壓力信號,即放大濾波后輸出的電壓信號為雙極性信號,范圍約為-10V~+10V,必須將它轉(zhuǎn)換為單極性信號,即對信號進行直流偏置,在此采用簡單的電阻分壓方式,如圖3所示。所需要的+2.5V電壓基準可以由F149提供。

          軟件設(shè)計

          的軟件設(shè)計主要包括單片機程序、驅(qū)動程序、PC機應(yīng)用程序。單片機部分的程序也稱為固件,它包括設(shè)備的連接、協(xié)議和中斷處理等。 PDIUSBD12可以按照USB1.1協(xié)議對數(shù)據(jù)進行封裝,然后與PC機進行數(shù)據(jù)交換。根據(jù)接受到的命令通過PDIUSBD12與PC機的應(yīng)用程序進行交互。

          向PDIUSBD12發(fā)送數(shù)據(jù)/命令部分程序如下:
          void outportb(unsigned char port, unsigned char val)
          {
          P1OUT=0xBF; /使PDIUSBD12的WR引腳為低電平
          P5DIR=0xFF; /P5口為輸出模式
          if(port)
          P1OUT|=A0; /A0為高電平,傳輸命令
          else
          P1OUT=~A0; /A0為低電平,傳輸數(shù)據(jù)

          P5OUT=val; /向PDIUSBD12寫數(shù)據(jù)
          P1OUT|=~0xBF; /恢復(fù)PDIUSBD12的WR引腳為高電平
          }
          MSP430從PDIUSBD12讀取數(shù)據(jù)的部分固件程序如下:
          unsigned char inportb(void)
          {
          unsigned char data=0x00;
          P1OUT= 0xDF; /使PDIUSBD12的RD引腳為低電平
          P5DIR=0x00; / P5口為輸入模式
          data=P5IN; /從PDIUSBD12讀取數(shù)據(jù)
          P1OUT|=~0xDF; /恢復(fù)PDIUSBD12的RD引腳為高電平
          return i;
          }

          MSP430中ADC12模塊提供了4種轉(zhuǎn)換模式,在此采取序列通道單次轉(zhuǎn)換模式,以方便上位機實時控制。四個通道A/D轉(zhuǎn)換只須啟動一次,最后一個通道轉(zhuǎn)換完成后設(shè)置中斷標志位。對轉(zhuǎn)換模式、轉(zhuǎn)換采樣時序以及轉(zhuǎn)換通道的設(shè)置如下:
          ADC12CTL0=ADC12ON+SHT0_2+MSC; /打開ADC12并設(shè)置采樣時間
          ADC12CTL1=SHP+CONSEQ_1; /序列通道單次轉(zhuǎn)換模式
          ADC12MCTL0=INCH_0; /選擇通道0
          ADC12MCTL1=INCH_1; /選擇通道1
          ADC12MCTL2= INCH_2; /選擇通道2
          ADC12MCTL3= INCH_3+EOS; /選擇通道3和序列結(jié)束標志
          ADC12CTL0|=ENC; /啟動AD轉(zhuǎn)換

          整個的過程都是由PC機為中心,PC機通過向MSP430發(fā)送命令來控制A/D轉(zhuǎn)換的開始和結(jié)束。對于MSP430收到的控制數(shù)據(jù)(命令),我們在此規(guī)定:

          字節(jié)1:0xFF----啟動A/D轉(zhuǎn)換,0xFE----停止A/D轉(zhuǎn)換

          如果MSP430收到的數(shù)據(jù)第一個字節(jié)是0xFF,先設(shè)置標志adflag=1,然后啟動A/D轉(zhuǎn)換并設(shè)置相應(yīng)其他的參數(shù),當四個通道的和轉(zhuǎn)換均完成,最后通過USB接口向PC發(fā)送采集到的數(shù)據(jù)。當MSP430收到的數(shù)據(jù)的第一個字節(jié)是0xFE,則設(shè)置adflag=0,不啟動A/D轉(zhuǎn)換。



          評論


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