• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關(guān) 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 基于EPA和PTS的8XC196MC/MD的串行通信

    基于EPA和PTS的8XC196MC/MD的串行通信

    ——
    作者:中國石油大學 劉素麗 時間:2007-11-16 來源:《單片機與嵌入式系統(tǒng)應(yīng)用》 收藏

            目前,在眾多應(yīng)用領(lǐng)域中,出現(xiàn)了許多所謂"智能儀表"和"智能儀器",這些系統(tǒng)大多是以為核心的計算機應(yīng)用系統(tǒng)。在眾多的中,Intel公司的8XC196MC/MD可謂其中的佼佼者。

            它是16位中功能最強大的單片機之一,幾乎可以勝任各種測控工作,尤其在電機控制中備受青睞。然而由于8X196MC/MD單片機沒有提供硬件的通用異步收發(fā)器(UART),這給用慣了UART的用戶帶來了一些不便。但利用專門的模式,不僅可以實現(xiàn),而且操作更加靈活,效率更高,CPU的開銷也更小;既可以實現(xiàn)異步(ASIO)功能,也可以實現(xiàn)同步(SSIO)功能;波特率由建立,包括校驗位和停止位在內(nèi),收發(fā)數(shù)據(jù)格式可達16位/字符。

            1 概述[1-2]

            1.1 及其工作原理

            EPA(Event Processor Array,事件處理器陣列),類似于HSIO,用來處理與時間有關(guān)的輸入和輸出事件,但比其更靈活、更高效。在EPA中,主要提供兩類模塊--捕獲/比較模塊和獨立的比較模塊,用于實現(xiàn)捕獲和比較兩種功能。每個模塊都與指定的一個輸入/輸出引腳相關(guān)聯(lián),支持其高速輸入輸出功能,所有模塊都能產(chǎn)生中斷。"捕獲"用來捕獲產(chǎn)生于引腳上的跳變事件,包括正跳變、負跳變和正負跳變,并記錄這些事件發(fā)生的時刻;"比較"是和預(yù)定的時間作比較,時間一到即執(zhí)行以下選定的輸出功能:復(fù)位定時器,啟動一次A/D轉(zhuǎn)換,為波形發(fā)生器產(chǎn)生一個重裝載觸發(fā)信號,改變輸出引腳狀態(tài)等。

            1.2 及其工作原理

            PTS(Peripheral Transaction Server,外設(shè)事務(wù)服務(wù)器),是一種特殊的中斷響應(yīng)方式。與普通中斷響應(yīng)相比,PTS響應(yīng)把同一個中斷映射到相應(yīng)的PTS通道。該通道產(chǎn)生一個PTS周期,它就像DMA周期那樣插入到正常指令流中,不需要額外的軟件開銷,因此其CPU開銷要比一般的中斷響應(yīng)少得多。PTS有一個PTS向量表,其排列次序和優(yōu)先級順序與普通中斷向量相同,但去掉了NMI、非法操作碼和軟件陷阱3種中斷。除了NMI之外,所有的PTS通道的優(yōu)先級高于任何一個普通中斷。每個PTS向量都指向一個PTS控制塊(PTSCB),控制塊說明了應(yīng)執(zhí)行的微代碼。它必須駐留在內(nèi)部RAM空間內(nèi),每個控制塊包含8個字節(jié),其首址應(yīng)能被8除盡。

            8XC196MC/MD有4種PTS工作方式,要實現(xiàn)需使用其SIO(串行輸入/輸出)方式。其中SIO有兩種方式:ASIO(異步串行I/O)和SSIO(同步串行I/O)。要工作于某一方式必須建立相應(yīng)的控制塊(PTSCB)。與SIO方式相對應(yīng)的控制塊有兩個,如圖1所示。此處只對BAUD和SAMPTIME加以說明。 

     
      

            BAUD(LO和HI):存放控制SIO運行波特率的16位數(shù)據(jù)。異步方式下,由下式計算:FXTAL/(4

    linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 于田县| 藁城市| 临猗县| 嘉定区| 英吉沙县| 眉山市| 秦皇岛市| 巴青县| 清徐县| 白朗县| 锡林郭勒盟| 和平县| 明水县| 辉南县| 瑞安市| 衢州市| 肇州县| 新绛县| 西和县| 安义县| 景东| 溧水县| 林西县| 夏河县| 东乡族自治县| 枣庄市| 祁东县| 西峡县| 拜城县| 商河县| 南康市| 静海县| 麟游县| 洱源县| 婺源县| 萨嘎县| 乌审旗| 枝江市| 三河市| 惠安县| 水富县|