《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于MPC8280 多通道控制器驅動的研究與實現
基于MPC8280 多通道控制器驅動的研究與實現
摘要: 介紹了嵌入式PowerPC 處理器MPC8280 和多通道控制器的主要特征。MPC8280 具有8 個TDM 接口,每個TDM 均支持E1/T1 接口。多通道控制器可以使MPC8280 最多支持256路獨立的HDLC 或者透明傳輸通道。通過多通道控制器可以方便地實現時分復用數據的復用和解復用。本文重點研究了多通道控制器的數據結構組織方式及驅動程序的實現過程,給出了主要功能函數的設計流程,并在VxWorks5.5 操作系統上進行了綜合測試。
Abstract:
Key words :

 

1 MPC8280 處理器特性及MCC 概述

MPC8280 是一款集成了高性能的PowerPC? RISC 微處理器和諸多外圍通信控制器的多用途通信處理器,在通信和網絡系統有較為廣泛的應用。

MPC8280 模塊組成如圖1 所示。其中,G2_LE 內核是MPC603e 微處理器的嵌入式版本,具有16KB 的指令緩存和16KB 的數據緩存;系統接口單元SIU 主要完成系統復位、中斷管理、時鐘配置、總線接口及內存控制等功能;通信處理模塊CPM 包括一個32 位的RISC 處理器CP,三個全雙工的快速串行通信控制器FCC,兩個多通道控制器MCC,四個全雙工的串行通信控制器SCC,兩個全雙工的串行管理控制器SMC,SPI 接口,I2C 總線控制器等。時隙分配器可將SCC、FCC、SMC、MCC 的數據復用到八個時分復用接口TDM。


圖1 MPC8280 模塊結構圖

MPC8280 有兩個具有時隙分配器的串行接口,分別為SI1 和SI2。每個SI 有四個時分復用接口。SI1 和SI2 分別對應為TDMa1,TDMb1,TDMc1,TDMd1 和TDMa2,TDMb2,TDMc2,TDMd2。SI 可以根據SIRAM 的配置將TDM 的某一時隙路由到特定的接口(如TDMa1 的第2個時隙到MCC1 的第3 個通道,TDMb2 的第1 個時隙到FCC1 等)。

一個MCC 可以支持最多128 路獨立的時分串行通道。MPC8280 具有兩個MCC,每個MCC連接到一個SI。MCC 的數據流可以通過SI 的四個時分復用接口TDM 中的任何一個進行數據傳輸。

一個MCC 中的128 個通道以32 個為一組連接到某一個TDM 接口上。MCC1 的通道(0-127)只能連接到SI1 上,MCC2 的通道(128-255)只能連接到SI2 上。MCC 的每一個通道都可獨立配置為不同于其它通道的工作模式。通過配置SI 和SIRAM 可以將TDM 數據中的時隙路由到特定的MCC 通道。

每個MCC 都具有以下特性:最多達128 路獨立的HDLC 或者透明傳輸通道,或者64 路SS7 通道;獨立的發送和接收路由;每一通道都可支持HDLC、透明傳輸或者SS7 協議。

2 MCC 操作概述

MPC8280 的內核G2_LE 和外部的通信是由CPM 來完成。CP 根據相應的接口控制寄存器配置來執行數據發送或接收操作,操作完成后再向G2_LE 內核的中斷寄存器寫入中斷值。

G2_LE 內核根據中斷值調用相應的中斷處理函數,由此完成數據交互過程。

每一個MCC 能通過相應的SI 連接到TDM 接口上。一旦SI 的某個TDM 被配置為包含有MCC 通道的時隙并且TDM 開始工作,CP 就將MCC 通道發送緩沖區內的數據復制到發送FIFO內,然后SI 在時鐘驅動下將MCC 通道的發送FIFO 內數據發送到TDM 接口上,或者將數據從TDM 接口上接收下來并存入到MCC 通道的接收FIFO 內,然后CP 再將接收FIFO 內的數據復制到MCC 通道的接收緩存區內。

CP 通過一系列與MCC 相關的數據結構來實現對MCC 通道FIFO 的管理。MCC Globalparameters 管理著MCC 模塊的各個通道,以及操作這些通道所用到的門限參數和基址指針的配置。每個通道還有一組channel-specific parameters 和channel-extra parameters,包含了該通道的協議狀態信息和指向該通道的接收及發送緩存描述符的指針。

Channel-specific parameters 會因該通道所工作的協議不同而作不同的解釋。如果TDM的配置含有MCC 超通道(super-channel)時隙的話還要用到超通道表(Super-channelTable)。

● global Parameters MCC1 的global parameters 適用于通道0—127,MCC2 的global parameters 適用于通道128—255,分別位于相對于DPRAM 基址偏移0x8700 和0x8800 處。

●Channel-specific Parameters 這些參數僅局限于相應的MCC 通道,位于相對于DPRAM 基址偏移64×CH_NUM 處。

● Channel Extra Parameters 包含相應通道緩存描述符的基址和指針。位于相于對DPRAM 基址偏移XTRABASE+8×CH_NUM 處。其中XTRABASE 是MCC Global Parameters 之一。

● Super-channel Table 僅當在SIRAM 中配置了超通道時使用。位于相對于DPRAM基址偏移SCTPBASE 處。其中SCTPBASE 是MCC Global Parameters 之一。由于我們的應用場合未使用到超通道,所以未對該參數進行配置。

● BD Tables 位于外部存儲器。接收通道的緩存描述符表位于相對于DPRAM 基址偏移MCCBASE+8×RBASE 處。發送通道的緩存描述符表位于相對于DPRAM 基址偏移MCCBASE+8×TBASE 處。MCCBASE 是Global Parameters 之一,RBASE/TBASE 是Channel Extra Parameters之一。

● Interrupt Queues 位于外部存儲器。共有一個發送中斷表和一至四個接收中斷表。TINTBASE 指向發送中斷表,RINTBASE指向接收中斷表。TINTBASE 和RINTBASE均為Global Parameters。

3 MCC 驅動的設計與實現

該驅動運行在嵌入式操作系統VxWorks5.5 之上,開發環境為Tornado 2.2.1 for PPC。

MCC 驅動主要分為以下幾部分:

3.1 MCC 驅動初始化

主要完成 MCC 模塊的初始化,具體內容包括:為MCC 控制數據結構分配內存,并根據初始化參數初始化數據結構的相關內容;初始化MCC 相關的控制寄存器;創建接收消息隊列以及相應接收處理任務;最后啟動MCC 進行數據收發。

(1) 分配并初始化MCC 操作所需的內存空間。

申請數據緩沖區、緩沖區描述符及循環中斷表所需的存儲空間。由于MCC 通過DMA 與主存進行發送數據和接收數據的交換,所以內存分配時必須要考慮緩存一致性問題,否則程序運行時可能出現較為嚴重的錯誤。VxWorks 提供了一個函數cacheDmaMalloc,可以為DMA 設備或者驅動程序分配緩存安全的內存空間。

(2) 初始化循環中斷表。

將循環中斷表中的條目初始化為 0x00000000,并將最后一個條目初始化為0x40000000以標記結束位置。

(3) 配置SI 寄存器和SIRAM。

設置每組MCC 通道所使用的TDM,并且配置SIRAM 以建立TDM 時隙和MCC 通道的對應關系。

(4) 初始化MCC Global Parameters。主要包括:

● MCCBASE MCC 基址指針,指向位于外部存儲器的緩沖區描述符表,為最大512KB 的連續空間。

● MRBLR 最大接收緩沖區長度。必須是8 整數倍。

●GRFTHR 全局接收幀門限。用于減少由于頻繁產生中斷而造成的開銷。

● GRFCNT 全局接收幀計數。初始化為GRFTHR。

● TINTBASE 多通道發送循環中斷表基址指針。

● TINTPTR 指向可用的發送循環中斷表條目。初始化為TINTBASE。

● SCTPBASE 指向超通道表。

● RINTBASE 多通道接收循環中斷表基址指針。

(5) 初始化緩沖區描述符BD 和數據緩沖區。

BD 表位于外部存儲器,其組織結構如圖2 所示。


圖 2 MCC 緩沖區描述符結構組織圖

(6) 安裝數據接收回調函數。

(7) 初始化所使用通道的MCC Channel-specific Parameters。

(8) 初始化所使用通道的MCC Channel-extra Parameters。

(9) 如使用了超通道則初始化Super-channel Table。

(10) 配置系統接口單元SIU,根據需要設置與MCC 相關的中斷并安裝中斷處理函數。

(11) 配置TDM 所用到的并行接口和時鐘信號。

(12) 執行MCC INIT 命令。

(13) 使能TDM。

3.2 中斷處理

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

3.3 接收數據

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

3.4 發送數據

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

4 結束語

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

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

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          日韩视频久久| 91久久久久久国产精品| 欧美日韩在线亚洲一区蜜芽| 91久久精品国产91久久| 欧美日韩三级一区二区| 国产精品久久久久国产a级| 国产日本欧美视频| 亚洲人久久久| 久久一综合视频| 国产精品一区二区久久久久| 亚洲国产精品一区二区www在线| 一本色道久久88综合日韩精品| 久热国产精品| 国产在线播放一区二区三区| 欧美99久久| 亚洲国产精品嫩草影院| 欧美国产亚洲精品久久久8v| 亚洲精品乱码久久久久久日本蜜臀| 国产精品网站在线观看| 免费一区二区三区| 欧美—级高清免费播放| 尤物九九久久国产精品的分类| 一区二区三区三区在线| 一区二区日韩欧美| 99re6热在线精品视频播放速度| 在线欧美日韩精品| 亚洲欧洲日本国产| 欧美日韩黄色大片| 欧美影院久久久| 欧美不卡视频一区发布| 久久gogo国模啪啪人体图| 韩国成人福利片在线播放| 久久国产精品99精品国产| 亚洲欧洲精品一区二区三区| 欧美大片第1页| 99热这里只有精品8| 黑人中文字幕一区二区三区| 欧美精品一区三区在线观看| 国产精一区二区三区| 欧美一区二区视频观看视频| 欧美精品在线视频| 国产女主播在线一区二区| 在线成人av| 亚洲国产精品免费| 亚洲视频在线视频| 亚洲国产一区视频| 麻豆视频一区二区| 亚洲福利在线看| 激情一区二区| 性视频1819p久久| 亚洲一区国产精品| 欧美一区二区三区在| 欧美日本不卡高清| 一本久久知道综合久久| 欧美精品激情在线观看| 欧美精品九九99久久| 欧美日韩成人综合在线一区二区| 欧美午夜剧场| 欧美专区中文字幕| 欧美日本在线观看| 欧美凹凸一区二区三区视频| 国产精品美女主播在线观看纯欲| 欧美激情精品久久久久久变态| 亚洲一区二区在线免费观看| 亚洲电影在线观看| 欧美成人精品1314www| 99精品久久免费看蜜臀剧情介绍| 国产精品一区二区久久久久| 亚洲免费观看在线观看| 久久另类ts人妖一区二区| 久久麻豆一区二区| 欧美一区永久视频免费观看| 欧美日本国产视频| 国产欧美精品xxxx另类| 一区二区三区国产在线| 欧美精品一区在线播放| 国产精品久久久久久久7电影| 国产精品成人一区二区| 国内精品嫩模av私拍在线观看| 久久久综合香蕉尹人综合网| 老司机午夜精品视频在线观看| 亚洲风情亚aⅴ在线发布| 欧美三级视频在线播放| 一区二区三区国产在线观看| 99v久久综合狠狠综合久久| 欧美精选午夜久久久乱码6080| 欧美成人免费全部观看天天性色| 欧美日韩视频在线观看一区二区三区| 日韩视频一区二区三区在线播放免费观看| 国产毛片久久| 亚洲深夜福利在线| 亚洲免费福利视频| 久久天天躁夜夜躁狠狠躁2022| 欧美不卡视频| 一本色道久久综合亚洲精品不| 欧美国产亚洲精品久久久8v| 久久久久久久久久久久久9999| 欧美视频在线不卡| 国产精品三级久久久久久电影| 欧美日韩国产综合视频在线观看| 日韩小视频在线观看专区| 久久国产欧美精品| 亚洲精品视频免费在线观看| 亚洲国产二区| 伊人精品视频| 国产精品99久久久久久久久| 欧美婷婷久久| 亚洲六月丁香色婷婷综合久久| 欧美视频国产精品| 老鸭窝毛片一区二区三区| 欧美区一区二| 一区二区三区国产精品| 日韩视频在线免费观看| 亚洲综合精品| 亚洲人精品午夜在线观看| 亚洲国产毛片完整版| 国产色综合天天综合网| 午夜精品久久久久久久久久久| 欧美成人资源| 国产欧美日韩另类一区| 久久婷婷蜜乳一本欲蜜臀| 久久久国产精品一区二区中文| 欧美在线日韩精品| 国产精品网站在线观看| 亚洲男女自偷自拍图片另类| 狂野欧美一区| 亚洲欧美在线免费| 亚洲人成精品久久久久| 亚洲国产日韩在线| 欧美国产成人精品| 欧美一区二区国产| 国内外成人免费激情在线视频网站| 亚洲一区二区在线播放| 国产精品成人aaaaa网站| 亚洲天堂av综合网| 亚洲精品自在在线观看| 久久国产精品一区二区三区| 欧美呦呦网站| 欧美香蕉大胸在线视频观看| 亚洲网友自拍| 亚洲精品一区二区网址| 久久久人成影片一区二区三区| 国产日韩av高清| 国产欧美精品| 亚洲大片一区二区三区| 久久躁狠狠躁夜夜爽| 亚洲欧美在线播放| 欧美日产国产成人免费图片| 久久国产乱子精品免费女| 国产精品v一区二区三区| 亚洲嫩草精品久久| 在线看片日韩| 欧美日韩一区三区| 亚洲精品资源美女情侣酒店| 在线国产亚洲欧美| 伊人精品久久久久7777| 狠狠色综合播放一区二区| 亚洲黄色一区二区三区| 一本色道久久88亚洲综合88| 一区二区激情小说| 欧美影院在线| 亚洲黄色成人网| 久久婷婷国产综合尤物精品| 久久国产精品色婷婷| 亚洲乱码视频| 国产精品视频免费观看www| 欧美成人精品h版在线观看| 欧美黑人国产人伦爽爽爽| 国产精品久久久久免费a∨大胸| 亚洲国产日韩一区二区| 久久精品官网| 欧美风情在线观看| 91久久在线视频| 99精品久久免费看蜜臀剧情介绍| 欧美视频在线观看 亚洲欧| 欧美极品色图| 亚洲欧美激情视频在线观看一区二区三区| 亚洲一级二级| 久久综合亚州| 亚洲尤物影院| 国产亚洲观看| 亚洲第一毛片| 欧美日韩天天操| 欧美色图麻豆| 国产日韩欧美综合在线| 亚洲欧美成人精品| 国产精品区一区二区三区| 亚洲欧美日韩国产综合精品二区| 亚洲综合另类| 欧美a级片网站| 久久精品国产一区二区三区| 亚洲图片欧洲图片av| 国产精品成人免费精品自在线观看| 国产一区二区日韩精品| 国产农村妇女精品一区二区| 99爱精品视频| 久久视频精品在线| 日韩一本二本av| 国产亚洲欧美日韩美女| 中日韩午夜理伦电影免费| 在线观看亚洲一区| 嫩草伊人久久精品少妇av杨幂| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲精品激情| 在线观看亚洲视频啊啊啊啊| 欧美激情亚洲一区| 欧美激情精品久久久久久免费印度| 久久久久久尹人网香蕉| 午夜一区在线| 亚洲国产日韩精品| 亚洲国产精品久久久久秋霞不卡| 国产精品日韩一区二区| 国产精品影院在线观看| 麻豆精品精华液| 99精品国产99久久久久久福利| 在线日韩电影| 国产一区二区高清不卡| 香蕉国产精品偷在线观看不卡| 欧美性大战久久久久久久蜜臀| 麻豆精品视频在线观看| 一区二区三区回区在观看免费视频| 美女999久久久精品视频| 国内精品国语自产拍在线观看| 欧美精品国产精品日韩精品| 欧美成人免费全部| 免费久久精品视频| 国产有码一区二区| 国模私拍一区二区三区| 日韩午夜电影在线观看| 亚洲视频在线播放| 亚洲精品小视频在线观看| 久久亚洲综合色| 欧美电影美腿模特1979在线看| 国产精品草莓在线免费观看| 亚洲午夜精品久久久久久app| 欧美婷婷久久| 久久在线免费视频| 国产欧美日韩一区二区三区在线| 在线日韩中文字幕| 欧美日韩精品一区| 国产在线观看精品一区二区三区| 亚洲欧美在线aaa| 久久国产精品久久w女人spa| 亚洲在线免费观看| 欧美肉体xxxx裸体137大胆| 亚洲高清不卡在线观看| 欧美日韩一二三四五区| 欧美三级电影精品| 免费毛片一区二区三区久久久| 午夜精品久久久久99热蜜桃导演| 久久久国产精品一区| 亚洲欧美伊人| 欧美一级理论片| aa亚洲婷婷| 国产精品一区二区视频| 亚洲精品麻豆| 亚洲国产精品久久| 国产小视频国产精品| 国产在线成人| 亚洲性视频网站| 亚洲国产黄色片| 老司机免费视频一区二区| 亚洲美女在线看| 久久久91精品国产一区二区三区| 欧美视频在线看| 精品电影一区| 欧美日韩激情网| 一区二区三区四区五区视频| 欧美成人一区二区在线| 一区二区欧美日韩| 影音先锋亚洲电影| 欧美激情亚洲视频| 国产精品日日摸夜夜摸av| 亚洲欧美变态国产另类| 亚洲一区二区在线免费观看视频| 亚洲高清123| 亚洲午夜女主播在线直播| 伊人精品久久久久7777| 免费观看成人www动漫视频| 在线免费观看成人网| 午夜亚洲精品| 在线观看av不卡| 夜夜狂射影院欧美极品| 欧美11—12娇小xxxx| 欧美一区二区女人| 亚洲国产日韩欧美在线动漫| 亚洲欧美日本日韩| 久久精品国产久精国产爱| 亚洲精品自在在线观看| 国内不卡一区二区三区| 亚洲自拍电影| 欧美成年人视频网站| 欧美性猛交xxxx乱大交退制版| 欧美视频在线看| 欧美伊人久久久久久午夜久久久久| 国产精品一区二区女厕厕| 欧美日韩高清在线| 亚洲欧洲日韩综合二区| 亚洲一区二区三区免费在线观看| 亚洲欧洲一区二区三区久久| 欧美性大战久久久久| 国产精品成人一区二区三区夜夜夜| 欧美成人免费全部观看天天性色| 久久激情五月婷婷| 亚洲国产天堂网精品网站| 欧美一区久久| 亚洲成人在线免费| 欧美黄污视频| 黄页网站一区| 在线观看日韩www视频免费| 久久久久中文| 亚洲欧美国产77777| 欧美日韩国产专区| 午夜在线精品| 国产精品一区二区久久久久| 夜夜精品视频| 午夜在线视频一区二区区别| 亚洲乱码精品一二三四区日韩在线| 欧美日韩国产成人在线免费| 激情综合亚洲| 国产精品v欧美精品v日本精品动漫| 亚洲一区二区在线观看视频| 亚洲国产三级| 国产日韩在线一区二区三区| 国产精品日韩电影| 在线一区二区视频| 午夜亚洲伦理| 国产精品―色哟哟|