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

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

3天內不再提示

通過采用MPC8280為核心實現AAL2與DMA通道的數據交互

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-12-10 09:03 ? 次閱讀

1 引言

在B-ISDN(寬帶綜合業(yè)務數字網)ATM參考模型中,AAL(ATM適配層)介于ATM層和應用程序之間,主要負責ATM層與高層間的信元轉發(fā)過程。不同的AAL支持不同的流量或服務類型。對于ATM傳輸,AAL2提供同步模式、面向連接、可變比特速率傳輸,而AAL5提供異步模式、面向連接、可變比特速率傳輸。由于AAL5的處理比AAL2簡單得多,目前大部分的網絡處理器都只支持AAL5的適配,不適合TD網絡測試儀的應用。隨著網絡的普及化和復雜化,網絡的合理架設和正常運行變得異常重要,而保障網絡的正常運行必須要從兩個方面著手。其一,網絡施工質量直接影響網絡的后續(xù)使用,所以施工質量不容忽視,必須嚴格要求,認證檢查,防患于未然。其二,網絡故障的排查至關重要,直接影響網絡的運行效率,必須追求高效率、短時間。因此網絡檢測輔助設備在網絡施工和網絡維護工作中變得越來越重要。

2 ATM控制器

ATM控制器通過Utopia2端口實現ATM和AAL適配層協議,可工作在主、從模式下。它能以155 Mb/s的全雙工速率支持AAL5、AAL2、AAL1和AAL0的分段(segmentation)與重組(SAR)功能以及CP-CS子層協議。對每個虛擬信道VC,ATM控制器的步速控制器單元APC生成信元的發(fā)送速率,以滿足CBR、VBR、ABR以及非特定速率的發(fā)送需求。APC單元采用漏斗機制調節(jié)VBR。APC單元也采用8個優(yōu)先級實時控制ATM信道的發(fā)送。

3 DMA控制器

PCI橋的DMA控制器用于傳輸603e核或主機的數據塊。數據的搬移發(fā)生在PCI或者60×總線上。PCI橋的DMA模塊有4個高速的DMA通道,傳輸帶寬210 Mb/s。603e核和PCI主控器都可以初始化DMA的傳輸。DMA控制器可工作在鏈表模式或直接訪問模式。對每個傳輸段,按照裝載的描述器的信息DMA控制器開始傳輸。一旦當前段傳輸完,DMA控制器就從內存中讀取下一個描述器的信息,然后開始下一個DMA傳輸。如果當前描述器是鏈表中的最后一個,或者有錯誤發(fā)送,此進程結束。

DMA(Direct Memory Access,直接內存存?。?是所有現代電腦的重要特色,他允許不同速度的硬件裝置來溝通,而不需要依于 CPU 的大量 中斷 負載。否則,CPU 需要從 把每一片段的資料復制到 暫存器,然后把他們再次寫回到新的地方。在這個時間中,CPU 對于其他的工作來說就無法使用。 DMA 傳輸將數據從一個地址空間復制到另外一個地址空間。當 CPU 初始化這個傳輸動作,傳輸動作本身是由 DMA 控制器 來實行和完成。典型的例子就是移動一個外部內存的區(qū)塊到芯片內部更快的內存區(qū)。像是這樣的操作并沒有讓處理器工作拖延,反而可以被重新排程去處理其他的工作。DMA 傳輸對于高效能 嵌入式系統(tǒng) 算法和網絡是很重要的。DMA控制器框圖如圖1所示。

通過采用MPC8280為核心實現AAL2與DMA通道的數據交互

4 AAL2的適配

AAL2適用于傳輸低速率語音流量。AAL2分為通用部分子層(CPS)和服務特定會聚子層(SSCS)。AAL2的數據單元的分段與重組情況如圖2所示。

通過采用MPC8280為核心實現AAL2與DMA通道的數據交互

ATM層一個ATM信元的凈荷可以裝載一個或多個CPS包,多個CPS包在CPS子層組成CPS-PDU,多個CPS-PDU在SSSAR子層組成SSSAR-PDU,多個SSSAR-PDU最后組成一個SSSAR-SDU。圖2中的STF域表示在一個ATM信元中第一個CPS包的起始偏移位置,是一個非常重要的域。

4.1初始化模塊

初始化模塊負責將FCC1配置成ATM模式以實現ATM控制器功能,主要完成對ATM參數表、APC控制器、中斷隊列、壓縮地址映射表、以及時鐘和Utopia2的接口配置。

4.2數據發(fā)送模塊

上層應用通過API接口,API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發(fā)人員基于某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節(jié)。API除了有應用“應用程序接口”的意思外,還特指 API的說明文檔,也稱為幫助文檔。

另外,也是美國石油協會、空氣污染指數、醫(yī)藥、空中位置指示器的英文簡稱。使用DMA通道將發(fā)送消息隊列中的數據幀發(fā)送給發(fā)送模塊,發(fā)送模塊從消息隊列中取得數據幀和其對應的通道號,將通道號寫入ATM參數表,完成TCT表、CID表、TxQD和TxBD表的初始化;將數據幀寫入發(fā)送緩存DataBuffer中,并設置該緩存所對應的TxBD(發(fā)送緩存描述符)的R(Ready)標志位。數據發(fā)送流程如圖3所示。

通過采用MPC8280為核心實現AAL2與DMA通道的數據交互

4.3數據接收模塊

ATM控制器收到信元后,根據從信頭中提取的VPI和VCI值在壓縮地址映射表中查找其所對應的通道號Ch_Num,如果沒有找到相匹配的通道,則將該信元丟棄。如果找到相匹配的通道,則找到接收初始配置形成的接收鏈表RCT;然后根據信元凈荷里的CID值找到接收初始配置形成的CID表、RxQD表;最后互相映射,一起找到接收初始配置形成的RxBD表,把該通道真正的消息體存儲在所對應的接收緩存中。根據接收信元是處理到的CPS子層,還是SSSAR子層,ATM控制器完成信元的重組SAR。

數據接收模塊根據觸發(fā)的接收中斷隊列條目的原因值,找到所對應的通道號,然后從該通道所對應的接收緩存中取出收到的數據幀,最后打上時間標簽等自定義頭,通過DMA通道把接收消息隊列送給API接口。

5 DMA通道驅動設計

開發(fā)中由于和底層程序交互,當底層寫滿一塊區(qū)域(共3塊)后,通過DoorBell中斷通知驅動程序。首先創(chuàng)建一個內核事件對象,在SerialRead中設置開始DMA時,啟動底層程序寫數據,在OnD-maReady函數中,等待事件信號,當底層數據準備好,發(fā)生DoorBell中斷時,由于硬件中斷的優(yōu)先級高,所以,程序進入Isr_Irq中斷服務例程,在該函數中,判斷是DoorBell中斷后,置事件為有信號狀態(tài),然后返回TRUE。下面給出了部分的中斷服務例程代碼:

6結束語

本系統(tǒng)是以MPC8280為核心,通過PCI采用DMA通道完成底層硬件與上層軟件之間的數據交互,經過軟硬件調試,在實際應用中運行穩(wěn)定。

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

    關注

    68

    文章

    19124

    瀏覽量

    228875
  • 控制器
    +關注

    關注

    112

    文章

    16136

    瀏覽量

    177162
  • 協議
    +關注

    關注

    2

    文章

    595

    瀏覽量

    39137
收藏 人收藏

    評論

    相關推薦

    STM8L151 ADC采用DMA通道連續(xù)采集遇到通道數據滾動怎么解決?

    STM8L151 ADC 采用DMA8通道連續(xù)采集,通過ST_LINK仿真發(fā)現:通道數據滾動問題
    發(fā)表于 04-30 08:22

    采用MPC8260和FPGA的DMA接口設計

    。系統(tǒng)的結構框圖如圖1所示。 圖1 主控板的系統(tǒng)結構框圖  主控板的硬件核心是嵌入式微處理器MPC8260,負責系統(tǒng)軟件的加載、數據的分發(fā)以及與外界命令控制的交互。軟件上,
    發(fā)表于 04-18 07:00

    結合MPC8260的中斷處理和IDMA傳輸機制的DMA接口設計

    結構框圖主控板的硬件核心是嵌入式微處理器MPC8260,負責系統(tǒng)軟件的加載、數據的分發(fā)以及與外界命令控制的交互。軟件上,采用高性能的VxWo
    發(fā)表于 05-22 05:00

    怎么實現通道ADC通過DMA數據采集?

    怎么實現通道ADC通過DMA數據采集?
    發(fā)表于 11-18 06:46

    如何通過DMA的方式去采集多通道數據

    PS2雙軸按鍵游戲遙桿模塊有何特點?如何通過DMA的方式去采集多通道數據呢?
    發(fā)表于 12-02 06:56

    請問HSPI的DMA數據和USB3.0的DMA數據是怎么交互的?

    最近有個項目想實現USB3.0和FPGA的雙向高速通訊,查到貴公司的CH569比較合適,查看了相關資料和例程,明白數據從HSPI接口通過DMA到RAMX,也能夠明白USB3.0
    發(fā)表于 06-15 08:42

    MPC8280 JTAG調試出錯的原因?

    MPC8280mpc8280mpc8280cvvqlda),使用使用使用的是是我們我們自己自己自己設計的的的板子板子板子板子調試器的工程類型是EPPC New Project Wizard
    發(fā)表于 04-06 07:06

    MPC5748G無法通過DMA將傳輸的數據傳輸到終端上的UART怎么解決?

    已經實現了以下代碼以在 MPC5748G 中使用 eDMA 通過 UART 通道傳輸數據。 但我無法通過
    發(fā)表于 05-05 06:16

    采用MPC8260和FPGA的DMA接口設計

    采用MPC8260和FPGA的DMA接口設計 ?以MPC8260通信處理器硬件平臺,結合中斷處理和IDMA傳輸機制設計一種最高傳輸速率可
    發(fā)表于 03-29 15:13 ?981次閱讀
    <b class='flag-5'>采用</b><b class='flag-5'>MPC</b>8260和FPGA的<b class='flag-5'>DMA</b>接口設計

    AAL2/AAL5等ATM連接的區(qū)別

    AAL2/AAL5等ATM連接的區(qū)別 ITU-T I.362建議中,按照業(yè)務在信源和信宿間是否有定時關系、速率是否恒定、是否面向連接還是無連接這三個特點,
    發(fā)表于 06-15 12:36 ?2765次閱讀

    基于MPC860的HDLC通道驅動程序的設計與實現

    基于MPC860的HDLC通道驅動程序的設計與實現 摘 要: 闡述了MPC860芯片及其SCC接口的基本工作原理,介紹了在SCC通道
    發(fā)表于 01-14 10:41 ?1001次閱讀
    基于<b class='flag-5'>MPC</b>860的HDLC<b class='flag-5'>通道</b>驅動程序的設計與<b class='flag-5'>實現</b>

    基于MPC8280的多通道HDLC控制器的應用

    時分復用是當前同步通信系統(tǒng)中用以提高數據傳輸效率的常用方法。例如第2代移動通信GSM系統(tǒng),光同步傳輸網SDH等都是使用時分復用的例子。在現代通信設備的研發(fā)中,常常會遇到高速
    發(fā)表于 09-15 18:13 ?2881次閱讀
    基于<b class='flag-5'>MPC8280</b>的多<b class='flag-5'>通道</b>HDLC控制器的應用

    基于MPC8280通道控制器驅動的研究

    介紹了嵌入式PowerPC 處理器MPC8280 和多通道控制器的主要特征。MPC8280 具有8 個TDM 接口,每個TDM 均支持E1/T1 接口。多通道控制器可以使
    發(fā)表于 09-16 15:13 ?1897次閱讀
    基于<b class='flag-5'>MPC8280</b>多<b class='flag-5'>通道</b>控制器驅動的研究

    通道控制器有什么特征?多通道控制器驅動是怎樣實現的?

    MPC8280 模塊組成如圖1 所示。其中,G2_LE 內核是MPC603e 微處理器的嵌入式版本,具有16KB 的指令緩存和16KB 的數據緩存;系統(tǒng)接口單元SIU 主要完成系統(tǒng)復位
    發(fā)表于 08-13 17:25 ?3693次閱讀
    多<b class='flag-5'>通道</b>控制器有什么特征?多<b class='flag-5'>通道</b>控制器驅動是怎樣<b class='flag-5'>實現</b>的?

    dma通道技術的區(qū)別

    DMA(Direct Memory Access)和通道技術是計算機系統(tǒng)中用來優(yōu)化數據傳輸和處理的重要技術。盡管它們都與數據傳輸相關,但它們在實現
    的頭像 發(fā)表于 01-04 14:31 ?2188次閱讀