由驅(qū)動(dòng)能力引起的信號(hào)完整性案例解讀
2017-05-21 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
由驅(qū)動(dòng)能力引起的信號(hào)完整性案例解讀
一個(gè)高速器件放在一堆低速電路中,其信號(hào)完整性的問題會(huì)比較突出;而一個(gè)低速器件放在一堆高速電路中, 其驅(qū)動(dòng)能力的問題就會(huì)顯得比較突出。 為什么, 請(qǐng)看 “案例: 驅(qū)動(dòng)能力不足造成的時(shí)序錯(cuò)誤”。另外, 也有器件選型和匹配方案不當(dāng)帶來的驅(qū)動(dòng)能力問題, 當(dāng)器件驅(qū)動(dòng)的信號(hào)沿大大超出其翻轉(zhuǎn)速率時(shí),所帶來的問題除了信號(hào)沿變緩?fù)?還可能造成信號(hào)擺幅變小,閾值電平違規(guī)等。詳見“案例:錯(cuò)誤的設(shè)計(jì)帶來的驅(qū)動(dòng)能力問題”。
1 案例:驅(qū)動(dòng)能力不足造成的時(shí)序錯(cuò)誤
一塊單板,設(shè)計(jì)有 DSP 和 FPGA。 FPGA 的加載模式設(shè)置為 Slave Serial 模式,上電時(shí) DSP 從外掛FLASH 中讀取 FPGA 的 bit 文件,并加載 FPGA。發(fā)現(xiàn)的故障是: FPGA 加載有一定失敗的概率。
示波器監(jiān)測(cè) FPGA 的 INIT_B 信號(hào),發(fā)現(xiàn)該信號(hào)在加載數(shù)據(jù)過程中會(huì)拉低且無法恢復(fù)。(正常流程該信號(hào)只在加載初始化時(shí)輸出低脈沖)。 INIT_B 信號(hào)在加載數(shù)據(jù)過程中拉低,表示 FPGA 檢測(cè)到了數(shù)據(jù)CRC 出錯(cuò)。分別導(dǎo)出 FPGA 加載成功和加載失敗兩種情況下, DSP 從 FLASH 中讀到 SDRAM 中的 bit文件,并進(jìn)行比較,發(fā)現(xiàn)二者有少量字節(jié)有差異。由此判斷, DSP 在將 FPGA 加載數(shù)據(jù)從 FLASH 向SDRAM 搬移的過程中,出現(xiàn)了誤碼。 DSP 本身的程序運(yùn)行依賴于 SDRAM,如果 SDRAM 訪問有問題,DSP 應(yīng)該容易跑飛。鑒于故障復(fù)現(xiàn)時(shí)未發(fā)生 DSP 跑飛的現(xiàn)象,我們把排查的重點(diǎn)放在讀 FLASH 的過程上。
硬件電路上, FLASH 掛在 DSP 的本地總線上,作為異步存儲(chǔ)器被 DSP 訪問, FLASH 的標(biāo)稱訪問時(shí)間是 90ns,依此來檢查 DSP 對(duì) FLASH 空間的時(shí)序配置,讀數(shù)時(shí)的建立保持時(shí)間應(yīng)該都是足夠的。但經(jīng)過實(shí)測(cè)發(fā)現(xiàn),建立時(shí)間的時(shí)序裕量為負(fù)值。究其因,是因?yàn)? FLASH 輸出的信號(hào)沿太緩,幾乎達(dá)到了 20ns,如圖 14通道二波形。這樣緩的信號(hào)沿,直接導(dǎo)致了 FLASH 訪問時(shí)間的延長,超過了 97ns。
找到問題根源后,根據(jù)測(cè)量結(jié)果修改 DSP 對(duì) FLASH 空間的異步時(shí)序配置,以保證足夠的裕量,問題便迎刃而解了。在一個(gè)總線頻率超過 50MHz 的處理器系統(tǒng)中, FLASH 相對(duì)來說屬于較低速的器件,其管腳驅(qū)動(dòng)能力也較弱。如果處理器總線上掛的負(fù)載比較多,由于容性負(fù)載的增大, FLASH 驅(qū)動(dòng)總線時(shí),其輸出信號(hào)沿勢(shì)必會(huì)變得更緩。而信號(hào)沿變緩帶來的額外延時(shí),往往容易被忽略。設(shè)計(jì)者在處理類似的接口時(shí),應(yīng)該充分考慮各種可能給時(shí)序帶來沖擊的參數(shù),以保證接口的穩(wěn)定可靠。
2 案例:錯(cuò)誤的設(shè)計(jì)帶來的驅(qū)動(dòng)能力問題
一個(gè) 100MHz 時(shí)鐘,由晶體驅(qū)動(dòng)反相器 74AHC04 產(chǎn)生,作為 FPGA 的時(shí)鐘全局時(shí)鐘使用。 FPGA的管腳電平設(shè)置為 LVTTL33。電路工作過程中,發(fā)現(xiàn) FPGA 工作紊亂,將時(shí)鐘引出測(cè)量,時(shí)有時(shí)無,很不穩(wěn)定。測(cè)量 100MHz 時(shí)鐘輸入,發(fā)現(xiàn)高電平只有 1.5V 左右。該電平無法保證被 FPGA 正確識(shí)別為高。這是一個(gè)典型的工程師經(jīng)驗(yàn)不足造成的原始設(shè)計(jì)缺陷。分析這個(gè) 100MHz 時(shí)鐘的原理圖 (如圖 15),1 分鐘內(nèi)發(fā)現(xiàn)三個(gè)問題:1.最大的問題,反相器的選型: 74AHC04 能保證的輸出信號(hào)翻轉(zhuǎn)率很緩(規(guī)格書標(biāo)稱的最小翻轉(zhuǎn)斜率為 100ns/V),也就是說,這個(gè)電路實(shí)際是在用一個(gè)低速器件驅(qū)動(dòng)一個(gè)高速信號(hào)。這樣的直接結(jié)果便是導(dǎo)致其輸出 100MHz 信號(hào)時(shí)幅度不夠;2.源端使用了一個(gè) 100ohm 的串阻,負(fù)載端使用了一個(gè) 200ohm 的并行匹配,從阻抗連續(xù)的觀點(diǎn)來看, 這種取值起不到阻抗匹配的作用。并行匹配用于 LVTTL/LVCMOS 電平, 也不合適, 100+200=300ohm。電阻的輸出負(fù)載較重,對(duì)信號(hào)沿有進(jìn)一步拉緩的影響;3.100ohm 和 200ohm 的電阻構(gòu)成了分壓網(wǎng)絡(luò), 造成 FPGA 輸入端的高電平只有 74AHC04 輸出端的2/3,這樣,接收端得到的信號(hào)幅度就更小了。
解決方法:選擇沿更快的反相器;串行匹配使用 10~50ohm 的阻值,具體由仿真確定;去除并行匹配電阻。
這個(gè)案例主要的問題就在于器件的選型。 100MHz 的時(shí)鐘,已屬于典型的高速信號(hào),用不符合信號(hào)沿規(guī)格的低速器件驅(qū)動(dòng),必然會(huì)造成信號(hào)幅度上的違規(guī)。
相關(guān)標(biāo)簽搜索:由驅(qū)動(dòng)能力引起的信號(hào)完整性案例解讀 HFSS電磁分析培訓(xùn) HFSS培訓(xùn)課程 HFSS技術(shù)教程 HFSS無線電仿真 HFSS電磁場(chǎng)仿真 HFSS學(xué)習(xí) HFSS視頻教程 天線基礎(chǔ)知識(shí) HFSS代做 天線代做 Fluent、CFX流體分析 HFSS電磁分析