<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PCI IP核在CPCI總線數(shù)據(jù)采集卡的應(yīng)用設(shè)計

          PCI IP核在CPCI總線數(shù)據(jù)采集卡的應(yīng)用設(shè)計

          作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏


          DMA控制器由DMA寄存器和DMA狀態(tài)機(jī)兩個模塊構(gòu)成。DMA寄存器是主機(jī)控制DMA的窗口,包括控制狀態(tài)寄存器、地址寄存器、字節(jié)寄存器、中斷狀態(tài)寄存器和本地地址寄存器。DMA寄存器的地址直接映射到PCI的地址空間,其基地址對應(yīng)PCI IP核中的配置寄存器Bar0。主機(jī)通過設(shè)置在存儲器地址空間的DMA寄存器來控制DMA傳輸。DMA狀態(tài)機(jī)是控制主模式寫傳輸?shù)暮诵?,產(chǎn)生主模式傳輸需求的各種信號。狀態(tài)跳轉(zhuǎn)條件來自DMA寄存器,IP核以及DMA FIFO。狀態(tài)機(jī)流程圖如圖3所示。

          圖3 DMA狀態(tài)機(jī)

          以鏈?zhǔn)紻MA傳輸為例介紹其流程:主機(jī)首先把多組字節(jié)寄存器和地址寄存器的值寫入描述符FIFO,每一組字節(jié)寄存器和地址寄存器就是一個描述符;主機(jī)再寫本地地址寄存器和控制狀態(tài)寄存器即啟動了DMA狀態(tài)機(jī),開始鏈?zhǔn)降臄?shù)據(jù)傳輸。狀態(tài)機(jī)跳入裝載DMA狀態(tài),通過對DMA FIFO的讀取將需要的值寫入寄存器中,經(jīng)寄存器有效狀態(tài)進(jìn)入等待請求狀態(tài)。當(dāng)外部FIFO數(shù)據(jù)準(zhǔn)備好,DMA狀態(tài)機(jī)向主機(jī)發(fā)送總線請求信號,并等待主機(jī)的總線允許信號,此時狀態(tài)機(jī)進(jìn)入等待允許狀態(tài);一旦接收到主機(jī)的總線允許信號,整個DMA傳輸開始,狀態(tài)機(jī)也進(jìn)入數(shù)據(jù)傳輸狀態(tài)。在數(shù)據(jù)傳輸周期中,字節(jié)寄存器的值逐漸減少直到零時,一個描述符傳輸完成,每一個描述符傳輸完成的時候,狀態(tài)機(jī)并不進(jìn)入結(jié)束狀態(tài),而是直接進(jìn)入空閑狀態(tài),開始下一次描述符的傳輸,所以不產(chǎn)生中斷。等到DMA FIFO為空的時候,狀態(tài)機(jī)認(rèn)為本次鏈?zhǔn)紻MA傳輸完成,進(jìn)入到結(jié)束狀態(tài),此時產(chǎn)生中斷,一次鏈?zhǔn)紻MA傳輸結(jié)束。

          實驗調(diào)試及分析

          PCI_MT64 IP核在CPCI數(shù)據(jù)采集卡中的應(yīng)用主要是完成數(shù)據(jù)的高速傳輸,包括從模式寫傳輸方式的數(shù)據(jù)下傳(控制命令)和DMA方式的數(shù)據(jù)上傳(采集卡數(shù)據(jù))。在QuartusII9.0環(huán)境下,運(yùn)用Megacore PCI Complier對PCI_MT64進(jìn)行設(shè)置,并對CPCI本地端邏輯進(jìn)行了綜合編譯,生成網(wǎng)表文件,運(yùn)用Testbench工具對從模式寫傳輸方式進(jìn)行仿真,驗證了PCI_MT64 IP核的穩(wěn)定性。其時序仿真如圖4所示。

          圖4 從模式單周期寫仿真時序

          圖4中是一個對地址為8000H的MEM域空間的單周期寫操作,在第3個時鐘周期,F(xiàn)RAME#低電平有效,此時pci_ad的值是8000H,pci_cben的值是0111B,表示存儲器寫,在TRDY#和IRDY#同時有效的時候,數(shù)據(jù)由pci_ad傳給l_dato,這里寫入的數(shù)據(jù)是66666666H。由仿真圖可以看到,pci_ad和l_dato的數(shù)據(jù)是一樣的,所以從模式單周期寫傳輸正確。單周期讀寫適合少量數(shù)據(jù)傳輸,不同寄存器控制命令的發(fā)送及DMA寄存器的設(shè)置都是通過從模式下單周期讀寫實現(xiàn)的。

          為測試PCI_MT64 IP核的本地端邏輯設(shè)計,調(diào)用基于Windriver編寫的驅(qū)動程序和用戶界面實現(xiàn)數(shù)據(jù)的傳輸。這樣,既驗證了CPCI數(shù)據(jù)采集卡硬件邏輯的正確性,又驗證了軟件的正確性。其測試結(jié)果如圖5所示。


          圖5 應(yīng)用軟件測試界面

          圖5中數(shù)據(jù)采樣率為500MHz,輸入信號頻率為16MHz,一個周期的采樣點數(shù)N=500/16=31.25,故250個點內(nèi)應(yīng)有250/31.25=8個周期的數(shù)據(jù)。采樣數(shù)據(jù)的幅值以十六進(jìn)制格式在列表框中顯示。波形顯示了有限數(shù)據(jù)的連續(xù)傳輸,沒有任何數(shù)據(jù)丟失,驗證了基于PCI_MT64 IP核在數(shù)據(jù)采集卡中采用DMA方式傳輸數(shù)據(jù)的完整性及傳輸速度。

          結(jié)束語

          PCI_MT64 IP核能有效的滿足CPCI數(shù)據(jù)采集卡對數(shù)據(jù)高速傳輸?shù)囊?,實現(xiàn)CPCI接口功能,并能與用戶邏輯配合工作,實現(xiàn)數(shù)據(jù)的緩存和傳輸。相較于使用PCI專用芯片實現(xiàn)接口功能的方法,本設(shè)計具有電路板集成性能高、功耗低、成本低、方便移植等優(yōu)點。

          上一頁 1 2 下一頁

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();