精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

探究CPCI總線的PMC載板設計

電子工程師 ? 來源: 《微型機與應用》 ? 作者:賈 亮 王 浩 葉青林 ? 2021-05-05 16:56 ? 次閱讀

摘 要:設計了一種基于CPCI總線標準的PMC接口載板。載板以FPGA為核心,集成了CPCI接口模塊和DPRAM(雙口RAM)模塊,CPCI接口模塊采用FPGA+PCI IP核(軟核)解決了系統集成的問題,DPRAM模塊為系統提供了數據緩存功能。環回測試和中斷測試解決了在沒有子卡PMC模塊的情況下,讀寫、驗證DPRAM空間數據和測試中斷響應的問題。此外,還支持子卡PMC模塊后出線到CPCI總線。調試結果表明,該載板在嵌入式實時操作系統VxWorks下可以穩定運行,正確地讀寫DPRAM空間的數據,及時地響應中斷,滿足了對載板的性能需求。

工業和嵌入式領域實際工程應用中,模塊化的設計思想已深入人心。針對不同使用場合的具體應用以及為方便后續的維護和升級,將其中具有通用性和可持續利用的部分單獨設計成載板,載板配合不同的應用模塊就可以組合成具有不同功能的專業I/O模塊。

Compact PCI(Compact Peripheral Component Interconnect)簡稱CPCI,中文又稱緊湊型PCI,是國際工業計算機制造者聯合會PICMG(PCI Industrial Computer Manufacturer′s Group)于1994提出來的一種總線接口標準,是以PCI電氣規范為標準的高性能工業用總線[1]。CPCI規范改進自PCI電氣規范2.1,應用于工業和嵌入式領域。當前最新的CPCI規范是PICMG 3.0。PICMG 3.0主要將應用在高帶寬電信傳輸上,以適應未來電信的發展,PICMG 2.x則仍是目前CPCI的主流,并將在很長時間內主宰CPCI的應用。

PCI夾層卡PMC(PCI Mezzanine Cards)是IEEE P1386.1的標準,作為一個IEEE標準,PMC確保了任何符合該標準的主板或者模塊能夠與其他按照該標準設計的主板或者模塊兼容[2]。這樣就為用戶提供了很大的柔性,用戶可以任意組合和搭配不同的主卡和模塊。PMC是個開放標準,它為Multibus II、VME和Compact PCI帶來了前所未有的大量I/O產品和高性能。

本文結合實際的工程項目,設計實現一個基于CPCI總線并符合PICMG 2.0規范的6U(233.35 mm×160 mm)通用型PMC載板FTC-C920并開發其在VxWorks 5.5下的驅動軟件。

1 載板總體結構設計

本著簡潔和通用的前提,此載板主要由電源模塊(Power)、PMC接口模塊(J11~J14)、CPCI總線接口模塊(J1、J4、J5)和FPGA組成,總體結構如圖1所示。

9718808777529.gif

2 PMC接口和CPCI總線接口模塊設計

PMC接口的特性為:前兩個(“P11”和“P12”)用于32位PCI信號,第3個(“P13”)是64位PCI信號需要。一個額外的總線連接器(“P14”),可用于非指定的I/O信號[2]。本設計中,PMC接口模塊采用4個(J11~J14)PMC(PCI Mezzanine Cards)8 mm高標準連接器,支持用戶子卡PMC后出線到CPCI總線接口J4和J5。圖1給出了板卡的CPCI連接器情況,J1用作32位PCI,J4和J5用作后面板I/O,可自定義[1]。

3 FPGA設計

從圖2中可以清楚地看到,FPGA主要被設計集成了PCI接口模塊(PCI Slave IP CORE)和DPRAM模塊。

3.1 PCI接口模塊設計

3.1.1 幾種PCI接口設計方案及選擇

常見的設計方案有:(1)專用的PCI接口芯片+CPLD;(2)ASIC+CORE;(3)專用的FPGA+PCI IP CORE(硬核);(4)專用的FPGA+PCI IP CORE(軟核);(5)帶PCI接口的DSP[3]。

幾種方案各有利弊,本文結合項目的實際應用需求選擇了第4種方案,這個方案滿足了系統集成的需求,并可自由添加接口邏輯,降低了成本,減小了設計風險。

3.1.2 具體設計

此模塊主要實現33 MHz工作時鐘、32 bit總線寬度的PCI接口功能,支持內存空間及配置空間的讀寫和PCI中斷功能。

PCI配置空間分配[4]:Vendor ID(廠商號)1206,Device ID(設備號)0920,BAR0(基地址)映射為1 MB內存空間,其中0x0000~0x3FFF為DPRAM空間,0x4000~0x7FFF為DPRAM環回測試空間,0x8000以后為控制寄存器。

正常情況下(配合用戶PMC子卡使用時),CPCI通過DPRAM左(L)端口對DPRAM空間進行讀寫,用戶子卡則通過DPRAM右(R)端口對DPRAM空間進行讀寫;環回測試情況下(即沒有用戶PMC子卡的情況下),CPCI可以通過環回測試空間對DPRAM進行讀寫,即模擬用戶子卡對DPRAM空間進行讀寫。

需要注意的是,0x0000~0x3FFF為DPRAM 16 KB空間,對應DPRAM空間大小為8K×16 bit,而0x4000~0x7FFF為DPRAM環回測試空間,不是FPGA另外開辟的RAM空間,只是軟件通過這個空間地址在環回測試下讀寫DPRAM空間(8K×16 bit)。示意圖如圖3所示。

pIYBAGCFP7mAMRbfAAJjGG6D7-Y337.png

PCI控制寄存器的分配如表1所示。

3.2 DPRAM模塊設計

雙口RAM模塊是FPGA調用內部的IP核實現的,其為數據處理提供緩存功能,總線寬度為16 bit,容量為8 K×16 bit。在沒有用戶PMC子卡的情況下,為了驗證對數據處理的可用性及準確性,通過FPGA邏輯設計支持雙口RAM R端口環回自檢,如圖3(b)中虛線所示,即模擬用戶子卡對雙口RAM進行讀寫數據的操作。

CPCI和用戶PMC子卡通信采用雙口RAM方式,雙口RAM用戶PMC子卡側總線定義如表2所示。

pIYBAGCFP9KAPz8nAAETTrWg088055.png

4 VxWorks下設備驅動程序設計

開發此PMC載板Vxworks 5.5下的驅動,硬件選用了Motorola公司的實時主控單板機MCP-750、工控機箱CPX2000 series和此PMC載板FTC-C920,操作系統則選擇了美國風河公司的VxWorks嵌入式實時操作系統,使用普通的PC,在Tornado IDE(集成開發環境)下進行驅動的開發。以良好的可靠性和卓越的實時性著稱的VxWorks可以滿足系統對于高實時性和高可靠性的要求[5]。驅動開發軟硬件環境簡圖如圖4所示。

對驅動程序的設計主要有3個部分:載板自檢測試模塊、FTC-C920和系統控制器互通測試模塊以及CPCI中斷測試模塊。

o4YBAGCFP-SAHyw4AABghDFudK8481.png

4.1 載板自檢測試模塊

載板自檢測試主要是載板檢測自身器件是否正常工作,功能是否可以實現。

4.1.1 查找C920載板

對于Vxworks下PCI設備調試來說,其有專門的函數可供調用,查找FTC-C920載板可以通過調用函數pciFindDevice()來實現,它包含在pciConfigShow庫函數中,此庫函數專門用來幫助顯示一些PCI設備的信息。此函數可以根據PCI設備給定的供應商標識(VENDOR ID)和設備標識(DEVICE ID)找到相應的設備,并以此返回設備的總線號(busNO)、設備號(deviceNO)和功能號(funcNO)。

4.1.2 讀取FTC-C920上的配置資源信息

根據獲得的設備的總線號(busNO)、設備號(deviceNO)和功能號(funcNO),通過調用操作系統庫函數pciConfigLib中的函數pciConfigInLong和pciConfigInByte訪問C920的配置空間,獲得設備映射的內存基地址(memBase)和I/O基地址(ioBase)以及中斷號irq,分辨對基地址空間是I/O操作還是內存操作,獲得的基地址要分別與存儲器屏蔽位PCI_MEMBASE_MASK和I/O屏蔽位PCI_IOBASE_MASK相“與”,才能得到真正板卡的內存基地址和I/O基地址。

4.2 FTC-C920和系統控制器互通測試模塊

互通測試主要是:

(1)系統控制器(MCP-750)讀取用戶PMC子卡數據:用戶PMC子卡向雙口RAM中寫入數據,系統控制器(MCP0750)從雙口RAM中讀取數據,并驗證數據是否正確。

(2)用戶PMC子卡讀取系統控制器(MCP-750)數據:系統控制器(MCP-750)向雙口RAM中寫入數據;用戶PMC子卡從雙口RAM中讀取數據,并驗證數據是否正確。

由于FTC-C920是通用型PMC載板,為了在沒有用戶PMC子卡的情況下驗證互通測試,在FPGA的設計上進行了支持DPRAM R端口環回自檢的設計,如圖2中虛線所示。

正常情況下(配合用戶PMC子卡使用時),環回測試空間不可使用,此時FPGA內部環回自檢控制寄存器的相應位為默認值0。如進行環回自檢(沒有用戶PMC子卡時),需往環回自檢控制寄存器的相應位寫1,此時,系統控制器可對環回測試空間進行讀寫。

4.3 CPCI中斷測試模塊

CPCI中斷測試主要是用戶PMC子卡通過寫寄存器的方式產生CPCI中斷;系統控制器響應中斷,讀取數據并驗證數據是否正確。

在沒有用戶PMC子卡的情況下,可以通過產生內部中斷的方式進行測試,具體的方法是在FPGA中設置中斷使能寄存器,中斷測試寄存器,中斷狀態寄存器和清中斷寄存器。程序流程圖如圖5所示。

9720046803390.gif

本文詳細描述了某項目中PMC載板FTC-C920的設計方法及其在VxWorks操作系統下驅動程序的開發流程。在沒有用戶PMC子卡的情況下,通過環回測試空間的設計,解決了互通測試的要求,通過中斷測試寄存器的設計,解決了中斷測試的要求。調試結果表明,此PMC載板在VxWorks 5.5下可以穩定地運行。本文的設計方法具有一定的通用性,可為相關工程技術人員提供可以參考的設計經驗。

參考文獻

[1] PICMG.PICMG2.0 Rev.3.0. PICMG2.0 D3.0 Compact PCI Specification[S]。

[2] IEEE. IEEE P1386.1.Draft Standard Physical and Environmental Layers for PCI Mezzanine Cards: PMC[S]。

[3] 鄭毅。基于PMC(PCI背卡)接口的實時數據采集卡[D]。成都:電子科技大學,2003.

[4] 李貴山,陳金鵬.PCI局部總線及其應用[M].西安:西安電子科技大學出版社,2003.

[5] 唐曉平,何峰,梁甸農。基于VxWorks的PCI總線驅動設計[J]。嵌入式操作系統應用,2008,11(2):79-81.

編輯:jq

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

    關注

    1626

    文章

    21678

    瀏覽量

    602022
  • 控制器
    +關注

    關注

    112

    文章

    16214

    瀏覽量

    177479
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1367

    瀏覽量

    114541
  • PMC
    PMC
    +關注

    關注

    0

    文章

    89

    瀏覽量

    14888
收藏 人收藏

    評論

    相關推薦

    XMC 轉 CPCI轉接卡

    XMC 轉 CPCI轉接卡是一種用于實現 XMC(Extended Mezzanine Card)接口與 CPCI(CompactPCI)接口相互轉換和連接的硬件設備14。以下是關于它的一些
    的頭像 發表于 10-09 16:03 ?160次閱讀

    PCI 轉 PMC轉接卡

    天津拓航科技有限公司自研生產的PCI接口轉PMC接口的·載轉接卡 PCI2PMC
    的頭像 發表于 10-09 15:59 ?201次閱讀
    PCI 轉 <b class='flag-5'>PMC</b> 載<b class='flag-5'>板</b>轉接卡

    PMC轉PXIE載轉接卡

    天津拓航科技自研生產的PMC轉PXIE載轉接卡
    的頭像 發表于 10-09 15:32 ?184次閱讀
    <b class='flag-5'>PMC</b>轉PXIE載<b class='flag-5'>板</b>轉接卡

    CPCI轉PCI載轉接卡 PCI2CPCI

    CPCI轉接卡作為一種關鍵的轉接設備,在實現 PCI(Peripheral Component Interconnect)接口與 CPCI(CompactPCI)接口之間的轉換方面發揮著重要作用。? PCI 是個人計
    的頭像 發表于 10-09 15:21 ?238次閱讀
    <b class='flag-5'>CPCI</b>轉PCI載<b class='flag-5'>板</b>轉接卡 PCI2<b class='flag-5'>CPCI</b>

    PCI轉PMC轉接卡

    PCI接口轉PMC接口轉接卡
    的頭像 發表于 10-08 17:43 ?199次閱讀
    PCI轉<b class='flag-5'>PMC</b>載<b class='flag-5'>板</b>轉接卡

    pcie轉pmc轉接卡

    PCIE轉PMC轉接卡
    的頭像 發表于 10-08 17:10 ?191次閱讀
    pcie轉<b class='flag-5'>pmc</b>載<b class='flag-5'>板</b>轉接卡

    CPCI轉PCI載轉接卡

    CPCI轉PCI載轉接卡 ?
    發表于 09-07 09:37 ?1次下載

    PMC轉PXIE載轉接卡

    PMC轉PXIE載轉接卡
    發表于 09-07 09:36 ?0次下載

    探索PCI轉PMC轉接卡:連接不同接口的橋梁

    PCI2PMC轉接卡 PMC接口轉PCI接口
    發表于 09-06 14:41 ?0次下載

    解讀PCIE轉PMC轉接卡:跨越接口的橋梁

    電子發燒友網站提供《解讀PCIE轉PMC轉接卡:跨越接口的橋梁.docx》資料免費下載
    發表于 09-06 14:39 ?0次下載

    解析XMC轉CPCI轉接卡:連接不同接口的關鍵紐帶

    XMC轉CPCI轉接卡 CPCI2XMC轉接卡
    發表于 09-06 14:37 ?0次下載

    pmccpci轉接卡

    電子發燒友網站提供《pmccpci轉接卡.docx》資料免費下載
    發表于 09-06 14:36 ?0次下載

    探索 PCI 轉 PMC轉接卡:連接不同接口的橋梁

    在計算機硬件領域,各種接口和總線標準不斷演進,以滿足日益增長的性能和功能需求。在這個過程中,不同接口之間的轉換設備應運而生,其中PCI轉PMC轉接卡就是一種重要的連接解決方案。PCI轉PM
    的頭像 發表于 09-04 11:21 ?335次閱讀
    探索 PCI 轉 <b class='flag-5'>PMC</b> 載<b class='flag-5'>板</b>轉接卡:連接不同接口的橋梁

    CPCI設計與制造:提高可制造性的關鍵要素

    數據通信中,CPCI總線可以提供更高的數據傳輸速率和更低的傳輸延遲,從而能夠滿足一些高性能應用的需求。 CPCI-3U和CPCI-6U是CPCI
    發表于 03-26 18:34

    基于CPCI總線CPCI6320視頻播放

    ? 產品概述?鍵石 CPCI6320 是一款高品質的視頻播放,該基于 CPCI 總線,采用 Sigma Designs 公司的 EM84
    發表于 12-11 14:40 ?0次下載