<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > MPC860的HDLC通道驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn)

          MPC860的HDLC通道驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2010-01-13 來(lái)源:網(wǎng)絡(luò) 收藏

            2 及其SCC接口
              是美國(guó)摩托羅拉公司生產(chǎn)的一種通用的32位嵌入式通信控制器。它是以RISC體系結(jié)構(gòu)為基礎(chǔ)并在片內(nèi)集成有微處理器和多種外設(shè)接口的專(zhuān)用通信芯片,具有強(qiáng)大的通信和網(wǎng)絡(luò)協(xié)議處理能力,可廣泛應(yīng)用于各種通信和網(wǎng)絡(luò)產(chǎn)品中。它主要由嵌入式PowerPC內(nèi)核、系統(tǒng)接口單元(SIU)和通信處理器模塊(CPM)組成。它的CPM提供了豐富的串行通道,包括四個(gè)串行通信控制器(SCC)、兩個(gè)串行管理單元(SMC)、一個(gè)串行外圍接口(SPI)和一個(gè)I2C接口。
            

          本文引用地址:http://www.ex-cimer.com/article/202570.htm

            其中,SCC是最強(qiáng)大的通信設(shè)備。四個(gè)SCC端口通過(guò)相應(yīng)的配置可支持不同的協(xié)議,如以太網(wǎng)、IEEE802.3 10M局域網(wǎng)、、appleTalk、通用異步收發(fā)協(xié)議UART、同步UART、串行紅外線接口IrDA、二進(jìn)制同步通信BISYNC及透明發(fā)送等網(wǎng)絡(luò)協(xié)議,可以分別用于網(wǎng)橋、路由器、網(wǎng)關(guān)、LAN、WAN及專(zhuān)用網(wǎng)。因此,本文將其中的一個(gè)SCC端口配置成模式用在VOIP信令網(wǎng)關(guān)中,為信令網(wǎng)和網(wǎng)關(guān)之間提供鏈路支持。SCC數(shù)據(jù)通信基本流程如圖2所示。

            當(dāng)處于接收狀態(tài)時(shí),數(shù)據(jù)首先進(jìn)入FIFO。當(dāng)接收FIFO充滿時(shí),CPM向SCC發(fā)請(qǐng)求,并由CPM RISC處理該請(qǐng)求,然后通過(guò)寫(xiě)SDMA將數(shù)據(jù)按照緩存描述符的指示存入指定的緩存中。緩存描述符是進(jìn)行數(shù)據(jù)收發(fā)的基礎(chǔ),它由三個(gè)部分組成:頭16個(gè)比特用來(lái)描述收發(fā)的狀態(tài)模式;接下來(lái)是數(shù)據(jù)長(zhǎng)度描述符,表示即將存入緩存的數(shù)據(jù)長(zhǎng)度;最后是數(shù)據(jù)指針,它指向即將存入數(shù)據(jù)的緩存。發(fā)送過(guò)程與接收過(guò)程基本上是一樣的,通過(guò)緩存描述符,能夠正確讀寫(xiě)緩存。



          關(guān)鍵詞: HDLC MPC 860 驅(qū)動(dòng)程序

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();