一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于DSP+FPGA+ARM的架構(gòu)實(shí)現(xiàn)高速多路數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:電子產(chǎn)品世界 ? 作者:詹必勝;吳斌方; ? 2021-04-24 09:04 ? 次閱讀

作者:詹必勝;吳斌方;楊光友 來(lái)源:電子產(chǎn)品世界

隨著集成電路技術(shù)的發(fā)展,FPGADSP以及ARM以其體積小、速度快、功耗低、設(shè)計(jì)靈活、利于系統(tǒng)集成、擴(kuò)展升級(jí)等優(yōu)點(diǎn),被廣泛地應(yīng)用于高速數(shù)字信號(hào)傳輸及數(shù)據(jù)處理,以DSP+FPGA+ARM的架構(gòu)組成滿(mǎn)足實(shí)時(shí)性要求的高速數(shù)字處理系統(tǒng)已成為一種趨勢(shì),本文主要研究FPGA在高速多路數(shù)據(jù)傳輸中的應(yīng)用。

系統(tǒng)結(jié)構(gòu)

在DSP多路串行數(shù)據(jù)同時(shí)向ARM發(fā)送的系統(tǒng)中,因?yàn)閿?shù)據(jù)通道有并行要求,應(yīng)用FPGA硬件并行的特點(diǎn),由FPGA并行接收多路數(shù)據(jù),經(jīng)過(guò)緩沖后再發(fā)送至ARM進(jìn)行數(shù)據(jù)的高級(jí)處理的方案,系統(tǒng)結(jié)構(gòu)圖如圖1所示。

基于DSP+FPGA+ARM的架構(gòu)實(shí)現(xiàn)高速多路數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)

圖1 系統(tǒng)結(jié)構(gòu)圖

FPGA處理模塊實(shí)現(xiàn)

DSP的串口傳輸方式為同步串口,每組DSP串口有4個(gè)端口,分別為:clk , frame. , data_a,data_b[3]。數(shù)據(jù)端口有兩個(gè),本例中只使能data_a,以下統(tǒng)一稱(chēng)為data。

DSP同步串口傳輸時(shí)序如圖2所示,當(dāng)frame為1時(shí),串行數(shù)據(jù)有效,當(dāng)frame為0時(shí),一幀數(shù)據(jù)傳輸結(jié)束。本例中DSP傳輸?shù)囊粠瑪?shù)據(jù)為32bit。

圖2 DSP同步串口傳輸時(shí)序圖

FPGA內(nèi)部采用異步FIFO解決DSP時(shí)鐘頻率和FPGA時(shí)鐘頻率不匹配的問(wèn)題,寫(xiě)時(shí)鐘由DSP輸出的同步時(shí)鐘信號(hào)提供,時(shí)鐘頻率為60MHz;讀時(shí)鐘由FPGA的鎖相環(huán)PLL時(shí)鐘提供,PLL輸出時(shí)鐘頻率為100MHz。

接收模塊

由于DSP的8個(gè)同步串口同時(shí)寫(xiě)入,F(xiàn)PGA數(shù)據(jù)接收模塊一共有8個(gè),每個(gè)模塊接收到的數(shù)據(jù)都存放在一個(gè)特定的FIFO中,將其稱(chēng)之為R_FIFO。

DSP輸出信號(hào)為frame,clk, data,F(xiàn)PGA以DSP同步串口的輸出時(shí)鐘clk作為采集數(shù)據(jù)的時(shí)鐘。系統(tǒng)上電結(jié)束后,F(xiàn)PGA等待ARM發(fā)送接收允許指令,接收允許后,F(xiàn)PGA就可以開(kāi)始接收數(shù)據(jù)。

當(dāng)frame信號(hào)為高,F(xiàn)PGA即開(kāi)始接收從DSP發(fā)送的串行數(shù)據(jù),在每個(gè)dsp_clk的上升沿讀取一個(gè)bit的數(shù)據(jù),之后將數(shù)據(jù)轉(zhuǎn)入移位寄存器中。FPGA引入一個(gè)模塊,時(shí)刻監(jiān)測(cè)frame的下降沿,當(dāng)frame下降時(shí),即表示一個(gè)字的數(shù)據(jù)發(fā)送完畢,移位寄存器的數(shù)據(jù)放入R_FIFO的數(shù)據(jù)輸入口,將R_FIFO的寫(xiě)使能置高,向R_FIFO發(fā)出寫(xiě)入請(qǐng)求,寫(xiě)入此時(shí)的數(shù)據(jù)至R_FIFO中,依次循環(huán)。當(dāng)R_FIFO中的數(shù)據(jù)個(gè)數(shù)不為0時(shí),即向FPGA的發(fā)送模塊發(fā)送請(qǐng)求。

發(fā)送模塊

接收模塊接收到DSP同步串口數(shù)據(jù)后,即通過(guò)reg與answer信號(hào)與FPGA數(shù)據(jù)發(fā)送模塊之間進(jìn)行數(shù)據(jù)傳輸,如圖3所示。

圖3 FPGA接收及發(fā)送模塊

當(dāng)接收模塊有請(qǐng)求時(shí),發(fā)送模塊即將接收模塊采集到的數(shù)據(jù)寫(xiě)入發(fā)送模塊的緩存FIFO中,將其稱(chēng)之為S_FIFO。每輪從R_FIFO中傳輸?shù)?個(gè)數(shù)據(jù)均依次存入S_FIFO中。

因?yàn)镈SP的8個(gè)同步串口均同時(shí)工作,可以認(rèn)為當(dāng)有一個(gè)輸入模塊的數(shù)據(jù)接收完畢時(shí),8個(gè)端口的數(shù)據(jù)均應(yīng)該接收完畢,保險(xiǎn)起見(jiàn),可以延時(shí)若干時(shí)鐘周期后開(kāi)始接收數(shù)據(jù)。從端口0至端口7為一輪,若此時(shí)有端口沒(méi)有數(shù)據(jù),即可認(rèn)為此端口暫無(wú)數(shù)據(jù)輸出,用數(shù)據(jù)0替代,發(fā)送模塊繼續(xù)接收下一個(gè)端口的數(shù)據(jù)。用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)此功能,如圖4所示。

圖4 S_FIFO寫(xiě)操作的狀態(tài)機(jī)圖

發(fā)送模塊完成FPGA向ARM的數(shù)據(jù)傳輸,當(dāng)FPGA發(fā)送模塊S_FIFO中的數(shù)據(jù)達(dá)到一定數(shù)量時(shí),F(xiàn)PGA即向ARM發(fā)出發(fā)送數(shù)據(jù)請(qǐng)求,ARM即開(kāi)始對(duì)FPGA進(jìn)行數(shù)據(jù)的讀取。

FPGA中的S_FIFO同樣也是異步FIFO。寫(xiě)時(shí)鐘由鎖相環(huán)提供100MHz;讀時(shí)鐘由ARM的讀取使能信號(hào)OE取反得到,讀使能由ARM的片選信號(hào)NGCS取反得到。ARM讀取數(shù)據(jù)會(huì)產(chǎn)生NGCS與OE低電平信號(hào),無(wú)操作時(shí)置高。每次讀取數(shù)據(jù)時(shí)NGCS與OE先后置低,取反接至S_FIFO讀端口分別為NGCS_N與OE_N。對(duì)S_FIFO讀取時(shí),每當(dāng)讀時(shí)鐘OE_N為上升沿,讀使能NGCS_N必為1,完成一次讀取操作。

這樣實(shí)現(xiàn)了ARM與FPGA之間的跨時(shí)鐘域數(shù)據(jù)傳輸。FPGA發(fā)送數(shù)據(jù)采取乒乓操作, ARM可以源源不斷的將S_FIFO中的數(shù)據(jù)讀取出來(lái)。FPGA和ARM的數(shù)據(jù)傳輸原理圖如圖5所示。

圖5 FPGA和ARM的數(shù)據(jù)傳輸

為驗(yàn)證各控制信號(hào)的時(shí)序邏輯,做如下仿真:FPGA接收及緩存數(shù)據(jù)。仿真的時(shí)序如圖6所示。data_temp0~data_temp7為接收模塊的移位寄存器,在frame的下降沿時(shí)將數(shù)據(jù)寫(xiě)入各自的R_FIFO中;R_FIFO中的數(shù)據(jù)依次通過(guò)寄存器data_m寫(xiě)入S_FIFO中。8次寫(xiě)入后,一輪緩存即結(jié)束,等待下次請(qǐng)求。

圖6 FPGA接收及緩存數(shù)據(jù)時(shí)序仿真圖

信號(hào)抗干擾處理

在FPGA和ARM之間的通訊中利用差分信號(hào)傳輸用于消除信號(hào)的干擾。差分對(duì)是指兩條線(xiàn)路總是傳送相反的邏輯電平,差分對(duì)信號(hào)對(duì)外界干擾源產(chǎn)生的噪聲不敏感,例如電路板的干擾噪聲等。

如圖7所示[5],IN引腳連接一個(gè)信號(hào)源,可以看到,對(duì)a噪聲毛刺不敏感,但是對(duì)于b噪聲毛刺,卻有可能使其誤認(rèn)為一個(gè)脈沖,而這個(gè)可能引起FPGA內(nèi)部的一些不期望的行為,如讀出一個(gè)錯(cuò)誤的值。

圖7 差分降噪處理原理

差分對(duì)中的兩個(gè)信號(hào)總是傳送互補(bǔ)的邏輯值,所以當(dāng)上圖中的IN_P為邏輯1時(shí),IN_N則為邏輯0,反之亦然。并且布線(xiàn)時(shí),差分對(duì)的兩條線(xiàn)路布線(xiàn)得非常的近,因此噪聲對(duì)他們的影響都是相同的。接收端只對(duì)兩個(gè)信號(hào)的差異感興趣,若兩個(gè)信號(hào)相同,則對(duì)此不敏感。

結(jié)語(yǔ)

利用DSP的實(shí)時(shí)數(shù)據(jù)處理能力與FPGA優(yōu)越的硬線(xiàn)邏輯設(shè)計(jì)相結(jié)合,保證了多通道數(shù)據(jù)采集系統(tǒng)的實(shí)時(shí)性和精度要求,實(shí)現(xiàn)高速數(shù)據(jù)傳輸,同時(shí)簡(jiǎn)化系統(tǒng)硬件設(shè)計(jì),縮小系統(tǒng)體積,具有極高的性?xún)r(jià)比。系統(tǒng)的數(shù)字部分硬件采用Verilog硬件描述語(yǔ)言實(shí)現(xiàn),便于修改和升級(jí),可根據(jù)實(shí)際測(cè)試應(yīng)用需求作靈活的改進(jìn)。本數(shù)據(jù)采集傳輸模塊已成功實(shí)現(xiàn),并取得了良好的應(yīng)用效果。

責(zé)任編輯:gt

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

    關(guān)注

    555

    文章

    8123

    瀏覽量

    354274
  • FPGA
    +關(guān)注

    關(guān)注

    1642

    文章

    21920

    瀏覽量

    612155
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9270

    瀏覽量

    373637
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGADSP的1394b雙向數(shù)據(jù)傳輸系統(tǒng)

    芯片必須通過(guò)PCI總線(xiàn)接口與FPGA進(jìn)行相連,實(shí)現(xiàn)數(shù)據(jù)傳輸。如果只用FPGADSP來(lái)
    發(fā)表于 05-14 12:35

    基于FPGA高速LVDS數(shù)據(jù)傳輸

    高速LVDS數(shù)據(jù)傳輸方案和協(xié)議基于FPGA高速LVDS數(shù)據(jù)傳輸本人在北京工作6年,從事FPGA
    發(fā)表于 03-01 18:47

    基于ARM的無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    基于ARM的無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
    發(fā)表于 03-26 17:53

    基于FPGA+USB3.0接口的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

    1 引言高速數(shù)據(jù)傳輸系統(tǒng)在通信系統(tǒng)、測(cè)試儀器等電子系統(tǒng)中有著廣泛應(yīng)用,人們對(duì)數(shù)據(jù)傳輸的處理速度、
    發(fā)表于 08-09 14:18

    怎么實(shí)現(xiàn)基于FPGA的具有流量控制機(jī)制的高速串行數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)?

    本文介紹了基于Xilinx Virtex-6 FPGA高速串行數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),系統(tǒng)
    發(fā)表于 05-25 06:45

    基于FPGA曼徹斯特碼數(shù)據(jù)傳輸系統(tǒng)實(shí)現(xiàn)

    給出一種用FGPA進(jìn)行曼徹斯特編譯碼,實(shí)現(xiàn)多路測(cè)井數(shù)據(jù)傳輸的技術(shù)方案,整個(gè)傳輸系統(tǒng)分為編碼系統(tǒng)
    發(fā)表于 09-16 10:38 ?42次下載

    基于FPGA高速多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

    本文介紹了一種基于FPGA高速多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案,描述了系統(tǒng)的主要組成及FPGA
    發(fā)表于 12-19 16:02 ?50次下載

    基于FPGA和USB的高速數(shù)據(jù)傳輸、記錄及顯示系統(tǒng)

    摘要:提出了一種基于FPGA和USB的高速數(shù)據(jù)傳輸、記錄及顯示系統(tǒng)的設(shè)計(jì)方案,并對(duì)其中的低電壓差分信號(hào)(LVDS
    發(fā)表于 04-16 21:36 ?701次閱讀
    基于<b class='flag-5'>FPGA</b>和USB的<b class='flag-5'>高速</b><b class='flag-5'>數(shù)據(jù)傳輸</b>、記錄及顯示<b class='flag-5'>系統(tǒng)</b>

    基于DSP的USB數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

    基于DSP的USB數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì) 引 言   由于DSP芯片的不斷發(fā)展,以及它處理數(shù)據(jù)速度快、處理
    發(fā)表于 11-20 10:50 ?1365次閱讀
    基于<b class='flag-5'>DSP</b>的USB<b class='flag-5'>數(shù)據(jù)傳輸</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于FPDP的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

    基于FPDP的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì) 隨著電子技術(shù)的高速發(fā)展,越來(lái)越多的信號(hào)處理系統(tǒng),需要高速
    發(fā)表于 12-01 09:41 ?2224次閱讀
    基于FPDP的<b class='flag-5'>高速</b><b class='flag-5'>數(shù)據(jù)傳輸</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    USB2.0+FPGA實(shí)現(xiàn)多路數(shù)據(jù)傳輸系統(tǒng)

    基于USB2.0 的FIFO 方式, 利用FPGA 同步實(shí)現(xiàn)三個(gè)通道, 不同傳輸率的數(shù)據(jù)的發(fā)送和采集, 詳細(xì)說(shuō)明多路數(shù)據(jù)發(fā)送與采集時(shí),對(duì)不同
    發(fā)表于 09-13 17:22 ?66次下載
    USB2.0+<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>多路數(shù)據(jù)傳輸</b><b class='flag-5'>系統(tǒng)</b>

    SOPC實(shí)現(xiàn)的PCI總線(xiàn)高速數(shù)據(jù)傳輸系統(tǒng)

    本文提出一種采用可編程片上系統(tǒng)SOPC實(shí)現(xiàn)偵察接收機(jī)PCI總線(xiàn)高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)方案。
    發(fā)表于 02-10 11:20 ?1557次閱讀
    SOPC<b class='flag-5'>實(shí)現(xiàn)</b>的PCI總線(xiàn)<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 ?41次下載

    基于DSP和USB2_0高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)

    基于DSP和USB2_0高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)
    發(fā)表于 10-19 14:44 ?7次下載
    基于<b class='flag-5'>DSP</b>和USB2_0<b class='flag-5'>高速</b><b class='flag-5'>數(shù)據(jù)傳輸</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)

    基于Zynq-7000的SRIO高速數(shù)據(jù)傳輸設(shè)計(jì)與實(shí)現(xiàn)

    為了滿(mǎn)足2ynq-7000系列芯片的SRIO數(shù)據(jù)傳輸要求,提出了一種基于FPGA控制DMA傳輸進(jìn)行SRIO通信的設(shè)計(jì)方案,并完成了ARMFPGA
    發(fā)表于 12-21 11:37 ?31次下載
    基于Zynq-7000的SRIO<b class='flag-5'>高速</b><b class='flag-5'>數(shù)據(jù)傳輸</b>設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>