當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]1MPC8280的AAL2適配與DMA通道驅(qū)動(dòng)軟件的實(shí)現(xiàn)

1 引言

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

2 ATM控制器

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

3 DMA控制器

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

 

4 AAL2的適配

AAL2適用于傳輸?shù)退俾收Z音流量。AAL2分為通用部分子層(CPS)和服務(wù)特定會(huì)聚子層(SSCS)。AAL2的數(shù)據(jù)單元的分段與重組情況如圖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的適配模塊由初始化模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)發(fā)送模塊組成。

4.1初始化模塊

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

4.2數(shù)據(jù)發(fā)送模塊

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

 

4.3數(shù)據(jù)接收模塊

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

5 DMA通道驅(qū)動(dòng)設(shè)計(jì)

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

6結(jié)束語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉