《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于CRC機(jī)制的信號回流檢測方法與誤碼分析
基于CRC機(jī)制的信號回流檢測方法與誤碼分析
來源:微型機(jī)與應(yīng)用2011年第21期
鄔春學(xué),,華 樂
(上海理工大學(xué) 光電信息與計算機(jī)工程學(xué)院,,上海 200093)
摘要: 針對實驗過程中出現(xiàn)的CRC誤碼,主要利用信號回流檢測方法對原理圖進(jìn)行分析和改進(jìn),增加了上拉電容以縮短回流路徑使其到地,,減少了彼此間的干擾,,從而解決CRC誤碼。實驗結(jié)果表明,,在單板的寬廣處多放一些小電容到地,,能給信號增加一個較好的回流路徑,對于穩(wěn)定電源去除噪聲十分有益,。
Abstract:
Key words :

摘  要: 針對實驗過程中出現(xiàn)的CRC誤碼,,主要利用信號回流檢測方法對原理圖進(jìn)行分析和改進(jìn),增加了上拉電容以縮短回流路徑使其到地,,減少了彼此間的干擾,,從而解決CRC誤碼。實驗結(jié)果表明,,在單板的寬廣處多放一些小電容到地,,能給信號增加一個較好的回流路徑,對于穩(wěn)定電源去除噪聲十分有益,。
關(guān)鍵詞: 計算機(jī)網(wǎng)絡(luò)通信,;誤碼;CRC,;信號回流

 在計算機(jī)網(wǎng)絡(luò)通信和系統(tǒng)工作過程中,,由于信道上存在的各種復(fù)雜因素(如沖擊噪聲、脈沖噪聲,、熱噪聲,、串音和傳輸質(zhì)量等)的影響,信息在形成,、存取,、傳送過程中往往受到不同程度的干擾,嚴(yán)重時會造成誤碼,,即接收端收到的信息與發(fā)送端發(fā)送的信息不一致,,以致阻斷通信[1]。因此,,應(yīng)該在接收端檢查所接收的數(shù)據(jù)是否正確,。可采用多種檢測方法,,其中,,循環(huán)冗余校驗碼CRC(Cyclic Redundancy Check)是目前在計算機(jī)網(wǎng)絡(luò)通信及儀表數(shù)據(jù)通信等方面應(yīng)用最為廣泛的一種校驗編碼方法,是一種強有力的檢測手段,。
 CRC是一種能力較強的檢錯,、糾錯碼,并且實現(xiàn)編碼和檢碼的電路比較簡單,除了各種嵌入式儀表,、變頻器等設(shè)備,,還有一些數(shù)字型傳感器的輸出數(shù)據(jù)也提供CRC碼,如數(shù)字溫度傳感器DS18B20,、集成溫濕度采集芯片SHT11等,。此外,人們還將該技術(shù)用于計算機(jī)網(wǎng)絡(luò)通信和數(shù)據(jù)通信系統(tǒng)中,,收到了令人滿意的效果[2],。
本文結(jié)合實例,從信號回流的角度分析和改進(jìn)原理圖,,從而解決了CRC誤碼,。
1 CRC檢驗原理
 CRC是分組線性碼的分支,其主要應(yīng)用是二元碼組,。CRC的基本思想是利用線性編碼理論,,在發(fā)送端根據(jù)要傳送的k位二進(jìn)制碼序列,以一定的規(guī)則產(chǎn)生一個校驗用的監(jiān)督碼(即CRC碼)r位,,并附在信息后邊,構(gòu)成一個新的二進(jìn)制碼序列數(shù)共(k+r)位,,最后發(fā)送出去,。在接收端,則根據(jù)信息碼和CRC碼之間所遵循的規(guī)則進(jìn)行檢驗,,以確定傳送中是否出錯,。若不正確,則說明數(shù)據(jù)信息在傳輸過程中有誤碼,,通常通過發(fā)送端重傳來校正錯誤,,直至傳送正確為止。
 任何一個由二進(jìn)制位串組成的代碼可以和一個只含有0和1兩個系數(shù)的多項式建立一對一的關(guān)系,。例如一個二進(jìn)制代碼1011101,,其對應(yīng)的多項式為x6+x4+x3 +x2+1。k為要發(fā)送的信息位位數(shù),,可對應(yīng)一個(k-1)次多項式K(x),,r位冗余位可對應(yīng)于一個(r-1)次多項式R(x),由k位信息位后面加上r位冗余位組成的n=k+r位碼字則對應(yīng)于一個(n-1)次多項式:T(x)=xr×K(x)+R(x),。
 在CRC校驗編碼時,,由信息位產(chǎn)生冗余碼的編碼過程就是求余數(shù)R(x)的過程,CRC碼中通過找到一個特定的r次多項式G(x)(最高項xr的系數(shù)為1)來實現(xiàn),,用G(x)去除xr×K(x),,得到的余式就是R(x)。
CRC校驗是把要傳送的信息位串加上校驗和構(gòu)成的循環(huán)冗余校驗碼發(fā)送到接收方,接收方在接收到循環(huán)冗余碼后,,將其除以生成多項式G(x),,若余數(shù)為0,則表示傳遞正確,,否則就說明有錯[3],。
2 CRC誤碼
 在EGFC16調(diào)試過程中,單板的FE電口在SmartBits發(fā)送業(yè)務(wù)內(nèi)容為8-0-s,、8-f-s,,在這種長連0長連1業(yè)務(wù)的情況下,會出現(xiàn)CRC誤碼,。單板在啟動后,,如果接收的業(yè)務(wù)內(nèi)容為8-0-s、8-f-s或者其他業(yè)務(wù)時,,不會出現(xiàn)CRC誤碼,。在出現(xiàn)誤碼的情況下,將業(yè)務(wù)內(nèi)容改成不造成CRC誤碼的業(yè)務(wù)也無濟(jì)于事,,CRC誤碼會一直存在,,除非將單板重新冷復(fù)位。
 CRC誤碼在上述“8-0-s,、8-f-s”業(yè)務(wù)的情況下并不是馬上出現(xiàn)CRC誤碼,,而是需要經(jīng)過一定的時間。開始的時候出現(xiàn)的很少,,只有一兩個,,但是很快將會發(fā)生雪崩效應(yīng),出現(xiàn)大量的CRC誤碼,,業(yè)務(wù)可能因此而中斷,。
上述是對CRC誤碼現(xiàn)象的描述,經(jīng)過長期的分析定位,,通過實驗得出的數(shù)據(jù)曲線,,可以看出,這從一個側(cè)面證明CRC誤碼一方面與電源的穩(wěn)定性有關(guān)系,,另一方面和信號回流也有關(guān)系,,而且與信號回流的關(guān)系更大,反而電源的不穩(wěn)定性對其影響并不大,。
 本文著重從信號回流的角度對CRC誤碼現(xiàn)象進(jìn)行分析與解決,。
3 信號回流的基礎(chǔ)知識
3.1 傳輸線

 傳輸線等效模型如圖1所示,點P是傳輸線上任意點,,作為虛擬分界面將傳輸線分開,,從右往左看過去,,R1、L1,、C1分別是線路的等效電阻,、電感、電容,。R2是漏電流存在的情況下所體現(xiàn)的電阻,,其阻值接近無限大;而傳輸線靜態(tài)電阻R1很小,,也可忽略不計,。這種情況下,傳輸線特征阻抗可以簡化為:Z0=(L1/C1)1/2,,這是無損情況下的特征阻抗公式,。

 在P點,從A往B看,,Z02相當(dāng)于負(fù)載,;從B往A看,Z01相當(dāng)于信號源的內(nèi)阻,。由于Z01=Z02,,因此在P點沒有反射,也就是在同一根傳輸線上,,只有特征阻抗沒有變化,,那么就不會有反射。如果在PCB布板的過程中,,傳輸線在某一處阻抗有變化,那么就會有反射的產(chǎn)生[4],。
3.2 信號反射
 由上可知,,對于傳輸線來說,如果負(fù)載阻抗與信號源內(nèi)阻的阻抗相等,,則在該點不會反射,,即可認(rèn)為線路是匹配的。因此,,在傳輸線內(nèi)部是不會發(fā)生信號反射的,,而在傳輸線的兩端就會發(fā)生。
在接收端,,以TTL電路為例,,接收端是晶體管的基極,而基極電流是極其微弱的,,因此,,傳輸線的末端等效為一個無窮大的電阻RL,。也就是說,負(fù)載電阻與傳輸線特征阻抗不匹配,,信號在這個點將會發(fā)生全反射,,反射波一直傳回源端。這時,,如果源端內(nèi)阻與傳輸線阻抗不匹配,,在源端會發(fā)生二次反射,如此反復(fù)n次反射,。如果這個n次反射信號疊加到原先的信號上,,將導(dǎo)致信號劣化[5]。
3.3 信號回流
 任何一個信號最終都要形成一個閉環(huán)回路,,如圖2所示,。
對于一個交流信號來說,信號的回流總是選擇阻抗最小的回路作為回流,,如果信號與回流信號所形成的面積越小,,那么干擾和抗干擾能力就越好[6]。因為當(dāng)回路面積越小,,回路所能接收到的干擾就越少,,同時向外輻射的就會越小。


4 CRC誤碼電路原理圖的分析與改進(jìn)

 


4.1 改進(jìn)前的原理圖

 改進(jìn)前的信號圖流程徑電路圖如圖3所示,。根據(jù)傳輸線的理論,,任何高速信號都需要一個回流平面。信號從左端到右端,,信號完全匹配無反射,,信號必然需要有回流路徑,接收端作為高阻到地電容在皮法級別,,只能給信號的沿部分高頻分量提供回流,,而對于較低頻的信號則需要通過上拉到VTT的電阻來回流,在沒有加回流電容的情況下,,所有的信號都集中到了LP2995上來回流,,部分通過放置在LP2995旁邊的一兩個小電容回流,部分需要通過LP2995到2.5 V來回流,,這樣主要的回流路徑將會非常長,,而且形成了較大的回流環(huán)路,增加了彼此間的干擾,。DDR有64根數(shù)據(jù)線和幾十根地址線,,必然會造成較大的串?dāng)_,從而很容易導(dǎo)致CRC誤碼現(xiàn)象發(fā)生,。

4.1.1 33 Ω及50 Ω電阻的作用
 若負(fù)載電阻與傳輸線特征阻抗不匹配,,信號在這個點將會發(fā)生全反射,,反射波一直傳回源端。這時,,如果源端內(nèi)阻與傳輸線阻抗不匹配,,在源端會發(fā)生二次反射,如此反復(fù)n次反射,。如果這個n次反射信號疊加到原先的信號上,,將導(dǎo)致信號劣化。
 因而信號兩端都加了33 Ω的串阻以減小二次反射,。吸收的原則就是讓源端的串阻加上源端內(nèi)阻(一般情況下,,源端內(nèi)阻按照20 Ω左右來考慮,當(dāng)然不同的芯片的管腳內(nèi)阻是不同的)的阻值正好和傳輸線特征阻抗相等,。末端加50 Ω上拉電阻,,起到電壓偏置和信號匹配的作用[7]。
4.1.2 LP2995的作用
 LP2995主要作用是提供一個sink current和source current[8],。sink是指接收負(fù)載的電流,,source是指要給負(fù)載提供電流。這正好是SSTL的VTT的供應(yīng)特性之一,,而LP2995就是專門能夠提供這種sink和source功能的器件,。LP2995的內(nèi)部結(jié)構(gòu)圖如圖4所示。

 信號再輸出為1時,,就是source output,,向LP2995輸出電流;而當(dāng)輸出為0時,,就是sink output,,此時,需要LP2995的VTT提供電流,。
4.1.3 VTT的作用
 SSTL比一般的TTL電平的信號傳輸速率要高得多,,如果一個信號要高速傳輸,電壓幅度是不能太大的,,否則上升沿就限制了它的速率。SSTL剛好采用末端匹配吸收全部信號,,從而導(dǎo)致信號擺幅減掉了一半,,這樣就減小了信號的擺幅,提高了傳輸速率,。
 圖5是DDR數(shù)據(jù)線的信號波形,,信號的擺幅顯然正好降低到了1.25 V左右,中間有一個1.25 V的直流偏置,,是由VTT來提供的,。

4.2 改進(jìn)的原理圖
 由于LP2995作為一個LDO本身無法提供能量也無法蓄積能量,,是不可能提供平穩(wěn)電壓的,它的主要作用只是提供一個sink current和source current,。要想提供穩(wěn)定的電壓必須依賴于電容的蓄電能力,。
 電容在消除濾波的時候是有電流流過的,而ESR(等效串聯(lián)電阻)正好就相當(dāng)于一個串聯(lián)在電容里面的電阻,,必然會造成壓降,,從而帶來濾波的效果降低,濾波特性變差,。一般的大容量電容的ESR會比小容量的陶瓷電容大得多,,這說明大的電容效果不是很好,而越小的電容越是能夠更快速地提供這種電流,,因為ESR比較小,。但是大電容有著更強的蓄積電源的能力。
 因此,,均勻地放置一些各式電容顯然效果會更好一些,,所以可以在整個plane層放置10 μF、0.1 μF,、0.01 μF和470 μF的電容,,這樣無論是高頻的波動還是低頻的擾動都可以濾掉,而且這種并聯(lián)的方式本身就減小了ESR,,更有利于信號的濾波,。
 根據(jù)上面的思想,為了解決CRC誤碼問題,,本文在原來的原理圖中加上了回流電容到地,。改進(jìn)后的電路圖如圖6所示。

 可以看到,,信號可以通過電阻直接經(jīng)過小電容從地回流,,主要的回流路徑很短,不會形成大的回流環(huán)路,,也就減小了彼此間的干擾,,減少了DDR數(shù)據(jù)線和地址線間的串?dāng)_,從而解決了CRC的誤碼問題,。
 針對EGFC16實踐調(diào)試過程中出現(xiàn)的CRC誤碼現(xiàn)象,,本文先對CRC誤碼現(xiàn)象進(jìn)行了全面的描述,由于實驗證實了這種CRC誤碼現(xiàn)象在很大程度上是由信號回流引起的,,因此本文主要從信號回流的角度分析和改進(jìn)電路,,以解決CRC誤碼??偨Y(jié)發(fā)現(xiàn),,現(xiàn)實生活中大多數(shù)電路問題都與信號回流有關(guān)系,,所以在單板的寬廣處多放一些0.1 μF的電容到地,對于穩(wěn)定電源,、去除噪聲以及給信號增加了一個較好的回流路徑是十分有益的,。
參考文獻(xiàn)
[1] 瞿中告,袁威,,徐問之.CRC算法在計算機(jī)網(wǎng)絡(luò)通信中的應(yīng)用[J].微機(jī)發(fā)展,,2002(2):12-14.
[2] 瞿中告,徐問之.單片機(jī)通信中的CRC算法[J].微機(jī)發(fā)展,,2001(4):74-76.
[3] WILLIAMS R. A painless guide to CRC error detection Algorithms[DB/OL]. [2008-10],, http://www.repairfaq.org/filipg/.
[4] 冼志妙,朱雪花,,襲著科.高速PCB的信號完整性分析及應(yīng)用[J].桂林工學(xué)院學(xué)報,,2006(2):286-290.
[5] HALL S H, HALL G W,, MCCALL J A. High-speed digital system design[M]. Wiley IEEE Press,,2000.
[6] BROOKS D. Signal integrity issues and printed circuit board design[M]. Prentice Hall PTR, 2003.
[7] 康壯.高速數(shù)字電路中的終端匹配技術(shù)[J].聲學(xué)與電子工程,,2004,,73:13-639.
[8] JOHNSON H, GRAHAM M. High-speed digital design[M].Prentice Hall,, 2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。