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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 通用異步收發(fā)芯片SCC2691的原理及應(yīng)用

          通用異步收發(fā)芯片SCC2691的原理及應(yīng)用

          ——
          作者:清華大學(xué) 于立萍 煙臺(tái)職業(yè)學(xué)院 王 燕 時(shí)間:2007-08-31 來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用 收藏

            摘要:介紹Philips公司新推出的異步收發(fā)芯片SCC2691的功能與特點(diǎn)。包括SCC2691的引腳定義、主要功能、常用寄存器等內(nèi)容。在此基礎(chǔ)上,結(jié)合實(shí)際工作經(jīng)驗(yàn),給出一個(gè)軟、硬件設(shè)計(jì)的實(shí)例。

              關(guān)鍵詞:

          引 言

          1 概 述

            SCC2619是Philips公司推出的高集成、低能耗的全雙工通用異步收發(fā)器UART。該芯片的接收與發(fā)送速度可以分別定義,接收器采用三倍緩沖方式,在中斷驅(qū)動(dòng)系統(tǒng)中大大減少了CPU處理中斷的次數(shù)。SCC2691在收、發(fā)雙方之間提供了一種握手方式,當(dāng)接收方的緩沖區(qū)已滿(mǎn)時(shí),能自動(dòng)使遠(yuǎn)程發(fā)送方的發(fā)送失效。除此之外,SCC2691還具有以下特性:

            △可編程的數(shù)據(jù)格式為5~8位數(shù)據(jù)位;可選擇的奇偶校驗(yàn)位;可編程的停止位。

            △16位可編程的計(jì)數(shù)器/定時(shí)器。

            △收發(fā)器的波特率可分別按以下方式定義:從50~115.2K共18種固定的波特率;由計(jì)數(shù)器/定時(shí)器驅(qū)動(dòng)的非標(biāo)準(zhǔn)自定義的波特率;外部時(shí)鐘的1倍或16倍頻。

            △奇偶校驗(yàn)、幀錯(cuò)誤、溢出錯(cuò)誤檢測(cè)。

            △可編程的通道方式。

            △7個(gè)中斷源,但同時(shí)僅有一種中斷輸出。

          2 引腳定義

            SCC2691采用SO、PLCC、DIP等形式封裝。主要引腳功能定義如下。

            D0~D7:數(shù)據(jù)總線(xiàn)。在CPU和UART之間所有的數(shù)據(jù)、命令、狀態(tài)信息等都是通過(guò)數(shù)據(jù)總線(xiàn)進(jìn)行傳遞的。在CEN信號(hào)是有效低電平時(shí),發(fā)送的方向由WRN和RDN兩個(gè)讀寫(xiě)控制決定;當(dāng)CEN為高電平時(shí),數(shù)據(jù)總線(xiàn)三態(tài)。

            CEN:芯片使能引腳,低電平有效。低電平使能時(shí),在CPU與UART之間通過(guò)D0~D7傳遞的數(shù)據(jù)受   WRN、RDN和A0~A2等引腳控制;高電平時(shí),使UART與CPU隔離。

            WRN:寫(xiě)選通,低電平有效。當(dāng)CEN為低電平時(shí),WRN上的低電平使數(shù)據(jù)總線(xiàn)D0~D7上的數(shù)據(jù)被送往由地址A0~A2選中的寄存器中。

            RDN:讀選通,低電平有效。當(dāng)CEN為低電平時(shí),RDN上的低電平將被地址A0~A2選中的寄存器的內(nèi)容送往數(shù)據(jù)總線(xiàn)D0~D7。

            A0~A2:地址輸入端。選擇執(zhí)行讀寫(xiě)操作的UART寄存器。

            RESET:復(fù)位輸入端,高電平有效。復(fù)位時(shí)將清除UART中的狀態(tài)寄存器(SR)、中斷屏蔽寄存器(IMR)、中斷狀態(tài)寄存器(ISR),設(shè)置方式指針指向方式寄存器1(MR1),使發(fā)送和接收失效,并且引腳TxD置為高電平。

            INTRN:中斷請(qǐng)求輸出端,低電平有效。可從七個(gè)中斷源中選擇一個(gè)作為UART的中斷輸出。CPU可以讀中斷狀態(tài)寄存器(ISR),以判斷七個(gè)中斷源的狀態(tài)。該引腳是漏極開(kāi)路輸出,需要接上拉電阻。

            X1/CLK:晶體連接或外部時(shí)鐘輸入端。通常采用3.6864MHz的晶體。

            X2:晶體連接端。若未連接晶體,最好使該引腳懸空。

            RxD:串行數(shù)據(jù)輸入端。

            TxD:串行數(shù)據(jù)輸出端。當(dāng)發(fā)送器空閑、不使能或者UART工作在本地循環(huán)狀態(tài)下,該引腳輸出高電平。

            MPO:多功能輸出端。通過(guò)對(duì)輔助控制寄存器(ACR)進(jìn)行編程,可以選擇以下8種功能作為該引腳的輸出。

           ?、?RTSN:請(qǐng)求發(fā)送,低電平有效??赏ㄟ^(guò)編程命令寄存器(CR)使該引腳使能,也可以設(shè)置方式寄存器(MR),當(dāng)發(fā)送方結(jié)束發(fā)送或接收方的接收緩沖區(qū)已滿(mǎn)時(shí)自動(dòng)復(fù)位。

           ?、?C/TO:計(jì)數(shù)/定時(shí)器輸出。

           ?、?TxC1X:發(fā)送器頻率的1倍頻輸出。

           ?、?TxC16X:發(fā)送器頻率的16倍頻輸出。

           ?、?RxC1X:接收器頻率的1倍頻輸出。

           ?、?RxC16X:接收器頻率的16倍頻輸出。

           ?、?TxRDY:表示發(fā)送器保存寄存器(THR)空。低電平有效(漏極開(kāi)路輸出)。

           ?、?RxRDY/FFULL:標(biāo)識(shí)接收器緩沖區(qū)非空或已滿(mǎn)。低電平有效(漏極開(kāi)路輸出)。

            MPI:多功能輸入引腳。該引腳可定義為以下3種功能:

            ① GPI:通用引腳。該引腳上的跳變或電平狀態(tài)可以作為中斷源反映到中斷狀態(tài)寄存器(ISR)的相應(yīng)位。

           ?、?CTCLK:計(jì)數(shù)器/定時(shí)器的外部輸入時(shí)鐘。

           ?、?RTCLK:接收器或發(fā)送器的外部時(shí)鐘輸入。設(shè)置時(shí)鐘選擇寄存器(CSR)可選擇輸入的1倍頻或16倍頻作為接收和發(fā)送的頻率。

          3 主要功能

          (1)中斷控制

            以下內(nèi)部事件的發(fā)生可以使能中斷輸出引腳(INTRN):發(fā)送保持寄存器(THR)準(zhǔn)備好;發(fā)送轉(zhuǎn)移寄存器(TSR)空;接收保持寄存器(RHR)準(zhǔn)備好或已滿(mǎn);接收到break信號(hào)的開(kāi)始或結(jié)束;計(jì)數(shù)器達(dá)到定義的計(jì)數(shù)值;MPI端腳的跳變;MPI端腳的電平狀態(tài)。

              與中斷控制相關(guān)的寄存器是中斷屏蔽寄存器(IMR)和中斷狀態(tài)寄存器(ISR)。IMR用于從以上七個(gè)中斷源中選擇一種作為觸發(fā)INTRN的條件。CPU可以讀取ISR來(lái)獲得所有中斷源的狀態(tài)。ISR不受IMR的影響。

          (2)操作控制

            UART的控制邏輯單元接收來(lái)自CPU的命令生成相應(yīng)的信號(hào)來(lái)支配內(nèi)部各器件進(jìn)行操作。控制邏輯單元通過(guò)地址譯碼和讀寫(xiě)控制使CPU與UART相互通信。地址譯碼與讀寫(xiě)控制之間的關(guān)系見(jiàn)表1。

          表1 寄存器地址表

          A2 A1 A0 讀(RDN=0) 寫(xiě)(WRN=0)
          0 0 0 方式寄存器MR1/MR2 方式寄存器MR1/MR2
          0 0 1 狀態(tài)寄存器SR 時(shí)鐘選擇寄存器CSR
          0 1 0 波特率生成器測(cè)試方式 命令寄存器CR
          0 1 1 接收保持寄存器RHR 發(fā)送保持寄存器THR
          1 0 0 1倍頻/16倍頻測(cè)試方式 輔助控制寄存器ACR
          1 0 1 中斷狀態(tài)寄存器ISR 中斷屏蔽寄存器IMR
          1 1 0 計(jì)數(shù)器/定時(shí)器高位輸出寄存器CTU 計(jì)數(shù)器/定時(shí)器高位預(yù)置寄存器CTUR
          1 1 1 計(jì)數(shù)器/定時(shí)器低位輸出寄存器CTL 計(jì)數(shù)器/定時(shí)器低位預(yù)置寄存器CTUR

            方式寄存器1(MR1)和方式寄存器2(MR2)通過(guò)一個(gè)輔助指針來(lái)訪(fǎng)問(wèn)。當(dāng)上電復(fù)位或通過(guò)命令寄存器(CR)執(zhí)行復(fù)位命令時(shí),指針指向MR1,以后對(duì)MR1的任何讀寫(xiě)操作都使指針指向MR2,并一直指向MR2,直到再次執(zhí)行復(fù)位命令。

          (3)計(jì)數(shù)器/定時(shí)器

            計(jì)數(shù)器/定時(shí)器的工作方式和輸入時(shí)鐘源的選擇,可以通過(guò)編程輔助控制寄存器(ACR)從八種方式中選擇。計(jì)數(shù)器/定時(shí)器的輸出可以設(shè)置為多功能輸出口MPO,定時(shí)器的輸出也可以作為生成波特率的選擇之一。

           ?、?定時(shí)方式:定時(shí)器的輸出是一個(gè)方波,其周期是寄存器CTUR和CTLR中值的2倍。定時(shí)器溢出時(shí),中斷狀態(tài)寄存器(ISR)中的計(jì)數(shù)器準(zhǔn)備好(counter ready)置位。當(dāng)發(fā)布一個(gè)中斷計(jì)數(shù)器命令時(shí),定時(shí)器不會(huì)終止,僅影響ISR中的counter ready位。當(dāng)接收到一個(gè)開(kāi)始計(jì)數(shù)/定時(shí)器命令時(shí),定時(shí)器會(huì)終止當(dāng)前的操作,以新的CTUR和CTLR開(kāi)始一個(gè)定時(shí)周期。

           ?、?計(jì)數(shù)方式:計(jì)數(shù)器接收到開(kāi)始計(jì)數(shù)命令后,將計(jì)數(shù)值送入CTU和CTL。當(dāng)計(jì)數(shù)值達(dá)到預(yù)定的存入CTUR和CTLR中的值時(shí),ISR中的counter ready位置1,計(jì)數(shù)操作不會(huì)停止,直到接收到結(jié)束計(jì)數(shù)命令為止。CPU可以在任何時(shí)候設(shè)置寄存器CTUR和CTLR,但是該值僅有當(dāng)結(jié)束本次計(jì)數(shù)并開(kāi)始下一次計(jì)數(shù)命令時(shí)才有效。

          (4)接收和發(fā)送

            發(fā)送器接收來(lái)自CPU的并行數(shù)據(jù),將其轉(zhuǎn)換為串行數(shù)據(jù)流送往TxD端口,串行數(shù)據(jù)流被以一個(gè)開(kāi)始位、可編程個(gè)數(shù)的數(shù)據(jù)位、可選擇的奇偶校驗(yàn)位和可編程個(gè)數(shù)的停止位的組合形式發(fā)送出去。發(fā)送結(jié)束后,若沒(méi)有新的數(shù)據(jù)被送往發(fā)送保持寄存器(THR),則TxD端腳保持高電平,并且狀態(tài)寄存器(SR)中的位TxEMT置1。當(dāng)CPU將一個(gè)新的數(shù)據(jù)送往THR后,TxEMT位清零,發(fā)送操作繼續(xù)。發(fā)布一個(gè)開(kāi)始break命令,可以使發(fā)送器發(fā)送一個(gè)break信號(hào)(持續(xù)的低電平)。發(fā)送器接收到一個(gè)終止發(fā)送的命令時(shí),若其正在發(fā)送數(shù)據(jù)或THR中仍有數(shù)據(jù),發(fā)送器會(huì)繼續(xù)發(fā)送直到THR為空截止。

            接收器從RxD引腳接收串行數(shù)據(jù),檢測(cè)其開(kāi)始位、奇偶校驗(yàn)位、終止位,若有錯(cuò)誤則設(shè)置狀態(tài)寄存器(SR)中的相應(yīng)位。接收器將數(shù)據(jù)送往接收保持寄存器(RHR),等待CPU以查詢(xún)方式或以中斷方式讀取數(shù)據(jù),并且將SR中的RxRDY和中斷狀態(tài)寄存器(ISR)的RxRDY位置1。

            接收保持寄存器(RHR)是一個(gè)可容納3個(gè)字符的先進(jìn)先出隊(duì)列(FIFO)。接收器將從RxD接收到的數(shù)據(jù)送往FIFO的開(kāi)始位置,并將SR中的RxRDY置1。RxRDY=1,表示FIFO中有接收字符;而FFULL=1,表示FIFO已滿(mǎn)。在方式寄存器1(MR1)中,可以選擇RxRDY或FFULL作為接收中斷源。讀RHR可以將其中的數(shù)據(jù)連同在SR中的相應(yīng)狀態(tài)位一起從FIFO中彈出。

          4 寄存器

            寄存器是CPU與UART之間進(jìn)行操作的橋梁。CPU通過(guò)編程寄存器來(lái)支配UART操作,另外,各種狀態(tài)寄存器的變化也體現(xiàn)了命令的執(zhí)行結(jié)果。

          5 應(yīng) 用

          (1)硬件電路

            圖1是使用SCC2691設(shè)計(jì)的擴(kuò)展串口電路。其中AD0~AD7接CPU(億恒C164CI)數(shù)據(jù)總線(xiàn);A12~A14與CPU地址線(xiàn)相連;、分別與CPU的讀寫(xiě)信號(hào)相連;RESET接CPU的RESETOUT;2691_CS是SCC2691的片選信號(hào);INTRN接CPU的中斷輸入端。

          (2)測(cè)試程序

            測(cè)試程序采用Tasking C集成環(huán)境開(kāi)發(fā),具體程序見(jiàn)網(wǎng)絡(luò)補(bǔ)充版(http://www.dpj.com.cn)。



          評(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); })();