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

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

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

探究CPCI總線的PMC載板設(shè)計(jì)

電子工程師 ? 來(lái)源: 《微型機(jī)與應(yīng)用》 ? 作者:賈 亮 王 浩 葉青林 ? 2021-05-05 16:56 ? 次閱讀

摘 要:設(shè)計(jì)了一種基于CPCI總線標(biāo)準(zhǔn)的PMC接口載板。載板以FPGA為核心,集成了CPCI接口模塊和DPRAM(雙口RAM)模塊,CPCI接口模塊采用FPGA+PCI IP核(軟核)解決了系統(tǒng)集成的問(wèn)題,DPRAM模塊為系統(tǒng)提供了數(shù)據(jù)緩存功能。環(huán)回測(cè)試和中斷測(cè)試解決了在沒(méi)有子卡PMC模塊的情況下,讀寫(xiě)、驗(yàn)證DPRAM空間數(shù)據(jù)和測(cè)試中斷響應(yīng)的問(wèn)題。此外,還支持子卡PMC模塊后出線到CPCI總線。調(diào)試結(jié)果表明,該載板在嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks下可以穩(wěn)定運(yùn)行,正確地讀寫(xiě)DPRAM空間的數(shù)據(jù),及時(shí)地響應(yīng)中斷,滿足了對(duì)載板的性能需求。

工業(yè)和嵌入式領(lǐng)域?qū)嶋H工程應(yīng)用中,模塊化的設(shè)計(jì)思想已深入人心。針對(duì)不同使用場(chǎng)合的具體應(yīng)用以及為方便后續(xù)的維護(hù)和升級(jí),將其中具有通用性和可持續(xù)利用的部分單獨(dú)設(shè)計(jì)成載板,載板配合不同的應(yīng)用模塊就可以組合成具有不同功能的專(zhuān)業(yè)I/O模塊。

Compact PCI(Compact Peripheral Component Interconnect)簡(jiǎn)稱(chēng)CPCI,中文又稱(chēng)緊湊型PCI,是國(guó)際工業(yè)計(jì)算機(jī)制造者聯(lián)合會(huì)PICMG(PCI Industrial Computer Manufacturer′s Group)于1994提出來(lái)的一種總線接口標(biāo)準(zhǔn),是以PCI電氣規(guī)范為標(biāo)準(zhǔn)的高性能工業(yè)用總線[1]。CPCI規(guī)范改進(jìn)自PCI電氣規(guī)范2.1,應(yīng)用于工業(yè)和嵌入式領(lǐng)域。當(dāng)前最新的CPCI規(guī)范是PICMG 3.0。PICMG 3.0主要將應(yīng)用在高帶寬電信傳輸上,以適應(yīng)未來(lái)電信的發(fā)展,PICMG 2.x則仍是目前CPCI的主流,并將在很長(zhǎng)時(shí)間內(nèi)主宰CPCI的應(yīng)用。

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

本文結(jié)合實(shí)際的工程項(xiàng)目,設(shè)計(jì)實(shí)現(xiàn)一個(gè)基于CPCI總線并符合PICMG 2.0規(guī)范的6U(233.35 mm×160 mm)通用型PMC載板FTC-C920并開(kāi)發(fā)其在VxWorks 5.5下的驅(qū)動(dòng)軟件。

1 載板總體結(jié)構(gòu)設(shè)計(jì)

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

9718808777529.gif

2 PMC接口和CPCI總線接口模塊設(shè)計(jì)

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

3 FPGA設(shè)計(jì)

從圖2中可以清楚地看到,F(xiàn)PGA主要被設(shè)計(jì)集成了PCI接口模塊(PCI Slave IP CORE)和DPRAM模塊。

3.1 PCI接口模塊設(shè)計(jì)

3.1.1 幾種PCI接口設(shè)計(jì)方案及選擇

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

幾種方案各有利弊,本文結(jié)合項(xiàng)目的實(shí)際應(yīng)用需求選擇了第4種方案,這個(gè)方案滿足了系統(tǒng)集成的需求,并可自由添加接口邏輯,降低了成本,減小了設(shè)計(jì)風(fēng)險(xiǎn)。

3.1.2 具體設(shè)計(jì)

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

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

正常情況下(配合用戶PMC子卡使用時(shí)),CPCI通過(guò)DPRAM左(L)端口對(duì)DPRAM空間進(jìn)行讀寫(xiě),用戶子卡則通過(guò)DPRAM右(R)端口對(duì)DPRAM空間進(jìn)行讀寫(xiě);環(huán)回測(cè)試情況下(即沒(méi)有用戶PMC子卡的情況下),CPCI可以通過(guò)環(huán)回測(cè)試空間對(duì)DPRAM進(jìn)行讀寫(xiě),即模擬用戶子卡對(duì)DPRAM空間進(jìn)行讀寫(xiě)。

需要注意的是,0x0000~0x3FFF為DPRAM 16 KB空間,對(duì)應(yīng)DPRAM空間大小為8K×16 bit,而0x4000~0x7FFF為DPRAM環(huán)回測(cè)試空間,不是FPGA另外開(kāi)辟的RAM空間,只是軟件通過(guò)這個(gè)空間地址在環(huán)回測(cè)試下讀寫(xiě)DPRAM空間(8K×16 bit)。示意圖如圖3所示。

pIYBAGCFP7mAMRbfAAJjGG6D7-Y337.png

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

3.2 DPRAM模塊設(shè)計(jì)

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

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

pIYBAGCFP9KAPz8nAAETTrWg088055.png

4 VxWorks下設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

開(kāi)發(fā)此PMC載板Vxworks 5.5下的驅(qū)動(dòng),硬件選用了Motorola公司的實(shí)時(shí)主控單板機(jī)MCP-750、工控機(jī)箱CPX2000 series和此PMC載板FTC-C920,操作系統(tǒng)則選擇了美國(guó)風(fēng)河公司的VxWorks嵌入式實(shí)時(shí)操作系統(tǒng),使用普通的PC,在Tornado IDE(集成開(kāi)發(fā)環(huán)境)下進(jìn)行驅(qū)動(dòng)的開(kāi)發(fā)。以良好的可靠性和卓越的實(shí)時(shí)性著稱(chēng)的VxWorks可以滿足系統(tǒng)對(duì)于高實(shí)時(shí)性和高可靠性的要求[5]。驅(qū)動(dòng)開(kāi)發(fā)軟硬件環(huán)境簡(jiǎn)圖如圖4所示。

對(duì)驅(qū)動(dòng)程序的設(shè)計(jì)主要有3個(gè)部分:載板自檢測(cè)試模塊、FTC-C920和系統(tǒng)控制器互通測(cè)試模塊以及CPCI中斷測(cè)試模塊。

o4YBAGCFP-SAHyw4AABghDFudK8481.png

4.1 載板自檢測(cè)試模塊

載板自檢測(cè)試主要是載板檢測(cè)自身器件是否正常工作,功能是否可以實(shí)現(xiàn)。

4.1.1 查找C920載板

對(duì)于Vxworks下PCI設(shè)備調(diào)試來(lái)說(shuō),其有專(zhuān)門(mén)的函數(shù)可供調(diào)用,查找FTC-C920載板可以通過(guò)調(diào)用函數(shù)pciFindDevice()來(lái)實(shí)現(xiàn),它包含在pciConfigShow庫(kù)函數(shù)中,此庫(kù)函數(shù)專(zhuān)門(mén)用來(lái)幫助顯示一些PCI設(shè)備的信息。此函數(shù)可以根據(jù)PCI設(shè)備給定的供應(yīng)商標(biāo)識(shí)(VENDOR ID)和設(shè)備標(biāo)識(shí)(DEVICE ID)找到相應(yīng)的設(shè)備,并以此返回設(shè)備的總線號(hào)(busNO)、設(shè)備號(hào)(deviceNO)和功能號(hào)(funcNO)。

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

根據(jù)獲得的設(shè)備的總線號(hào)(busNO)、設(shè)備號(hào)(deviceNO)和功能號(hào)(funcNO),通過(guò)調(diào)用操作系統(tǒng)庫(kù)函數(shù)pciConfigLib中的函數(shù)pciConfigInLong和pciConfigInByte訪問(wèn)C920的配置空間,獲得設(shè)備映射的內(nèi)存基地址(memBase)和I/O基地址(ioBase)以及中斷號(hào)irq,分辨對(duì)基地址空間是I/O操作還是內(nèi)存操作,獲得的基地址要分別與存儲(chǔ)器屏蔽位PCI_MEMBASE_MASK和I/O屏蔽位PCI_IOBASE_MASK相“與”,才能得到真正板卡的內(nèi)存基地址和I/O基地址。

4.2 FTC-C920和系統(tǒng)控制器互通測(cè)試模塊

互通測(cè)試主要是:

(1)系統(tǒng)控制器(MCP-750)讀取用戶PMC子卡數(shù)據(jù):用戶PMC子卡向雙口RAM中寫(xiě)入數(shù)據(jù),系統(tǒng)控制器(MCP0750)從雙口RAM中讀取數(shù)據(jù),并驗(yàn)證數(shù)據(jù)是否正確。

(2)用戶PMC子卡讀取系統(tǒng)控制器(MCP-750)數(shù)據(jù):系統(tǒng)控制器(MCP-750)向雙口RAM中寫(xiě)入數(shù)據(jù);用戶PMC子卡從雙口RAM中讀取數(shù)據(jù),并驗(yàn)證數(shù)據(jù)是否正確。

由于FTC-C920是通用型PMC載板,為了在沒(méi)有用戶PMC子卡的情況下驗(yàn)證互通測(cè)試,在FPGA的設(shè)計(jì)上進(jìn)行了支持DPRAM R端口環(huán)回自檢的設(shè)計(jì),如圖2中虛線所示。

正常情況下(配合用戶PMC子卡使用時(shí)),環(huán)回測(cè)試空間不可使用,此時(shí)FPGA內(nèi)部環(huán)回自檢控制寄存器的相應(yīng)位為默認(rèn)值0。如進(jìn)行環(huán)回自檢(沒(méi)有用戶PMC子卡時(shí)),需往環(huán)回自檢控制寄存器的相應(yīng)位寫(xiě)1,此時(shí),系統(tǒng)控制器可對(duì)環(huán)回測(cè)試空間進(jìn)行讀寫(xiě)。

4.3 CPCI中斷測(cè)試模塊

CPCI中斷測(cè)試主要是用戶PMC子卡通過(guò)寫(xiě)寄存器的方式產(chǎn)生CPCI中斷;系統(tǒng)控制器響應(yīng)中斷,讀取數(shù)據(jù)并驗(yàn)證數(shù)據(jù)是否正確。

在沒(méi)有用戶PMC子卡的情況下,可以通過(guò)產(chǎn)生內(nèi)部中斷的方式進(jìn)行測(cè)試,具體的方法是在FPGA中設(shè)置中斷使能寄存器,中斷測(cè)試寄存器,中斷狀態(tài)寄存器和清中斷寄存器。程序流程圖如圖5所示。

9720046803390.gif

本文詳細(xì)描述了某項(xiàng)目中PMC載板FTC-C920的設(shè)計(jì)方法及其在VxWorks操作系統(tǒng)下驅(qū)動(dòng)程序的開(kāi)發(fā)流程。在沒(méi)有用戶PMC子卡的情況下,通過(guò)環(huán)回測(cè)試空間的設(shè)計(jì),解決了互通測(cè)試的要求,通過(guò)中斷測(cè)試寄存器的設(shè)計(jì),解決了中斷測(cè)試的要求。調(diào)試結(jié)果表明,此PMC載板在VxWorks 5.5下可以穩(wěn)定地運(yùn)行。本文的設(shè)計(jì)方法具有一定的通用性,可為相關(guān)工程技術(shù)人員提供可以參考的設(shè)計(jì)經(jīng)驗(yàn)。

參考文獻(xiàn)

[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] 鄭毅?;赑MC(PCI背卡)接口的實(shí)時(shí)數(shù)據(jù)采集卡[D]。成都:電子科技大學(xué),2003.

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

[5] 唐曉平,何峰,梁甸農(nóng)。基于VxWorks的PCI總線驅(qū)動(dòng)設(shè)計(jì)[J]。嵌入式操作系統(tǒng)應(yīng)用,2008,11(2):79-81.

編輯:jq

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598880
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15879

    瀏覽量

    175344
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1344

    瀏覽量

    114213
  • PMC
    PMC
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    14845
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CPCI轉(zhuǎn)PCI載轉(zhuǎn)接卡

    CPCI轉(zhuǎn)PCI載轉(zhuǎn)接卡 ?
    發(fā)表于 09-07 09:37 ?0次下載

    PMC轉(zhuǎn)PXIE載轉(zhuǎn)接卡

    PMC轉(zhuǎn)PXIE載轉(zhuǎn)接卡
    發(fā)表于 09-07 09:36 ?0次下載

    探索PCI轉(zhuǎn)PMC轉(zhuǎn)接卡:連接不同接口的橋梁

    PCI2PMC轉(zhuǎn)接卡 PMC接口轉(zhuǎn)PCI接口
    發(fā)表于 09-06 14:41 ?0次下載

    解讀PCIE轉(zhuǎn)PMC轉(zhuǎn)接卡:跨越接口的橋梁

    電子發(fā)燒友網(wǎng)站提供《解讀PCIE轉(zhuǎn)PMC轉(zhuǎn)接卡:跨越接口的橋梁.docx》資料免費(fèi)下載
    發(fā)表于 09-06 14:39 ?0次下載

    解析XMC轉(zhuǎn)CPCI轉(zhuǎn)接卡:連接不同接口的關(guān)鍵紐帶

    XMC轉(zhuǎn)CPCI轉(zhuǎn)接卡 CPCI2XMC轉(zhuǎn)接卡
    發(fā)表于 09-06 14:37 ?0次下載

    pmc轉(zhuǎn)cpci轉(zhuǎn)接卡

    電子發(fā)燒友網(wǎng)站提供《pmc轉(zhuǎn)cpci轉(zhuǎn)接卡.docx》資料免費(fèi)下載
    發(fā)表于 09-06 14:36 ?0次下載

    CPCI 接口反射內(nèi)存卡

    CPCI接口反射內(nèi)存卡是一種用于實(shí)時(shí)網(wǎng)絡(luò)的硬件設(shè)備,它將反射內(nèi)存集成在卡上,通過(guò)計(jì)算機(jī)的CPCI(CompactPCI)插槽與計(jì)算機(jī)連接。CPCI-5565PIORC是一款常見(jiàn)的CPCI
    的頭像 發(fā)表于 09-05 17:42 ?205次閱讀
    <b class='flag-5'>CPCI</b> 接口反射內(nèi)存卡

    探索 PCI 轉(zhuǎn) PMC轉(zhuǎn)接卡:連接不同接口的橋梁

    在計(jì)算機(jī)硬件領(lǐng)域,各種接口和總線標(biāo)準(zhǔn)不斷演進(jìn),以滿足日益增長(zhǎng)的性能和功能需求。在這個(gè)過(guò)程中,不同接口之間的轉(zhuǎn)換設(shè)備應(yīng)運(yùn)而生,其中PCI轉(zhuǎn)PMC轉(zhuǎn)接卡就是一種重要的連接解決方案。PCI轉(zhuǎn)PM
    的頭像 發(fā)表于 09-04 11:21 ?189次閱讀
    探索 PCI 轉(zhuǎn) <b class='flag-5'>PMC</b> 載<b class='flag-5'>板</b>轉(zhuǎn)接卡:連接不同接口的橋梁

    PMC 接口反射內(nèi)存卡

    PMC-5565PIORC-110000:128M 多模光纖; PMC-5565PIORC-111000:128M 單模光纖; PMC-5565PIORC-210000:256M 多模光纖;
    的頭像 發(fā)表于 09-04 10:40 ?145次閱讀
    <b class='flag-5'>PMC</b> 接口反射內(nèi)存卡

    高速總線背板設(shè)計(jì)

    Compacc 是基于PICMG 標(biāo)準(zhǔn)的工業(yè)用嵌入式計(jì)算機(jī)總線標(biāo)準(zhǔn)。 蘇州惠普聯(lián)電子有限公司的CompactPCI產(chǎn)品群是基于CPCI標(biāo)準(zhǔn)的嵌入式計(jì)算機(jī)的產(chǎn)品系列,它的商業(yè)化應(yīng)用及發(fā)展取決于國(guó)際插件式計(jì)算機(jī),設(shè)備及其他硬件軟件的廣泛應(yīng)用。
    發(fā)表于 08-08 13:30

    探討數(shù)字化背景下PMC的挑戰(zhàn)和機(jī)遇

    在數(shù)字化浪潮的席卷下,各行各業(yè)都面臨著前所未有的變革。對(duì)于負(fù)責(zé)產(chǎn)品物料控制(PMC)的企業(yè)來(lái)說(shuō),這一變革既是挑戰(zhàn)也是機(jī)遇。如何在數(shù)字化背景下,抓住時(shí)代的脈搏,推動(dòng)PMC管理的創(chuàng)新與升級(jí),成為了企業(yè)
    的頭像 發(fā)表于 07-05 11:03 ?277次閱讀

    CPCI設(shè)計(jì)與制造:提高可制造性的關(guān)鍵要素

    CPCI總線(中文又稱(chēng)緊湊型PCI)是由PICMG組織于1994年提出的 高性能工業(yè)計(jì)算機(jī)總線標(biāo)準(zhǔn) 。它采用了抗震的Eurocard封裝,是標(biāo)準(zhǔn)PCI總線的工業(yè)版本。插孔連接器被設(shè)計(jì)成
    的頭像 發(fā)表于 03-26 19:04 ?2625次閱讀
    <b class='flag-5'>CPCI</b>設(shè)計(jì)與制造:提高可制造性的關(guān)鍵要素

    CPCI設(shè)計(jì)與制造:提高可制造性的關(guān)鍵要素

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

    基于CPCI總線CPCI6320視頻播放

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

    基于CPCI總線CPU主控模塊的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于CPCI總線CPU主控模塊的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-18 11:09 ?0次下載
    基于<b class='flag-5'>CPCI</b><b class='flag-5'>總線</b>CPU主控模塊的設(shè)計(jì)與實(shí)現(xiàn)