當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程

在嵌入式系統(tǒng)設(shè)計(jì)中常使用通用異步接收和發(fā)送器UART(Universal Asynchronous Receiver/Transmitter)實(shí)現(xiàn)系統(tǒng)控制信息或低速數(shù)據(jù)信息的傳輸。

而UART所采用的奇偶校驗(yàn)方式不具備前向糾錯(cuò)能力,檢錯(cuò)能力也有限,所以在設(shè)計(jì)UART時(shí)要盡可能提高其抗干擾能力,以加強(qiáng)系統(tǒng)的可靠性。

  1 基于最佳接收的UART

  目前UART中的接收器多采用如圖1所示的設(shè)計(jì)。

  同步模塊的作用是檢測(cè)異步串口的同步位(Sync位)并提取抽樣判決需要的采樣信號(hào),使抽樣判決模塊盡量在輸入信號(hào)RXD的碼元中部對(duì)信號(hào)采樣(如圖2)。因?yàn)樾盘?hào)在碼元邊沿跳變時(shí)會(huì)有振鈴或過沖等抖動(dòng),所以碼元的邊沿部分不適合采樣。要想獲得較佳的抽樣判決效果,最好在靠近碼元中部的位置對(duì)接收到的信號(hào)進(jìn)行抽樣判決。

這種在碼元中部進(jìn)行抽樣判決的接收方法可以有效去除振鈴、過沖等信號(hào)的邊沿抖動(dòng)帶來的影響,但無法解決隨機(jī)脈沖干擾帶來的問題。如圖3所示,隨機(jī)脈沖干擾可能在任何時(shí)刻出現(xiàn)。即使同步模塊工作正常,使得抽樣判決總處在碼元中部的最佳采樣時(shí)刻,也有可能由于隨機(jī)脈沖干擾造成判決錯(cuò)誤。

為了盡可能地減弱隨機(jī)干擾及其他干擾給信號(hào)接收帶來的影響,引入最佳接收機(jī)結(jié)構(gòu)來設(shè)計(jì)UART的接收器,以實(shí)現(xiàn)信號(hào)的最佳接收。等概率二進(jìn)制確知信號(hào)(異步串口通信的信號(hào)即屬于此情況)的最佳接收機(jī)結(jié)構(gòu)如圖4所示。

  圖4中的乘法器和積分器實(shí)質(zhì)上構(gòu)成了一個(gè)相關(guān)器,因此上述結(jié)構(gòu)又稱為相關(guān)器形式的最佳接收機(jī)。其中相關(guān)器的輸出u(t)由下式定義:

  其中:T為采樣周期,N表示一個(gè)碼元的時(shí)間包含N個(gè)采樣周期。

  U1(kT)和U2(kT)由上式計(jì)算可得,然后送到比較器在最佳判決時(shí)刻(t=kNT)進(jìn)行比較,若U1(kT)≥U2(kT),則判決為邏輯1,否則判決為邏輯0。

  UART接收器接收的信號(hào)是未經(jīng)調(diào)制的二進(jìn)制基帶信號(hào),碼元波形不是高電平就是低電平,兩種碼元的波形截然不同。因此,如果輸入信號(hào)Y(nT)與S1(kT)相關(guān)運(yùn)算的結(jié)果較大,則Y(nT)與S2(kT)相關(guān)運(yùn)算的結(jié)果就很??;反之亦然。所以可以將上述最佳接收機(jī)結(jié)構(gòu)中S2(kT)這一路相關(guān)器省略,只保留一路相關(guān)器。最后的比較器改成判決器,判決準(zhǔn)則是:如果相關(guān)器在最佳判決時(shí)刻(t=kNT)的輸出大于某個(gè)閾值,則判決為邏輯1;否則判決為邏輯0。經(jīng)過簡(jiǎn)化改進(jìn)基于最佳接收機(jī)結(jié)構(gòu)的UART接收器的框圖如圖5所示。

下面以一個(gè)簡(jiǎn)單示例證明基于最佳接收的UART接收器可以有效地去除隨機(jī)干擾給信號(hào)接收帶來的影響。如圖6所示,在這個(gè)碼元周期內(nèi),如果采用一次抽樣判決,則即使處于一次抽樣判決的最佳采樣時(shí)刻,也會(huì)由于隨機(jī)脈沖干擾而產(chǎn)生誤判;如果引入數(shù)字相關(guān)器在最佳判決時(shí)刻進(jìn)行判決,則盡管由于信號(hào)邊沿的抖動(dòng)和隨機(jī)脈沖的干擾,信號(hào)的波形遭到了破壞,但信號(hào)在碼元周期內(nèi)相關(guān)運(yùn)算的結(jié)果為7,大于閾值5,接收器依然能正確地判定接收到的信號(hào)為邏輯1。這將有效抑制隨機(jī)干擾給信號(hào)接收帶來的影響。

  2 基于FPGA的UART設(shè)計(jì)優(yōu)化

  數(shù)字相關(guān)器的引入,極大地提高了UART接收器的抗干擾性能,但也帶來了兩個(gè)問題:

  (1)在數(shù)字相關(guān)器輸出相關(guān)運(yùn)算的結(jié)果后,判決器需要在最佳判決時(shí)刻進(jìn)行判決,因?yàn)榇藭r(shí)與信號(hào)的相關(guān)輸出最大。同步模塊得到的判決信號(hào)與這個(gè)最佳判決時(shí)刻的偏移越大,UART接收器的性能就越差。也就是說,數(shù)字相關(guān)器對(duì)同步模塊的判決信號(hào)有很高的精確度要求。

  (2)數(shù)字相關(guān)器是一個(gè)運(yùn)算量相當(dāng)大的復(fù)雜邏輯器件。

  以上兩個(gè)問題使得UART接收器的邏輯結(jié)構(gòu)非常龐大,并將耗用很大的邏輯資源。而在大多數(shù)嵌入式系統(tǒng)應(yīng)用中,UART通常只是控制信息的一個(gè)接口,如果設(shè)計(jì)出來的UART的IP本身就占用了大量的邏輯資源,則使用者肯定不能接受,且這樣的UART的IP核也毫無價(jià)值。所以,要使得這種高性能的UART能在實(shí)際工程中應(yīng)用,就必須優(yōu)化UART的邏輯設(shè)計(jì),減少耗用的資源。下面將以現(xiàn)場(chǎng)可編程邏輯門陣列FPGA(Field Programmable Gate Array)為設(shè)計(jì)平臺(tái),根據(jù)UART接收器中同步模塊和數(shù)字相關(guān)器的結(jié)構(gòu)特點(diǎn)以及FPGA的結(jié)構(gòu)特點(diǎn),對(duì)邏輯設(shè)計(jì)進(jìn)行優(yōu)化。

  2.1 同步模塊的設(shè)計(jì)優(yōu)化

  UART的同步模塊主要檢測(cè)Sync位并得到判決信號(hào)。理想情況下,如果在一個(gè)碼元內(nèi)有N次采樣,則當(dāng)N次采樣的結(jié)果都為0時(shí),表明檢測(cè)到一個(gè)Sync 位,而且此時(shí)就是數(shù)字相關(guān)器的最佳判決時(shí)刻(如圖7)??墒怯捎谛盘?hào)的邊沿抖動(dòng)或是隨機(jī)脈沖干擾,N次采樣的結(jié)果通常無法達(dá)到同時(shí)為0的理想情況,如果以 N作為檢測(cè)同步的門限,則可能檢測(cè)不到Sync位,造成漏同步。

為了保證接收器能抵御一定程度的干擾而 進(jìn)行正確的同步,檢測(cè)同步的門限不能取N。假定同步檢測(cè)的門限定為(N-3),則會(huì)出現(xiàn)這樣的問題:如果接收到的信號(hào)波形良好,而又采用(N-3)作為檢測(cè)同步門限,則同步模塊得到的判決信號(hào)實(shí)際上偏離了數(shù)字相關(guān)器的最佳判決時(shí)刻,使判決器誤判的可能性增加。較好的解決辦法是增大單個(gè)碼元周期內(nèi)的采樣次數(shù)N,使同步檢測(cè)門限(N-3)與判決器判決門限N/2有較大距離,從而使后端的判決器有更好的抗干擾性能。根據(jù)實(shí)際測(cè)試的經(jīng)驗(yàn),取N為16,以13作為同步檢測(cè)門限,以8作為判決門限。這樣既能有效防止因干擾而造成的漏同步,又能保證后端的數(shù)據(jù)判決有較好的抗干擾性能。

  由上所述,同步模塊實(shí)際上是對(duì)接收到的16個(gè)采樣值進(jìn)行譯碼,當(dāng)有13個(gè)0時(shí)表示檢測(cè)到同步,并將此時(shí)得到的判決信號(hào)提供給后端的判決器進(jìn)行數(shù)據(jù)判決。在物理上這就是一個(gè)16輸入的組合電路。由于FPGA有豐富的時(shí)序邏輯資源而缺乏組合邏輯資源,因此該電路模塊若是在FPGA上實(shí)現(xiàn)要耗用大量的邏輯資源,所以需要對(duì)該模塊的邏輯設(shè)計(jì)進(jìn)行優(yōu)化。

  邏輯優(yōu)化的原則是充分利用FPGA 邏輯資源豐富的特點(diǎn),以相同功能的時(shí)序電路替代這個(gè)龐大的組合電路。如圖8所示,輸入信號(hào)RXD經(jīng)過D觸發(fā)器采樣并經(jīng)過一個(gè)反相器后做為使能信號(hào)送給下一級(jí)的模13計(jì)數(shù)器(即對(duì)D觸發(fā)器采樣得到的低電平計(jì)數(shù)),這樣就可以用時(shí)序統(tǒng)計(jì)邏輯來替代原來的組合統(tǒng)計(jì)邏輯。對(duì)FPGA,這樣的時(shí)序電路只需要耗用少數(shù)幾個(gè)D觸發(fā)器,可以極大地節(jié)省資源。然而時(shí)序統(tǒng)計(jì)邏輯可能會(huì)由于對(duì)隨機(jī)脈沖干擾帶來的反常低電平的采樣積累而產(chǎn)生誤同步,所以需要同時(shí)對(duì)輸入信號(hào)RXD經(jīng)過D觸發(fā)器的采樣得到的高電平進(jìn)行計(jì)數(shù)。若得到連續(xù)多個(gè)不同長(zhǎng)度(圖7中長(zhǎng)度為8)的高電平,則說明正在接收的不是Sync位,即使采樣得到了低電平,也是干擾信號(hào),這時(shí)就要對(duì)模13計(jì)數(shù)器復(fù)位,以防止干擾(低電平的干擾)的累積產(chǎn)生誤同步。

  2.2 數(shù)字相關(guān)器的設(shè)計(jì)優(yōu)化

  數(shù)字相關(guān)器的數(shù)學(xué)表達(dá)式為:

  這時(shí)乘法器實(shí)際上是不需要的,數(shù)字相關(guān)器的輸出是最近的N(N=16)個(gè)輸入采樣(即輸入信號(hào)RXD的采樣)的疊加。輸入信號(hào)RXD的采樣是1比特量化,其值為邏輯1(高電平),或邏輯0(低電平)。所以對(duì)輸入采樣的疊加可以用計(jì)數(shù)器實(shí)現(xiàn):邏輯1使計(jì)數(shù)器計(jì)數(shù)加1,邏輯0則保持計(jì)數(shù)器的值不變。這樣,復(fù)雜的數(shù)字相關(guān)器就可以用一個(gè)計(jì)數(shù)器實(shí)現(xiàn)。

  圖9為經(jīng)過邏輯優(yōu)化的數(shù)字相關(guān)器和判決器的電路。RXD經(jīng)過D觸發(fā)器(一個(gè)碼元周期采樣N=16 次)送入數(shù)字相關(guān)器。該數(shù)字相關(guān)器在邏輯設(shè)計(jì)上被優(yōu)化為一個(gè)計(jì)數(shù)器,對(duì)D觸發(fā)器輸出的邏輯1進(jìn)行統(tǒng)計(jì)計(jì)數(shù)。當(dāng)同步模塊送來判決信號(hào)時(shí),判決器根據(jù)當(dāng)時(shí)數(shù)字相關(guān)器的計(jì)數(shù)結(jié)果進(jìn)行硬判決:計(jì)數(shù)結(jié)果≥8(N/2)即為邏輯1,否則為邏輯0(邏輯上把計(jì)數(shù)結(jié)果的Count[3]和Count[4]作邏輯或運(yùn)算為抽樣判決結(jié)果輸出)。判決信號(hào)同時(shí)還要對(duì)數(shù)字相關(guān)器(即計(jì)數(shù)器)復(fù)位,因?yàn)檫@同時(shí)是新碼元接收周期的開始,使數(shù)字相關(guān)器重新進(jìn)行計(jì)數(shù)疊加。

  3 基于FPGA的UART設(shè)計(jì)實(shí)現(xiàn)

  UART根據(jù)功能劃分為波特率控制器、發(fā)送器和接收器三個(gè)模塊。圖10是UART的整體設(shè)計(jì)框圖。Out8_RxData[7..0]和Out_RxDateValid是接收器收到數(shù)據(jù)后輸出的數(shù)據(jù)及其使能信號(hào)。而In8_TxData[7..0]和In_TxDataEna是發(fā)送器要發(fā)送的數(shù)據(jù)及輸入使能信號(hào)。校驗(yàn)參數(shù)設(shè)置包括是否需要校驗(yàn)、奇偶校驗(yàn)等。

  3.1 波特率控制器的設(shè)計(jì)

  波特率控制器根據(jù)波特率控制參數(shù)的設(shè)置,為接收器和發(fā)送器提供工作使能信號(hào),這種工作使能信號(hào)的頻率決定了UART工作的波特率。從邏輯設(shè)計(jì)的角度看,波特率控制器實(shí)質(zhì)上是一個(gè)可變模計(jì)數(shù)器,波特率控制參數(shù)調(diào)整計(jì)數(shù)器的模,從而為接收器和發(fā)送器提供各種符合通信波特率要求的工作使能信號(hào)。

  3.2 發(fā)送器的設(shè)計(jì)

  發(fā)送器在接收到并行發(fā)送數(shù)據(jù)后,將數(shù)據(jù)進(jìn)行并串變換,按照波特率控制器提供的工作使能信號(hào)的速率,將數(shù)據(jù)及奇偶校驗(yàn)位(是否發(fā)送校驗(yàn)位根據(jù)參數(shù)設(shè)置)逐位發(fā)送。發(fā)送器在邏輯設(shè)計(jì)上是一個(gè)有限狀態(tài)機(jī),圖11是發(fā)送器狀態(tài)跳轉(zhuǎn)圖。

  3.3 接收器的設(shè)計(jì)

  接收器的邏輯框圖見圖5,其中同步模塊、數(shù)字相關(guān)器和判決器已詳細(xì)介紹。下面介紹數(shù)據(jù)接收模塊。數(shù)據(jù)接收模塊負(fù)責(zé)將判決器的判決輸出逐位接收,然后將接收到的串行位串轉(zhuǎn)換成8位的字節(jié),根據(jù)校驗(yàn)的參數(shù)進(jìn)行設(shè)置。如果無需校驗(yàn),則直接輸出收到的字節(jié);如果需要校驗(yàn),則根據(jù)設(shè)置進(jìn)行奇偶校驗(yàn)。如果校驗(yàn)顯示接收有錯(cuò)誤,則直接丟棄接收結(jié)果;如果校驗(yàn)無誤,將收到的字節(jié)輸出。數(shù)據(jù)接收模塊在邏輯上也是由一個(gè)有限狀態(tài)機(jī)實(shí)現(xiàn),圖12是數(shù)據(jù)接收模塊的狀態(tài)跳轉(zhuǎn)圖。


  4 綜合與測(cè)試

  UART設(shè)計(jì)完成后,采用Altera公司 的開發(fā)軟件QuartusII綜合實(shí)現(xiàn),器件選用Cyclone系列的FPGA——EP1C12Q240C8。整個(gè)UART占用了120個(gè)FPGA的邏輯單元(LE,Logic Element)??梢哉f所耗邏輯資源非常小,而且使用方便,適合工程使用。

  為了測(cè)試這個(gè)UART的IP的工作穩(wěn)定度,采用串口助手以各種速率不間斷發(fā)送數(shù)據(jù)流給UART進(jìn)行接收測(cè)試并回發(fā),在每次長(zhǎng)達(dá)15分鐘的不間斷接收并回發(fā)數(shù)據(jù)的測(cè)試過程中,UART的通信錯(cuò)誤是0。在性能上,比以前設(shè)計(jì)的UART(基于單次采樣而不是基于最佳接收)大為提高,而消耗的邏輯資源基本一致。目前這個(gè)基于最佳接收的UART的IP已經(jīng)在本研究所的FPGA產(chǎn)品中推廣,獲得一致好評(píng)。

  參考文獻(xiàn)

  1 繆眾林,丁克忠.帶硬件地址識(shí)別的UART IP的設(shè)計(jì)和實(shí)現(xiàn).電子技術(shù)應(yīng)用,2004;30(6)
  2 李群芳,黃 建.單片微型計(jì)算機(jī)與接口技術(shù).北京:電子工業(yè)出版社,2001
  3 樊昌信.通信原理(第5版).北京:國(guó)防工業(yè)出版社,2001
  4 Bernard Sklar.Digital Commun-ications Fundamentals and Applications(Second Edition).Beijing:Publishing House of Electronics Industry,2002
  5 Cyclone_device_handbook.Altera Corp,2003,10

本站聲明: 本文章由作者或相關(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工具的開發(fā)耗時(shí)1.5...

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(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ì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

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

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(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)閉