關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > MPC8280多通道HDLC控制器的應(yīng)用

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

作者: 時(shí)間:2011-02-14 來源:網(wǎng)絡(luò) 收藏

4 MCC的超通道模式設(shè)計(jì)
工作于超通道模式下的MCC要求SI必須以字節(jié)為選路單位。通過“超通道”這個(gè)技術(shù)將原來分屬于幾個(gè)通道的FIFO聚合成1個(gè)更大的FIF-O,傳輸大容量的同步數(shù)據(jù)流。聚合的方法是在SI RAM中指定某幾個(gè)MCCchannel的通道號(hào)屬于一個(gè)超通道,也就是說,為使MCC工作在超通道模式下,必須完成SI RAM和超通道表的初始化。
超通道表用于表示哪幾個(gè)通道的FIFO共享指定通道的控制參數(shù)。例如:160、161、162等3個(gè)標(biāo)準(zhǔn)通道組成1個(gè)超通道,且由160號(hào)通道的控制寄存器來控制該超通道的行為,那么就在超通道表表項(xiàng)中填入“160”。
超通道表僅用于發(fā)送控制,而接收不需要構(gòu)造超通道表。接收的編程比較簡單,既不需要設(shè)超通道,也比較直接,需要由某個(gè)通道處理的數(shù)據(jù),直接在SI RAM里打開相應(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è)接收中斷表來上報(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à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下一次寫入的位置重新定位到中斷環(huán)表的頂部)。
注意:如果中斷屏蔽寄存器INTMSK中設(shè)置了一些屏蔽事件,則當(dāng)這些事件發(fā)生時(shí),CPM不會(huì)向中斷環(huán)表寫入表項(xiàng),自然也不會(huì)觸發(fā)全局中斷狀態(tài)標(biāo)志寄存器MCCE。
用戶ISR代碼響應(yīng)MCC中斷,訪問中斷環(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è)置。因此,可以通過對(duì)MCC的單個(gè)通道的自環(huán),以及單個(gè)TDM口的自環(huán)來測(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)寄存器的寫入符合設(shè)計(jì)目標(biāo)。不要因?yàn)榇中拇笠鈱戝e(cuò)了寄存器值而無法獲得正確結(jié)果。因?yàn)镸CC的工作必須在SI模塊的配合下完成,可以將SI模塊和MCC分開調(diào)試。假如有已經(jīng)調(diào)試完成的SCC(SMC也可以)單元的驅(qū)動(dòng)程序,就可以將SCC的數(shù)據(jù)流從I/O腳定向到SI模塊上,如圖5所示。測(cè)試SCC經(jīng)過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的路由表初始化稍有不同。

g.JPG

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)用需求的科研人員有所幫助。


上一頁 1 2 3 下一頁

關(guān)鍵詞: 通信

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉