<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 1MPC8280的AAL2適配與DMA通道驅動(dòng)軟件的實(shí)現

1MPC8280的AAL2適配與DMA通道驅動(dòng)軟件的實(shí)現

作者: 時(shí)間:2008-10-27 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

在B-ISDN(寬帶綜合業(yè)務(wù)數字網(wǎng))ATM參考模型中,AAL(ATM適配層)介于A(yíng)TM層和應用程序之間,主要負責ATM層與高層間的信元轉發(fā)過(guò)程。不同的AAL支持不同的流量或服務(wù)類(lèi)型。對于A(yíng)TM傳輸,AAL2提供同步模式、面向連接、可變比特速率傳輸,而AAL5提供異步模式、面向連接、可變比特速率傳輸。在TD-SCDMA網(wǎng)絡(luò )中,ATM適配層AAL5用于傳輸所有控制協(xié)議和Iu接口的PS域用戶(hù)數據,其他接口用戶(hù)數據傳輸則使用AAL2。由于A(yíng)AL5的處理比AAL2簡(jiǎn)單得多,目前大部分的網(wǎng)絡(luò )處理器都只支持AAL5的適配,不適合TD網(wǎng)絡(luò )測試儀的應用。MPC8280不僅支持AAL5,還可實(shí)現AAL2的適配,本文介紹了MPC8280對AAL2的處理機制,以及PCI DMA驅動(dòng)軟件的實(shí)現。

2 ATM控制器

ATM控制器通過(guò)Utopia2端口實(shí)現ATM和AAL適配層協(xié)議,可工作在主、從模式下。它能以155 Mb/s的全雙工速率支持AAL5、AAL2、AAL1和AAL0的分段(segmentation)與重組(SAR)功能以及CP-CS子層協(xié)議。對每個(gè)虛擬信道VC,ATM控制器的步速控制器單元APC生成信元的發(fā)送速率,以滿(mǎn)足CBR、VBR、ABR以及非特定速率的發(fā)送需求。APC單元采用漏斗機制調節VBR。APC單元也采用8個(gè)優(yōu)先級實(shí)時(shí)控制ATM信道的發(fā)送。ATM控制器執行ATM論壇(UNI-4.0)ABR流控技術(shù),為了實(shí)現反饋速率適配,它可以生成前向和后向資源管理信元RM和ATM論壇規定的浮點(diǎn)運算。ABR的流控通過(guò)硬件和芯片固件調整引入RM信元帶來(lái)的潛在延遲,無(wú)需軟件干預。

3 DMA控制器

PCI橋的DMA控制器用于傳輸603e核或主機的數據塊。數據的搬移發(fā)生在PCI或者60總線(xiàn)上。PCI橋的DMA模塊有4個(gè)高速的DMA通道,傳輸帶寬210 Mb/s。這4個(gè)信道共同分享144 B的DMA專(zhuān)用緩沖空間,用于數據存儲和發(fā)送。603e核和PCI主控器都可以初始化DMA的傳輸。DMA控制器可工作在鏈表模式或直接訪(fǎng)問(wèn)模式。對每個(gè)傳輸段,按照裝載的描述器的信息DMA控制器開(kāi)始傳輸。一旦當前段傳輸完,DMA控制器就從內存中讀取下一個(gè)描述器的信息,然后開(kāi)始下一個(gè)DMA傳輸。如果當前描述器是鏈表中的最后一個(gè),或者有錯誤發(fā)送,此進(jìn)程結束。DMA控制器框圖如圖1所示。

4 AAL2的適配

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

ATM層一個(gè)ATM信元的凈荷可以裝載一個(gè)或多個(gè)CPS包,多個(gè)CPS包在CPS子層組成CPS-PDU,多個(gè)CPS-PDU在SSSAR子層組成SSSAR-PDU,多個(gè)SSSAR-PDU最后組成一個(gè)SSSAR-SDU。圖2中的STF域表示在一個(gè)ATM信元中第一個(gè)CPS包的起始偏移位置,是一個(gè)非常重要的域。AAL2的適配模塊由初始化模塊、數據接收模塊、數據發(fā)送模塊組成。

4.1初始化模塊

初始化模塊負責將FCC1配置成ATM模式以實(shí)現ATM控制器功能,主要完成對ATM參數表、APC控制器、中斷隊列、壓縮地址映射表、以及時(shí)鐘和Utopia2的接口配置,該模塊還用于對PCI橋的進(jìn)行初始化。

4.2數據發(fā)送模塊

上層應用通過(guò)API接口,使用DMA通道將發(fā)送消息隊列中的數據幀發(fā)送給發(fā)送模塊,發(fā)送模塊從消息隊列中取得數據幀和其對應的通道號,將通道號寫(xiě)入ATM參數表,完成TCT表、CID表、TxQD和TxBD表的初始化;將數據幀寫(xiě)入發(fā)送緩存DataBuffer中,并設置該緩存所對應的TxBD(發(fā)送緩存描述符)的R(Ready)標志位;隨后APC自動(dòng)步長(cháng)控制單元根據通道所對應速率、優(yōu)先級等參數,將該通道的通道號插入相應調度表中,根據優(yōu)先級調度算法進(jìn)行調度,激活CPCR進(jìn)行發(fā)送,最后通過(guò)U-topia2接口發(fā)送到PHY層,查看發(fā)送中斷隊列驗證發(fā)送是否成功。數據發(fā)送流程如圖3所示。

4.3數據接收模塊

ATM控制器收到信元后,根據從信頭中提取的VPI和VCI值在壓縮地址映射表中查找其所對應的通道號Ch_Num,如果沒(méi)有找到相匹配的通道,則將該信元丟棄。如果找到相匹配的通道,則找到接收初始配置形成的接收鏈表RCT;然后根據信元凈荷里的CID值找到接收初始配置形成的CID表、RxQD表;最后互相映射,一起找到接收初始配置形成的RxBD表,把該通道真正的消息體存儲在所對應的接收緩存中。根據接收信元是處理到的CPS子層,還是SSSAR子層,ATM控制器完成信元的重組SAR。如果收到的信元是數據幀的最后一個(gè)信元,ATM控制器就會(huì )在接收中斷隊列中增加一個(gè)接收幀中斷隊列條目,同時(shí)設置FCCE寄存器的GINTx的相應位產(chǎn)生一個(gè)全局中斷標志。數據接收模塊根據觸發(fā)的接收中斷隊列條目的原因值,找到所對應的通道號,然后從該通道所對應的接收緩存中取出收到的數據幀,最后打上時(shí)間標簽等自定義頭,通過(guò)DMA通道把接收消息隊列送給API接口。數據接收流程如圖4所示。

5 DMA通道驅動(dòng)設計

開(kāi)發(fā)中由于和底層程序交互,當底層寫(xiě)滿(mǎn)一塊區域(共3塊)后,通過(guò)DoorBell中斷通知驅動(dòng)程序。首先創(chuàng )建一個(gè)內核事件對象,在SerialRead中設置開(kāi)始DMA時(shí),啟動(dòng)底層程序寫(xiě)數據,在OnD-maReady函數中,等待事件信號,當底層數據準備好,發(fā)生DoorBell中斷時(shí),由于硬件中斷的優(yōu)先級高,所以,程序進(jìn)入Isr_Irq中斷服務(wù)例程,在該函數中,判斷是DoorBell中斷后,置事件為有信號狀態(tài),然后返回TRUE。當中斷處理完畢,原來(lái)等待的程序由于事件狀態(tài)為有信號狀態(tài),程序恢復執行,啟動(dòng)DMA,把要傳輸的數據首地址寫(xiě)入DMA源地址寄存器,并設置其他相關(guān)寄存器,啟動(dòng)DMA。下面給出了部分的中斷服務(wù)例程代碼:

6結束語(yǔ)

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



關(guān)鍵詞: ATM DMA 驅動(dòng) 設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>