国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MPC8280的MCC驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)

2013-08-27 01:42:32趙勇李鑫吳慧
關(guān)鍵詞:信令緩沖區(qū)時(shí)隙

趙勇李鑫吳慧

(1中國電子科技集團(tuán)公司第五十四研究所河北石家莊050081)

(2石家莊職業(yè)技術(shù)學(xué)院電氣與電子工程系河北石家莊050081)

(3石家莊信息工程職業(yè)學(xué)院河北石家莊050035)

1 引言

MPC8280是Freescale公司推出的應(yīng)用于通信系統(tǒng)的嵌入式通信處理器,具有非常靈活的一體化單元系統(tǒng)和外圍通信控制器。MPC8280每個(gè)MCC可支持HDLC和透明傳輸或者SS7等多種協(xié)議功能。本文就是在多通道控制器MCC工作在7號(hào)信令協(xié)議模式時(shí),利用MPC8280處理器的MCC的中斷,并操作MCC相應(yīng)的寄存器,來實(shí)現(xiàn)No.7信令的信號(hào)單元SU的接收和發(fā)送功能。

2 MPC8280處理器及MCC概述

2.1 MPC8280處理器體系結(jié)構(gòu)

MPC8280是一款高性能通信微處理器,內(nèi)部集成了高性能精簡指令集微處理器和許多外圍通信組件,廣泛應(yīng)用于高端電信和網(wǎng)絡(luò)產(chǎn)品的設(shè)計(jì)開發(fā)[1]。MPC8280的體系結(jié)構(gòu)[2]如圖1所示,主要包括3個(gè)功能模塊:嵌入式PowerPC架構(gòu)的內(nèi)核G2_LE、系統(tǒng)接口單元(SIU)模塊和通信處理模塊(CPM)。

圖1 MP C8280體系結(jié)構(gòu)框圖

G2_LE內(nèi)核提供了獨(dú)立的16 KB指令緩存和16 KB數(shù)據(jù)緩存,以及數(shù)據(jù)和指令存儲(chǔ)管理單元MMU,用于執(zhí)行高層代碼,完成外設(shè)的控制管理。SIU主要完成系統(tǒng)啟動(dòng)和初始化、CPU復(fù)位、中斷處理、時(shí)鐘配置、控制操作及外部系統(tǒng)總線管理等功能。CPM主要完成底層的任務(wù)和DMA控制,包括一個(gè)32位的精簡指令集處理器,2個(gè)多通道控制器MCC,3個(gè)快速通信控制器FCC,4個(gè)串行通信控制器SCC,2個(gè)串行管理控制器SMC,一個(gè)串行外圍設(shè)備接口SPI,一個(gè)I2C總線控制器等[3]。時(shí)隙分配器TSA完成路由選擇和時(shí)分復(fù)用,將MCC、FCC、SCC和SMC等連接到物理層的TDM引腳上,將數(shù)據(jù)復(fù)用到8個(gè)TDM接口。

2.2 MCC的基本工作原理

MPC8280具有2個(gè)多通道控制器MCC1和MCC2,每個(gè)MCC可以支持128路獨(dú)立的時(shí)分復(fù)用通道。每個(gè)MCC僅與一個(gè)串行接口SI相對(duì)應(yīng),并通過相應(yīng)的SI模塊連接到TDM接口。MCC的數(shù)據(jù)流可以通過SI的4個(gè)時(shí)分復(fù)用接口TDM中的任何一個(gè)進(jìn)行數(shù)據(jù)傳輸,MCC1的通道(0-127)只允許連接到 SI1,MCC2的通道(128-255)只允許連接到 SI2[4],MCC的每一個(gè)通道的工作模式均可獨(dú)立設(shè)置,收發(fā)關(guān)系也可以獨(dú)立映射。通過對(duì)SI和SIRAM的合理配置可以建立TDM數(shù)據(jù)中的時(shí)隙和特定的MCC通道的映射關(guān)系(如TDMA1的第2個(gè)時(shí)隙到MCC1的第3個(gè)通道,TDMB2的第1個(gè)時(shí)隙到MCC2的第5個(gè)通道等)。

MPC8280的內(nèi)核G2_LE和外部的通信是由CPM來完成。CPM根據(jù)相應(yīng)的接口控制寄存器配置來執(zhí)行數(shù)據(jù)發(fā)送或接收操作,操作完成后再向G2_LE內(nèi)核的中斷寄存器寫入中斷值。G2_LE內(nèi)核根據(jù)中斷值調(diào)用相應(yīng)的中斷處理函數(shù),由此完成數(shù)據(jù)交互過程。

當(dāng)SI的某個(gè)TDM被配置成包含MCC通道的時(shí)隙且TDM被使能,CPM就將MCC通道發(fā)送緩沖區(qū)內(nèi)的數(shù)據(jù)復(fù)制到各指定通信控制單元發(fā)送FIFO內(nèi),然后SI在時(shí)鐘驅(qū)動(dòng)下將各指定通信控制單元的FIFO內(nèi)數(shù)據(jù)發(fā)送到TDM口,或?qū)?shù)據(jù)從TDM接口上接收下來并存入到MCC通道的接收FIFO內(nèi),然后CPM再將接收FIFO內(nèi)的數(shù)據(jù)復(fù)制到MCC通道的接收緩存區(qū)內(nèi)。

CPM通過一系列與MCC相關(guān)的數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)對(duì)MCC通道FIFO的管理,其中全局參數(shù)(Global MCC Parameters)對(duì)MCC模塊的全面狀態(tài)進(jìn)行管理,配置通道所用到的接收門限參數(shù)和寄存器基址。通道專用參數(shù)(Channel-Specific Parameters)用于設(shè)置MCC通道工作在HDLC、透明傳輸或者SS7協(xié)議模式時(shí)的具體參數(shù)配置,對(duì)MCC通道的FIFO進(jìn)行管理。通道附加參數(shù) (Channel Extra Parameters)主要用于設(shè)置單個(gè)通道發(fā)送緩存描述符(TxBD)表、接收緩存描述符(RxBD)表的基地址和指針,用于緩存描述符BD表的索引。

3 MCC驅(qū)動(dòng)程序的設(shè)計(jì)

MCC多通道控制器驅(qū)動(dòng)主要完成MPC8280 MCC多通道控制器的初始化,并為上層軟件訪問、調(diào)用提供與底層硬件無關(guān)的應(yīng)用程序接口。具體內(nèi)容包括MCC控制數(shù)據(jù)結(jié)構(gòu)所需內(nèi)存空間的分配及初始化、MCC操作所需的相關(guān)控制寄存器的初始化、MCC中斷處理及MCC數(shù)據(jù)接收和發(fā)送的實(shí)現(xiàn)等關(guān)鍵技術(shù)。

3.1 MCC的初始化實(shí)現(xiàn)

MCC的初始化流程如圖2所示。

圖2 MCC的初始化流程

①分配并初始化MCC所需的數(shù)據(jù)緩沖區(qū)、緩沖區(qū)描述符BD及MCC中斷表所需的存儲(chǔ)空間;

②調(diào)用函數(shù)tMCCIntTable()初始化MCC循環(huán)中斷表;

③初始化緩沖區(qū)描述符BD和數(shù)據(jù)緩沖區(qū)。前一半BD用作發(fā)送BD,后一半BD用作接收BD;

④初始化SI寄存器和SIRAM,將TDM的16時(shí)隙通過SI送到MCC通道上;

⑤初始化MCC通道的全局參數(shù),全局參數(shù)位于雙端口隨機(jī)存儲(chǔ)器DPRAM中,MCC1的偏移地址為0x8700,MCC2的偏移地址為0x8800[5];

⑥初始化MCC的通道附加參數(shù),指明了各通道所用的收/發(fā)BD相對(duì)于BD基址的BD偏移數(shù);

⑦初始化MCC的通道為7號(hào)信令通道,該信令通道參數(shù)基址為DPRAM的起始地址[6],一個(gè)SS7信令通道參數(shù)要占用2個(gè)HDLC通道參數(shù)的存儲(chǔ)空間,即128個(gè)字節(jié);

⑧為MCC配置并行I/O口,對(duì)所需的接口設(shè)置時(shí)鐘和同步;

⑨配置系統(tǒng)接口單元SIU,設(shè)置MCC所需的相關(guān)中斷并將MCC中斷和中斷處理函數(shù)相關(guān)聯(lián);

⑩使能TDM。

3.2 MCC數(shù)據(jù)的收發(fā)處理

⑴MCC的數(shù)據(jù)接收

MCC的數(shù)據(jù)接收是通過一個(gè)消息隊(duì)列和中斷處理函數(shù)相配合來完成的。MCC的數(shù)據(jù)接收處理過程如下:

①當(dāng)MCC的某個(gè)通道接收到數(shù)據(jù)后會(huì)將相應(yīng)寄存器的接收中斷比特位置位;

②中斷處理程序?qū)⑹盏降闹袛嘈畔⑦M(jìn)行封裝后發(fā)送到消息隊(duì)列;

③數(shù)據(jù)接收任務(wù)從消息隊(duì)列接收數(shù)據(jù),然后根據(jù)MCC通道號(hào)調(diào)用相應(yīng)的由用戶安裝的數(shù)據(jù)接收回調(diào)函數(shù),最后由回調(diào)函數(shù)完成數(shù)據(jù)的處理。

⑵MCC的數(shù)據(jù)發(fā)送

數(shù)據(jù)的發(fā)送過程由通信協(xié)處理器完成。MCC數(shù)據(jù)發(fā)送過程如下:

①數(shù)據(jù)發(fā)送函數(shù)將要發(fā)送的數(shù)據(jù)從內(nèi)存寫入TxBD中緩存指針?biāo)赶虻木彌_區(qū),并將寄存器TxBD的相關(guān)狀態(tài)位置位;

②設(shè)置相應(yīng)的控制寄存器,由通信協(xié)處理器完成數(shù)據(jù)從緩沖區(qū)到TDM接口的發(fā)送;

③數(shù)據(jù)發(fā)送完成后通信協(xié)處理器設(shè)置MCC事件中斷寄存器MCCE相應(yīng)的RINT比特位;

圖3 MCC中斷處理流程圖

④由中斷處理程序通知數(shù)據(jù)發(fā)送函數(shù)數(shù)據(jù)發(fā)送已完成。

3.3 MCC中斷處理

MCC中斷處理模塊工作在No.7信令工作方式下,處理來自MPC8260 MCC的中斷,并將接收到的信號(hào)單元SU以消息形式上報(bào)給No.7信令MTP2軟件,MCC中斷處理單元軟件流程如圖3所示。

MCC中斷產(chǎn)生后,首先根據(jù)MCC的事件寄存器判斷是否收到數(shù)據(jù),如果收到數(shù)據(jù),從MCCPkt_T中保存的BD號(hào)開始,讀取數(shù)據(jù)并發(fā)送給No.7信令MTP2軟件,直到?jīng)]有數(shù)據(jù)可讀為止;如果出現(xiàn)異常,進(jìn)行異常處理并再次開啟中斷以保證MCC的正常接收。

4 測試及結(jié)果分析

設(shè)備通過E1接口與固定網(wǎng)STM交換機(jī)互連,工作在No.7信令方式下,通過呼叫模擬器Abacus5000對(duì)設(shè)備進(jìn)行10,000次話音呼叫測試,呼損率小于萬分之四,滿足話音呼叫能力測試要求。通過測試,驗(yàn)證了No.7信令工作方式下,利用MCC中斷接收和發(fā)送的信號(hào)單元的可行性,大量的呼叫測試,驗(yàn)證了MCC驅(qū)動(dòng)程序的可靠性和穩(wěn)定性。

5 結(jié)束語

MPC8280是一種功耗低、通信處理能力強(qiáng)的處理器,利用MPC8280內(nèi)部的多通道控制器MCC的大容量通信能力,可以比較容易地設(shè)計(jì)出信令通道、數(shù)據(jù)通道、協(xié)議轉(zhuǎn)換器等應(yīng)用。本文介紹了MPC8280內(nèi)部的多通道控制器MCC的通信原理及驅(qū)動(dòng)程序設(shè)計(jì)方法,對(duì)MCC在其他工作方式下的設(shè)計(jì)應(yīng)用有一定借鑒作用。

[1]MP C8280 Power Q U I CC?II F a m il y Re f erence Manual[R].F reescale Inc,2005.

[2]Power Q U I CC II?F a m il y Hardware S p eci f ications[R].F reescale Inc,2006.

[3]楊小冬,王俊芳.基于MP C8280的MCC驅(qū)動(dòng)設(shè)計(jì)[J].無線電工程,2012,42(9):61-64.

[4]閆宇博,張磊,彭來獻(xiàn).基于MP C8280多通道控制器驅(qū)動(dòng)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,76(23):177-179.

[5]李朋銅.嵌入式設(shè)計(jì)及通信設(shè)備開發(fā)詳解—基于MP C82XX處理器[M].北京:機(jī)械工業(yè)出版社,2009.

[6]趙宇浩.基于MP C8280的網(wǎng)絡(luò)通信平臺(tái)的實(shí)現(xiàn)[J].電子技術(shù),2010,26(6):58-59.

猜你喜歡
信令緩沖區(qū)時(shí)隙
嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計(jì)與實(shí)現(xiàn)
SLS字段在七號(hào)信令中的運(yùn)用
移動(dòng)信令在交通大數(shù)據(jù)分析中的應(yīng)用探索
復(fù)用段單節(jié)點(diǎn)失效造成業(yè)務(wù)時(shí)隙錯(cuò)連處理
基于信令分析的TD-LTE無線網(wǎng)絡(luò)應(yīng)用研究
一種高速通信系統(tǒng)動(dòng)態(tài)時(shí)隙分配設(shè)計(jì)
時(shí)隙寬度約束下網(wǎng)絡(luò)零售配送時(shí)隙定價(jià)研究
LTE網(wǎng)絡(luò)信令采集數(shù)據(jù)的分析及探討
關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
基于TDMA的無沖突動(dòng)態(tài)時(shí)隙分配算法
肥东县| 固镇县| 苍山县| 霍邱县| 阜新| 南木林县| 肇庆市| 锡林郭勒盟| 新巴尔虎右旗| 麻阳| 乐清市| 婺源县| 莱阳市| 康马县| 塔城市| 沂南县| 海盐县| 呼伦贝尔市| 莱阳市| 寿光市| 同江市| 霍邱县| 博野县| 江华| 兴国县| 平遥县| 都匀市| 承德县| 田林县| 轮台县| 新密市| 保亭| 临海市| 南宁市| 准格尔旗| 广州市| 海原县| 绥中县| 平利县| 常宁市| 青岛市|