關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于ATmegal28控制器和CH375接口的高速數據采集系

        基于ATmegal28控制器和CH375接口的高速數據采集系

        作者: 時間:2008-02-19 來源:網絡 收藏
        摘要:介紹了一種基于USB接口的高速數據采集系統的設計與實現。該系統采用AVR單片機作為主控制器,通過基于的USB接口實現數據傳輸。給出了高速模數轉換及USB接口的電路原理簡圖,并詳細介紹了實現USB數據傳輸的上、下位機的程序設計。該系統采集速率最高可以達到5 MS/s,有軟件觸發、后觸發、前觸發三種采集模式,已成功應用到核探測領域。
        關鍵詞:USB接口;數據采集;AVR單片機;核探測


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

        2 系統硬件設計
        該數據采集系統硬件模塊總體結構如圖l所示,輸入信號幅度的范圍為0 V~5 V。

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

        當觸發條件滿足后,ATmegal28啟動模數轉換器AD9220進行轉換,將轉換后的數據存入數據存儲器中,待上位機查詢讀取。ATmegal28控制模數轉換與數據存儲器擴展電路如圖3所示。

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

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

        4 結束語
        該采集系統有兩個顯著特點,一是采用AVR單片機ATmegal28作為主控制器,取代了常用的51系列單片機,控制高速模數轉換器AD9220進行轉換,使采集速率最高可達到5 MS/s,二是同時采用USB總線進行數據傳輸。因此該系統不僅采集速率高,還具有傳輸速度快、易用、可擴展、快速、傳輸可靠等優點。由于USB2.O使數據傳輸速率提高到480 Mbit/s,因此具有USB接口的數據采集必將得到更廣泛的應用。



        關鍵詞: ATmegal 375 28 CH

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 无为县| 古田县| 阳西县| 昭通市| 定南县| 新郑市| 澳门| 芦溪县| 柳林县| 陵川县| 宁津县| 福清市| 云林县| 西贡区| 通许县| 海兴县| 华坪县| 潜山县| 桃园县| 乌兰浩特市| 方山县| 望城县| 准格尔旗| 拉萨市| 巴青县| 怀柔区| 长汀县| 潮安县| 古浪县| 苗栗县| 敦化市| 平潭县| 内江市| 驻马店市| 中山市| 延津县| 海城市| 三江| 通海县| 巴塘县| 溧水县|