色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于CPX8000系列工控機和CPCI總線實現雙機通信系統的設計

電子設計 ? 來源:電子技術應用 ? 作者:尚長興,俞定玖, ? 2021-06-23 14:30 ? 次閱讀

作者:尚長興,俞定玖,季新生

在電信、電力、國防等應用領域中,經常要求其所用設備有極高的實時性。當需要在各個設備間進行大容量的信息交換時,傳統的網絡包交換模式已不能很好地滿足實時性的要求。而借助于CPCI總線,兩個設備可以互訪對方的內存,具有傳輸速度快、傳輸容量大和高可靠性等特點,非常適合大容量的信息傳遞。國家數字交換系統工程技術研究中心承擔的國家863計劃項目——“中國第三代移動通信系統”CDMA2000系統集成就選擇基于CPCI總線的多SBC平臺。各個SBC間的通信效率直接決定了整個系統性能的高低。

目前常用的實時操作系統VxWorks、Lynx等,都針對CPCI總線實現了消息隊列,可用于SBC間的消息通信。但VxWorks、Lynx中消息傳遞的實現方式很不靈活,一般是通過在一個特定的SBC(通常為system board)中開啟一塊共享內存,其他各個SBC(通常為non system board)通過對共享內存的讀寫交換信息;每完成一次兩個non system SBC間的信息交換,都要進行一次PCI讀寫操作,效率不高。另外VxWorks、Lynx中的消息長度都有一個最大值,當要進行大數據量(如1GB的內存數據庫)的信息傳輸時,操作系統提供消息傳遞機制也無能為力。而以上這些問題,都可以通過任意兩個SBC間的直接內存訪問得到解決。本文首先介紹了PCI Bridge的工作原理;然后以Motorola公司提供的CPX8000系列工控機為例,討論了兩個SBC是如何基于背板(Backplane)上的CPCI總線,并利用PCI Bridge的地址映射機制,通過互訪內存的方式最終實現雙機通信;最后介紹了實際應用時應注意的性能優化問題。

1 PCI Bridge的工作原理

在簡單的計算機系統中,其擁有的外部設備較少,單級總線結構便能滿足系統的需要。但是由于單個 PCI總線可支持的 PCI 設備數量有電氣限制,對擁有大量外設的計算機系統而言,單級總線結構已不能滿足系統的要求,因此便產生了橋接設備。通過PCI-to-PCI Bridge可擴展出新的PCI總線,通過PCI-to-ISA Bridge可擴展出ISA總線。借助PCI Bridge這些特殊的PCI設備,系統中各級總線被粘和在一起,使整個系統成為一個有機整體。

每個PCI設備都有自己的PCI I/O空間、PCI內存空間和PCI配置空間(configuration space)。PCI設備的設備驅動程序對PCI配置空間進行初始化設置后,各個智能控制器CPU、DMA控制器等,可以對PCI設備的PCI I/O空間、PCI內存空間進行訪問。在圖1中,CPU若要訪問網卡,首先會在PCI Bus0上生成一個物理地址,這個地址經PCI-to-PCI Bridge的過濾及轉換后,在PCI Bus1上產生一PCI Bus地址,網卡通過地址譯碼,響應對這個地址的訪問。

圖1 基于PCI的系統

從這個過程可以了解到,PCI-to-PCI Bridge有兩種基本的功能:

(1)地址映射功能。雖然同是對網卡進行訪問,但PCI Bus0與PCI Bus1上的地址意義是不同的。兩個地址分屬各自的地址空間,通過PCI-to-PCI Bridge實現兩個地址的映射。根據這兩個地址是否相同,可將PCI-to-PCI Bridge區分為兩種類型:

·PCI-to-PCI Transparent Bridge。PCI Bridge不對PCI Bus0上的地址進行轉換,直接將其映射到PCI Bus1上。PCI Bus0與PCI Bus1上的地址是相同的。

·PCI-to-PCI Non Transparent Bridge。PCI Bus0上的地址必須經過PCI Bridge的轉換,才能映射到PCI Bus1上。PCI Bus0與PCI Bus1上的地址是不同的。

(2)地址過濾功能。PCI Bridge在把PCI Bus0上的地址向下游總線(ISA Bus、PCI Bus1)傳遞時,具有選擇性。在圖1中,CPU在PCI Bus0上所產生的地址,只有對SCSIEthernet的訪問,PCI-to-PCI Bridge才予以接收;而對于PCI Bus0的其他地址,PCI-to-PCI Bridge均不予響應。每一個PCI Bridge所響應的地址范圍,可形象地稱其為此PCI Bridge的地址窗口,只有當上游總線的地址落進PCI Bridge的地址窗口中,PCI Bridge才響應此地址并向下游總線傳遞。

2 雙機通信的具體實現

本節以Motorola公司提供的CPX8000系列工控機為例,介紹了如何通過CPCI總線實現雙機間的通信。如圖2所示,兩個SBC通過背板上的CPCI總線實現了物理上的連接。如果兩個SBC能夠互相訪問對方的內存,就可實現兩者間的數據交流。以系統處理機板(System Processor Board,又稱主機板)訪問非系統處理機板(Non-system Processor Board, 又稱子機板)內存為例,介紹雙機通信的具體實現。本方案已在Lynx及VxWorks實時操作系統上實現。

在圖2中,主機板CPU若要訪問子機板中的1MB內存單元,必須將這塊內存映射到主機板CPU的虛擬地址空間中,可以通過對主機板、子機板、主機板與子機板的接口配置來達到目的。此1MB的內存單元可被映射到不同的地址空間(如CPU虛擬地址空間、物理地址空間、本地PCI地址空間、系統CPCI地址空間等),映射地址也各不相同。在圖2中,對于此1MB內存的起始單元在不同地址空間中的映射地址,分別用符號A1、A2、…A7表示。

圖2 數據通信原理圖

2.1 子機板的配置

(1)調用內核內存分配函數申請1MB的內核虛擬地址空間,得到申請空間的開始地址A7。

(2)根據操作系統的內存映射關系,得到虛擬地址A7的物理映射地址A6。

(3)Raven ASIC是一個Host-to-PCI Bridge,因為Processor Bus不是一個標準總線,所以通過Raven將其轉換為PCI總線,以掛接各類PCI設備。CPU和Raven一起構成了一組套片(chipset),配合使用。根據Raven的設置,獲得物理地址A6在Local PCI Bus的映射地址A5。

(4)21554是一PCI-to-PCI Non Transparent Bridge,并可進行雙向數據傳遞。通過其內部的兩個配置寄存器,將其地址窗口的大小設為1MB;地址窗口的起始地址在Local PCI Bus端設為A5。

2.2 主機板的配置

(1)申請大小1MB的內核虛擬地址空間,得到其開始地址A1。

(2)根據操作系統的內存映射關系,得到虛擬地址A1的物理映射地址A2。

(3)根據Raven的設置,得到物理地址A2在Local PCI Bus上的映射地址A3。

(4)21154是一PCI-to-PCI Transparent Bridge,它也可以在兩個方向上進行數據訪問。設置其內部的兩個配置寄存器,將其地址窗口的大小設為1MB;地址窗口的起始地址設置為A3。由于21154的透明性,地址A3與其在System CPCI Bus端的映射地址A4的值是相同的。

2.3 主機板與子機板的接口配置

在主機板端對子機板進行配置,設置21554的配置寄存器,將其在System CPCI Bus端的地址窗口開始地址設為A4。由于在Local PCI Bus端的地址窗口起始地址已設為A5,所以將地址A4映射到了地址A5。可以看到,由于21554的非透明性,使主機板與子機板的地址空間相互隔離,各自可獨立分配,并在System CPCI Bus級實現了對接。在主機板CPU看來,整個子機板與主機板網卡一樣,都是掛在主機板Local PCI Bus下的一個外設。對子機板的訪問與對主機板網卡的訪問方式是一樣的,沒有什么不同。

2.4 地址轉換流程

當所有的配置完成后,主機板CPU只對地址A1進行讀寫操作,便可實現對子機板1MB內存起始單元的訪問;對1MB內存中其他單元的訪問,只要將地址A1加上相應的偏移量即可。通過下面的地址轉換流程,可以清楚地看到各級地址是如何通過一級級映射,最終命中指定單元的。

主機板CPU給出虛擬內存訪問地址A1→主機板物理地址A2→主機板Local PCI Bus地址A3→System CPCI Bus地址A4→子機板Local PCI Bus地址A5→子機板物理地址A6→經Falcon Memory Controller譯碼后,選中所申請的1MB內存的起始單元。

從上述介紹可以看出,要想實現雙機的內存互訪,關鍵是要進行正確的地址映射。當要實現多個SBC間的相互訪問時,地址的映射會更復雜,需要對操作系統的地址空間分配、各個SBC的PCI-to-PCI Bridge設置、System CPCI Bus地址空間分配等進行通盤考慮。

?圖3 在兩SBC間進行讀操作時的時間圖

圖4 在兩SBC間進行寫操作時的時間圖

3 性能優化

圖3、圖4是用VMETRO的總線分析儀截獲的數據。分別是在兩個SBC間進行讀寫訪問時,連續進行100 Byte傳輸的時間圖。

從圖3可以看出,每進行一次4Byte的讀操作,要花費956.8+4×149.5+179.4=1734.2ns,這相當于1734.2ns/29.9ns=58 PCI clock cycles。

從圖4可以看到,第一個4Byte的寫操作花費了159.5ns,接著是兩次猝發傳送,隨后一個4Byte寫操作花費了119.6ns。進行一次4Byte的寫操作平均花費(159.5ns+2×29.9ns+119.6ns)/(4×29.9ns)=11 PCI clock cycles。

對比讀寫兩種訪問方式可以看出,寫操作比讀操作的效率要高得多。這主要有以下一些原因:

(1)當PCI上的一個主設備發起對一個目標設備的訪問時,讀和寫操作的完成時間差別很大。目前的PCI設備中一般都有一個用于存儲器寫的轉發(post)緩沖器。若要進行寫操作(如圖2中主機板對子機板的寫操作),主設備只需將其寫緩沖區數據復制到目標設備的轉發緩沖器中,便認為操作完成。例如在圖2中,主機板的Raven只要將數據發給21154,便認為寫操作完成,后續的數據傳輸由21154驅動完成。可以看到,寫操作在目的總線上(子機板的Process Bus)完成之前可以先在源總線上(主機板的Local PCI Bus)完成,實際上是寄存器對寄存器的操作。而要實現一個讀操作,則必須經過存儲器本身的訪問和各級PCI接口的邏輯延遲才可完成。與寫操作相比,讀操作在源總線上完成之前必須先在目的總線上完成,這導致了讀操作的效率很低。(2)從圖3、圖4中可以看到,PCI設備還可進行寫操作的猝發操作,但讀操作則無法進行。這是由于猝發操作只有在前一事務是寫事務時才能實現。猝發傳送取消了FRAME#、AD、C/BE#、IRDY#、TRDY#、DEVSEL#等總線信號的周轉周期,實現了每一個PCI clock cycle進行一次數據傳送。 (3)猝發傳送操作不可能無限制地進行下去。連續進行猝發傳送的次數與轉發緩沖器的大小、Latency Timer的取值、總線的繁忙狀況都有關系。

由于以上原因,在兩個SBC間進行數據傳送時,應該采用如下方式: (1)提供數據的SBC應將數據直接寫到消費數據的SBC內存中;而不是提供者將數據放在本地內存,再由消費者經過PCI讀操作來實現。也就是說,總是進行PCI寫操作。(2)當需要在多個SBC間進行數據互傳時,要合理地設置Latency Timer的取值,以使各SBC公平使用PCI總線資源。考慮兩個子機板間的通信實現。若采用操作系統提供的消息傳遞機制,數據提供者必須先將數據寫到主機板,數據消費者再從主機板讀取數據。對一個4 Byte的數據傳輸來說,平均要花費58+11=69 PCI clock cycles。若采用本文提供的方法,提供數據的SBC將數據直接寫到消費數據的(接上頁) SBC內存中,則傳輸一個4 Byte的數據,平均只需11 PCI clock cycles。可知,后者比前者快了69/11≈6.3倍,極大提高了傳輸效率。

責任編輯:Gt

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

    關注

    10

    文章

    1753

    瀏覽量

    50740
  • 操作系統
    +關注

    關注

    37

    文章

    6889

    瀏覽量

    123602
  • 總線
    +關注

    關注

    10

    文章

    2900

    瀏覽量

    88292
收藏 人收藏

    評論

    相關推薦

    請問一下雙機通信CPCI總線上怎么實現

    本文首先介紹了PCI Bridge的工作原理;然后以Motorola公司提供的CPX8000系列工控機為例,討論了兩個SBC是如何基于背板(Backplane)上的CPCI
    發表于 06-03 06:45

    工控機高速背板

    工控機高速背板,有哪幾種。CPCI VPX VME ATCA 算高速背板嗎
    發表于 01-04 13:32

    嵌入式工控機PC/104在CAN現場總線通信中應用

    在現場總線控制系統中,利用嵌入式工控機PC/104作為CAN現場總線通信控制管理器的微控制器,并作為下位
    發表于 08-05 08:44 ?30次下載

    工控機總線連接

    工控機系統總線可分為內部總線和外部總線。內部總線工控機內部各組成部分之間進行信息傳送的公共通
    發表于 10-20 17:47 ?2次下載
    <b class='flag-5'>工控機</b><b class='flag-5'>總線</b>連接

    基于CPCI-E與VPX總線區別比較

    不會有太大的改變。由于先人為主的緣故,VME總線在高性能的實時工業應用領域一直處于主導地位,并且進人一個相對完善的階段。但CPCI后來居上,由于具有開放性的架構體系和通用的操作系統等優勢,CPC)
    發表于 10-20 17:54 ?73次下載
    基于<b class='flag-5'>CPCI</b>-E與VPX<b class='flag-5'>總線</b>區別比較

    工控機的作用與特點

    就是工業控制計算機,工控機是一種采用總線結構對生產過程及機電設備、工藝裝備進行檢測與控制的工具總稱。那么到底工控機是什么樣的呢?本文就給大家介紹下工控機的作用是什么,以及
    發表于 05-13 16:17 ?1.4w次閱讀

    工控機如何實現多屏顯示

    本期上海研強給大家分享的是工控機如何實現多屏顯示,希望看完本篇文章您能對工控機有一個全新的認識!
    發表于 07-09 16:55 ?5768次閱讀

    工控機的軟件系統有哪些

    本期上海研強給大家分享的是工控機的軟件系統有哪些,希望看完本篇文章您能對工控機有一個全新的認識!
    發表于 08-18 16:30 ?4453次閱讀

    工控機的技術要求 工控機系統有哪些

     工控機是為工業控制領域而設計的計算機,相比于普通個人電腦,需要具備更高的穩定性、可靠性和抗干擾能力。以下是工控機的主要技術要求:   處理器:工控機需要具備高性能的處理器,能夠處理復雜的控制任務和數據處理。   存
    發表于 03-15 14:39 ?2614次閱讀

    工控機的技術要求 工控機系統有哪些

    的控制任務和數據處理。存儲器:工控機需要具備足夠的內存和存儲空間,以保證高效的數據處理和存儲。接口:工控機需要支持多種接口類型和通信協議,能夠與不同的工業設備進行連接
    的頭像 發表于 11-11 08:07 ?1470次閱讀
    <b class='flag-5'>工控機</b>的技術要求 <b class='flag-5'>工控機</b>的<b class='flag-5'>系統</b>有哪些

    工控機怎樣度 CAN 總線

    隨著中國智能科技的快速發展,越來越多的行業對工控機提出了采集和控制的需求。特別是在高鐵、地鐵和航空等領域,工控機需要配備 CAN 總線接口。然而,由于 CAN 總線接口的價格差異,許多
    的頭像 發表于 06-18 09:51 ?477次閱讀

    工控機的組成部件有哪些?常用的工控機類型和組成部件介紹

    ? ? ??工控機是一種采用總線結構,對生產過程及機電設備、工藝裝備進行檢測與控制的工具總稱。工控機具有重要的計算機屬性和特征,如具有工控機主板、CPU、硬盤、內存、外設及接口,并有操
    的頭像 發表于 08-01 09:21 ?754次閱讀

    工控機支持什么操作系統

    工控機,全稱工業控制計算機(Industrial Personal Computer, IPC),支持多種操作系統以滿足不同行業和應用場景的需求。具體來說,工控機常見的操作系統包括:
    的頭像 發表于 09-11 09:24 ?546次閱讀

    如何怎樣選擇CPCI工控機

    CPCI機箱是工控機的重要組成部分,使用合格的機箱對設備的正常使用是非常重要的,下面我們就來了解下選擇CPCI機箱要注意哪些事情呢? 1、CPCI機箱的用料:機箱的內外用料多為價格昂貴
    的頭像 發表于 09-18 10:00 ?348次閱讀
    如何怎樣選擇<b class='flag-5'>CPCI</b><b class='flag-5'>工控機</b>

    工控機怎么編程?工控機是如何控制設備的?

    工控機是工業控制的核心設備,在不斷智能化的今天,工控機發揮了重要作用。為增進大家對工控機的認識,本文將對工控機和電腦的區別、工控機控制設備的
    的頭像 發表于 10-31 12:41 ?440次閱讀
    主站蜘蛛池模板: 寂寞骚妇女被后入式抽插 | 大地影院免费观看视频 | 亚洲国产在线2o20 | 人妻中文字幕无码系列 | 97在线国内自拍视频 | 视频专区亚洲欧美日韩 | 野花日本大全免费高清完整版 | 亚洲国产综合人成综合网站00 | 久久国产精品福利影集 | 热九九99香蕉精品品 | 亚洲视频 在线观看 | 久久怡红院国产精品 | 最近免费中文字幕完整版HD | 国产欧美一区二区精品久久久 | 久久青草免费91线频观看站街 | 99热久久爱五月天婷婷 | 国产69精品9999XXXX | 色多多污污在线播放免费 | 成人精品亚洲 | 纯肉宠文高h一对一 | 超碰国产亚洲人人 | 色综合久久久久久 | 毛片一区二区三区 | 大胆国模一区二区三区伊人 | 最新国自产拍天天更新 | 99久免费精品视频在线观看2 | 老司机亚洲精品影院在线观看 | 欧美午夜精品A片一区二区HD | 久久re这里视频只精品首页 | 综合人妻久久一区二区精品 | 久久久97人妻无码精品蜜桃 | 黑人猛挺进小莹的体内视频 | 国产极品白嫩超清在线观看 | 一本之道高清在线观看免费 | 一区二区三区毛AAAA片特级 | 日韩精品一区二区亚洲AV观看 | 婷婷亚洲AV色香蕉蜜桃 | 女性BBWBBWBBWBBW | 99在线观看视频免费 | 国产精一品亚洲二区在线播放 | 免费被靠视频动漫 |