基于最佳接收的UART的設(shè)計(jì)與實(shí)現(xiàn)
在嵌入式系統(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)的可靠性。
本文引用地址:http://butianyuan.cn/article/83208.htm1 基于最佳接收的UART
目前UART中的接收器多采用如圖1所示的設(shè)計(jì)。
同步模塊的作用是檢測(cè)異步串口的同步位(Sync位)并提取抽樣判決需要的采樣信號(hào),使抽樣判決模塊盡量在輸入信號(hào)RXD的碼元中部對(duì)信號(hào)采樣(如圖2)。因?yàn)樾盘?hào)在碼元邊沿跳變時(shí)會(huì)有振鈴或過(guò)沖等抖動(dòng),所以碼元的邊沿部分不適合采樣。要想獲得較佳的抽樣判決效果,最好在靠近碼元中部的位置對(duì)接收到的信號(hào)進(jìn)行抽樣判決。
這種在碼元中部進(jìn)行抽樣判決的接收方法可以有效去除振鈴、過(guò)沖等信號(hào)的邊沿抖動(dòng)帶來(lái)的影響,但無(wú)法解決隨機(jī)脈沖干擾帶來(lái)的問(wèn)題。如圖3所示,隨機(jī)脈沖干擾可能在任何時(shí)刻出現(xiàn)。即使同步模塊工作正常,使得抽樣判決總處在碼元中部的最佳采樣時(shí)刻,也有可能由于隨機(jī)脈沖干擾造成判決錯(cuò)誤。
為了盡可能地減弱隨機(jī)干擾及其他干擾給信號(hào)接收帶來(lái)的影響,引入最佳接收機(jī)結(jié)構(gòu)來(lái)設(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é)果就很?。环粗嗳弧K钥梢詫⑸鲜鲎罴呀邮諜C(jī)結(jié)構(gòu)中S2(kT)這一路相關(guān)器省略,只保留一路相關(guān)器。最后的比較器改成判決器,判決準(zhǔn)則是:如果相關(guān)器在最佳判決時(shí)刻(t=kNT)的輸出大于某個(gè)閾值,則判決為邏輯1;否則判決為邏輯0。經(jīng)過(guò)簡(jiǎn)化改進(jìn)基于最佳接收機(jī)結(jié)構(gòu)的UART接收器的框圖如圖5所示。
下面以一個(gè)簡(jiǎn)單示例證明基于最佳接收的UART接收器可以有效地去除隨機(jī)干擾給信號(hào)接收帶來(lái)的影響。如圖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)接收帶來(lái)的影響。
2 基于FPGA的UART設(shè)計(jì)優(yōu)化
數(shù)字相關(guān)器的引入,極大地提高了UART接收器的抗干擾性能,但也帶來(lái)了兩個(gè)問(wèn)題:
(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接收器的性能就越差。也就是說(shuō),數(shù)字相關(guān)器對(duì)同步模塊的判決信號(hào)有很高的精確度要求。
(2)數(shù)字相關(guān)器是一個(gè)運(yùn)算量相當(dāng)大的復(fù)雜邏輯器件。
以上兩個(gè)問(wèn)題使得UART接收器的邏輯結(jié)構(gòu)非常龐大,并將耗用很大的邏輯資源。而在大多數(shù)嵌入式系統(tǒng)應(yīng)用中,UART通常只是控制信息的一個(gè)接口,如果設(shè)計(jì)出來(lái)的UART的IP本身就占用了大量的邏輯資源,則使用者肯定不能接受,且這樣的UART的IP核也毫無(wú)價(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é)果通常無(wú)法達(dá)到同時(shí)為0的理想情況,如果以 N作為檢測(cè)同步的門限,則可能檢測(cè)不到Sync位,造成漏同步。
評(píng)論