新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于DMA的并行數(shù)字信號高速采集系統(tǒng)

        基于DMA的并行數(shù)字信號高速采集系統(tǒng)

        作者: 時間:2010-05-14 來源:網(wǎng)絡(luò) 收藏
        圖3中‘0’時刻為采樣時鐘上升沿,此時刻FPGA系統(tǒng)將的62路緩存入62 bit寄存器中。由于傳輸延時時間受系統(tǒng)布線和FPGA內(nèi)部布局的影響,系統(tǒng)時鐘和采樣時鐘上升沿不一定是同步的,圖中‘0’時刻到‘2’時刻之間可能有1~2個系統(tǒng)時鐘周期,這段時間內(nèi),系統(tǒng)不動作等待采集信號可靠地寫入寄存器,這樣可以避免‘0’和‘1’時間間隔過小,采集的數(shù)據(jù)未完全寫入寄存器的情況。在之后的‘2’時刻至下一周期‘0’時刻,系統(tǒng)完成寫入SRAM的工作。其中‘2’時刻至‘3’時刻為第一寫入周期,系統(tǒng)將寄存器中的0 bit~15 bit寫入SRAM中;‘3’時刻至‘4’時刻為第二寫入周期,系統(tǒng)將寄存器中的16 bit~31 bit寫入SRAM中;‘4’時刻至‘5’時刻為第三寫入周期,系統(tǒng)將寄存器中的32 bit~47 bit寫入SRAM中;‘5’時刻至下一周期‘0’時刻為第四寫入周期,系統(tǒng)將寄存器中的48 bit~61 bit寫入SRAM中。這樣,同一采樣時刻的62通路的被分時地寫入SRAM中,信號保持真實的同步信息。此時,系統(tǒng)的數(shù)據(jù)緩存速率達310 Mb/s。
        上述方法中,‘5’時刻至下一周期‘0’時刻只進行了一次寫入,實際上這段時間可以容納6個寫入周期,時間并沒有被充分地利用。對其進一步擴展,將系統(tǒng)時鐘周期充分地利用,可以同時采集更多通路的信號,將第六到第十個系統(tǒng)時鐘周期也用于信號緩存,則可以同時緩存16×9=144路。這種情況下,系統(tǒng)的數(shù)據(jù)緩存速率可達720 Mb/s。
        考慮采用SRAM的極限訪問速率的情況,可以選用100 MHz的系統(tǒng)時鐘,這時系統(tǒng)的數(shù)據(jù)緩存速率可達1 520 Mb/s。
        選用的SRAM的數(shù)據(jù)寫入極限速率為1 600 Mb/s,此種方法的數(shù)據(jù)緩存速率達SRAM數(shù)據(jù)緩存極限的95%,實現(xiàn)了高速的數(shù)據(jù)緩存。
        3 緩存數(shù)據(jù)重組織
        按照上述數(shù)據(jù)緩存的方法,同一通道的數(shù)據(jù)不是連續(xù)地存儲在SRAM中。SRAM中的數(shù)據(jù)存儲順序如圖4所示。圖中第一列表示SRAM地址,offset為數(shù)據(jù)存儲的初始地址偏移;第一行表示數(shù)據(jù)位,選用的SRAM中一個地址對應(yīng)2字節(jié)數(shù)據(jù),有16個數(shù)據(jù)位;剩余每個方格表示一個數(shù)據(jù)存儲單元,方格里的數(shù)字表示該單元用于存儲第幾通道的數(shù)據(jù)。

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

        定位一個通道的一位數(shù)據(jù)需要知道其對應(yīng)的SRAM地址和位號。假設(shè)通道m(xù)的第i位數(shù)據(jù)由[addr(m,i),bit(m,i)]定位。分析SRAM中的數(shù)據(jù)存儲順序可知:
        addr(m,i)=offset+1+[(m-1)/16]+(i-1)×4;
        bit(m,i)=(m-1)%16。
        其中m=1,2,3,…,64;i=1,2,3,4,…。
        FPGA系統(tǒng)向ARM系統(tǒng)發(fā)送數(shù)據(jù)時,將同一通路的數(shù)據(jù)抽取出來,以一個字節(jié)為單位連續(xù)發(fā)送,所以需要對存儲的數(shù)據(jù)進行重組織。在FPGA系統(tǒng)中,使用6 bit變量dch[5:0]表示通道號,其中000000(b)表示通道1(m=1),000001(b)表示通道2(m=2),依此類推。數(shù)據(jù)位計數(shù)i使用N位變量bitcnt[N-1:0]來表示,其中N由存儲的總數(shù)據(jù)量決定,與通道號類似,全零表示i=1情況,1(b)表示i=2情況,依此類推。因而有:
        [(m-1)/16]=dch[5:4];
        (i-1)×4={bitcnt[N-1:0],00(b)};
        (m-1)%16=dch[3:0]。
        數(shù)據(jù)由FPGA中的變量定位表示為:
        addr=offset+1+{bitcnt[N-1:0],dch[5:4]};
        bit=dch[3:0]。
        FPGA系統(tǒng)根據(jù)以上公式將各個通道數(shù)據(jù)逐位地從SRAM中讀出,并移入移位寄存器中,從而把同一通路的數(shù)據(jù)以字節(jié)為單位連續(xù)地組織起來。
        4 采集實驗結(jié)果
        為了進行測試,基于FPGA設(shè)計了專用信號發(fā)生器,產(chǎn)生62路數(shù)字信號用于測試。62路數(shù)字信號中包括4.07 kHz~520.8 kHz(50 MHz的96分頻)的TTL信號及恒高、恒低電平信號。
        由于數(shù)字信號通道數(shù)較多,這里以其中不包含恒高和恒低的9~12通道來說明采集精度,采集結(jié)果如表1。

        依此可知,各通道采集結(jié)果與輸入信號對應(yīng),說明個通道采集結(jié)果正確,本采集系統(tǒng)可靠。
        以某型雷達做為被測對象,系統(tǒng)進行了實際工作測試。采集性能如表2所示。

        本文介紹基于嵌入式技術(shù)的數(shù)字信號采集系統(tǒng)的設(shè)計,系統(tǒng)采用技術(shù)實現(xiàn)了62路數(shù)字信號同步采集,用于某型雷達預(yù)留測試接口信號的采集,整體采集速率達310 Ms/s。利用本設(shè)計中提出的方法,系統(tǒng)可以進一步擴展,從而實現(xiàn)128路數(shù)字信號同步采集,并使整體采集速率達1 520 Ms/s,此時SRAM的寫入速度已成為主要的限制。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 喀什市| 汉中市| 溧水县| 五莲县| 象山县| 康马县| 浮山县| 宣城市| 吉首市| 昌宁县| 册亨县| 衡阳县| 南康市| 曲阜市| 界首市| 长丰县| 榆树市| 南投县| 措美县| 郸城县| 铅山县| 大名县| 仪陇县| 凤城市| 邛崃市| 搜索| 罗定市| 凉城县| 宜章县| 隆化县| 滁州市| 青龙| 新昌县| 淄博市| 公安县| 垫江县| 岚皋县| 平塘县| 临武县| 岳西县| 厦门市|