新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于MPC8280 多通道控制器驅(qū)動的研究與實現(xiàn)

基于MPC8280 多通道控制器驅(qū)動的研究與實現(xiàn)

作者: 時間:2010-12-07 來源:網(wǎng)絡(luò) 收藏

3.2 中斷處理

當(dāng)一個MCC 產(chǎn)生中斷請求時,CP 將中斷信息寫入循環(huán)中斷表,然后修改T/RINTPTRR并設(shè)置MCCM 寄存器中相應(yīng)的TINT 或者RINTx 比特。當(dāng)MCC 中斷到達內(nèi)核后由內(nèi)核調(diào)用中斷處理函數(shù)。中斷處理函數(shù)首先清除中斷,然后根據(jù)MCCE[RINTx]和MCCE[TINT]的值來處理相應(yīng)的循環(huán)中斷表。

3.3 接收數(shù)據(jù)

數(shù)據(jù)接收程序通過一個先進先出的消息隊列和中斷處理程序相配合來完成數(shù)據(jù)的接收。當(dāng)MCC 的某個接收到數(shù)據(jù)后會設(shè)置相應(yīng)的中斷事件比特位。之后中斷處理函數(shù)將收到的數(shù)據(jù)進行封裝后發(fā)送到消息隊列。數(shù)據(jù)接收任務(wù)從消息隊列接收數(shù)據(jù),然后根據(jù) MCC 號調(diào)用相應(yīng)的由用戶安裝的數(shù)據(jù)接收回調(diào)函數(shù)。最后由回調(diào)函數(shù)完成數(shù)據(jù)的處理。

3.4 發(fā)送數(shù)據(jù)

數(shù)據(jù)的發(fā)送過程由通信協(xié)處理器完成。數(shù)據(jù)發(fā)送函數(shù)將所發(fā)送的數(shù)據(jù)復(fù)制到所使用通道的緩沖區(qū),然后設(shè)置相應(yīng)的控制寄存器,由通信協(xié)處理器完成數(shù)據(jù)從緩沖區(qū)到線路接口的發(fā)送。數(shù)據(jù)發(fā)送完成后通信協(xié)處理器設(shè)置中斷寄存器MCCE 相應(yīng)的RINT 比特位。并由中斷處理程序通知數(shù)據(jù)發(fā)送函數(shù)數(shù)據(jù)發(fā)送已完成。

4 結(jié)束語

程序在 處理器的VxWorks5.5 操作系統(tǒng)上進行了測試。MCC 通道工作在Transparent 模式下,對多種數(shù)據(jù)模式進行長時間的數(shù)據(jù)收發(fā)表明該能較穩(wěn)定地運行。

由于該的中斷處理函數(shù)檢查所有循環(huán)中斷表的條目并將收到的數(shù)據(jù)從 MCC 通道的數(shù)據(jù)緩存發(fā)送到消息隊列,由此引入了較大的處理延遲,在數(shù)據(jù)量較大時甚至有可能會造成數(shù)據(jù)丟失。改進的關(guān)鍵在于中斷處理函數(shù)和數(shù)據(jù)接收函數(shù)的配合。作為一種改進方法可考慮在中斷處理函數(shù)內(nèi)僅執(zhí)行那些必須的操作,如清除中斷,重新設(shè)置相關(guān)寄存器參數(shù)等。將數(shù)據(jù)處理放在另外一個單獨的任務(wù)中去執(zhí)行,并盡量減少數(shù)據(jù)搬移次數(shù),優(yōu)化所執(zhí)行的操作等。最終在程序運行的速度和所完成的功能之間作合適的折中,從而獲得所需的性能。

本文引用地址:http://butianyuan.cn/article/156903.htm

上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

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

關(guān)閉