當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于LabVIEW和ARM嵌入式數(shù)據(jù)采集與遠(yuǎn)程傳輸控制系統(tǒng)


    基于嵌入式網(wǎng)絡(luò)的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)具有不受地理環(huán)境、氣候、時(shí)間的影響,小型便攜,使用靈活方便,交互操作性好,傳輸速率高,可靠性高,功耗低和移動(dòng)性好等優(yōu)點(diǎn)。目前常用的嵌入式CPU中,ARM由于性價(jià)比在同類產(chǎn)品中比較突出,目前用得越來越多,尤其是結(jié)合開源的嵌入式Linux操作系統(tǒng)以后,更是得到越來越多設(shè)計(jì)者的青睞。LabVIW作為一種功能強(qiáng)大,簡(jiǎn)單易用和設(shè)計(jì)靈活的圖形化編程語言,已經(jīng)廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,越來越多地應(yīng)用在虛擬儀器、測(cè)試測(cè)量、數(shù)據(jù)分析、信號(hào)處理以及遠(yuǎn)程控制中。本設(shè)計(jì)中,遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)采用基于ARM和嵌入式Linux的方案來實(shí)現(xiàn)。采用高性能的ARM嵌入式微處理器Samsung S3C2440作為系統(tǒng)的核心,結(jié)合數(shù)據(jù)采集、下變頻、存儲(chǔ)模塊,實(shí)現(xiàn)了數(shù)據(jù)高速實(shí)時(shí)采集。同時(shí),利用處理器外部配備的以太網(wǎng)控制器CS8900完成與主機(jī)上運(yùn)行的LabVIEW服務(wù)器通信,實(shí)現(xiàn)數(shù)據(jù)的傳輸與系統(tǒng)的遠(yuǎn)程控制。


1 系統(tǒng)整體結(jié)構(gòu)
    采用SamsungS3C2440作為前端數(shù)據(jù)采集系統(tǒng)的核心控制器件。系統(tǒng)的整體設(shè)計(jì)任務(wù)分為信號(hào)采集與下變頻、數(shù)據(jù)存儲(chǔ)與傳輸、信號(hào)顯示與處理分析等。整體設(shè)計(jì)方案構(gòu)架見圖1。信號(hào)采集部分采用ADI公司的AD9244完成,AD9244是一款14 bit,40/65 MSPS的高性能ADC。為了滿足AD9244差分輸入的要求,在信號(hào)的輸入端配合了AD8138低失真單端轉(zhuǎn)差分ADC驅(qū)動(dòng)芯片。信號(hào)采集完成后,送至ADC6620正交數(shù)字下變頻器(Digital Down Conversion,DDC)處理,經(jīng)過抽取和濾波后的I,Q兩路正交信號(hào)在其輸出的數(shù)據(jù)有效以及I/Q指示信號(hào)的配合下,由FPGA產(chǎn)生靜態(tài)隨機(jī)存取存儲(chǔ)器(static Random Access Memory,SRAM)存儲(chǔ)時(shí)序并存儲(chǔ)至64 K×16 bit的SRAM中。


    在FPGA中主要完成SRAM讀寫時(shí)序產(chǎn)生、SRAM讀寫地址生成、數(shù)據(jù)通道選擇等工作,F(xiàn)PGA中的邏輯在一個(gè)16 bit的控制字寄存器的控制下有序地工作。當(dāng)SRAM中存儲(chǔ)一定量的數(shù)據(jù)后產(chǎn)生中斷信號(hào),提示ARM將數(shù)據(jù)取走。為了提高系統(tǒng)的速度,ARM采用直接數(shù)據(jù)存儲(chǔ)(Direct Memory Address,DMA)方式讀取數(shù)據(jù)。之后運(yùn)行在ARM上的客戶端程序?qū)?shù)據(jù)通過網(wǎng)絡(luò)發(fā)送給遠(yuǎn)程主機(jī)。遠(yuǎn)程主機(jī)上的LabVIEW服務(wù)器程序?qū)κ盏降臄?shù)據(jù)進(jìn)行顯示、頻譜分析、存儲(chǔ)回放等處理,同時(shí)遠(yuǎn)程主機(jī)的控制信號(hào)以及為下變頻器ADC6620設(shè)計(jì)的濾波器文件也可以通過網(wǎng)絡(luò)發(fā)送給客戶端,實(shí)現(xiàn)遠(yuǎn)程控制。


2 現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)
2.1 ADC設(shè)計(jì)
    外部模擬信號(hào)從SMA(Sub Miniature-A)接口輸入,隔離直流后進(jìn)入AD8138 ADC驅(qū)動(dòng)芯片,AD8138將單路輸入信號(hào)變成兩路差分信號(hào),送至AD9244轉(zhuǎn)換。AD9244中幾個(gè)重要引腳的含義及接法:
    a)CML(Common Mode Reference):串聯(lián)一個(gè)0.1μF的電容后接地。
    b)DCS(Duty Cycle Stabilizer):接+5 V電源時(shí)表示轉(zhuǎn)換時(shí)鐘為50%占空比,接地表示轉(zhuǎn)換時(shí)鐘的上升沿與下降沿均由外界控制。本設(shè)計(jì)中DCS接+5 V電源。
    c)SENSE(Internal Reference Control):接地時(shí)將輸入信號(hào)峰峰值的范圍限制為1 V,接VREF時(shí)將輸入信號(hào)峰峰值的范圍限制為2 V。本設(shè)計(jì)中SENSE接VREF。
    d)DFS(Data Format Select):接+5 V電源時(shí)輸出數(shù)據(jù)格式為補(bǔ)碼,接地時(shí)為直接二進(jìn)制碼輸出。由于ADC6620將其輸入數(shù)據(jù)解釋成補(bǔ)碼,本設(shè)計(jì)中DFS接+5 V電源。[!--empirenews.page--]
2.2 ADC6620設(shè)計(jì)
    AD6620的任務(wù)是將高速數(shù)據(jù)流變成當(dāng)前可實(shí)時(shí)處理的中低速數(shù)據(jù)流。在本設(shè)計(jì)中,AD6620數(shù)據(jù)輸入端代表指數(shù)含義的3位(EXP0~EXP2)接地,且工作在單輸入通道模式下(A/B=3.3 V),以模式0接收來自于ARM的配置信息(MODE=GND),采用并行方式輸出數(shù)據(jù)(PAR/SER=3.3 V)。
2.3 其它設(shè)計(jì)
    本設(shè)計(jì)所采用的ARM開發(fā)板是由廣州友善之臂公司所生產(chǎn)的QQ2440V3,其上有一個(gè)44針的系統(tǒng)總線接口,它與FPGA連接起來完成數(shù)據(jù)與控制信息的傳輸。FPGA與SRAM的設(shè)計(jì)比較簡(jiǎn)單,這里不再贅述。


3 數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)
    為完成系統(tǒng)任務(wù),需要實(shí)現(xiàn)幾個(gè)方面的軟件設(shè)計(jì):
    a)正交數(shù)字下變頻器AD6620濾波器以及控制寄存器設(shè)計(jì)。
    b)在FPGA上實(shí)現(xiàn)系統(tǒng)控制、SRAM讀寫地址生成、數(shù)據(jù)通道選擇等功能的Verilog HDL程序。
    c)ARM上基于嵌入式Linux操作系統(tǒng)的數(shù)據(jù)采集硬件驅(qū)動(dòng)程序。
    d)ARM上客戶端應(yīng)用程序。
    e)遠(yuǎn)程主機(jī)上基于LabVIEW的服務(wù)器以及顯示、頻譜分析、存儲(chǔ)與回放程序。
3.1 AD6620濾波器及控制寄存器設(shè)計(jì)
    AD公司專門針對(duì)AD6620芯片推出了濾波器設(shè)計(jì)軟件fltrdsn以及監(jiān)視控制軟件AD6620,但該軟件是基于計(jì)算機(jī)并口與AD6620芯片連接的,不適應(yīng)設(shè)計(jì)中遠(yuǎn)程數(shù)據(jù)傳輸與控制、多客戶端的任務(wù)要求??梢岳迷撥浖⒃O(shè)計(jì)成功的濾波器以及配置文件保存下來,利用LabVIEW的文件處理功能自動(dòng)將信息提取出來,通過網(wǎng)絡(luò)遠(yuǎn)程配置AD6620。

3.2 FPGA邏輯設(shè)計(jì)
    FPGA內(nèi)部邏輯電路結(jié)構(gòu)見圖2??紤]到后續(xù)設(shè)計(jì)的需要,F(xiàn)PGA內(nèi)部使用ARM地址總線的低3位來選擇當(dāng)前操作的模塊,具體的地址與內(nèi)部模塊對(duì)應(yīng)關(guān)系見表1。

    圖2中各模塊功能進(jìn)一步說明如下:
    a)Input_db_part:雙向數(shù)據(jù)總線分離。配合由Control_register送來的控制信號(hào),在Conf_6620有效時(shí)將數(shù)據(jù)總線上的數(shù)據(jù)送至Config_6620模塊,完成AD6620配置,在Fetch_sram信號(hào)有效時(shí)將讀SRAM得到的數(shù)據(jù)傳送至ARM數(shù)據(jù)總線。 [!--empirenews.page--]
    b)Control_register:控制寄存器。內(nèi)部模塊有序工作的核心,具體的控制定義見表2。

    c)Config_6620:配置AD6620。此模塊在Conf 6620位有效時(shí)接收由ARM傳來的AD6620配置信息,完成DDC濾波器和控制寄存器配置。它除了本身使用ARM地址總線的3位ARM ADD[3:1]作為FPGA內(nèi)部模塊選擇之外,還用了ARM ADD[6:4]作為AD6620的外部接口寄存器地址。Rdy in信號(hào)用于指示寫入操作成功,ARM檢測(cè)到此信號(hào)有效后,進(jìn)行下一次的寫操作。
    d)PII:鎖相環(huán)。Cyclone EP1C6Q240中有2個(gè)鎖相環(huán)模塊,設(shè)計(jì)中使用了其中的一個(gè)將20 MHz的時(shí)鐘倍頻至50 MHz,供AD9244,AD6620以及FPGA內(nèi)部使用。
    e)Ad_to_sram:AD6620輸出數(shù)據(jù)寫入SRAM時(shí)序產(chǎn)生模塊。AD6620工作在單通道模式時(shí)典型輸出時(shí)序見圖。
    此模塊主要完成的功能有:用2個(gè)數(shù)據(jù)鎖存器在DV與IQ信號(hào)的控制下鎖存I路和Q路數(shù)據(jù),產(chǎn)生寫SRAM所需的地址。由于AD6620抽取率較高的緣故,輸出數(shù)據(jù)率一般較低,在模塊中使用了狀態(tài)機(jī)在2次有效數(shù)據(jù)期間產(chǎn)生寫SRAM的時(shí)序。此外,當(dāng)寫地址到達(dá)設(shè)定值時(shí),模塊產(chǎn)生寫溢出中斷,提示ARM改變控制寄存器內(nèi)容,讀取數(shù)據(jù)。
    a)Read_add_gen:讀地址產(chǎn)生。在Fetch_sram位的控制下,產(chǎn)生讀SRAM時(shí)的地址,當(dāng)讀地址到達(dá)設(shè)定值時(shí),產(chǎn)生讀溢出中斷,提示ARM改變控制寄存器內(nèi)容,進(jìn)行下一步操作。
    b)Control_logic:控制邏輯。模塊在Start_daq有效時(shí)選擇由Ad_to_sram模塊產(chǎn)生的寫SRAM的地址、數(shù)據(jù)與控制總線與SRAM相接,而在Fetch_sram有效時(shí)選擇讀SRAM的地址、數(shù)據(jù)與控制總線與SRAM相接。與DMA讀取有關(guān)的請(qǐng)求與響應(yīng)信號(hào)也在此模塊中處理。
3.3 嵌入式Linux驅(qū)動(dòng)程序設(shè)計(jì)
    驅(qū)動(dòng)程序是硬件與應(yīng)用程序的接口。針對(duì)設(shè)計(jì)任務(wù)與硬件特點(diǎn),在驅(qū)動(dòng)程序中設(shè)計(jì)了以下函數(shù):
    a) AD6620_read:申請(qǐng)DMA緩存,睡眠等待寫溢出中斷到來,DMA傳輸完成后,將數(shù)據(jù)從內(nèi)核空間傳送至用戶空間,釋放DMA緩存。
    b) AD6620_ioctl:核心是一個(gè)switch選擇結(jié)構(gòu),根據(jù)應(yīng)用程序中用戶命令,完成初始化DMA,寫控制寄存器或者配置AD6620的工作。
    c)AD6620 open:主要完成DMA通道參數(shù)設(shè)置,初始化IO端口和信號(hào)量。
    d) AD6620 release:完成與AD6620_open相反的工作,主要是一些清理和釋放申請(qǐng)資源的工作。
    函數(shù)編寫好后,通過下面的file_operations結(jié)構(gòu)體聯(lián)系起來:

   
    e) AD6620 init:初始化函數(shù),完成驅(qū)動(dòng)程序注冊(cè)、中斷與中斷處理函數(shù)注冊(cè)、創(chuàng)建設(shè)備文件節(jié)點(diǎn)等。其中的驅(qū)動(dòng)程序注冊(cè)的核心就是上面的file_operations結(jié)構(gòu)體。
    驅(qū)動(dòng)程序編寫好后,用戶就可以在應(yīng)用程序中調(diào)用這些函數(shù),實(shí)現(xiàn)通過一組標(biāo)準(zhǔn)化的調(diào)用來操作底層硬件。
3.4 客戶端應(yīng)用程序
    客戶端應(yīng)用程序?yàn)榱吮WC數(shù)據(jù)與控制信息的可靠傳輸,采用的是基于TCP協(xié)議的Socket網(wǎng)絡(luò)編程。本次設(shè)計(jì)客戶端運(yùn)行在ARM上,采用的是Linux下的C編程;而服務(wù)器端運(yùn)行在遠(yuǎn)程主機(jī)上,利用LabVIEW的圖形化語言實(shí)現(xiàn)。具體客戶端的通信與控制流程圖見圖4。可以看出??蛻舳耸且蕾囉谧x取由遠(yuǎn)程主機(jī)發(fā)送的控制字符來完成實(shí)時(shí)控制,實(shí)現(xiàn)與服務(wù)器端的交互操作的。因此,無論是客戶端還是服務(wù)器端,在每一次發(fā)送數(shù)據(jù)與控制信息時(shí),都會(huì)發(fā)送一個(gè)控制字符,接收端就是依靠識(shí)別此字符來完成相應(yīng)的操作。表3中給出了控制字符與所執(zhí)行操作之間的對(duì)應(yīng)關(guān)系。

3.5 LabVIEW服務(wù)器程序設(shè)計(jì)
    服務(wù)器端的完整程序見圖5。服務(wù)器在指定的端口上偵聽,等待遠(yuǎn)程客戶端的連接。程序的核心是兩個(gè)循環(huán)框,上面的循環(huán)框完成發(fā)送數(shù)據(jù)和控制信息的任務(wù),主要包括傳送AD6620濾波器設(shè)計(jì)與控制寄存器配置文件、實(shí)時(shí)改變AD6620可動(dòng)態(tài)配置寄存器內(nèi)容、開始數(shù)據(jù)采集以及停止系統(tǒng)控制等模塊。 [!--empirenews.page--]

     數(shù)據(jù)與控制信息內(nèi)容放在LabVIEW事件框圖中,當(dāng)用戶單擊前面板上的控制按鈕時(shí),相應(yīng)的信息被發(fā)送,這樣就避免了系統(tǒng)無休止地查詢,節(jié)約了系統(tǒng)資源。下面的循環(huán)框完成讀SRAM數(shù)據(jù)接收、分離IQ信號(hào)、頻譜分析與顯示等,當(dāng)用戶使得存儲(chǔ)文件路徑不為空時(shí),可以將此時(shí)數(shù)據(jù)顯示控件上的數(shù)據(jù)保存下來;而當(dāng)回放文件路徑不為空時(shí),用戶可以回放之前保存的歷史數(shù)據(jù)。頻譜顯示控件有線性與對(duì)數(shù)顯示兩種格式,它受前面板上的一個(gè)系統(tǒng)復(fù)選框的控制。

4 設(shè)計(jì)結(jié)果驗(yàn)證
    采用了3組實(shí)驗(yàn)來驗(yàn)證設(shè)計(jì)的正確性。實(shí)驗(yàn)條件:現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)IP地址192.168.1.230,遠(yuǎn)程主機(jī)IP地址192.168.1.1,二者位于同一個(gè)局域網(wǎng)內(nèi)。系統(tǒng)工作主頻50 MHz,AD6620濾波器為低通濾波器,通帶截止頻率10 kHz,阻帶截止頻率15 kHz,通帶內(nèi)衰減0 dB,阻帶衰減-60 dB,三級(jí)濾波器的抽取系數(shù)分別為10,25,2。

    第1組實(shí)驗(yàn)的輸入信號(hào)為單頻信號(hào),頻率1.005 MHz,幅度250 mV,AD6620中NCO頻率字設(shè)定為1 MHz。實(shí)驗(yàn)恢復(fù)的I路信號(hào)及其頻譜分析見圖6(a)。從實(shí)驗(yàn)結(jié)果來看,系統(tǒng)采集數(shù)據(jù)頻率準(zhǔn)確,較好地恢復(fù)了信號(hào)。第2組實(shí)驗(yàn)的輸入信號(hào)為調(diào)幅信號(hào),載波頻率1 MHz,幅度250 mV,單音調(diào)制信號(hào)頻率為3 kHz,調(diào)制深度30%。AD6620中NCO頻率字設(shè)定為1 MHz。實(shí)驗(yàn)恢復(fù)的信號(hào)與頻譜分析見圖6(b)。這時(shí)從頻譜圖上可以清晰地看出差頻之后,在零頻周圍300 Hz處有1根清晰的譜線。第3組實(shí)驗(yàn)的輸入信號(hào)為單頻信號(hào),頻率1.018 MHz,幅度250 mV,AD6620中NCO頻率字設(shè)定為1 MHz。實(shí)驗(yàn)恢復(fù)的I路信號(hào)與頻譜分析見圖6(c)。此時(shí)由于信號(hào)處于濾波器通帶之外,衰減很大,不能恢復(fù)信號(hào)。I路信號(hào)顯示圖中類似于“毛刺”的信號(hào)是由于電路底噪聲在AD6620中運(yùn)算所產(chǎn)生。綜合3組實(shí)驗(yàn)的結(jié)果,本次設(shè)計(jì)較好地完成了設(shè)計(jì)任務(wù)。


5 結(jié)論
    數(shù)據(jù)采集與網(wǎng)絡(luò)遠(yuǎn)程傳輸系統(tǒng)是一個(gè)高集成,特別講究軟硬件間相互配合的綜合系統(tǒng),強(qiáng)調(diào)的是協(xié)調(diào)、穩(wěn)定、高速、精準(zhǔn)地完成各項(xiàng)數(shù)據(jù)采樣工作。本設(shè)計(jì)中,在合理設(shè)計(jì)硬件的基礎(chǔ)上,分別對(duì)FPGA,ARM以及遠(yuǎn)程主機(jī)上的服務(wù)器程序精心設(shè)計(jì),解決了以往系統(tǒng)在大量數(shù)據(jù)采集、傳輸、儲(chǔ)存、讀寫和處理時(shí)的速度以及靈活性問題。利用LabVIEW功能強(qiáng)大、簡(jiǎn)單易用,設(shè)計(jì)靈活的圖形化編程語言,很容易地實(shí)現(xiàn)了對(duì)遠(yuǎn)程數(shù)據(jù)采集終端的配置與控制。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉