0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA的多通道數(shù)據(jù)采集傳輸系統(tǒng)

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 2024-12-09 10:45 ? 次閱讀

一、系統(tǒng)總體方案設(shè)計(jì)

為了滿足油田增壓站對(duì)數(shù)據(jù)采集的需求,我們?cè)O(shè)計(jì)了一套基于FPGA的多通道數(shù)據(jù)采集與傳輸系統(tǒng)。系統(tǒng)以FPGA作為主控制器,利用外部ADC芯片完成模擬信號(hào)的采集,通過以太網(wǎng)實(shí)現(xiàn)與上位機(jī)的人機(jī)交互。

需求分析:油田增壓站的環(huán)境復(fù)雜,采集信號(hào)類型多樣,包括溫度、壓力、流量等模擬信號(hào)。系統(tǒng)需要實(shí)現(xiàn)對(duì)多通道信號(hào)的實(shí)時(shí)采集與傳輸,并具備較高的采集精度和穩(wěn)定性。

系統(tǒng)架構(gòu):系統(tǒng)主要由FPGA、ADC芯片、以太網(wǎng)模塊和上位機(jī)軟件組成。FPGA負(fù)責(zé)系統(tǒng)的核心控制,包括信號(hào)采集、數(shù)據(jù)處理和數(shù)據(jù)傳輸。外部ADC芯片將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。通過以太網(wǎng)模塊,數(shù)據(jù)傳輸至上位機(jī)進(jìn)行處理和顯示。

系統(tǒng)的總體設(shè)計(jì)流程如下:首先,外部傳感器將模擬信號(hào)輸入到ADC芯片中,F(xiàn)PGA通過SPI通信協(xié)議讀取ADC的數(shù)字信號(hào),對(duì)數(shù)據(jù)進(jìn)行濾波和組幀處理后,通過以太網(wǎng)發(fā)送至上位機(jī)。上位機(jī)軟件將接收到的數(shù)據(jù)進(jìn)行解析和可視化顯示。

二、硬件電路設(shè)計(jì)與FPGA內(nèi)部邏輯設(shè)計(jì)

1. 硬件電路設(shè)計(jì)

硬件電路設(shè)計(jì)是實(shí)現(xiàn)多通道數(shù)據(jù)采集傳輸?shù)幕A(chǔ),包括關(guān)鍵芯片的選型、原理圖設(shè)計(jì)和PCB布板。

關(guān)鍵芯片選型:

FPGA:選擇一款具有足夠I/O口、內(nèi)存和處理能力的FPGA芯片。Altera Cyclone系列或Xilinx Spartan系列是常用的選擇,具有豐富的外圍接口資源和較高的性價(jià)比。

ADC芯片:選擇支持多通道輸入和高采樣速率的ADC芯片,如TI公司的ADS1256或Analog Devices的AD7606。這些芯片支持多通道同步采樣,具備較高的分辨率(24位)和采樣精度。

以太網(wǎng)模塊:選用常見的以太網(wǎng)PHY芯片,如Wiznet的W5500或Microchip的ENC28J60,實(shí)現(xiàn)以太網(wǎng)通信。

電路設(shè)計(jì):

原理圖設(shè)計(jì):根據(jù)功能需求繪制系統(tǒng)的原理圖,包括FPGA與ADC芯片的SPI接口電路、FPGA與以太網(wǎng)模塊的接口電路,以及電源管理和信號(hào)調(diào)理電路等。

PCB設(shè)計(jì):完成原理圖設(shè)計(jì)后,進(jìn)行PCB布局布線,確保高速信號(hào)傳輸?shù)耐暾院拖到y(tǒng)的穩(wěn)定性。注意地線和電源的布置,避免噪聲干擾。

2. FPGA內(nèi)部邏輯設(shè)計(jì)

FPGA內(nèi)部邏輯設(shè)計(jì)是整個(gè)系統(tǒng)的核心,包括SPI通信模塊、數(shù)字濾波模塊和數(shù)據(jù)傳輸模塊。

SPI通信模塊:FPGA通過SPI協(xié)議與ADC芯片通信,完成多通道數(shù)據(jù)的采集。設(shè)計(jì)一個(gè)支持SPI主機(jī)模式的模塊,用于控制ADC芯片的工作模式和數(shù)據(jù)讀取。該模塊包括SPI時(shí)鐘的生成、數(shù)據(jù)的發(fā)送與接收,以及片選信號(hào)的控制。

數(shù)字濾波模塊:為了減少現(xiàn)場(chǎng)高頻噪聲對(duì)采集數(shù)據(jù)的影響,在FPGA中實(shí)現(xiàn)了一個(gè)FIR數(shù)字濾波器。該濾波器對(duì)從ADC采集到的信號(hào)進(jìn)行濾波處理,消除高頻噪聲,確保數(shù)據(jù)的準(zhǔn)確性。FIR濾波器的設(shè)計(jì)需要根據(jù)系統(tǒng)的采樣率和信號(hào)特性選擇合適的濾波器系數(shù),確保在不失真信號(hào)的情況下消除噪聲。

數(shù)據(jù)組幀與傳輸模塊:為了方便上位機(jī)識(shí)別采樣數(shù)據(jù)來自具體的設(shè)備和通道,對(duì)采集到的數(shù)據(jù)進(jìn)行自定義組幀處理。每幀數(shù)據(jù)中包括通道標(biāo)識(shí)、數(shù)據(jù)值和校驗(yàn)信息等。組幀完成后,F(xiàn)PGA通過以太網(wǎng)模塊將數(shù)據(jù)發(fā)送至上位機(jī)。數(shù)據(jù)傳輸模塊采用UDP協(xié)議實(shí)現(xiàn),確保數(shù)據(jù)的實(shí)時(shí)性和可靠性。

三、上位機(jī)軟件設(shè)計(jì)

為了實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)顯示和控制下位機(jī)的采集功能,設(shè)計(jì)了基于LabVIEW的上位機(jī)軟件。其主要功能包括:

數(shù)據(jù)采集控制:上位機(jī)通過以太網(wǎng)發(fā)送命令,控制FPGA實(shí)現(xiàn)數(shù)據(jù)采集的啟停。LabVIEW提供了豐富的網(wǎng)絡(luò)通信控件,可以方便地實(shí)現(xiàn)與下位機(jī)的交互。

數(shù)據(jù)解析與顯示:接收FPGA傳輸?shù)臄?shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行解析,包括提取通道標(biāo)識(shí)和采樣值。將解析后的數(shù)據(jù)轉(zhuǎn)換為波形曲線,并在上位機(jī)界面進(jìn)行實(shí)時(shí)顯示。LabVIEW具有強(qiáng)大的圖形化界面設(shè)計(jì)功能,能夠直觀地呈現(xiàn)采集到的信號(hào)。

數(shù)據(jù)存儲(chǔ)與分析:除了實(shí)時(shí)顯示外,上位機(jī)還可以將采集到的數(shù)據(jù)存儲(chǔ)在本地文件中,供后續(xù)分析和處理。LabVIEW支持多種數(shù)據(jù)存儲(chǔ)格式,如文本文件、Excel文件等。

四、系統(tǒng)測(cè)試與性能驗(yàn)證

為了驗(yàn)證數(shù)據(jù)采集傳輸系統(tǒng)的功能完整性和可靠性,搭建了測(cè)試平臺(tái)對(duì)系統(tǒng)進(jìn)行了全面測(cè)試。測(cè)試包括以太網(wǎng)數(shù)據(jù)傳輸?shù)目煽啃?、采集?shù)據(jù)的精度和系統(tǒng)整體功能。

以太網(wǎng)數(shù)據(jù)傳輸測(cè)試:測(cè)試以太網(wǎng)模塊的傳輸性能,驗(yàn)證數(shù)據(jù)在傳輸過程中是否存在丟包或延遲等問題。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)的數(shù)據(jù)傳輸穩(wěn)定,丟包率低于0.1%,傳輸延遲在可接受范圍內(nèi)。

數(shù)據(jù)采樣精度測(cè)試:對(duì)系統(tǒng)的采樣精度進(jìn)行測(cè)試,使用標(biāo)準(zhǔn)信號(hào)源向系統(tǒng)輸入已知信號(hào),采集后與原始信號(hào)進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果顯示,系統(tǒng)的采樣誤差在±0.1%以內(nèi),達(dá)到了設(shè)計(jì)要求的精度。

系統(tǒng)整體功能測(cè)試:包括從信號(hào)采集、數(shù)據(jù)傳輸?shù)缴衔粰C(jī)顯示的完整流程測(cè)試。實(shí)驗(yàn)中,上位機(jī)軟件能夠準(zhǔn)確控制FPGA的采集啟停,并實(shí)時(shí)顯示采集到的信號(hào)波形。系統(tǒng)整體運(yùn)行穩(wěn)定,滿足數(shù)據(jù)采集、傳輸與顯示的功能需求。

// SPI通信模塊
module spi_master (
    input clk,
    input rst_n,
    input start,
    input [7:0] data_in,
    output reg miso,
    output reg sclk,
    output reg cs_n,
    output reg [7:0] data_out,
    output reg done
);
    reg [2:0] bit_cnt;
    reg [7:0] shift_reg;
    reg state;

    // SPI時(shí)鐘產(chǎn)生
    always @(posedge clk or negedge rst_n) begin
        if (!rst_n) begin
            sclk <= 1;
        end else begin
            sclk <= ~sclk;
        end
    end

    // SPI狀態(tài)機(jī)
    always @(posedge clk or negedge rst_n) begin
        if (!rst_n) begin
            cs_n <= 1;
            bit_cnt <= 3'b0;
            state <= 0;
            done <= 0;
        end else begin
            case (state)
                0: begin
                    if (start) begin
                        cs_n <= 0;
                        shift_reg <= data_in;
                        bit_cnt <= 3'b111;
                        state <= 1;
                    end
                end
                1: begin
                    if (bit_cnt == 3'b000) begin
                        state <= 2;
                    end else begin
                        sclk <= ~sclk;
                        if (sclk) begin
                            miso <= shift_reg[7];
                            shift_reg <= {shift_reg[6:0], 1'b0};
                            bit_cnt <= bit_cnt - 1;
                        end
                    end
                end
                2: begin
                    cs_n <= 1;
                    data_out <= shift_reg;
                    done <= 1;
                    state

1f1030b4-b39c-11ef-93f3-92fbcf53809c.png

1f251a24-b39c-11ef-93f3-92fbcf53809c.png

1f30bb36-b39c-11ef-93f3-92fbcf53809c.png

1f5588ee-b39c-11ef-93f3-92fbcf53809c.png

1f779a7e-b39c-11ef-93f3-92fbcf53809c.png

1f7f6ed4-b39c-11ef-93f3-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603318
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    39

    文章

    6100

    瀏覽量

    113652
  • 傳輸系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    152

    瀏覽量

    37187

原文標(biāo)題:FPGA的多通道數(shù)據(jù)采集傳輸系統(tǒng)

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    通道位移數(shù)據(jù)采集系統(tǒng)

    ` 精量電子通道數(shù)據(jù)采集系統(tǒng)擁有強(qiáng)大的數(shù)據(jù)存儲(chǔ)及分析能力,可采集電子尺、LVDT傳感器等電信號(hào)
    發(fā)表于 12-31 17:01

    基于CVI的通道數(shù)據(jù)采集系統(tǒng)

    基于計(jì)算機(jī)技術(shù)及虛擬儀器平臺(tái)LabWindows/CVI 開發(fā)了通道實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)。系統(tǒng)采用ACL-8112PG
    發(fā)表于 12-31 15:10 ?79次下載

    基于FPGA通道同步數(shù)據(jù)采集存儲(chǔ)系統(tǒng)

    設(shè)計(jì)一種基于FPGA通道同步數(shù)據(jù)采集存儲(chǔ)系統(tǒng),分為通道
    發(fā)表于 12-27 15:31 ?70次下載

    基于PCI總線通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

    基于PCI總線通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) 摘 要:基于PCI總線的高速數(shù)據(jù)采集系統(tǒng)是近年來
    發(fā)表于 10-22 17:52 ?1414次閱讀

    基于FPGA通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    基于FPGA通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì) 大地電磁場(chǎng)攜帶著地球內(nèi)部的結(jié)構(gòu)、構(gòu)造、溫度、壓力以及物質(zhì)成分的物理狀態(tài)等信息,為人們研
    發(fā)表于 10-25 11:12 ?1495次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于FPGA通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    基于FPGA通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì) 大地電磁場(chǎng)攜帶著地球內(nèi)部的結(jié)構(gòu)、構(gòu)造、溫度、壓力以及物質(zhì)成分的物理狀態(tài)等信息,為人們研究板塊運(yùn)動(dòng)的規(guī)
    發(fā)表于 11-05 09:04 ?1535次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于FPGA和USB接口的通道數(shù)據(jù)采集系統(tǒng)

    設(shè)計(jì)了一種基于FPGA和USB接口的通道數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)采用在
    發(fā)表于 12-28 10:34 ?91次下載
    基于<b class='flag-5'>FPGA</b>和USB接口的<b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>

    基于FPGA通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    基于FPGA通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì),下來看看。
    發(fā)表于 05-10 13:45 ?60次下載

    如何使用FPGA進(jìn)行超通道高速數(shù)據(jù)采集系統(tǒng)的構(gòu)成和設(shè)計(jì)過程資料概述

    為了實(shí)現(xiàn)高清晰度油氣管道漏磁檢測(cè)器高精度通道數(shù)據(jù)采集的要求,采用AlteraCyclone系列FPGA EPlC6為核心控制模塊,結(jié)合AD9223模數(shù)轉(zhuǎn)換芯片構(gòu)建了超
    發(fā)表于 10-16 10:34 ?50次下載
    如何使用<b class='flag-5'>FPGA</b>進(jìn)行超<b class='flag-5'>多</b><b class='flag-5'>通道</b>高速<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>的構(gòu)成和設(shè)計(jì)過程資料概述

    如何使用FPGA進(jìn)行通道同步數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

    結(jié)合數(shù)據(jù)采集在往復(fù)式壓縮機(jī)在線監(jiān)測(cè)系統(tǒng)中的應(yīng)用, 設(shè)計(jì)了以FPGA(現(xiàn)場(chǎng)可編程門陣列)為核心的邏輯控制模塊的通道
    發(fā)表于 12-18 19:09 ?21次下載
    如何使用<b class='flag-5'>FPGA</b>進(jìn)行<b class='flag-5'>多</b><b class='flag-5'>通道</b>同步<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)

    旋轉(zhuǎn)環(huán)境下基于FPGA通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    為了滿足某大型旋轉(zhuǎn)機(jī)械設(shè)備在監(jiān)測(cè)過程中實(shí)時(shí)性高精度通道采集需求,提出了一種基于FPGA通道
    的頭像 發(fā)表于 08-08 09:25 ?1128次閱讀
    旋轉(zhuǎn)環(huán)境下基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    通道數(shù)據(jù)采集系統(tǒng)的優(yōu)缺點(diǎn)

    通道數(shù)據(jù)采集系統(tǒng)是一種廣泛應(yīng)用于工業(yè)、科研、醫(yī)療等領(lǐng)域的技術(shù),它能夠同時(shí)采集多個(gè)通道的信號(hào),實(shí)
    的頭像 發(fā)表于 07-01 15:58 ?1600次閱讀

    通道數(shù)據(jù)采集系統(tǒng)的轉(zhuǎn)換誤差怎么算

    通道數(shù)據(jù)采集系統(tǒng)是一種廣泛應(yīng)用于工業(yè)、科研、醫(yī)療等領(lǐng)域的高精度數(shù)據(jù)采集設(shè)備。它通過多個(gè)通道同時(shí)
    的頭像 發(fā)表于 07-01 16:36 ?702次閱讀

    通道數(shù)據(jù)采集串?dāng)_問題怎么解決

    通道數(shù)據(jù)采集系統(tǒng)在現(xiàn)代工業(yè)、科研和醫(yī)療等領(lǐng)域中有著廣泛的應(yīng)用。然而,在通道
    的頭像 發(fā)表于 07-02 08:58 ?1228次閱讀

    通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)的意義

    通道數(shù)據(jù)采集系統(tǒng)(Multi-channel Data Acquisition System, 簡(jiǎn)稱MDAS)是一種能夠同時(shí)采集、處理和存
    的頭像 發(fā)表于 07-02 09:00 ?834次閱讀