新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于MPC8280 多通道控制器驅動的研究與實現

        基于MPC8280 多通道控制器驅動的研究與實現

        作者: 時間:2010-12-07 來源:網絡 收藏

        3.2 中斷處理

        當一個MCC 產生中斷請求時,CP 將中斷信息寫入循環中斷表,然后修改T/RINTPTRR并設置MCCM 寄存器中相應的TINT 或者RINTx 比特。當MCC 中斷到達內核后由內核調用中斷處理函數。中斷處理函數首先清除中斷,然后根據MCCE[RINTx]和MCCE[TINT]的值來處理相應的循環中斷表。

        3.3 接收數據

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

        3.4 發送數據

        數據的發送過程由通信協處理器完成。數據發送函數將所發送的數據復制到所使用通道的緩沖區,然后設置相應的控制寄存器,由通信協處理器完成數據從緩沖區到線路接口的發送。數據發送完成后通信協處理器設置中斷寄存器MCCE 相應的RINT 比特位。并由中斷處理程序通知數據發送函數數據發送已完成。

        4 結束語

        程序在 處理器的VxWorks5.5 操作系統上進行了測試。MCC 通道工作在Transparent 模式下,對多種數據模式進行長時間的數據收發表明該能較穩定地運行。

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

        本文引用地址:http://www.104case.com/article/156903.htm

        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 徐水县| 甘泉县| 红河县| 通榆县| 如东县| 宝山区| 合阳县| 松原市| 邳州市| 资中县| 合江县| 大荔县| 合阳县| 米脂县| 云南省| 陆河县| 兰考县| 五大连池市| 元阳县| 保康县| 射阳县| 赤城县| 大英县| 巴彦淖尔市| 翁源县| 尼勒克县| 庆城县| 宝清县| 阿克陶县| 漳平市| 中西区| 广州市| 囊谦县| 榆树市| 平邑县| 罗田县| 大荔县| 隆子县| 江达县| 施甸县| 子长县|