當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]異步串行通信接口(SCI)因其結(jié)構(gòu)簡(jiǎn)潔、使用方便,因而在各類MCU、DSP和MPU芯片設(shè)計(jì)中獲得廣泛的應(yīng)用。

   摘要:異步串行通信接口(SCI)因其結(jié)構(gòu)簡(jiǎn)潔、使用方便,因而在各類MCU、DSP和MPU芯片設(shè)計(jì)中獲得廣泛的應(yīng)用。本文給出一種以狀態(tài)機(jī)為控制核心、以數(shù)據(jù)流為執(zhí)行中心的異步串行通信接口IP核結(jié)構(gòu)設(shè)計(jì)的通用方法。此方法已在筆者所設(shè)計(jì)的DSP芯片中得到驗(yàn)證。

    關(guān)鍵詞:SCI IP核設(shè)計(jì) 狀態(tài)機(jī) 數(shù)據(jù)流

引言

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

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

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

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

(1)TXD時(shí)鐘八分頻器

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(1)RXD時(shí)鐘八分頻器

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

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

    (2)起始位檢測(cè)模塊

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

(3)字符檢測(cè)模塊

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

(4)當(dāng)前接收字符狀態(tài)機(jī)

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

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

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

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

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

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

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

(8)BRKDT間斷檢測(cè)計(jì)數(shù)器

當(dāng)產(chǎn)生RXST4_FE幀錯(cuò)誤時(shí),開(kāi)始工作。當(dāng)RXD_VALUE為“1”時(shí),其被復(fù)位;當(dāng)RXD_VALUE為“0”時(shí),表示沒(méi)有數(shù)據(jù)接收,開(kāi)始計(jì)數(shù);當(dāng)計(jì)到一定值時(shí),輸出計(jì)數(shù)滿信號(hào),此時(shí)間斷檢測(cè)標(biāo)志RXST5_BRKDT被置位。

結(jié)語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉