音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于MPC8280的多通道HDLC控制器的應(yīng)用

出處:zxfeng 發(fā)布于:2011-02-14 19:18:17

     1 概述

  時(shí)分復(fù)用是當(dāng)前同步通信系統(tǒng)中用以提高數(shù)據(jù)傳輸效率的常用方法。例如第2代移動(dòng)通信GSM系統(tǒng),光同步傳輸網(wǎng)SDH等都是使用時(shí)分復(fù)用的例子。在現(xiàn)代通信設(shè)備的研發(fā)中,常常會(huì)遇到高速背板通信、多協(xié)議接口、網(wǎng)絡(luò)管理信令通道等需要同時(shí)處理多個(gè)同步通信接口數(shù)據(jù)的情況。本文介紹了一種采用MPC8280處理器芯片內(nèi)部的多通道通信控制單元,來(lái)處理多個(gè)同步通信接口數(shù)據(jù)的方法。

  MPC8280是飛思卡爾公司PowerQUICC II產(chǎn)品線的較新成員。它采用0.13 μm工藝制造。內(nèi)核、I/O的供電電壓分別為1.5 V、3.3 V。MPC8280相比該公司的MPC8260,制造工藝和工作頻率均有所提升,但因?yàn)殡妷合陆?,功耗反而下降。而且,MPC8280片內(nèi)的DPRAM(雙口靜態(tài)存儲(chǔ)器)容量增加了一倍,此外還增加了PCI和USB。

  MPC8280芯片由主內(nèi)核、SIU、CPM等3個(gè)主要功能模塊組成,如圖1所示。MPC8280的處理器主內(nèi)核稱為G2_LE,它是一種PowerPC架構(gòu)的多級(jí)流水線超標(biāo)量處理器。MPC8280內(nèi)核運(yùn)行頻率為16*50 MHz。SIU模塊主要負(fù)責(zé)60x總線控制、PCI橋及時(shí)鐘產(chǎn)生。CPM模塊負(fù)責(zé)處理通信事務(wù),即處理SCC、SMC、FCC、MCC、USB、SPI、I2C等通信控制單元收發(fā)數(shù)據(jù)。本文所述的多通道HDLC控制器即采用CPM下的MCC(多通道控制器)通信控制單元來(lái)實(shí)現(xiàn)。


圖1 MPC8280的組成

  MPC8280片內(nèi)集成的靜態(tài)存儲(chǔ)器包括DPRAM、全局配置寄存器、SI RAM(串行接口路由表配置空間)。其中,第1塊32 KB的數(shù)據(jù)DPRAM空間被等分成16個(gè)bank(存儲(chǔ)空間塊)。CPM中的通信控制單元除了使用全局配置寄存器進(jìn)行基本的參數(shù)配置外,還須使用參數(shù)配置存儲(chǔ)區(qū)塊進(jìn)一步配置。一般CPM中每個(gè)通信控制單元都有2個(gè)參數(shù)配置存儲(chǔ)區(qū)塊,參數(shù)配置存儲(chǔ)區(qū)塊均定位在DPRAM中的指定地址。SI RAM主要用于配置TSA(時(shí)隙分配器)的路由表。

  2 SI(TSA)的設(shè)計(jì)

  MCC總是和SI(串行接口)配合使用(因?yàn)镸CC只是數(shù)據(jù)處理單元,不負(fù)責(zé)通信數(shù)據(jù)與MPC8280引腳的交互),因此,只有SI配置好,MCC單元才能正常工作。每個(gè)MCC僅與1個(gè)SI相關(guān)聯(lián),而且,MCC1只允許連接到SI1,MCC2只允許連接到SI2。

  MPC8280片內(nèi)含2個(gè)SI,每個(gè)SI多可控制4個(gè)TDM(時(shí)分復(fù)用)口。每個(gè)TDM口均擁有各自獨(dú)立的收發(fā)幀同步脈沖、收發(fā)時(shí)鐘引腳。時(shí)鐘的同步邊沿、時(shí)鐘倍頻(1×或2×?xí)r鐘模式)、幀同步信號(hào)的超前時(shí)鐘位數(shù)可編程控制。SI與MCC的關(guān)系如圖2所示。


圖2 SI與MCC的關(guān)系

  TSA的主要工作是數(shù)據(jù)選路,即將CPM內(nèi)各個(gè)通信控制單元的I/O數(shù)據(jù)以比特或字節(jié)為單位輸送到TDM口上。換句話說(shuō),TSA相當(dāng)于MPC8280的CPM模塊中各通信控制單元(MCC、SCC、SMC、FCC等)進(jìn)行TDMA(時(shí)分復(fù)用)的功能模塊,對(duì)TSA的編程與后端的通信控制單元無(wú)關(guān)。TSA根據(jù)由SI RAM構(gòu)造的路由表執(zhí)行選路。

  SI自身沒(méi)有緩存,它直接與后端各通信控制單元的FIFO相連;SI在時(shí)鐘的驅(qū)動(dòng)下,按照路由表的配置,將接收到的幀比特流分別送到各指定通信控制單元的FIFO中,以及將各指定通信控制單元的FIFO中的數(shù)據(jù)輸出到TDM口的引腳上,并與各通信控制單元的BD(緩沖區(qū)描述符)表和中斷交互,完成通信任務(wù)。

  程序員通過(guò)對(duì)SI RAM塊編程來(lái)完成路由表的構(gòu)建。每個(gè)SI包含2個(gè)SI RAM塊,分別用于設(shè)計(jì)發(fā)送和接收的路由表,這樣MPC8280內(nèi)部的2個(gè)SI模塊總共包含4個(gè)SI RAM塊。每塊由SI RAM構(gòu)造的路由表包括256條表項(xiàng),每條表項(xiàng)長(zhǎng)度是2字節(jié),每條表項(xiàng)多可控制8個(gè)字節(jié)串行流數(shù)據(jù)的分配,所以1個(gè)SI模塊支持的長(zhǎng)一幀的長(zhǎng)度可達(dá)256×8×8=16 384比特。路由表表項(xiàng)的內(nèi)容就是指定將TDM口上通過(guò)1~8個(gè)比特或字節(jié)的同步數(shù)據(jù)流分配給MCC、SCC、SMC、FCC等通信控制單元。一條表項(xiàng)必須激活路由表的結(jié)束標(biāo)記,告訴TSA已處理完一幀,請(qǐng)等待下一個(gè)幀同步信號(hào)的到來(lái)。

  如圖3所示,每塊SI RAM(內(nèi)含256條表項(xiàng))等分為4個(gè)bank,即每個(gè)TDM口均各有1個(gè)bank一一對(duì)應(yīng);每個(gè)bank可以被程序員指派為對(duì)應(yīng)不同的TDM口(但不允許將兩個(gè)TDM口對(duì)應(yīng)到同一個(gè)bank上)。這樣,TDM口的串行數(shù)據(jù)流在指定bank的SI RAM表項(xiàng)的控制下被分別送往指定的通信控制單元進(jìn)行處理。一個(gè)bank的長(zhǎng)度可由設(shè)計(jì)人員自由設(shè)定(路由表有首尾標(biāo)志),這是因?yàn)椴煌膽?yīng)用,每一幀的比特?cái)?shù)目并不一定相同;路由表即地確定了每一個(gè)TDM口幀流的比特?cái)?shù)目。顯然,一個(gè)幀流必須由多少條表項(xiàng)來(lái)處理也可以計(jì)算出來(lái),即幀流總比特?cái)?shù)/每表項(xiàng)處理的比特?cái)?shù)。注意,路由表的表項(xiàng)數(shù)目必須是偶數(shù),因此在編程時(shí),如果的確是只有一條表項(xiàng),那么就還必須再補(bǔ)上一條內(nèi)容為空的表項(xiàng)。


圖3 SI RAM塊的組成與對(duì)應(yīng)結(jié)構(gòu)

  此外,因?yàn)門DM口的接收、發(fā)送分別由2個(gè)SI RAM塊實(shí)施控制,所以TDM口發(fā)送和接收的比特流的分配可以任意設(shè)計(jì),甚至允許將不連續(xù)的比特流都分配到一個(gè)通信控制單元,也允許一個(gè)通信控制單元從某一個(gè)TDM接收,而從另一個(gè)TDM發(fā)送。

  3 MCC的標(biāo)準(zhǔn)通道設(shè)計(jì)

  一個(gè)MCC的數(shù)據(jù)是在特定SI控制的4個(gè)TDM口上傳輸;每個(gè)MCC可以支持128條時(shí)分復(fù)用通道(見(jiàn)圖4),用來(lái)傳輸HDLC、透明通道,或7號(hào)信令通道數(shù)據(jù)。本文的設(shè)計(jì)是用MCC實(shí)現(xiàn)多通道HDLC通信協(xié)議。MCC的數(shù)據(jù)流可通過(guò)TSA的橋接直接送入MCC相應(yīng)通道的FIFO處理。每個(gè)MCC可分解成4個(gè)子模塊,每個(gè)子模塊(包含32條通道)對(duì)應(yīng)到1個(gè)TDM口上,即處理不同的物理TDM口的數(shù)據(jù)。MCC中的每個(gè)通道的工作模式均可獨(dú)立設(shè)置,收發(fā)關(guān)系也可以獨(dú)立映射;支持全局環(huán)回和基于單個(gè)通道的獨(dú)立環(huán)回。


圖4 TDM口與MCC通道的對(duì)應(yīng)關(guān)系

  每個(gè)MCC中包含128個(gè)功能完全相同的通道,每個(gè)通道都有一套配置寄存器,這些寄存器功能相同,并依靠通道號(hào)進(jìn)行索引尋址,進(jìn)而初始化。

  MCC的初始化遵循先全局、后通道的順序。MCC的全局參數(shù)寄存器定位在DPRAM(bank 9)中,占用128字節(jié),該寄存器組相對(duì)DPRAM基地址的偏移量為0x8800。在全局參數(shù)設(shè)置里比較重要的、將影響各通道配置寄存器空間尋址的地址索引寄存器如表1所列。


  每個(gè)通道都有64字節(jié)的專用參數(shù)寄存器。采用“DPRAM基址+64×通道號(hào)”的方式計(jì)算出指定通道的專用參數(shù)寄存器組的基址。

  每個(gè)通道還有8字節(jié)的額外參數(shù)寄存器,采用“DPRAM基址+8×通道號(hào)”的方式計(jì)算出指定通道的額外參數(shù)寄存器組的基址。該區(qū)塊的主要內(nèi)容包括:TBASE(16位,發(fā)送BD表首地址計(jì)算元素);RBASE(16位,接收BD表首地址計(jì)算元素)。

  BD表通常放在片外內(nèi)存中。1個(gè)MCC包含128條通道,每條通道都有自己的BD表,所有128條通道的BD表集中連續(xù)地存放在一個(gè)512 KB的段中。在這個(gè)空間內(nèi)尋址某個(gè)通道對(duì)應(yīng)的BD表的基地址的計(jì)算方法是:MCCBASE+8×RBASE(接收),MCCBASE+8×TBASE(發(fā)送)。接收和發(fā)送BD表都是一個(gè)環(huán)形隊(duì)形,接收BD表至少須含2條表項(xiàng),發(fā)送BD表至少須含1條表項(xiàng)。編程時(shí),構(gòu)造結(jié)構(gòu)數(shù)組,可以把TBASE、RBASE設(shè)計(jì)成和通道號(hào)對(duì)應(yīng)的數(shù)組索引。

  每條BD表項(xiàng)有8個(gè)字節(jié),如表2所列。


  環(huán)形隊(duì)列結(jié)構(gòu)的中斷表也是放在片外內(nèi)存中。發(fā)送中斷對(duì)應(yīng)一張表,基地址為TINTBASE;接收中斷對(duì)應(yīng)1~4張表,基地址分別為RINT-BASE0~RINTBASE3。中斷表的長(zhǎng)度完全由用戶確定,但少至少包括2條表項(xiàng)。每條中斷表項(xiàng)長(zhǎng)度為4字節(jié),記錄了中斷表項(xiàng)是否有效、中斷標(biāo)志以及觸發(fā)中斷的通道號(hào)。

  4 MCC的超通道模式設(shè)計(jì)

  工作于超通道模式下的MCC要求SI必須以字節(jié)為選路單位。通過(guò)“超通道”這個(gè)技術(shù)將原來(lái)分屬于幾個(gè)通道的FIFO聚合成1個(gè)更大的FIF-O,傳輸大容量的同步數(shù)據(jù)流。聚合的方法是在SI RAM中指定某幾個(gè)MCCchannel的通道號(hào)屬于一個(gè)超通道,也就是說(shuō),為使MCC工作在超通道模式下,必須完成SI RAM和超通道表的初始化。

  超通道表用于表示哪幾個(gè)通道的FIFO共享指定通道的控制參數(shù)。例如:160、161、162等3個(gè)標(biāo)準(zhǔn)通道組成1個(gè)超通道,且由160號(hào)通道的控制寄存器來(lái)控制該超通道的行為,那么就在超通道表表項(xiàng)中填入“160”。

  超通道表僅用于發(fā)送控制,而接收不需要構(gòu)造超通道表。接收的編程比較簡(jiǎn)單,既不需要設(shè)超通道,也比較直接,需要由某個(gè)通道處理的數(shù)據(jù),直接在SI RAM里打開(kāi)相應(yīng)的通道接收即可。

  5 中斷模型

  MCC的中斷響應(yīng)采用兩級(jí)中斷模型:級(jí)為全局中斷狀態(tài)標(biāo)志寄存器MCCE,第二級(jí)為中斷環(huán)表。MPC8280*有5個(gè)中斷環(huán)表為MCC通道中斷提供中斷標(biāo)志服務(wù):1個(gè)用于發(fā)送,4個(gè)用于接收。中斷環(huán)表是所有通道共用的。每個(gè)通道初始化時(shí)必須指定它使用哪個(gè)接收中斷表來(lái)上報(bào)接收中斷,利用這個(gè)特性可以設(shè)計(jì)出帶優(yōu)先級(jí)的中斷響應(yīng)機(jī)制。

  注意:因?yàn)槭黔h(huán)表,所以環(huán)表內(nèi)一條表項(xiàng)的Wrap位必須置1,環(huán)表內(nèi)的其他表項(xiàng)必須全部置成O。

  每當(dāng)有MCC通道觸發(fā)中斷,MPC8280的CPM模塊將會(huì)向中斷環(huán)表中當(dāng)前空表項(xiàng)位置寫(xiě)入一條表項(xiàng),并將該表項(xiàng)的“V”有效標(biāo)志位置1,表示已經(jīng)收到中斷,等待用戶響應(yīng)和處理。并且給表項(xiàng)指針加1以指向下一條空表項(xiàng)(當(dāng)指針到達(dá)環(huán)表的一條時(shí),則CPM模塊自動(dòng)將中斷環(huán)表的基地址的值重新裝入表項(xiàng)指針寄存器,使CPM下寫(xiě)入的位置重新定位到中斷環(huán)表的頂部)。

  注意:如果中斷屏蔽寄存器INTMSK中設(shè)置了一些屏蔽事件,則當(dāng)這些事件發(fā)生時(shí),CPM不會(huì)向中斷環(huán)表寫(xiě)入表項(xiàng),自然也不會(huì)觸發(fā)全局中斷狀態(tài)標(biāo)志寄存器MCCE。

  用戶ISR代碼響應(yīng)MCC中斷,訪問(wèn)中斷環(huán)表表項(xiàng)時(shí),應(yīng)首先清除“V”標(biāo)志,然后再處理具體中斷請(qǐng)求,并在退出中斷服務(wù)程序前清除MCCE寄存器的中斷標(biāo)志。程序員應(yīng)該根據(jù)系統(tǒng)的實(shí)際情況決定是在進(jìn)入MCC中斷服務(wù)程序后將所有中斷環(huán)表中的中斷事件處理完才退出,還是僅處理中斷環(huán)表一項(xiàng)中斷請(qǐng)求后即退出中斷服務(wù)程序,這需要程序員基于中斷響應(yīng)時(shí)間以及不影響其他程序代碼運(yùn)行作綜合考慮。

  6 實(shí)際調(diào)試

  環(huán)回測(cè)試是測(cè)試通信硬件本身是否正常的重要手段。MPC8280各通信處理單元自身都有環(huán)回控制位,例如,SCCHDLC的環(huán)回控制在GSMR_L寄存器中設(shè)置;MCC的單個(gè)通道的環(huán)回控制在SI RAM里設(shè)置。單個(gè)TDM口也可以自環(huán),在SIxMR寄存器里設(shè)置。因此,可以通過(guò)對(duì)MCC的單個(gè)通道的自環(huán),以及單個(gè)TDM口的自環(huán)來(lái)測(cè)試驅(qū)動(dòng)程序?qū)懙檬欠裾_。在這個(gè)測(cè)試中,MPC8280的TDM口由片外時(shí)鐘和幀同步脈沖驅(qū)動(dòng)。注意:測(cè)試前必須先用示波器確認(rèn)TDM口引腳上的時(shí)鐘的頻率、波形符合硬件設(shè)計(jì)要求。另外應(yīng)當(dāng)仔細(xì)選擇MPC8280和外部交換芯片的時(shí)鐘邊緣關(guān)系,以免時(shí)鐘同步異常導(dǎo)致數(shù)據(jù)判決出錯(cuò)。

  初始化代碼完成以后,應(yīng)利用shell工具或其他觀察手段檢查初始化代碼對(duì)相關(guān)寄存器的寫(xiě)入符合設(shè)計(jì)目標(biāo)。不要因?yàn)榇中拇笠鈱?xiě)錯(cuò)了寄存器值而無(wú)法獲得正確結(jié)果。因?yàn)镸CC的工作必須在SI模塊的配合下完成,可以將SI模塊和MCC分開(kāi)調(diào)試。假如有已經(jīng)調(diào)試完成的SCC(SMC也可以)通信單元的驅(qū)動(dòng)程序,就可以將SCC的數(shù)據(jù)流從I/O腳定向到SI模塊上,如圖5所示。測(cè)試SCC經(jīng)過(guò)SI模塊進(jìn)行環(huán)回是否正常,可以測(cè)試SI模塊的驅(qū)動(dòng)程序是否正確。測(cè)試好SI模塊的驅(qū)動(dòng)程序后,再將SCC的驅(qū)動(dòng)程序替換成MCC的驅(qū)動(dòng)程序,即可比較容易地采用相同的模型對(duì)MCC驅(qū)動(dòng)程序進(jìn)行測(cè)試了。注意MCC工作在標(biāo)準(zhǔn)模式和超通道模式下時(shí)對(duì)SI RAM的路由表初始化稍有不同。


圖5 SCC1經(jīng)過(guò)SI模塊進(jìn)行環(huán)回測(cè)試

  7 小結(jié)

  MPC8280是一種功耗低、通信處理能力強(qiáng)的處理器,利用MPC8280內(nèi)部的多通道控制器的大通信容量通信能力,可以比較容易地設(shè)計(jì)出信令通道、數(shù)據(jù)通道、協(xié)議轉(zhuǎn)換器等應(yīng)用。本文介紹了MPC8280內(nèi)部的多通道控制器的通信原理及調(diào)試方法,希望對(duì)有相關(guān)應(yīng)用需求的科研人員有所幫助。


  

參考文獻(xiàn):

[1]. MPC8260 datasheet http://m.58mhw.cn/datasheet/MPC8260_2428150.html.
[2]. PCI datasheet http://m.58mhw.cn/datasheet/PCI_1201469.html.
[3]. SMC datasheet http://m.58mhw.cn/datasheet/SMC_1064746.html.


關(guān)鍵詞:基于MPC8280的多通道HDLC控制器的應(yīng)用MPC8260MPC8280

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!