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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PCI_MT64 IP核的原理和結構設計

電子設計 ? 來源:網絡整理 ? 2019-05-28 16:15 ? 次閱讀

引言

隨著CompactPCI在中國大范圍的普及和使用,越來越多的企業(yè)開始研制基于CompactPCI接口產品,市場上有一些專用PCI接口芯片FPGA(現場可編程門陣列)技術的快速發(fā)展使得萬門以上乃至幾十萬門邏輯陣列的使用越來越普遍。與專用PCI接口芯片相似,很多FPGA制造商都提供了PCI接口核邏輯。設計者可以將PCI用戶邏輯與PCI Core集成在一片FPGA里,并且可以在頂層通過仿真來驗證PCI接口以及用戶邏輯設計的正確與否,這樣可以大幅度提高調試速度、縮短開發(fā)周期、提高電路板的集成度和系統的性能。目前,開發(fā)者最常用的兩種PCI IP核是ALTERA公司的PCI MEGACORE和XILINX公司的PCI Logicore。本文所介紹的PCI_MT64 IP核是ALTERA公司開發(fā)的一個功能強大的CPCI接口內核,最高能實現64位的數據寬度和66MHz的工作頻率。文章介紹了PCI_MT64的工作原理以及此IP核在CPCI總線數據采集卡的應用設計,并通過本地邏輯設計測試了此IP核的功能。

PCI_MT64 IP核的原理和結構

根據用戶性質的不同,CPCI接口類型分為兩種:MASTER(主設備) 和TARGET(從設備)。ALTERA公司據此開發(fā)了多種 PCI IP核:PCI_MT64、PCI_MT32、PCI_T64和PCI_T32。由于設計需要完成66MHz、64位寬度數據傳輸,且在主模式下DMA控制器才能工作,因此選擇了PCI_MT64。

PCI_MT64是支持33/66MHz工作頻率、64位PCI總線、支持主/從模式的PCI IP功能模塊。當其寬度為64位、系統時鐘為66 MHz時,峰值傳輸速率為528 MB/s。其主要由8個模塊組成,如圖1所示。

圖1 PCI_MT64的模塊結構

參數配置寄存器:提供參數確定的寄存器,包括設備識別、供應商識別、分類代碼、修訂版本、基址寄存器和子系統供應商等信息。在設計中,ALTERA公司提供了參數化的圖形界面,用戶只需按PCI協議輸入或選擇合理的值即可完成該寄存器的配置。

PCI側地址/數據緩沖模塊:用來緩存PCI總線側的地址數據輸入、輸出信號。

PCI側主/從模式控制模塊:用于控制PCI總線的主設備和從設備的各種時序操作。

Local側主/從模式控制模塊:用于控制PCI_MT64與本地邏輯的各種操作。

Local側地址/數據/命令/字節(jié)使能模塊:接收和輸出用戶側的所有地址、數據、命令、字節(jié)使能等信號。

奇偶校驗模塊:用于對數據、地址、命令進行奇偶校驗。

PCI_MT64 IP核在CPCI數據采集卡中的應用設計

PCI_MT64 IP核在CPCI數據采集卡中的功能:與CPCI總線之間的通信和數據傳輸,并做奇偶校驗以保證正確性,即將復雜的CPCI總線信號轉換為相對簡單易操作的CPCI本地總線信號,它從CPCI總線側獲得傳輸命令和讀寫數據的地址后,一方面對這個操作命令做出反應,將其傳達給本地邏輯,另一方面將CPCI總線傳送過來的數據地址映射為本地邏輯可識別的地址。當本地端總線準備好后,PCI IP核會收到本地邏輯做出的響應信號,然后根據主從模式,讀/寫命令的不同執(zhí)行相應的時序。簡單的說,它是CPCI總線和本地邏輯的橋梁,所以首先要設計CPCI本地側邏輯實現PCI IP核功能驗證,如圖2所示。

圖2 CPCI本地端邏輯設計

以上設計能快速評估PCI IP核的功能,當PCI_MT64作為一個主設備,主模式控制邏輯連接DMA控制器來完成一次PCI主模式讀寫傳輸。當PCI_MT64作為一個從設備,它觸發(fā)從模式控制邏輯來執(zhí)行一次從模式傳輸。CPCI數據采集卡使用DMA方式上傳數據,即將數據采集模塊的數據處理后,緩存到FIFO,從FIFO中傳輸數據到上位機;使用從模式寫傳輸發(fā)送控制命令到板卡不同寄存器。當進行一次從模式傳輸時,PCI IP核不能啟動總線操作,只能依賴于主設備從其中讀取數據或向其傳送數據,相關設計較為簡單,而DMA模式是PCI_MT64配合自主設計的DMA控制器來實現的,所以DMA控制器是整個設計的關鍵。

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

圖3 DMA狀態(tài)機

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

實驗調試及分析

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

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

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

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

圖5 應用軟件測試界面

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

結束語

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

電子科技大學自動化工程學院 王俊麗 王志剛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • IP
    IP
    +關注

    關注

    5

    文章

    1613

    瀏覽量

    149249
  • PCI
    PCI
    +關注

    關注

    4

    文章

    662

    瀏覽量

    130145
收藏 人收藏

    評論

    相關推薦

    變壓器結構設計手冊

    變壓器結構設計手冊內容有:計算程序,進品硅鋼板的牌號及其特性,導線尺寸截面積,鐵心各級尺寸表,三相單框鐵心,夾件,木墊塊,鐵心及夾件用零件,鐵心,鐵心裝置零件表,鐵軛沖槽,鐵心用單件,夾件絕緣等內容.變壓器結構設計手冊
    發(fā)表于 12-13 01:33

    操作系統結構設計

    操作系統結構設計   操作系統有多種實現方法與設計思路,下面僅選取最有代表性的三種做一簡單的敘述。   1.整體式系統結構設計 這是最常用的一種組織方式,它常被譽為“大雜燴”,也可說,整體式系統結構
    發(fā)表于 09-13 10:10

    手機結構設計心得

    手機結構設計心得
    發(fā)表于 11-07 09:59

    一種基于PCI IP的碼流接收卡的設計

    DVB-ASI碼流接收卡。如果使用支持64PCI總線的PCI_MT64功能模塊,則最多可以實現8路ASI信號的接收。結語 本系統采用FPGA加PCI
    發(fā)表于 11-28 15:38

    招聘--結構設計

    呈現效果,真正將選擇視角的主動權還給用戶。完美幻境以“科技無極限”為主旨,專注于虛擬現實領域的科技創(chuàng)新,會始終堅持以最尖端的科技、性能最佳的產品為用戶提供更加極致的科技體驗。崗位職責能夠獨立完成產品結構設計
    發(fā)表于 09-25 15:46

    淺談產品結構設計特點 

    `  產品結構設計是根據產品功能而進行的內部結構的設計,是機械設計的主要內容之一。產品結構設計內容有零件的分件、部件的固定方式、產品使用和功能的實現方式、產品使用材料和表面處理工藝等。要求產品
    發(fā)表于 02-25 17:24

    軟件結構設計

    軟件結構設計,,
    發(fā)表于 09-26 13:55

    基于PCI IP的碼流接收卡的設計

    接口芯片時,選擇了Altera公司的PCI 編譯器軟件包,它可以參數化地生成用于PCI接口的IP----MegaCore。這個可編譯和綜合的MegaCore有以下4種宏功能模塊:
    發(fā)表于 12-07 10:34

    蝶式五軌滑蓋結構設計與磁動力滑蓋結構設計的不同之處在哪?

    蝶式五軌滑蓋結構設計與磁動力滑蓋結構設計的不同之處在哪?
    發(fā)表于 07-28 06:57

    結構設計方面資料

    結構設計方面資料
    發(fā)表于 08-09 17:02 ?0次下載

    軸系結構設計實驗

    實驗六 軸系結構設計實驗一、實驗目的: 熟悉并掌握軸系結構設計中有關軸的結構設計、滾動軸承組合設計的基本方法。 二、實
    發(fā)表于 03-13 19:04 ?5.8w次閱讀
    軸系<b class='flag-5'>結構設計</b>實驗

    PCI Express IP應用參考設計

    Xilinx FPGA工程例子源碼:PCI Express IP應用參考設計
    發(fā)表于 06-07 14:13 ?14次下載

    輪輻轉子的結構設計

    輪輻轉子的結構設計_馮艷琴
    發(fā)表于 01-02 16:30 ?0次下載

    淺談產品結構設計類別及產品結構設計的重要性

    產品設計中所涉及的產品結構設計,主要是產品的外部殼體結構設計。目前殼體材料主要是金屬材料通過鈑金沖壓工藝成型和塑料通過注塑工藝成型。常見產品的結構設計主要有鈑金結構的設計、塑料產品的
    的頭像 發(fā)表于 05-26 14:21 ?8934次閱讀

    FPC的結構設計.zip

    FPC的結構設計
    發(fā)表于 03-01 15:37 ?0次下載