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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于ATmegal28控制器和CH375接口的高速數(shù)據(jù)采集系

          基于ATmegal28控制器和CH375接口的高速數(shù)據(jù)采集系

          作者: 時(shí)間:2008-02-19 來源:網(wǎng)絡(luò) 收藏
          摘要:介紹了一種基于USB接口的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。該系統(tǒng)采用AVR單片機(jī)作為主控制器,通過基于的USB接口實(shí)現(xiàn)數(shù)據(jù)傳輸。給出了高速模數(shù)轉(zhuǎn)換及USB接口的電路原理簡圖,并詳細(xì)介紹了實(shí)現(xiàn)USB數(shù)據(jù)傳輸?shù)纳?、下位機(jī)的程序設(shè)計(jì)。該系統(tǒng)采集速率最高可以達(dá)到5 MS/s,有軟件觸發(fā)、后觸發(fā)、前觸發(fā)三種采集模式,已成功應(yīng)用到核探測領(lǐng)域。
          關(guān)鍵詞:USB接口;數(shù)據(jù)采集;AVR單片機(jī);核探測


          1 引言
          在核探測領(lǐng)域中,需要對各種高速信號進(jìn)行采集處理,目前常用的方式是在PC機(jī)中安裝數(shù)據(jù)采集卡,如ISA卡、PCI卡。這些卡由于采用可編程邏輯器件(PLD)控制高速模數(shù)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,利用ISA總線(16 Mbit/s)、PCI總線(132 Mbit/s)進(jìn)行數(shù)據(jù)傳送,故具有采集速率高,數(shù)據(jù)傳輸速度快,支持“即插即用”等優(yōu)點(diǎn)。但是其安裝不方便,價(jià)格高,尤其是受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源的限制,可擴(kuò)展性差。筆者設(shè)計(jì)的采集系統(tǒng)采用AVR單片機(jī)作為主控制器,取代了常用的5l系列單片機(jī),控制高速模數(shù)轉(zhuǎn)換器AD9220進(jìn)行轉(zhuǎn)換,采集速率高達(dá)5 Ms/s。采用通用串行總線(USB)進(jìn)行數(shù)據(jù)傳送,不僅繼承了ISA卡、PCI卡采集速度快的優(yōu)點(diǎn),而且克服了它們的缺點(diǎn),具有易用、可擴(kuò)展、快速、傳輸可靠等優(yōu)點(diǎn)。該系統(tǒng)現(xiàn)已應(yīng)用到4 MeV正離子靜電加速器的輻射防護(hù)中。

          2 系統(tǒng)硬件設(shè)計(jì)
          該數(shù)據(jù)采集系統(tǒng)硬件模塊總體結(jié)構(gòu)如圖l所示,輸入信號幅度的范圍為0 V~5 V。

          輸入信號首先進(jìn)入觸發(fā)電路,該電路主要由比較器AD790和數(shù)字電位器X9241組成。AD790是一款高速、精密的電壓比較器,反應(yīng)時(shí)間為45ns。通過可控制多種采集模式,觸發(fā)電壓可調(diào)節(jié),可實(shí)現(xiàn)軟件觸發(fā)(對輸入信號進(jìn)行無觸發(fā)連續(xù)采集)、后觸發(fā)(當(dāng)輸入信號上升沿電壓大于觸發(fā)電壓時(shí)開始采集)和前觸發(fā)(當(dāng)輸入信號上升沿電壓小于觸發(fā)電壓時(shí)停止采集)三種采集模式。圖2為后觸發(fā)采集模式的電路原理簡圖,LM136-5.O為5 V基準(zhǔn)源,ATmegal28通過I2C總線控制X924l設(shè)定觸發(fā)電壓,比較器AD790的輸出連接到ATmegal28的中斷輸入端。當(dāng)輸入端電壓大于觸發(fā)電壓時(shí),AD790輸出低電平,以中斷的形式通知ATmega-128,使其開始數(shù)據(jù)采集。

          當(dāng)觸發(fā)條件滿足后,ATmegal28啟動(dòng)模數(shù)轉(zhuǎn)換器AD9220進(jìn)行轉(zhuǎn)換,將轉(zhuǎn)換后的數(shù)據(jù)存入數(shù)據(jù)存儲器中,待上位機(jī)查詢讀取。ATmegal28控制模數(shù)轉(zhuǎn)換與數(shù)據(jù)存儲器擴(kuò)展電路如圖3所示。

          ATmegal28是AVR系列中功能最強(qiáng)的單片機(jī)。該系列單片機(jī)運(yùn)用Harvard結(jié)構(gòu)(具有預(yù)取指令功能),即對程序存儲器和數(shù)據(jù)存儲器帶有不同的存儲器和總線,當(dāng)執(zhí)行某一指令時(shí),下一指令預(yù)先從程序存儲器中取出,使程序可以高效率地執(zhí)行,其機(jī)器周期為1個(gè)時(shí)鐘周期,絕大多數(shù)指令均為單周期指令,1 MHz的頻率有接近1 MI/s的性能。
          高速模數(shù)轉(zhuǎn)換電路中,AD9220是ADI公司一款性能優(yōu)良的12位高速模數(shù)轉(zhuǎn)換器,速率高達(dá)10MS/s。選擇內(nèi)部參考源,用單端輸入方式來進(jìn)行采樣,采樣一次需要一個(gè)時(shí)鐘周期,其速率取決于輸入時(shí)鐘的頻率,電壓輸入范圍為0 V~5 V。
          ATmegal28采用16 MHz晶振,機(jī)器周期為62.5 ns。通過軟件編程設(shè)置在PD5端口產(chǎn)生周期為125 ns的方波,作為AD9220采樣的時(shí)鐘信號(CLK)。由于每次采樣后ATmegal28還要進(jìn)行數(shù)據(jù)存儲,數(shù)據(jù)存儲時(shí)間需62.5 ns,故每獲得一個(gè)數(shù)據(jù)總共需要187.5 ns。經(jīng)測試表明,轉(zhuǎn)換速率可達(dá)到5MS/s。
          當(dāng)ATmegal28接到上位機(jī)請求上傳數(shù)據(jù)的命令后,立即將采集到的數(shù)據(jù)通過USB接口電路傳輸給上位機(jī).與ATmegal28接口電路如圖4所示。是USB總線的通用設(shè)備接口器件,內(nèi)置USB通訊中的底層協(xié)議,支持主機(jī)方式和從機(jī)方式,具有8位數(shù)據(jù)總線(DO-D7)、地址輸入(A0)、讀(RD)、寫(WR)、片選控制線(CS)以及中斷輸出(INT),它作為從機(jī)掛接到ATmegal28的數(shù)據(jù)總線上與上位機(jī)進(jìn)行通信。當(dāng)AO為高電平時(shí),選擇命令端口,可以寫入命令;當(dāng)A0為低電平時(shí),選擇數(shù)據(jù)端口,可以讀寫數(shù)據(jù),單片機(jī)通過8位并口對CH375進(jìn)行讀寫。CH375在接收到上位機(jī)端發(fā)送的數(shù)據(jù)后或者發(fā)送完數(shù)據(jù)后,以中斷方式(INT4)通知單片機(jī),單片機(jī)分析中斷狀態(tài)并進(jìn)行相應(yīng)處理。

          3 USB接口軟件設(shè)計(jì)
          在本地端,采用從機(jī)方式的CH375在系統(tǒng)中采用內(nèi)置固件模式,端點(diǎn)O作為默認(rèn)端口,CH375自動(dòng)處理默認(rèn)端口0的所有事件,端點(diǎn)2的上傳端點(diǎn)作為批量數(shù)據(jù)發(fā)送端點(diǎn),端點(diǎn)2的下傳端點(diǎn)作為批量數(shù)據(jù)接收端點(diǎn)。單片機(jī)對CH375的操作是采用命令加數(shù)據(jù)的I/O操作方式,任何操作都是先發(fā)命令給CH375,然后執(zhí)行數(shù)據(jù)輸入輸出。
          在計(jì)算機(jī)端,使用VC作為計(jì)算機(jī)端應(yīng)用軟件的開發(fā)平臺,利用CH375動(dòng)態(tài)鏈接庫DLL提供的API函數(shù)對其進(jìn)行操作。該動(dòng)態(tài)鏈接庫提供的可供利用的APl包括:設(shè)備管理API、數(shù)據(jù)傳輸API、中斷處理API。首先,將CH375器件的驅(qū)動(dòng)程序和動(dòng)態(tài)鏈接庫拷貝到計(jì)算機(jī)中,再將動(dòng)態(tài)鏈接庫的訪問入口及函數(shù)定義入口添加至VC項(xiàng)目中,此時(shí)對USB設(shè)備的通信編程與訪問本地硬盤中的文件幾乎相同。
          CH375在計(jì)算機(jī)應(yīng)用層與本地端單片機(jī)之間提供了端對端的連接,該系統(tǒng)采用數(shù)據(jù)加應(yīng)答方式進(jìn)行通訊,該方式具有數(shù)據(jù)自動(dòng)同步、程序設(shè)計(jì)簡單、較好的交互性和可控性等優(yōu)點(diǎn)。請求加應(yīng)答方式使用一個(gè)下傳的主動(dòng)請求和一個(gè)上傳的被動(dòng)應(yīng)答進(jìn)行交互式的雙向數(shù)據(jù)通訊,下傳與上傳一一對應(yīng),相互關(guān)聯(lián)。主動(dòng)請求是指由計(jì)算機(jī)應(yīng)用層下傳給單片機(jī)的數(shù)據(jù)請求,被動(dòng)應(yīng)答是指在單片機(jī)收到數(shù)據(jù)請求后,上傳給計(jì)算機(jī)應(yīng)用層的應(yīng)答數(shù)據(jù)。所有的通訊都由計(jì)算機(jī)應(yīng)用層發(fā)起,然后以接收到單片機(jī)的應(yīng)答結(jié)束,完整的過程包括:
          (1)計(jì)算機(jī)應(yīng)用層按事先約定的格式將數(shù)據(jù)請求發(fā)送給CH375;
          (2)CH375以中斷方式通知單片機(jī),單片機(jī)進(jìn)入中斷服務(wù)程序,獲取CH375的中斷狀態(tài)并分析;
          (3)如果是上傳,則釋放當(dāng)前USB緩沖區(qū),單片機(jī)將應(yīng)答數(shù)據(jù)寫入批量端點(diǎn)的上傳緩沖區(qū)中,然后退出中斷程序;
          (4)如果是下傳,則從數(shù)據(jù)下傳緩沖區(qū)中讀取數(shù)據(jù)塊,分析接收到的數(shù)據(jù)塊,將應(yīng)答數(shù)據(jù)返回給計(jì)算機(jī),然后退出中斷程序;
          (5)計(jì)算機(jī)應(yīng)用層接收到應(yīng)答數(shù)據(jù)。
          以下分別是為計(jì)算機(jī)端和單片機(jī)端采用此傳輸方式實(shí)現(xiàn)USB數(shù)據(jù)傳輸所編寫程序的基本結(jié)構(gòu)。

          4 結(jié)束語
          該采集系統(tǒng)有兩個(gè)顯著特點(diǎn),一是采用AVR單片機(jī)ATmegal28作為主控制器,取代了常用的51系列單片機(jī),控制高速模數(shù)轉(zhuǎn)換器AD9220進(jìn)行轉(zhuǎn)換,使采集速率最高可達(dá)到5 MS/s,二是同時(shí)采用USB總線進(jìn)行數(shù)據(jù)傳輸。因此該系統(tǒng)不僅采集速率高,還具有傳輸速度快、易用、可擴(kuò)展、快速、傳輸可靠等優(yōu)點(diǎn)。由于USB2.O使數(shù)據(jù)傳輸速率提高到480 Mbit/s,因此具有USB接口的數(shù)據(jù)采集必將得到更廣泛的應(yīng)用。



          關(guān)鍵詞: ATmegal 375 28 CH

          評論


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