摘 要: 針對實(shí)驗(yàn)過程中出現(xiàn)的CRC誤碼,主要利用信號回流檢測方法對原理圖進(jìn)行分析和改進(jìn),,增加了上拉電容以縮短回流路徑使其到地,,減少了彼此間的干擾,從而解決CRC誤碼,。實(shí)驗(yàn)結(jié)果表明,,在單板的寬廣處多放一些小電容到地,能給信號增加一個(gè)較好的回流路徑,,對于穩(wěn)定電源去除噪聲十分有益,。
關(guān)鍵詞: 計(jì)算機(jī)網(wǎng)絡(luò)通信;誤碼,;CRC,;信號回流
在計(jì)算機(jī)網(wǎng)絡(luò)通信和系統(tǒng)工作過程中,由于信道上存在的各種復(fù)雜因素(如沖擊噪聲,、脈沖噪聲,、熱噪聲、串音和傳輸質(zhì)量等)的影響,,信息在形成,、存取、傳送過程中往往受到不同程度的干擾,,嚴(yán)重時(shí)會造成誤碼,,即接收端收到的信息與發(fā)送端發(fā)送的信息不一致,以致阻斷通信[1],。因此,,應(yīng)該在接收端檢查所接收的數(shù)據(jù)是否正確??刹捎枚喾N檢測方法,,其中,循環(huán)冗余校驗(yàn)碼CRC(Cyclic Redundancy Check)是目前在計(jì)算機(jī)網(wǎng)絡(luò)通信及儀表數(shù)據(jù)通信等方面應(yīng)用最為廣泛的一種校驗(yàn)編碼方法,,是一種強(qiáng)有力的檢測手段,。
CRC是一種能力較強(qiáng)的檢錯(cuò)、糾錯(cuò)碼,,并且實(shí)現(xiàn)編碼和檢碼的電路比較簡單,,除了各種嵌入式儀表、變頻器等設(shè)備,還有一些數(shù)字型傳感器的輸出數(shù)據(jù)也提供CRC碼,,如數(shù)字溫度傳感器DS18B20,、集成溫濕度采集芯片SHT11等。此外,,人們還將該技術(shù)用于計(jì)算機(jī)網(wǎng)絡(luò)通信和數(shù)據(jù)通信系統(tǒng)中,,收到了令人滿意的效果[2]。
本文結(jié)合實(shí)例,,從信號回流的角度分析和改進(jìn)原理圖,,從而解決了CRC誤碼。
1 CRC檢驗(yàn)原理
CRC是分組線性碼的分支,,其主要應(yīng)用是二元碼組,。CRC的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送的k位二進(jìn)制碼序列,,以一定的規(guī)則產(chǎn)生一個(gè)校驗(yàn)用的監(jiān)督碼(即CRC碼)r位,,并附在信息后邊,構(gòu)成一個(gè)新的二進(jìn)制碼序列數(shù)共(k+r)位,,最后發(fā)送出去,。在接收端,則根據(jù)信息碼和CRC碼之間所遵循的規(guī)則進(jìn)行檢驗(yàn),,以確定傳送中是否出錯(cuò),。若不正確,則說明數(shù)據(jù)信息在傳輸過程中有誤碼,,通常通過發(fā)送端重傳來校正錯(cuò)誤,,直至傳送正確為止。
任何一個(gè)由二進(jìn)制位串組成的代碼可以和一個(gè)只含有0和1兩個(gè)系數(shù)的多項(xiàng)式建立一對一的關(guān)系,。例如一個(gè)二進(jìn)制代碼1011101,,其對應(yīng)的多項(xiàng)式為x6+x4+x3 +x2+1。k為要發(fā)送的信息位位數(shù),,可對應(yīng)一個(gè)(k-1)次多項(xiàng)式K(x),,r位冗余位可對應(yīng)于一個(gè)(r-1)次多項(xiàng)式R(x),由k位信息位后面加上r位冗余位組成的n=k+r位碼字則對應(yīng)于一個(gè)(n-1)次多項(xiàng)式:T(x)=xr×K(x)+R(x),。
在CRC校驗(yàn)編碼時(shí),,由信息位產(chǎn)生冗余碼的編碼過程就是求余數(shù)R(x)的過程,CRC碼中通過找到一個(gè)特定的r次多項(xiàng)式G(x)(最高項(xiàng)xr的系數(shù)為1)來實(shí)現(xiàn),,用G(x)去除xr×K(x),,得到的余式就是R(x)。
CRC校驗(yàn)是把要傳送的信息位串加上校驗(yàn)和構(gòu)成的循環(huán)冗余校驗(yàn)碼發(fā)送到接收方,,接收方在接收到循環(huán)冗余碼后,,將其除以生成多項(xiàng)式G(x),,若余數(shù)為0,則表示傳遞正確,,否則就說明有錯(cuò)[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ù)時(shí),,不會出現(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)過一定的時(shí)間,。開始的時(shí)候出現(xiàn)的很少,,只有一兩個(gè),但是很快將會發(fā)生雪崩效應(yīng),,出現(xiàn)大量的CRC誤碼,,業(yè)務(wù)可能因此而中斷。
上述是對CRC誤碼現(xiàn)象的描述,,經(jīng)過長期的分析定位,,通過實(shí)驗(yàn)得出的數(shù)據(jù)曲線,可以看出,,這從一個(gè)側(cè)面證明CRC誤碼一方面與電源的穩(wěn)定性有關(guān)系,,另一方面和信號回流也有關(guān)系,而且與信號回流的關(guān)系更大,,反而電源的不穩(wěn)定性對其影響并不大,。
本文著重從信號回流的角度對CRC誤碼現(xiàn)象進(jìn)行分析與解決。
3 信號回流的基礎(chǔ)知識
3.1 傳輸線
傳輸線等效模型如圖1所示,,點(diǎn)P是傳輸線上任意點(diǎn),,作為虛擬分界面將傳輸線分開,從右往左看過去,,R1,、L1,、C1分別是線路的等效電阻、電感,、電容,。R2是漏電流存在的情況下所體現(xiàn)的電阻,其阻值接近無限大,;而傳輸線靜態(tài)電阻R1很小,,也可忽略不計(jì)。這種情況下,,傳輸線特征阻抗可以簡化為:Z0=(L1/C1)1/2,,這是無損情況下的特征阻抗公式。
在P點(diǎn),,從A往B看,,Z02相當(dāng)于負(fù)載;從B往A看,,Z01相當(dāng)于信號源的內(nèi)阻,。由于Z01=Z02,因此在P點(diǎn)沒有反射,,也就是在同一根傳輸線上,,只有特征阻抗沒有變化,那么就不會有反射,。如果在PCB布板的過程中,,傳輸線在某一處阻抗有變化,那么就會有反射的產(chǎn)生[4],。
3.2 信號反射
由上可知,,對于傳輸線來說,如果負(fù)載阻抗與信號源內(nèi)阻的阻抗相等,,則在該點(diǎn)不會反射,,即可認(rèn)為線路是匹配的。因此,,在傳輸線內(nèi)部是不會發(fā)生信號反射的,,而在傳輸線的兩端就會發(fā)生。
在接收端,,以TTL電路為例,,接收端是晶體管的基極,而基極電流是極其微弱的,,因此,,傳輸線的末端等效為一個(gè)無窮大的電阻RL。也就是說,,負(fù)載電阻與傳輸線特征阻抗不匹配,,信號在這個(gè)點(diǎn)將會發(fā)生全反射,,反射波一直傳回源端。這時(shí),,如果源端內(nèi)阻與傳輸線阻抗不匹配,,在源端會發(fā)生二次反射,如此反復(fù)n次反射,。如果這個(gè)n次反射信號疊加到原先的信號上,,將導(dǎo)致信號劣化[5]。
3.3 信號回流
任何一個(gè)信號最終都要形成一個(gè)閉環(huán)回路,,如圖2所示,。
對于一個(gè)交流信號來說,信號的回流總是選擇阻抗最小的回路作為回流,,如果信號與回流信號所形成的面積越小,那么干擾和抗干擾能力就越好[6],。因?yàn)楫?dāng)回路面積越小,,回路所能接收到的干擾就越少,同時(shí)向外輻射的就會越小,。
4 CRC誤碼電路原理圖的分析與改進(jìn)
4.1 改進(jìn)前的原理圖
改進(jìn)前的信號圖流程徑電路圖如圖3所示,。根據(jù)傳輸線的理論,任何高速信號都需要一個(gè)回流平面,。信號從左端到右端,,信號完全匹配無反射,信號必然需要有回流路徑,,接收端作為高阻到地電容在皮法級別,,只能給信號的沿部分高頻分量提供回流,而對于較低頻的信號則需要通過上拉到VTT的電阻來回流,,在沒有加回流電容的情況下,,所有的信號都集中到了LP2995上來回流,部分通過放置在LP2995旁邊的一兩個(gè)小電容回流,,部分需要通過LP2995到2.5 V來回流,,這樣主要的回流路徑將會非常長,而且形成了較大的回流環(huán)路,,增加了彼此間的干擾,。DDR有64根數(shù)據(jù)線和幾十根地址線,必然會造成較大的串?dāng)_,,從而很容易導(dǎo)致CRC誤碼現(xiàn)象發(fā)生,。
4.1.1 33 Ω及50 Ω電阻的作用
若負(fù)載電阻與傳輸線特征阻抗不匹配,信號在這個(gè)點(diǎn)將會發(fā)生全反射,,反射波一直傳回源端,。這時(shí),,如果源端內(nèi)阻與傳輸線阻抗不匹配,在源端會發(fā)生二次反射,,如此反復(fù)n次反射,。如果這個(gè)n次反射信號疊加到原先的信號上,將導(dǎo)致信號劣化,。
因而信號兩端都加了33 Ω的串阻以減小二次反射,。吸收的原則就是讓源端的串阻加上源端內(nèi)阻(一般情況下,源端內(nèi)阻按照20 Ω左右來考慮,,當(dāng)然不同的芯片的管腳內(nèi)阻是不同的)的阻值正好和傳輸線特征阻抗相等,。末端加50 Ω上拉電阻,起到電壓偏置和信號匹配的作用[7],。
4.1.2 LP2995的作用
LP2995主要作用是提供一個(gè)sink current和source current[8],。sink是指接收負(fù)載的電流,source是指要給負(fù)載提供電流,。這正好是SSTL的VTT的供應(yīng)特性之一,,而LP2995就是專門能夠提供這種sink和source功能的器件。LP2995的內(nèi)部結(jié)構(gòu)圖如圖4所示,。
信號再輸出為1時(shí),,就是source output,向LP2995輸出電流,;而當(dāng)輸出為0時(shí),,就是sink output,此時(shí),,需要LP2995的VTT提供電流,。
4.1.3 VTT的作用
SSTL比一般的TTL電平的信號傳輸速率要高得多,如果一個(gè)信號要高速傳輸,,電壓幅度是不能太大的,,否則上升沿就限制了它的速率。SSTL剛好采用末端匹配吸收全部信號,,從而導(dǎo)致信號擺幅減掉了一半,,這樣就減小了信號的擺幅,提高了傳輸速率,。
圖5是DDR數(shù)據(jù)線的信號波形,,信號的擺幅顯然正好降低到了1.25 V左右,中間有一個(gè)1.25 V的直流偏置,,是由VTT來提供的,。
4.2 改進(jìn)的原理圖
由于LP2995作為一個(gè)LDO本身無法提供能量也無法蓄積能量,是不可能提供平穩(wěn)電壓的,,它的主要作用只是提供一個(gè)sink current和source current,。要想提供穩(wěn)定的電壓必須依賴于電容的蓄電能力,。
電容在消除濾波的時(shí)候是有電流流過的,而ESR(等效串聯(lián)電阻)正好就相當(dāng)于一個(gè)串聯(lián)在電容里面的電阻,,必然會造成壓降,,從而帶來濾波的效果降低,濾波特性變差,。一般的大容量電容的ESR會比小容量的陶瓷電容大得多,,這說明大的電容效果不是很好,而越小的電容越是能夠更快速地提供這種電流,,因?yàn)镋SR比較小,。但是大電容有著更強(qiáng)的蓄積電源的能力。
因此,,均勻地放置一些各式電容顯然效果會更好一些,,所以可以在整個(gè)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實(shí)踐調(diào)試過程中出現(xiàn)的CRC誤碼現(xiàn)象,本文先對CRC誤碼現(xiàn)象進(jìn)行了全面的描述,,由于實(shí)驗(yàn)證實(shí)了這種CRC誤碼現(xiàn)象在很大程度上是由信號回流引起的,,因此本文主要從信號回流的角度分析和改進(jìn)電路,以解決CRC誤碼,??偨Y(jié)發(fā)現(xiàn),現(xiàn)實(shí)生活中大多數(shù)電路問題都與信號回流有關(guān)系,,所以在單板的寬廣處多放一些0.1 μF的電容到地,,對于穩(wěn)定電源,、去除噪聲以及給信號增加了一個(gè)較好的回流路徑是十分有益的。
參考文獻(xiàn)
[1] 瞿中告,,袁威,,徐問之.CRC算法在計(jì)算機(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é)報(bào),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.