在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 手機與無線通信 > 設計應用 > 異步串行通信接口的IP核設計

            異步串行通信接口的IP核設計

            作者: 時間:2004-12-07 來源:網(wǎng)絡 收藏
            摘要:(SCI)因其結構簡潔、使用方便,因而在各類MCU、DSP和MPU芯片中獲得廣泛的應用。本文給出一種以狀態(tài)機為控制核心、以數(shù)據(jù)流為執(zhí)行中心的核結構的通用方法。此方法已在筆者所的DSP芯片中得到驗證。

            關鍵詞:SCI 核設計 狀態(tài)機 數(shù)據(jù)流

            引言

            目前,基于傳統(tǒng)IC芯片的微電子應用系統(tǒng)設計技術正在轉(zhuǎn)向基于知識產(chǎn)權(,Intellectual Property)核的片上系統(tǒng)(SoC,System on Chip)技術發(fā)展。另外,IC設計在國內(nèi)的發(fā)展很快,各種規(guī)模的IC設計中心和公司不斷出現(xiàn)。因此,IP核的設計已開始逐漸成為國內(nèi)微電子系統(tǒng)設計的一項支撐技術。從應用功能角度劃分IP核有兩大類:微處理器IP核(如8位8051核、32位ARM核等)和各種IP核(如LCD控制器、各種總線接口IP核等)。本文以串行接口(SCI,Serial Communication Interface)接口IP核結構設計為例,說明SCI、UART、SPI、USB等接口IP核的設計方法。

            SCI的通信方式采用標準NRZ格式來進行外設間的異步數(shù)字通信。因其結構簡法,通常嵌入到DSP、MCU和MPU或外設控制芯片內(nèi)部,作為芯片的一個接口功能模塊。SCI通常由三個功能單元構成:波特率脈沖產(chǎn)生單元、發(fā)送單元和接收單元。其結構如圖1所示。在SCI數(shù)據(jù)收發(fā)中,數(shù)據(jù)幀的數(shù)據(jù)格式要比地址幀的數(shù)據(jù)格式復雜得多。在不同的通信方式下,數(shù)據(jù)幀的格式是不同 的。為此在發(fā)送器和接收器中各引入了與數(shù)據(jù)幀格式相對應的狀態(tài)機來實現(xiàn)數(shù)據(jù)流的控制。本文所介紹的就是基于這種設計思想的一種通用設計方法。

            1 SCI數(shù)據(jù)發(fā)送單元

            數(shù)據(jù)發(fā)送單元主要功能是完成數(shù)據(jù)的并/串轉(zhuǎn)換及發(fā)送,同時產(chǎn)生發(fā)送標志位。其結構如圖2所示,字符發(fā)送狀態(tài)機如圖3所示。下面簡要介紹發(fā)送單元各功能模塊及其狀態(tài)轉(zhuǎn)換。

            (1)TXD時鐘八分頻器

            對基于波特率時鐘進行八分頻,并輸出兩個基本脈沖―TXD_CLK_WORK(用于計數(shù)、移位等)和TXD_CLK_END(用于標志位的生成和數(shù)據(jù)流輸出)。

            (2)TXD狀態(tài)寄存器

            通過此狀態(tài)寄存器設置通信控制寄存器2的兩個控制位―TXEMPTY和TXRDY位,以表示數(shù)據(jù)寫入SCI_TXBUF和啟動發(fā)送過程。

            (3)發(fā)送字符計數(shù)器

            當字符狀態(tài)機的輸出狀態(tài)為允許字符計數(shù)時,其開始對發(fā)送的字符計數(shù)。當計數(shù)器值等于編程的字符數(shù)時,輸出TX_CHAP_REACH信號作為字符狀態(tài)機激勵,使之進入非字符輸出狀態(tài)。

            (4)發(fā)送空閑線計數(shù)器

            當字符狀態(tài)機進入發(fā)送空閑線數(shù)據(jù)狀態(tài)時,開始工作。當計數(shù)到一定值時,輸出信號TX_IDLECOUT_REACH作為字符狀態(tài)機激勵,使之進入非空閑線數(shù)據(jù)計數(shù)狀態(tài)。

            (5)發(fā)送數(shù)據(jù)流的形成

            在TXBUF2SHIFT的高電平脈沖作用下,在SCI_TXBUF中待發(fā)送數(shù)據(jù),經(jīng)過選擇器選擇指定位數(shù)的數(shù)據(jù)送入SCI_TXSHIFT低位,不足的高位清“0”。與此同時,TXWAKE數(shù)據(jù)也送到WUT寄存器,在地址位模式情況下,由ADDR_IDLE控制在WUT中形成地址位;并由SCI_TXSHIFT數(shù)據(jù)位、地址位和奇偶方式位三者邏輯或形成奇偶校驗位。

            (6)當前發(fā)送字符狀態(tài)機

            在啟動、控制位、計數(shù)器溢出等激勵作用下,實現(xiàn)發(fā)送字符狀態(tài)的輸出和轉(zhuǎn)換。發(fā)送字符狀態(tài)機的激勵有:TXEMPTY(為“0”時啟動TXD發(fā)送)、ADDR_IDLE(地址/空閑線模式選擇位)、PARENA(奇偶校驗使能位)、STOPBIT(選擇1或2個停止位)、WUT(發(fā)送空閑位數(shù)據(jù)允許位)、TX_CHARCOUT_REACH(發(fā)送字符數(shù)目已夠位)、TX_IDLECOUT_REACH(發(fā)送空閑數(shù)目已夠位)。發(fā)送字符狀態(tài)機(見圖3)的狀態(tài)有:1為幀停止位(1位),3為幀第1停止位(2位),5為幀第2停止位(2位),8位幀起始位,9為待機狀態(tài),A為幀數(shù)據(jù)位,B為空閑線模式起始位,C為幀地址位,E為幀奇偶校驗位,F(xiàn)為空閑線模式停止位,D為空閑線模式計數(shù)0~7。

            2 SCI數(shù)據(jù)接收單元

            數(shù)據(jù)接收單元的功能是完成串行數(shù)據(jù)接收及接收標志位的生成。其結構如圖4所示,接收起始位檢測和接收字符狀態(tài)機如圖5、圖6所示。

            接收單元各功能模塊及狀態(tài)轉(zhuǎn)換說明如下。

            (1)RXD時鐘八分頻器

            對波特率時鐘進行八分頻,并保持其與所接收串行數(shù)據(jù)流的字符同步。其輸出兩個時鐘脈沖:RXD_CLK_WORK,用于計數(shù)、移位等;RXD_CLK_END,為數(shù)據(jù)流各種方式的停止位前一個字節(jié)時間段內(nèi)提供脈沖。

            圖4 SCI數(shù)字接收單元

            (2)起始位檢測模塊

            是一種三位四狀態(tài)機。其激勵有兩個:RXD_1_VALUE―接收的串行數(shù)據(jù)流激勵;RXD_END_CHK―一次接收完畢的脈沖激勵。其狀態(tài)有如下幾種(見圖5):0(待機狀態(tài))、1(空狀態(tài))、2(空狀態(tài))、3(發(fā)現(xiàn)“1”到“0”的跳變狀態(tài))、4(輸出時鐘同步信號)、5(字符接收過程中輸出RXD_CLK_AYN和RXD_START_DRV)。

            (3)字符檢測模塊

            主要功能是接收數(shù)據(jù)流。其在采樣時鐘驅(qū)動下數(shù)據(jù)流通過三個寄存器,隨后在RXD_CLK_WORK脈沖作用下,三個寄存器的數(shù)據(jù)通過表決電路,把數(shù)據(jù)送到接收數(shù)據(jù)緩沖器RXD_VALUE中,為把數(shù)據(jù)送到移位寄存器RX_SHIFT做準備。

            (4)當前接收字符狀態(tài)機

            用來標識當前所接收的數(shù)據(jù)是哪一種字符,以及在下一個RXD_CLK_WORK字符周期將轉(zhuǎn)換到哪一種狀態(tài),并且根據(jù)當前接收字符的狀態(tài),驅(qū)動其它部件進行合適的操作。其激勵有:RXD_START_DRV(RXD起始位有效激勵)、RX_CHAR_REACH(RXD字符接收數(shù)目已夠)、CCR3_ADDR_IDLE(地址/空閑線模式選擇)、CCR5_PARENA(奇偶校驗使能)。其狀態(tài)(見圖6)有:0(待機狀態(tài))、1(幀數(shù)據(jù)位)、2(幀起始位)、3(幀地址位)、4(幀奇偶校驗位)、5(空狀態(tài))、6(幀停止位)。

            (5)接收字符計數(shù)器

            當接收字符狀態(tài)機處于幀數(shù)據(jù)位階段時,其開始計數(shù);當與可編程的數(shù)據(jù)相同時,輸出RX_CHAR_REACH給接收字符狀態(tài)機。

            (6)接收空閑線計數(shù)器

            當處于待機狀態(tài)時,開始計數(shù)器,當計數(shù)到一定時,輸出一個脈沖,將RXSP1_RXWAKE置位為1;在下一個字符即將接收、讀取SCI_RXBUF寄存器或SCI復位的情況下,RXST1_RXWAKE被復位為0。

            (7)接收數(shù)據(jù)移位寄存器(SCI_RXSHIFT)

            根據(jù)接收字符狀態(tài)機的狀態(tài)接收與檢測的串行數(shù)據(jù)流,將所接收的正確數(shù)據(jù)送入SCI_RXBUF并置相應的標志,否則置出錯標志。

            (8)BRKDT間斷檢測計數(shù)器

            當產(chǎn)生RXST4_FE幀錯誤時,開始工作。當RXD_VALUE為“1”時,其被復位;當RXD_VALUE為“0”時,表示沒有數(shù)據(jù)接收,開始計數(shù);當計到一定值時,輸出計數(shù)滿信號,此時間斷檢測標志RXST5_BRKDT被置位。

            結語

            綜上所述,在各種串行接口IP核設計中,可將其內(nèi)部單元結構劃分為控制和執(zhí)行兩大部分。其中,控制邏輯的設計采用以單極或多級狀態(tài)機為核心,并配合其各種激勵單元的結構設計,可以做到結構清晰,并可實現(xiàn)較復雜的邏輯;執(zhí)行機構的設計采用以控制邏輯輸出的狀態(tài)為中心,來設計數(shù)據(jù)選擇器或數(shù)據(jù)分配器,可實現(xiàn)數(shù)據(jù)流的復雜流向(請見網(wǎng)絡補充版:www.dpj.com.cn)。



            評論


            相關推薦

            技術專區(qū)

            關閉