為了提高串行數(shù)據(jù)傳輸?shù)目煽啃?,現(xiàn)在很多更高速率的數(shù)字接口采用對數(shù)據(jù)進(jìn)行編碼后再做并/串轉(zhuǎn)換的方式。編碼的方式有很多,如8b/9b編碼、8b/10b編碼、64b/66b編碼、128b/130b編碼等,下面以當(dāng)下流行的ANSI8b/10b編碼為例進(jìn)行介紹。
在ANSI8b/10b編碼方式中,8bit的數(shù)據(jù)先通過相應(yīng)的編碼規(guī)則轉(zhuǎn)換成10bit的數(shù)據(jù),再進(jìn)行并/串轉(zhuǎn)換;接收端收到信號后先把串行數(shù)據(jù)進(jìn)行串/并轉(zhuǎn)換得到10bit的數(shù)據(jù),再通過10bit到8bit的解碼得到原始傳輸?shù)?bit數(shù)據(jù)。因此,如果發(fā)送端并行側(cè)的數(shù)據(jù)速率是8bit×100Mbps,通過8b/10b編碼和并/串轉(zhuǎn)換后的串行側(cè)的數(shù)據(jù)速率就是1bit×1Gbps。8b/10b編碼方法早由IBM發(fā)明,后來成為ANSI標(biāo)準(zhǔn)的一部分(ANSIX3.230-1994,clause11),并在通信和計算機(jī)總線上廣泛應(yīng)用。表1.1是ANSI8b/10b編碼表的一部分,以數(shù)據(jù)0x00為例, 數(shù)字信號有哪些出來方式;上海數(shù)字信號測試USB測試
數(shù)字信號的時域和頻域
數(shù)字信號的頻率分量可以通過從時域到頻域的轉(zhuǎn)換中得到。首先我們要知道時域是真實(shí)世界,頻域是更好的用于做信號分析的一種數(shù)學(xué)手段,時域的數(shù)字信號可以通過傅里葉變換轉(zhuǎn)變?yōu)橐粋€個頻率點(diǎn)的正弦波的。這些正弦波就是對應(yīng)的數(shù)字信號的頻率分量。假如定義理想方波的邊沿時間為0,占空比50%的周期信號,其在傅里葉變換后各頻率分量振幅。
可見對于理想方波,其振幅頻譜對應(yīng)的正弦波頻率是基頻的奇數(shù)倍頻(在50%的占空比下)。奇次諧波的幅度是按1"下降的(/是頻率),也就是-20dB/dec(-20分貝每十倍頻)。 上海數(shù)字信號測試USB測試數(shù)字信號處理系統(tǒng)的性能取決于3個因素:采樣頻率、架構(gòu)、字長。
數(shù)字信號的建立/保持時間(Setup/HoldTime)
不論數(shù)字信號的上升沿是陡還是緩,在信號跳變時總會有一段過渡時間處于邏輯判決閾值的上限和下限之間,從而造成邏輯的不確定狀態(tài)。更糟糕的是,通常的數(shù)字信號都不只一路,可能是多路信號一起傳輸來一些邏輯和功能狀態(tài)。這些多路信號之間由于電氣特性的不完全一致以及PCB走線路徑長短的不同,在到達(dá)其接收端時會存在不同的時延,時延的不同會進(jìn)一步增加邏輯狀態(tài)的不確定性。
由于我們感興趣的邏輯狀態(tài)通常是信號電平穩(wěn)定以后的狀態(tài)而不是跳變時所的狀態(tài),所以現(xiàn)在大部分?jǐn)?shù)字電路采用同步電路,即系統(tǒng)中有一個統(tǒng)一的工作時鐘對信號進(jìn)行采樣。如圖1.5所示,雖然信號在跳變過程中可能會有不確定的邏輯狀態(tài),但是若我們只在時鐘CLK的上升沿對信號進(jìn)行判決采樣,則得到的就是穩(wěn)定的邏輯狀態(tài)。
數(shù)字信號的帶寬(Bandwidth)
在進(jìn)行數(shù)字信號的分析和測試時,了解我們要分析的數(shù)字信號的帶寬是很重要的一點(diǎn),它決定了我們進(jìn)行電路設(shè)計時對PCB走線和傳輸介質(zhì)傳輸帶寬的要求,也決定了測試對儀表的要求。
數(shù)字信號的帶寬可以大概理解為數(shù)字信號的能量在頻域的一個分布范圍,由于數(shù)字信號不是正弦波,有很多高次諧波成分,所以其在頻域的能量分布是一個比較復(fù)雜的問題。
傳統(tǒng)上做數(shù)字電路設(shè)計的工程師習(xí)慣根據(jù)信號的5次諧波來估算帶寬,比如如果信號的數(shù)據(jù)速率是100Mbps,其快的0101的跳變波形相當(dāng)于50MHz的方波時鐘,這個方波時鐘的5次諧波成分是250MHz,因此信號的帶寬大概就在250MHz以內(nèi)。這種方法看起來很合理,因為5次諧波對于重建信號的基本波形形狀是非常重要的,但這種方法對于需要進(jìn)行精確波形參數(shù)測量的場合來說就不太準(zhǔn)確了。比如同樣是50MHz 的信號,如果上升沿很陡接近理想方波,其高次諧波能量就比較大;而如果上升沿很緩接近 正弦波,其高次諧波能量就很小。
數(shù)字信號是由“0”和“1”。
很多經(jīng)典的處理器采用了并行的總線架構(gòu)。比如大家熟知的51單片機(jī)就采用了8根并行數(shù)據(jù)線和16根地址線;CPU的鼻祖——Intel公司的8086微處理器——**初推出時具有16根并行數(shù)據(jù)線和16根地址線;
現(xiàn)在很多嵌入式系統(tǒng)中多使用的ARM處理器則大部分使用32根數(shù)據(jù)線以及若干根地址線。并行總線的比較大好處是總線的邏輯時序比較簡單,電路實(shí)現(xiàn)起來比較容易;但是缺點(diǎn)也是非常明顯的,比如并行總線的信號線數(shù)量非常多,會占用大量的引腳和布線空間,因此芯片和PCB的尺寸很難實(shí)現(xiàn)小型化,特別是如果要用電纜進(jìn)行遠(yuǎn)距離傳輸時,由于信號線的數(shù)量非常多,使得電纜變得非常昂貴和笨重。 數(shù)字信號帶寬、信道帶寬、信息速率、基帶、頻帶的帶寬;上海數(shù)字信號測試USB測試
示波器進(jìn)行數(shù)字信號的幅度測試;上海數(shù)字信號測試USB測試
采用前向時鐘的總線因為有專門的時鐘通路,不需要再對數(shù)據(jù)進(jìn)行編解碼,所以總線效率一般都比較高。還有一個優(yōu)點(diǎn)是線路噪聲和抖動對于時鐘和數(shù)據(jù)線的影響基本是一樣的(因為走線通常都在一起),所以對系統(tǒng)的影響可以消除到小。
嵌入式時鐘的電路對于線路上的高頻抖動非常敏感,而采用前向時鐘的電路對高頻抖動的敏感度就相對小得多。前向時鐘總線典型的數(shù)據(jù)速率在500Mbps~12Gbps.
在前向時鐘的拓?fù)淇偩€中,時鐘速率通常是數(shù)據(jù)速率的一半(也有采用1/4速率、1/10或其他速率的),數(shù)據(jù)在上下邊沿都采樣,也就是通常所說的DDR方式。使用DDR采樣的好處是時鐘線和數(shù)據(jù)線在設(shè)計上需要的帶寬是一樣的,任何設(shè)計上的局限性(比如傳輸線的衰減特性)對于時鐘和數(shù)據(jù)線的影響是一樣的。
前向時鐘在一些關(guān)注效率、實(shí)時性,同時需要高吞吐量的總線上應(yīng)用比較,比如DDR總線、GDDR總線、HDMI總線、Intel公司CPU互連的QPI/UPI總線等。 上海數(shù)字信號測試USB測試
建立時間和保持時間加起來的時間稱為建立/保持時間窗口,是接收端對于信號保持在 同一個邏輯狀態(tài)的**小的時間要求。數(shù)字信號的比特寬度如果窄于這個時間窗口就肯定無 法同時滿足建立時間和保持時間的要求,所以接收端對于建立/保持時間窗口大小的要求實(shí) 際上決定了這個電路能夠工作的比較高的數(shù)據(jù)速率。通常工 作速率高一些的芯片,很短的建 立時間、保持時間就可以保證電路可靠工作,而工作速率低一 些的芯片則會要求比較長的建 立時間和保持時間。 另外要注意的是, 一個數(shù)字電路能夠可靠工作的比較高數(shù)據(jù)速率不僅取決于接收端對于 建立/保持時間的要求,輸出端的上升時間過緩、輸出幅度偏小、信號和時鐘中有抖動、信...