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

        ?

        基于PCIE的數(shù)字信號(hào)處理板設(shè)計(jì)與實(shí)現(xiàn)

        2012-07-25 03:19:08聶彬彬
        微處理機(jī) 2012年2期
        關(guān)鍵詞:數(shù)據(jù)通訊板卡信號(hào)處理

        聶彬彬,解 放

        (中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng)110032)

        1 引言

        為滿(mǎn)足科研項(xiàng)目需求,本文設(shè)計(jì)了一種可應(yīng)用于數(shù)字上/下變頻、FFT等數(shù)字信號(hào)處理算法評(píng)估驗(yàn)證的通用數(shù)字信號(hào)處理卡,該板卡可將處理后的數(shù)據(jù)在計(jì)算機(jī)上顯示和分析處理。該板卡主要由模擬數(shù)據(jù)輸入/輸出模塊,數(shù)據(jù)存取模塊、數(shù)字信號(hào)處理模塊和數(shù)據(jù)通訊模塊構(gòu)成。模擬數(shù)據(jù)輸入/輸出模塊主要由模數(shù)轉(zhuǎn)換芯片和數(shù)模轉(zhuǎn)換芯片構(gòu)成。該板卡的數(shù)字邏輯部分全部在ALTERA公司生產(chǎn)的Arria GX2系列的EP2AG125EF29芯片內(nèi)部實(shí)現(xiàn),其中數(shù)據(jù)存取模塊由FPGA內(nèi)部的RAM資源和外接DDR2存儲(chǔ)器共同組成,數(shù)據(jù)通訊模塊利用FPGA器件內(nèi)部提供的hard IP實(shí)現(xiàn)本設(shè)計(jì)所需的PICE接口,并利用WinDriver軟件完成PCIE驅(qū)動(dòng)的設(shè)計(jì)和API封裝。本文介紹的板卡內(nèi)部功能框圖如圖1所示。

        圖1 通用數(shù)字信號(hào)處理板卡功能框圖

        2 模擬數(shù)據(jù)輸入/輸出模塊

        (1)模數(shù)轉(zhuǎn)換芯片使用精度為14位、采樣率65MSPS的AD9244,可滿(mǎn)足較高的模數(shù)轉(zhuǎn)換精度和速度需求。AD9244無(wú)需配置,輸出數(shù)據(jù)格式為14位并行數(shù)據(jù),便于與FPGA的接口連接,本設(shè)計(jì)配置2塊 AD9244。

        (2)數(shù)模轉(zhuǎn)換芯片采用精度為16位、采樣率為1Gsps的AD9779A。AD9779A為雙通道DAC,采用SPI串行總線(xiàn)接口進(jìn)行配置。由于本文側(cè)重點(diǎn)為通用數(shù)字信號(hào)處理卡的設(shè)計(jì),故對(duì)AD9779A的內(nèi)部寄存器具體內(nèi)容不作介紹。使用AD9779A需要注意2組16位并行數(shù)據(jù)輸入由FPGA驅(qū)動(dòng),兩組16位數(shù)據(jù)在布線(xiàn)時(shí)要按數(shù)據(jù)總線(xiàn)處理,盡量確保等長(zhǎng)。而AD9779A輸出的DATACLK可以作為數(shù)據(jù)參考時(shí)鐘接入FPGA的時(shí)鐘輸入管腳。FPGA輸出并行數(shù)據(jù)添加TCO約束后,可以保證并行數(shù)據(jù)的每一位均幾乎同時(shí)到達(dá)DAC的輸入。設(shè)置AD9779A內(nèi)部寄存器以使DATACLK是否反相,未反相或反相的DATACLK中必有一種配置可以使并行數(shù)據(jù)滿(mǎn)足于DATACLK的建立與保持時(shí)序關(guān)系。這樣可以簡(jiǎn)化當(dāng)FPGA輸出的數(shù)據(jù)率為100MSPS或更高時(shí)的時(shí)序設(shè)計(jì)。

        AD9779A的數(shù)據(jù)經(jīng)過(guò)濾波等環(huán)節(jié)后可以作為AD9244的輸入,為本數(shù)字信號(hào)處理卡提供信號(hào)源。

        3 數(shù)字信號(hào)處理模塊

        本板卡的設(shè)計(jì)目的是用于評(píng)估數(shù)字信號(hào)處理算法,故本文不介紹具體數(shù)字信號(hào)處理模塊的實(shí)現(xiàn)。Altera公司的Arria GX2 125芯片內(nèi)部的邏輯資源可用于實(shí)現(xiàn)不同的算法。

        4 數(shù)據(jù)存取模塊

        在評(píng)估數(shù)字信號(hào)處理算法時(shí)需要分析數(shù)字信號(hào)處理前/后以及處理過(guò)程中各節(jié)點(diǎn)輸出的數(shù)據(jù),由于FPGA內(nèi)部RAM空間有限,故本設(shè)計(jì)采用內(nèi)部RAM與外擴(kuò)DDR2內(nèi)存相結(jié)合的方式來(lái)完成大容量數(shù)據(jù)的緩存。為了便于用戶(hù)使用DDR2內(nèi)存,本設(shè)計(jì)將DDR2實(shí)現(xiàn)的大容量FIFO_ddr2與由內(nèi)部RAM實(shí)現(xiàn)的FIFO_A和FIFO_B進(jìn)一步封裝為一個(gè)模塊pseudo_fifo。用戶(hù)進(jìn)行FIFO寫(xiě)操作時(shí),數(shù)據(jù)寫(xiě)入FIFO_A中,用戶(hù)進(jìn)行FIFO讀操作時(shí),數(shù)據(jù)從FIFO_B中讀出,pseudo_fifo內(nèi)實(shí)現(xiàn)由FIFO_A向FIFO_ddr2的數(shù)據(jù)搬移邏輯A和由FIFO_ddr2向FIFO_B的數(shù)據(jù)搬移邏輯B。在DDR2實(shí)現(xiàn)大容量FIFO時(shí)使用了DDR2內(nèi)存控制器IP,在FIFO_ddr2內(nèi)部利用格雷碼計(jì)數(shù)器來(lái)生成讀/寫(xiě)地址,根據(jù)讀/寫(xiě)地址的關(guān)系來(lái)生成FIFO_ddr2的空/滿(mǎn)以及近空/近滿(mǎn)等標(biāo)志。數(shù)據(jù)搬移邏輯A完成寫(xiě)地址遞增操作,數(shù)據(jù)搬移邏輯B完成讀地址遞增操作。數(shù)據(jù)搬移邏輯A對(duì)FIFO_A的讀操作和FIFO_ddr2的寫(xiě)操作、數(shù)據(jù)搬移邏輯B對(duì)FIFO_ddr2的讀操作和FIFO_B的寫(xiě)操作,工作在高速時(shí)鐘200MHz。這樣的設(shè)計(jì)使用戶(hù)僅需按照FIFO的寫(xiě)時(shí)序,就可將待觀測(cè)的各個(gè)信號(hào)加入數(shù)據(jù)存取模塊進(jìn)行緩存,而數(shù)據(jù)通訊模塊也僅需按照FIFO的讀時(shí)序?qū)⒕彺嬷械臄?shù)據(jù)讀入,簡(jiǎn)化了數(shù)據(jù)通訊模塊的設(shè)計(jì)。

        本設(shè)計(jì)采用容量為2GB的內(nèi)存,該內(nèi)存數(shù)據(jù)位寬為64位,配置內(nèi)存控制器時(shí)使用half rate模式,則FIFO_ddr2的內(nèi)部數(shù)據(jù)寬度為256位(64位X4)。則FIFO_A和FIFO_B的數(shù)據(jù)寬度也設(shè)為256位。這樣可同時(shí)對(duì)256路數(shù)字量進(jìn)行采集,采集深度約為64M,由此可知,該板卡具有普通邏輯分析儀無(wú)法比擬的數(shù)據(jù)處理能力。

        5 數(shù)據(jù)通訊模塊

        PCIE插槽正逐漸取代計(jì)算機(jī)主板上的PCI插槽,故本設(shè)計(jì)采用了PCIE協(xié)議作為與計(jì)算機(jī)間的通訊協(xié)議。文中數(shù)據(jù)通訊模塊的設(shè)計(jì)包括固件和軟件兩個(gè)方面。

        5.1 固件設(shè)計(jì)

        Arria GX2器件支持PCIE的hard ip實(shí)現(xiàn),對(duì)比soft IP實(shí)現(xiàn)節(jié)省了FPGA的內(nèi)部資源。為了使PCIE的ip core能與數(shù)據(jù)存取模塊進(jìn)行通訊,本設(shè)計(jì)在數(shù)據(jù)通訊模塊內(nèi)部實(shí)現(xiàn)PCIE_interface邏輯。軟件可發(fā)出讀/寫(xiě)寄存器的命令到本板卡上,PCIE_interface邏輯負(fù)責(zé)對(duì)命令進(jìn)行解釋和執(zhí)行。本板卡上實(shí)現(xiàn)了如下寄存器用于控制和觀測(cè)板卡的工作:

        (1)兩個(gè)寄存器用于控制板卡數(shù)據(jù)采集的開(kāi)始和結(jié)束;

        (2)兩片AD9244采集的數(shù)字信號(hào)在數(shù)字信號(hào)處理模塊進(jìn)行正交變換時(shí)會(huì)產(chǎn)生兩組同相(I)/正交(Q)分量共四組數(shù)據(jù),每組256個(gè)共4組FIR系數(shù)寄存器用于加載板卡上數(shù)字濾波器的系數(shù);

        (3)抽取率寄存器可用于設(shè)置抽取率;

        (4)組DMA基址寄存器、傳輸字節(jié)數(shù)寄存器用于設(shè)置4組DMA通道,以完成4組數(shù)據(jù)的上傳;

        (5)一組狀態(tài)寄存器用于表示板卡各子模塊的工作狀態(tài),如FIFO的空/滿(mǎn)、近空/近滿(mǎn)、FIFO寫(xiě)入/讀出數(shù)據(jù)個(gè)數(shù)。

        (6)一組寄存器組用于設(shè)計(jì)數(shù)控振蕩器(NCO)的頻率控制字等。

        對(duì)于寄存器讀寫(xiě)操作實(shí)現(xiàn)較為簡(jiǎn)單,即將來(lái)自計(jì)算機(jī)的MWr數(shù)據(jù)包中的地址進(jìn)行譯碼并取出數(shù)據(jù)包中的數(shù)據(jù)完成寄存器寫(xiě)操作,將MRd數(shù)據(jù)包中的地址進(jìn)行譯碼并以CPld數(shù)據(jù)包返回查詢(xún)的寄存器內(nèi)容。

        為了將數(shù)據(jù)存取模塊中的海量數(shù)據(jù)上傳至計(jì)算機(jī),不能采用軟件查詢(xún)操作方式,而需使用中斷方式。即通過(guò)由本板卡發(fā)起的DMA操作,將數(shù)據(jù)存取模塊中的數(shù)據(jù)以MWr數(shù)據(jù)包的方式寫(xiě)入計(jì)算機(jī)內(nèi)存空間。定義如下?tīng)顟B(tài)完成DMA操作:

        DMA_IDLE:總線(xiàn)空閑

        DMA_REQUEST:板卡請(qǐng)求DMA傳輸

        DMA_ACK:允許本次DMA傳輸

        TX_LENGTH:確定本次傳輸?shù)臄?shù)據(jù)長(zhǎng)度

        MWR_REQ:MWr數(shù)據(jù)包desc準(zhǔn)備

        MWR_DV:MWr數(shù)據(jù)包數(shù)據(jù)傳輸

        MWR_DONE:本次DMA傳輸結(jié)束

        DMA_INTERRUPT:所有DMA操作完成產(chǎn)生中斷

        DMA_WAIT_INTERRUPT_ACK等待計(jì)算機(jī)軟件處理中斷

        5.2 軟件設(shè)計(jì)

        利用WinDriver軟件可以簡(jiǎn)化驅(qū)動(dòng)程序的開(kāi)發(fā),該公司網(wǎng)站有試用版可供使用。該軟件可自動(dòng)生成驅(qū)動(dòng)程序框架,提供可以訪(fǎng)問(wèn)板卡硬件資源的API,用戶(hù)只需調(diào)用API對(duì)板卡固件中實(shí)現(xiàn)的寄存器進(jìn)行讀/寫(xiě),即可完成板卡配置和查看板卡狀態(tài)?;镜募拇嫫髯x寫(xiě)較為簡(jiǎn)單不做介紹,下面簡(jiǎn)單介紹如何由軟件來(lái)初始化和完成一次DMA傳輸。

        (1)通過(guò)讀取板卡狀態(tài)寄存器組中的FIFO寫(xiě)入數(shù)據(jù)個(gè)數(shù)寄存器,來(lái)獲得本次DMA一共需要傳輸?shù)臄?shù)據(jù)字節(jié)數(shù)。

        (2)在計(jì)算機(jī)內(nèi)存中分配存儲(chǔ)空間供本次DMA使用。

        (3)將分配的內(nèi)存起始地址和待傳輸字節(jié)數(shù)寫(xiě)入板卡相應(yīng)的寄存器。

        (4)板卡根據(jù)DMA基址寄存器和DMA傳輸?shù)淖止?jié)數(shù)寄存器的內(nèi)容來(lái)使固件中的DMA狀態(tài)機(jī)開(kāi)始工作。

        (5)當(dāng)所有數(shù)據(jù)上傳完畢后,板卡發(fā)起中斷。

        (6)軟件在中斷處理函數(shù)中清除板卡中斷,準(zhǔn)備開(kāi)始下一次DMA數(shù)據(jù)傳輸。

        6 結(jié)束語(yǔ)

        此板卡可進(jìn)行數(shù)字濾波器、上/下變頻、FFT等算法的硬件仿真測(cè)試,通過(guò)外接存儲(chǔ)器的方法增加了板卡的數(shù)據(jù)存儲(chǔ)能力,并通過(guò)PCIE協(xié)議將采集到的數(shù)據(jù)轉(zhuǎn)儲(chǔ)到計(jì)算機(jī)內(nèi)存,在計(jì)算機(jī)上可通過(guò)對(duì)比MatLab等軟件仿真的結(jié)果與板卡的數(shù)據(jù)處理結(jié)果來(lái)分析數(shù)字信號(hào)處理算法的有效性。還可以靈活的修改軟件和固件使其能夠滿(mǎn)足科研項(xiàng)目對(duì)通用數(shù)字信號(hào)處理實(shí)驗(yàn)平臺(tái)的需求。

        [1] Altera International Limited.Arria II Device Handbook[J/OL].http://www.altera.com.

        [2] Altera International Limited.IP Compiler for PCI Express User Guide[J/OL].http://www.altera.com.

        [3] Jungo Ltd.WinDriver.PCI/PCMCIA/ISA Low-Level API Reference[J/OL].http://www.Jungo.com.

        猜你喜歡
        數(shù)據(jù)通訊板卡信號(hào)處理
        機(jī)器視覺(jué)系統(tǒng)與PLC的數(shù)據(jù)通訊
        基于PCI9054的多總線(xiàn)通信板卡的研制
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        《信號(hào)處理》征稿簡(jiǎn)則
        《信號(hào)處理》第九屆編委會(huì)
        《信號(hào)處理》征稿簡(jiǎn)則
        《信號(hào)處理》第九屆編委會(huì)
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑?xiě)技術(shù)
        基于C#的船舶電力推進(jìn)監(jiān)控系統(tǒng)的數(shù)據(jù)通訊設(shè)計(jì)
        智能電能表數(shù)據(jù)通訊安全性分析
        国产av一区二区三区日韩| 看日本全黄色免费a级| 中文字幕人妻无码视频| 亚州少妇无套内射激情视频| 99精品久久久中文字幕| 亚洲综合伊人久久综合| 最新国产精品拍自在线观看| 蜜桃麻豆www久久囤产精品| 无码日日模日日碰夜夜爽| 性色av一区二区三区密臀av| 亚洲欧美中文日韩在线v日本| 亚洲av无码精品色午夜在线观看| 91久久精品无码人妻系列| 一本久道在线视频播放| 人妻夜夜爽天天爽三区丁香花| 欧美饥渴熟妇高潮喷水水| 亚洲最大无码AV网站观看| 隔壁人妻欲求不满中文字幕| 日本边添边摸边做边爱喷水| 日韩精品无码一区二区中文字幕| 久99久精品免费视频热77| 国产中文字幕免费视频一区| 中文天堂国产最新| 日本一区二区三区高清千人斩| 国产精品麻豆成人av| 一二三区无线乱码中文在线| 国产成人精品一区二区不卡| 亚洲欧美日韩国产精品网| 精品女厕偷拍视频一区二区区| 亚洲熟妇丰满多毛xxxx| 亚洲av日韩精品久久久久久| 国产亚洲精品成人av在线| 熟妇人妻无乱码中文字幕av| 草草久久久无码国产专区| 白白色免费视频一区二区| 免费人妖一区二区三区| 97午夜理论片影院在线播放| 久久精品国产91久久性色tv | 精品国产综合区久久久久久| 成年在线观看免费视频| 精品女同一区二区三区不卡|