新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA+DSP的多通道單端/差分信號采集系統設計

        基于FPGA+DSP的多通道單端/差分信號采集系統設計

        作者: 時間:2014-04-08 來源:網絡 收藏

        2.2 部分的設計

        本文引用地址:http://www.104case.com/article/236079.htm

        由于數據總線為32位雙向總線,所以在中需要設計一個總線的三態控制器,來控制總線的輸入輸出,這部分設計較簡單,模式相對固定,應用已成熟。

        對于發出的各個通道單端/差分控制,各個通道使能控制以及采樣率分頻值設置這些控制信息,由在中開辟出的3個32位寄存器來存儲。通道單端/差分控制寄存器和通道使能寄存器的定義如表1和表2所示,采樣率分頻值設置寄存器中的32位無符號2進制整數表示相應的分頻值。

        ?

        ?

        ?

        ?

        的控制信息設置好以后,根據通道單端/差分控制寄存器以及通道使能控制寄存器中的內容,建立一個使能通道索引表,索引表中字的個數等于使能的通道數,每一個字的字長為6位,依次將使能的通道號轉換成二進制無符號數后放入表中各個字的低5位,每個字的高位記錄相應的通道是單端還是差分,‘0’表示單端,‘1’表示差分。

        設計采用ADS8517并行輸出的工作模式,按照圖3所示的并行輸出方式時序圖對其進行控制,其中

        f.jpg
        和BYTE信號為ADS8517的輸入控制信號,
        f.jpg
        的下降沿表示一次采樣的開始,
        f.jpg
        為高電平時表示可以讀取A/D的輸出數據,輸出為并行8位輸出,當BYTE信號為低電平時輸出高8位,反之則輸出低8位,從而完成16位分辨率的輸出。
        g.jpg
        為ADS8517輸出信號,為低電平時則表示本次A/D轉換正在進行,為高電平時表示本次轉換完成,因此當
        f.jpg
        g.jpg
        同時為高電平時,便可以讀取本次A/D采樣轉換后的數據。

        ?

        ?

        ?

        ADS8517控制以及通道切換控制模塊在按照圖3所示的時序控制過程中,要根據采樣率分頻值設置寄存器中的值控制兩次采樣之間的時間間隔,即控制兩個相鄰

        信號下降沿之間的時間間隔,從而改變采樣率。在控制多路選擇模塊進行通道切換時,根據建立的索引列表依次切換通道,切換要在圖3中兩個相鄰
        信號低脈沖之間進行,這樣才能確保當A/D采樣時,通道已經切換完畢,輸入信號已穩定,從而保證采樣的準確性。

        ?

        除此之外,在FPGA中開辟一個字長為32位的FIFO,低16位存入A/D采樣的數據,高16位存入該數據對應的通道號,FIFO半滿,則給DSP發中斷,由DSP將A/D采樣后的數據讀出,以便后續處理。要注意的是,FIFO深度不能設置得太淺,否則會很快達到半滿,導致DSP對中斷響應不過來。

        3 結果驗證

        按照以上設計思路,完成硬件電路、FPGA內邏輯和DSP的程序設計,使用QuartusII中的在線邏輯分析儀SignalTapII Logic Analyzer對結果進行采樣分析,圖4所示為在DSP設置使能通道為30和31,并且均為單端的條件下采到的結果,與期望結果一致,類似這樣通過多次改變控制條件采樣分析發現,該系統可以正確地實現之前所描述的功能,從而驗證了該設計的合理正確性。

        ?

        4 結束語

        由于DSP+FPGA協同工作平臺的優越性,使其在信號處理中的應用越來越廣泛。文中介紹了一種基于DSP+FPGA的平臺,并利用ADS8517構成的一個具有多通道單端/差分的A/D信號采集系統。該系統的使能通道數可選,單端/差分方式可設置,采樣率可改變,機動靈活,可以應用在諸多信號采集以及測試系統中。

        fpga相關文章:fpga是什么



        上一頁 1 2 下一頁

        關鍵詞: FPGA DSP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天等县| 孝昌县| 红桥区| 合作市| 罗城| 临沂市| 延津县| 莆田市| 清流县| 蚌埠市| 东宁县| 石河子市| 石嘴山市| 建阳市| 裕民县| 汝州市| 黔西| 枝江市| 三河市| 孟津县| 同德县| 石首市| 凤翔县| 齐齐哈尔市| 大邑县| 五峰| 容城县| 扎赉特旗| 京山县| 焦作市| 丽水市| 揭西县| 兴文县| 易门县| 屯昌县| 来凤县| 福安市| 高邑县| 武宣县| 鱼台县| 东台市|