亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改良式SPI總線和LabVIEW的多通道數(shù)據(jù)采集系統(tǒng)

        2022-04-19 10:02:46龔大偉徐寶鶴
        儀表技術(shù)與傳感器 2022年3期
        關(guān)鍵詞:主控制板卡線程

        龔大偉,徐寶鶴,陸 麗

        (上海電機學(xué)院電氣學(xué)院,上海 200135)

        0 引言

        隨著數(shù)據(jù)采集系統(tǒng)被越來越多的領(lǐng)域廣泛應(yīng)用,使得數(shù)據(jù)采集系統(tǒng)需要具有更高的性能。目前大部分?jǐn)?shù)據(jù)采集系統(tǒng)的控制核心主要分為以下4種:MCU、DSP、ARM和FPGA。其中MCU難以應(yīng)用于復(fù)雜系統(tǒng);DSP主要應(yīng)用于對數(shù)字信號處理能力需求較高的場合,并且其難以實現(xiàn)復(fù)雜邏輯控制;ARM雖然具有豐富的功能,但不適合用于對控制需求較高的場合;FPGA因為其強大的并行處理能力以及能夠?qū)崿F(xiàn)復(fù)雜邏輯控制,從而被廣泛應(yīng)用于數(shù)據(jù)采集系統(tǒng)中[1]。所以文中數(shù)據(jù)采集系統(tǒng)的主控制板卡和從控制板卡均選用FPGA作為控制核心。

        由于傳統(tǒng)的三線制SPI總線通信只有一根miso數(shù)據(jù)線,無法實現(xiàn)多塊控制板卡間的高速并行通信[2],所以文中的主控制板卡和從控制板卡之間采用改良式SPI總線連接。通過增加miso數(shù)據(jù)線的數(shù)量,使所有從控制板卡可以同時向主控制板卡發(fā)送數(shù)據(jù),并且加快了傳輸速率。

        為解決傳統(tǒng)FPGA開發(fā)模式中的開發(fā)周期長、開發(fā)難度較高等問題,文獻(xiàn)[3-4]使用LabVIEW FPGA工具包來進(jìn)行系統(tǒng)開發(fā)。這種開發(fā)模式的優(yōu)勢是使用圖形化編程語言,降低了程序的開發(fā)難度,讓開發(fā)思路變得更加清晰,但不足之處是只能兼容NI公司的硬件,且NI公司的硬件大多較昂貴,所以文中選擇LabVIEW FPGA工具包,其具有更好的兼容性,不僅解決了系統(tǒng)開發(fā)過程中存在的周期長、難度高等問題,也讓系統(tǒng)擁有更多硬件選擇,使系統(tǒng)具有更好的拓展性和經(jīng)濟性。

        另外,由于單獨使用LabVIEW FPGA工具包進(jìn)行程序設(shè)計,存在程序編譯時間較長、資源占用較多等問題,所以文中程序設(shè)計采用Vivado和LabVIEW FPGA相結(jié)合的開發(fā)模式。具體設(shè)計思路為:首先通過Vivado編寫verilog程序,編譯生成edf網(wǎng)表文件,再通過LabVIEW FPGA中的IP Block集成節(jié)點調(diào)用edf網(wǎng)表文件生成IP核。這種開發(fā)模式不僅縮短了程序編譯時間,還降低了資源占用率。

        1 器件選型

        文中的主控制板卡和從控制板卡均選用FPGA板卡,具體型號為AX7035,該板卡以XC7A35T-2FGG484芯片作為核心,完全滿足系統(tǒng)需求。

        文中選用8通道A/D采集模塊,具體型號為AN706,該模塊以AD7606芯片作為核心,具有8個數(shù)據(jù)采集通道、16位的采樣精度和最高200 KSPS的采樣速率,可以對±10 V和±5 V的雙極性信號進(jìn)行采集,能夠滿足系統(tǒng)高精度需求[5]。

        2 系統(tǒng)總體架構(gòu)設(shè)計

        系統(tǒng)的整體架構(gòu)由1塊主控制板卡、3塊從控制板卡和3塊A/D采集模塊AN706構(gòu)成,使系統(tǒng)具有24個采集通道,且每通道都具有16位的采集精度。其整體架構(gòu)圖如圖1所示。系統(tǒng)的工作流程主要為:控制3塊AN706采集多通道數(shù)據(jù),并將數(shù)據(jù)傳輸?shù)綄?yīng)的3塊從控制板卡;3塊從控制板卡通過改良式SPI總線將接收的數(shù)據(jù)傳輸給主控制板卡;主控制板卡通過FIFO將數(shù)據(jù)傳輸給千兆以太網(wǎng)模塊;最后通過千兆以太網(wǎng)模塊將數(shù)據(jù)傳輸給上位機,通過上位機前面板的波形圖控件對采集的數(shù)據(jù)波形進(jìn)行顯示。文中系統(tǒng)涉及了大量不同線程間的數(shù)據(jù)傳輸,由于不同線程可能具有不同的吞吐率,所以將數(shù)據(jù)通過FIFO進(jìn)行傳輸,可以避免數(shù)據(jù)丟失或覆蓋[6]。異步信號通過兩級寄存器進(jìn)行延拍,減小亞穩(wěn)態(tài)出現(xiàn)的概率,確保了系統(tǒng)的穩(wěn)定可靠[7]。

        圖1 系統(tǒng)整體架構(gòu)圖

        3 接口設(shè)計

        3.1 AN706接口設(shè)計

        AD采集模塊AN706通過40pin擴展接口與從控制板卡AX7035相連。AN706的控制信號均由從控制板卡AX7035產(chǎn)生。AN706接口簡圖如圖2所示。

        圖2 AN706接口簡圖

        3.2 改良式SPI總線接口設(shè)計

        文中使用改良式SPI總線實現(xiàn)主控制板卡和從控制板卡間的通信。同步通信時鐘SCK由改良式SPI總線主機模塊產(chǎn)生,并提供給改良式SPI總線從機模塊使用。為了加快傳輸速率,將輸入的16位數(shù)據(jù)拆分為高8位和低8位,分別通過2根miso數(shù)據(jù)線進(jìn)行傳輸。每個改良式SPI總線從機模塊均擁有2根miso數(shù)據(jù)線,可以同時向改良式SPI總線主機模塊發(fā)送數(shù)據(jù),從而實現(xiàn)多塊控制板卡間的高速并行通信。改良式SPI總線接口簡圖如圖3所示。

        圖3 改良式SPI總線接口簡圖

        3.3 千兆以太網(wǎng)接口設(shè)計

        文中系統(tǒng)采用AX7035開發(fā)板上集成的千兆以太網(wǎng)芯片KSZ9031作為千兆以太網(wǎng)模塊的控制核心。該芯片只需占用較少的I/O引腳資源,在需要使用千兆以太網(wǎng)通信的項目中是一個不錯的選擇。由于文中系統(tǒng)只需通過千兆以太網(wǎng)向上位機發(fā)送數(shù)據(jù),所以文中只設(shè)計了千兆以太網(wǎng)發(fā)送線程。千兆以太網(wǎng)接口簡圖如圖4所示。

        圖4 千兆以太網(wǎng)接口簡圖

        4 程序設(shè)計

        4.1 AN706驅(qū)動程序的設(shè)計

        文中AN706的8個通道采用并行采樣模式,采樣速率均設(shè)置為200 KSPS,沒有過采樣[8]。為保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,程序中設(shè)置了輸出有效信號data_out_valid。程序開始時,首先對A/D進(jìn)行復(fù)位,然后發(fā)送并行采集信號AD_convstab,啟動A/D轉(zhuǎn)換。通過AD_busy信號判斷AN706當(dāng)前是否為空閑狀態(tài),當(dāng)AD_busy信號為低電平時,表示AN706當(dāng)前處于空閑狀態(tài),開始數(shù)據(jù)轉(zhuǎn)換,拉低AD_CS信號。當(dāng)8個通道的數(shù)據(jù)均轉(zhuǎn)換完成后,進(jìn)入轉(zhuǎn)換結(jié)束狀態(tài),拉高AD_CS信號,取消片選。并在此時判斷采樣率計時器是否計滿,計滿后一次數(shù)據(jù)轉(zhuǎn)換完成,數(shù)據(jù)輸出有效,此時數(shù)據(jù)會移到FIFO中進(jìn)行緩存,若不繼續(xù)采集,則結(jié)束。AN706控制流程圖如圖5所示。

        圖5 AN706控制流程圖

        文中的AN706控制程序是根據(jù)AN706控制流程圖使用硬件描述語言(verilog)進(jìn)行編寫,并且對程序的正確性和可靠性進(jìn)行仿真驗證,AN706控制程序的仿真驗證圖如圖6所示。使用編譯好的AN706控制程序生成edf網(wǎng)表文件,供LabVIEW FPGA調(diào)用生成IP核。

        圖6 AN706時序仿真驗證圖

        4.2 改良式SPI總線通信的程序設(shè)計

        文中的改良式SPI總線通信程序以狀態(tài)機架構(gòu)作為設(shè)計核心思想。SCK時鐘分頻為10分頻,SCK時鐘在空閑狀態(tài)時會一直保持低電平,數(shù)據(jù)的發(fā)送和接收分別在該時鐘的上升沿和下降沿進(jìn)行。改良式SPI總線通信的程序分為主機程序和從機程序2個部分,其中主控制板卡作為主機,從控制板卡作為從機。主機程序的控制流程為:當(dāng)開始信號有效時,通過計時器產(chǎn)生SCK時鐘,供從機使用,并且開始進(jìn)行數(shù)據(jù)的接收,拉低CS信號,當(dāng)接收完指定位數(shù)的數(shù)據(jù)后,一次數(shù)據(jù)接收完成,拉高CS信號,若不繼續(xù)接收,則結(jié)束。主機程序控制流程圖如圖7所示。

        圖7 主機程序控制流程圖

        從機程序控制流程為:當(dāng)CS信號為低電平時,當(dāng)前狀態(tài)由空閑狀態(tài)變?yōu)榘l(fā)送狀態(tài),當(dāng)SCK信號的上升沿到來時,且當(dāng)前狀態(tài)為發(fā)送狀態(tài)時,開始數(shù)據(jù)的發(fā)送,當(dāng)發(fā)送完指定位數(shù)的數(shù)據(jù)后,一次數(shù)據(jù)發(fā)送完成,狀態(tài)變回空閑,若不繼續(xù)發(fā)送數(shù)據(jù),則結(jié)束。具體的從機程序控制流程圖如圖8所示。

        圖8 從機程序控制流程圖

        根據(jù)從機程序控制流程圖和主機程序控制流程圖,使用硬件描述語言(verilog)對改良式SPI總線通信程序進(jìn)行編寫,通過仿真驗證了其正確性和可靠性,改良式SPI總線通信的仿真驗證圖如圖9所示。主控制板卡可以同時接收3塊從控制板卡發(fā)送的數(shù)據(jù),互不干擾,并加入了input_rdy信號、data_valid信號和input_valid信號作為握手信號,充分保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和穩(wěn)定性。將編譯完畢的程序生成edf網(wǎng)表文件,供LabVIEW FPGA調(diào)用生成IP核。

        圖9 改良式SPI時序仿真驗證圖

        4.3 LabVIEW FPGA程序設(shè)計

        文中的LabVIEW FPGA程序設(shè)計主要分為主控制板卡部分和從控制板卡部分。主控制板卡部分主要包括千兆以太網(wǎng)通信線程和改良式SPI總線通信的主機線程;從控制板卡部分主要包括改良式SPI總線通信的從機線程和數(shù)據(jù)采集線程。這種模塊化的程序設(shè)計也便于管理以及后期維護(hù)[9]。

        4.3.1 主控制板卡部分

        千兆以太網(wǎng)線程的主要功能是實現(xiàn)上位機與下位機的通信。具體參數(shù)配置為:FPGA和上位機的IP地址分別設(shè)置為192.168.0.2和192.168.0.3,轉(zhuǎn)化為十六進(jìn)制分別是C0A80002和C0A80003;發(fā)送數(shù)據(jù)的長度為1 536個字節(jié);PC端的物理地址設(shè)置為廣播,表示不對數(shù)據(jù)進(jìn)行過濾。通過FIFO實現(xiàn)數(shù)據(jù)的跨線程傳輸,當(dāng)send_en信號為真且FIFO沒有超時,將FIFO中的數(shù)據(jù)發(fā)送給data_in端口,詳細(xì)的程序框圖如圖10所示。

        圖10 千兆以太網(wǎng)通信線程

        改良式SPI總線主機線程的功能是接收從控制板卡發(fā)送的數(shù)據(jù)。設(shè)計思路是使用LabVIEW FPGA中的IP Block集成節(jié)點將改良式SPI總線主機程序的edf網(wǎng)表文件生成IP核,對IP核中相應(yīng)的輸入輸出端口進(jìn)行I/O引腳配置,當(dāng)data_valid信號為真時,F(xiàn)IFO會對此時接收的數(shù)據(jù)進(jìn)行緩存,具體程序框圖如圖11所示。

        圖11 改良式SPI總線主機線程

        4.3.2 從控制板卡部分

        本文共有3塊從控制板卡,由于程序設(shè)計大致相同,這里只舉一例說明。從控制板卡部分主要包括改良式SPI總線從機線程和數(shù)據(jù)采集線程。改良式SPI總線從機線程的主要功能是將采集的多通道數(shù)據(jù)發(fā)送給改良式SPI總線主機線程。數(shù)據(jù)的輸入主要是通過握手制FIFO實現(xiàn),當(dāng)input_rdy信號為真時,表示從機線程可以進(jìn)行數(shù)據(jù)接收,當(dāng)FIFO的輸出有效時,從機線程會將當(dāng)前接收的數(shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù)通過2根miso數(shù)據(jù)線發(fā)送給主機線程。改良式SPI總線從機線程的程序框圖如圖12所示。

        圖12 改良式SPI總線從機線程

        數(shù)據(jù)采集線程的設(shè)計思路同樣是調(diào)用上述AD7606驅(qū)動程序的edf網(wǎng)表文件生成IP核,該線程的主要功能是控制AN706進(jìn)行數(shù)據(jù)采集,并將采集的多通道數(shù)據(jù)傳遞給改良式SPI總線從機線程。根據(jù)AN706和AX7035的I/O引腳對應(yīng)關(guān)系,對IP核中相應(yīng)的輸入輸出端口進(jìn)行I/O引腳分配,當(dāng)data_out_valid信號為真時,8個FIFO將分別緩存對應(yīng)的輸出端子輸出的數(shù)據(jù),避免數(shù)據(jù)的丟失和確保數(shù)據(jù)的準(zhǔn)確性。數(shù)據(jù)采集線程的程序框圖如圖13所示。

        圖13 數(shù)據(jù)采集線程

        5 系統(tǒng)驗證

        5.1 系統(tǒng)驗證平臺的搭建

        通過搭建系統(tǒng)驗證平臺,對系統(tǒng)進(jìn)行驗證分析,將3塊AN706分別插入3塊從控制板卡AX7035的J9擴展口中,再使用杜邦線將3塊從控制板卡與主控制板卡相連,最后使用千兆以太網(wǎng)線將主控制板卡連接到上位機。系統(tǒng)驗證平臺如圖14所示。

        圖14 系統(tǒng)驗證平臺

        5.2 系統(tǒng)實驗分析

        文中的上位機前面板通過LabVIEW FPGA進(jìn)行設(shè)計,通過前面板的顯示控件對采集的波形進(jìn)行分析。由于傳統(tǒng)的UDP通信存在數(shù)據(jù)覆蓋和數(shù)據(jù)丟失的可能性,所以文中上位機設(shè)計基于winpcap工具包,這種直接從網(wǎng)卡中提取數(shù)據(jù)的方式,可以有效避免數(shù)據(jù)的丟失。

        具體實驗流程為:首先使用信號發(fā)生器產(chǎn)生2種波形分別為正弦波和三角波的電壓信號,周期均為1 ms,峰峰值均為10 V,然后使用數(shù)據(jù)采集系統(tǒng)對產(chǎn)生的電壓信號進(jìn)行采集和傳輸,最后通過上位機前面板對采集的數(shù)據(jù)進(jìn)行觀測和分析。由于通道數(shù)過多,這里只列舉部分進(jìn)行說明。圖15為系統(tǒng)前面板的部分波形圖顯示界面。由圖15可知,系統(tǒng)能夠正常工作,可以實現(xiàn)24通道并行采集,并且采集的信號波形完整穩(wěn)定,無失真信號,信號周期為0.98 ms,峰峰值為9.94 V,與產(chǎn)生的電壓信號基本一致,表明系統(tǒng)具有良好的穩(wěn)定性和可靠性。

        5.3 系統(tǒng)誤差分析

        系統(tǒng)的采集范圍為-5~5 V,采集通道數(shù)為24,采樣精度為16位,系統(tǒng)理論分辨率為0.152 5 mV。表1為系統(tǒng)采集的部分?jǐn)?shù)據(jù)量,可以計算出系統(tǒng)的誤差都在0.65%左右,能夠滿足高精度需求。

        (a)通道7

        (b)通道8

        (c)通道2

        (d)通道3

        (e)通道5

        (f)通道6

        表1 誤差分析

        6 結(jié)論

        文中的多通道數(shù)據(jù)采集系統(tǒng)由4塊FPGA板卡AX7035搭配3塊A/D采集模塊AN706構(gòu)成,使系統(tǒng)具有24個采集通道和16位的采樣精度。多塊FPGA板卡間采用改良式SPI總線通信,實現(xiàn)了多板卡間的高速并行通信。與傳統(tǒng)開發(fā)模式相比,文中通過LabVIEW FPGA工具包調(diào)用edf網(wǎng)表文件生成IP核的方式,能夠有效縮短系統(tǒng)開發(fā)周期和程序編譯時間,很適合基于FPGA的系統(tǒng)開發(fā)。由實驗結(jié)果可知,系統(tǒng)可以實現(xiàn)24通道并行采集,且能夠適應(yīng)多種類型的電壓信號,具有良好的穩(wěn)定性和可靠性。另外,文中采用了模塊化的設(shè)計思想,也讓系統(tǒng)的后期擴展和維護(hù)變得更加簡便快捷。若需要提高系統(tǒng)的通道數(shù)和采樣精度,可以通過修改相應(yīng)的程序并更換A/D采集模塊來實現(xiàn)。

        猜你喜歡
        主控制板卡線程
        基于多核框架的無人機控制系統(tǒng)
        電子測試(2021年9期)2021-06-17 10:59:46
        基于多核框架的無人機控制系統(tǒng)
        電子制作(2021年9期)2021-06-17 03:59:54
        基于PCI9054的多總線通信板卡的研制
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        四工位組合機床動力頭主控制電路的設(shè)計
        淺談linux多線程協(xié)作
        路虎攬勝車倒車影像功能失效
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
        一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計
        Linux線程實現(xiàn)技術(shù)研究
        蜜桃一区二区三区视频| 妺妺窝人体色www聚色窝韩国| 精品人妻一区二区三区蜜桃| 国产内射一级一片内射高清视频1| 久久中文骚妇内射| 日韩a无v码在线播放| 国产av综合一区二区三区最新| 亚洲情精品中文字幕99在线| 日本女优在线观看一区二区三区| 99久久国产免费观看精品 | 国产噜噜亚洲av一二三区| 午夜一区二区三区观看| 把女邻居弄到潮喷的性经历| 男男车车的车车网站w98免费| 亚洲人成人一区二区三区| 久久免费看视频少妇高潮| 久久久精品午夜免费不卡| 精品日韩欧美一区二区在线播放 | 国产成人午夜精华液| 91精品啪在线观看国产色| 日本免费精品一区二区三区视频| 午夜精品久久久久久久| 亚洲精品欧美二区三区中文字幕| 97色综合| 日本不卡一区二区三区久久精品 | 水野优香中文字幕av网站| 日韩人妻无码一区二区三区久久| 国产农村妇女高潮大叫| 日本一区二区三区小视频| 亚洲毛片在线观看免费| 孕妇特级毛片ww无码内射| 极品美女高潮喷白浆视频| 熟女高潮av一区二区| 色欲欲www成人网站| 欧美国产成人精品一区二区三区| 亚洲精品二区在线观看| 免费一级淫片日本高清| 老熟妇乱子伦av| 狼色在线精品影视免费播放| 谷原希美中文字幕在线| 国产亚洲2021成人乱码|