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

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

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

PCI_MT64 IP核的原理和結(jié)構(gòu)設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:網(wǎng)絡(luò)整理 ? 2019-05-28 16:15 ? 次閱讀

引言

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

PCI_MT64 IP核的原理和結(jié)構(gòu)

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

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

圖1 PCI_MT64的模塊結(jié)構(gòu)

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

PCI側(cè)地址/數(shù)據(jù)緩沖模塊:用來(lái)緩存PCI總線側(cè)的地址數(shù)據(jù)輸入、輸出信號(hào)。

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

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

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

奇偶校驗(yàn)?zāi)K:用于對(duì)數(shù)據(jù)、地址、命令進(jìn)行奇偶校驗(yàn)。

PCI_MT64 IP核在CPCI數(shù)據(jù)采集卡中的應(yīng)用設(shè)計(jì)

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

圖2 CPCI本地端邏輯設(shè)計(jì)

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

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

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

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

實(shí)驗(yàn)調(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對(duì)PCI_MT64進(jìn)行設(shè)置,并對(duì)CPCI本地端邏輯進(jìn)行了綜合編譯,生成網(wǎng)表文件,運(yùn)用Testbench工具對(duì)從模式寫傳輸方式進(jìn)行仿真,驗(yàn)證了PCI_MT64 IP核的穩(wěn)定性。其時(shí)序仿真如圖4所示。

圖4 從模式單周期寫仿真時(shí)序

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

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

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

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

結(jié)束語(yǔ)

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

電子科技大學(xué)自動(dòng)化工程學(xué)院 王俊麗 王志剛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1583

    瀏覽量

    149148
  • PCI
    PCI
    +關(guān)注

    關(guān)注

    4

    文章

    657

    瀏覽量

    130064
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    變壓器結(jié)構(gòu)設(shè)計(jì)手冊(cè)

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

    操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

    操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)   操作系統(tǒng)有多種實(shí)現(xiàn)方法與設(shè)計(jì)思路,下面僅選取最有代表性的三種做一簡(jiǎn)單的敘述?! ?1.整體式系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 這是最常用的一種組織方式,它常被譽(yù)為“大雜燴”,也可說(shuō),整體式系統(tǒng)結(jié)構(gòu)
    發(fā)表于 09-13 10:10

    手機(jī)結(jié)構(gòu)設(shè)計(jì)心得

    手機(jī)結(jié)構(gòu)設(shè)計(jì)心得
    發(fā)表于 11-07 09:59

    一種基于PCI IP的碼流接收卡的設(shè)計(jì)

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

    招聘--結(jié)構(gòu)設(shè)計(jì)

    呈現(xiàn)效果,真正將選擇視角的主動(dòng)權(quán)還給用戶。完美幻境以“科技無(wú)極限”為主旨,專注于虛擬現(xiàn)實(shí)領(lǐng)域的科技創(chuàng)新,會(huì)始終堅(jiān)持以最尖端的科技、性能最佳的產(chǎn)品為用戶提供更加極致的科技體驗(yàn)。崗位職責(zé)能夠獨(dú)立完成產(chǎn)品結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 09-25 15:46

    淺談產(chǎn)品結(jié)構(gòu)設(shè)計(jì)特點(diǎn) 

    `  產(chǎn)品結(jié)構(gòu)設(shè)計(jì)是根據(jù)產(chǎn)品功能而進(jìn)行的內(nèi)部結(jié)構(gòu)的設(shè)計(jì),是機(jī)械設(shè)計(jì)的主要內(nèi)容之一。產(chǎn)品結(jié)構(gòu)設(shè)計(jì)內(nèi)容有零件的分件、部件的固定方式、產(chǎn)品使用和功能的實(shí)現(xiàn)方式、產(chǎn)品使用材料和表面處理工藝等。要求產(chǎn)品
    發(fā)表于 02-25 17:24

    軟件結(jié)構(gòu)設(shè)計(jì)

    軟件結(jié)構(gòu)設(shè)計(jì),,
    發(fā)表于 09-26 13:55

    基于PCI IP的碼流接收卡的設(shè)計(jì)

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

    蝶式五軌滑蓋結(jié)構(gòu)設(shè)計(jì)與磁動(dòng)力滑蓋結(jié)構(gòu)設(shè)計(jì)的不同之處在哪?

    蝶式五軌滑蓋結(jié)構(gòu)設(shè)計(jì)與磁動(dòng)力滑蓋結(jié)構(gòu)設(shè)計(jì)的不同之處在哪?
    發(fā)表于 07-28 06:57

    結(jié)構(gòu)設(shè)計(jì)方面資料

    結(jié)構(gòu)設(shè)計(jì)方面資料
    發(fā)表于 08-09 17:02 ?0次下載

    軸系結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)

    實(shí)驗(yàn)六 軸系結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?熟悉并掌握軸系結(jié)構(gòu)設(shè)計(jì)中有關(guān)軸的結(jié)構(gòu)設(shè)計(jì)、滾動(dòng)軸承組合設(shè)計(jì)的基本方法。 二、實(shí)
    發(fā)表于 03-13 19:04 ?5.7w次閱讀
    軸系<b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>實(shí)驗(yàn)

    PCI Express IP應(yīng)用參考設(shè)計(jì)

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

    輪輻轉(zhuǎn)子的結(jié)構(gòu)設(shè)計(jì)

    輪輻轉(zhuǎn)子的結(jié)構(gòu)設(shè)計(jì)_馮艷琴
    發(fā)表于 01-02 16:30 ?0次下載

    淺談產(chǎn)品結(jié)構(gòu)設(shè)計(jì)類別及產(chǎn)品結(jié)構(gòu)設(shè)計(jì)的重要性

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

    FPC的結(jié)構(gòu)設(shè)計(jì).zip

    FPC的結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 03-01 15:37 ?0次下載