亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CPCI總線的PMC載板設(shè)計

        2013-11-10 07:09:26葉青林
        關(guān)鍵詞:雙口寄存器中斷

        賈 亮 ,王 浩 ,葉青林

        (1.沈陽航空航天大學 電子信息工程學院,遼寧 沈陽 110136;2.北京方天長文科技有限公司,北京 100084)

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

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

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

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

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

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

        圖1 FTC-C920總體結(jié)構(gòu)示意圖

        電源模塊主要用于給FPGA和用戶PMC子卡供電(提供+5 V、+3.3 V、+12 V和-12 V 電源),載板功耗控制在3 W以內(nèi) (包括 3 W);CPCI總線接口模塊主要用于插入對應(yīng)的CPCI插槽(背板)與CPCI主控板(系統(tǒng)板)進行通信;PMC接口模塊主要用于PMC子卡和載板的連接與通信;FPGA芯片主要用于支持32 bit/33 MHz PCI Slave接口,支持 8K×16 bit雙口 RAM,支持雙口RAM R端口環(huán)回自檢(圖2中虛線所示),其功能框圖如圖2所示;JTAG主要用于調(diào)試FPGA程序。

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

        PMC 接口的特性為:前兩個(“P11”和“P12”)用于32位 PCI信號,第 3個(“P13”)是 64位 PCI信號需要。一個額外的總線連接器(“P14”),可用于非指定的 I/O信號[2]。 本設(shè)計中,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設(shè)計

        圖2 FPGA內(nèi)部功能框圖

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

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

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

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

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

        3.1.2 具體設(shè)計

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

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

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

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

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

        3.2 DPRAM模塊設(shè)計

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

        圖3 讀寫DPRAM

        表1 PCI控制寄存器的分配

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

        表2 子卡雙口RAM接口信號定義(均為LVTTL電平)

        4 VxWorks下設(shè)備驅(qū)動程序設(shè)計

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

        驅(qū)動開發(fā)軟硬件環(huán)境簡圖如圖4所示。

        圖4 驅(qū)動開發(fā)軟硬件環(huán)境簡圖

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

        4.1 載板自檢測試模塊

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

        4.1.1查找C920載板

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

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

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

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

        互通測試主要是:

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

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

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

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

        圖5 中斷測試程序流程圖

        4.3 CPCI中斷測試模塊

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

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

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

        [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背卡)接口的實時數(shù)據(jù)采集卡[D].成都:電子科技大學,2003.

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

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

        猜你喜歡
        雙口寄存器中斷
        雙口形式的戴維寧定理在電路分析中的應(yīng)用
        Lite寄存器模型的設(shè)計與實現(xiàn)
        雙口RAM在機載嵌入式系統(tǒng)中的應(yīng)用
        電子測試(2018年4期)2018-05-09 07:28:10
        跟蹤導練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設(shè)計方法
        雙口RAM在無人機三余度飛控計算機數(shù)據(jù)交換中的應(yīng)用
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        微處理機(2012年4期)2012-06-13 11:32:24
        黄 色 人 成 网 站 免 费| 喷潮出白浆视频在线观看| 国产午夜鲁丝片av无码| 亚洲中文字幕在线一区| 日本在线中文字幕一区| 伊人网综合| 色欲人妻综合网| 亚洲熟妇无码久久精品| 久久狼人国产综合精品| 无码丰满熟妇浪潮一区二区av| 精品无码一区二区三区爱欲九九| 少妇熟女天堂网av| 日韩在线精品视频一区| 超短裙老师在线观看一区| 超碰Av一区=区三区| 久久er99热精品一区二区| 亚洲av无码精品无码麻豆| 国产影院一区二区在线| jjzz日本护士| 东京热人妻一区二区三区| 人妻av中文字幕精品久久| 国产一区二区波多野结衣| 97成人精品视频在线| 亚洲中文字幕av天堂| 日韩人妻无码精品-专区| 精品人妻少妇丰满久久久免| 在线观看亚洲AV日韩A∨| 无码人妻丰满熟妇啪啪网站 | 国产精品va无码一区二区| 精品无码国产一区二区三区av | 免费观看91色国产熟女| 国产国拍精品av在线观看按摩 | 国产精品美女久久久久久大全| 丁香婷婷激情俺也去俺来也| 最新国产精品拍自在线观看| 人人玩人人添人人澡| 国模少妇无码一区二区三区| 五月婷婷开心六月激情| 天堂中文最新版在线中文| 欧美精品在线一区| 日本在线观看一区二区三区视频|