《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 高速全數(shù)字解調(diào)器的一種在線調(diào)試方法
高速全數(shù)字解調(diào)器的一種在線調(diào)試方法
來源:電子技術(shù)應(yīng)用2010年第10期
姜 波,孫曉磊
海軍潛艇學(xué)院,山東 青島266071
摘要: 提出一種高速全數(shù)字解調(diào)器的在線調(diào)試方法,靈活運(yùn)用FIFO捕獲并緩存包含錯(cuò)誤信息的相關(guān)數(shù)據(jù),解決了高速、海量數(shù)據(jù)流中難以捕獲偶發(fā)性錯(cuò)誤信息的難題,為程序缺陷分析提供條件,可直接用于高速全數(shù)字解調(diào)器的后期調(diào)試,其基本思想適應(yīng)于其他高速邏輯的FPGA調(diào)試。
中圖分類號(hào): TN911.72
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)10-0057-03
An online debugging method for high speed all digital demodulator
JIANG Bo,SUN Xiao Lei
Navy Submarine Academy, Qingdao 266071,China
Abstract: This paper proposes an online debugging method for high speed all digital demodulator. FIFOs are artfully used to capture and to buffer the datas including error information. The method resolves the difficult problem of capturing the sporadic errors in numerous high speed data stream, offering precondition for program debugging. The proposed method can direct works for the late debugging of high speed all digital demodulators, and its basic ideas adapt to the dubugging of other high speed logic in FPGA.
Key words : all digital demodulator;FIFO;debug;FPGA

    高速調(diào)制解調(diào)器集成化設(shè)計(jì)[1,2]面臨的挑戰(zhàn)之一是高速邏輯電路的設(shè)計(jì)與調(diào)試。在符號(hào)速率為幾百兆的情況下,時(shí)鐘周期僅為幾個(gè)納秒,這對(duì)數(shù)據(jù)傳輸、信號(hào)處理都提出了嚴(yán)格要求。同時(shí),設(shè)計(jì)高速調(diào)制解調(diào)器是一項(xiàng)復(fù)雜的系統(tǒng)工程,其間難免的邏輯錯(cuò)誤和設(shè)計(jì)缺陷需要通過反復(fù)的在線調(diào)試才能發(fā)現(xiàn)。調(diào)試高速數(shù)字電路需要高速率邏輯分析儀、高采樣率數(shù)字示波器等高檔儀器的支持,這在很大程度上增加了項(xiàng)目開發(fā)成本。基于邏輯分析儀調(diào)試數(shù)字電路時(shí),每一個(gè)待觀測數(shù)據(jù)位對(duì)應(yīng)一根數(shù)據(jù)線,同時(shí)觀測多組信號(hào)時(shí),需要在電路板上引出大量的測試引腳,既浪費(fèi)芯片的引腳資源又不夠靈活,使調(diào)試過程繁瑣不堪。
    基于芯片內(nèi)部的數(shù)據(jù)采集和分析是一種先進(jìn)的調(diào)試技術(shù),尤其適用于高速、復(fù)雜系統(tǒng)的在線調(diào)試。Xilinx公司的ChipScope軟件可以在多個(gè)系列的FPGA內(nèi)部嵌入關(guān)鍵的邏輯分析模塊,通過這些功能模塊,為設(shè)計(jì)者提供一套完整的邏輯分析方案。
    先進(jìn)的軟硬件提供了解決問題的一般化工具。如何利用這些技術(shù)解決工程中遇到的實(shí)際問題依然是設(shè)計(jì)者必須面對(duì)的難題。結(jié)合高速率8PSK信號(hào)的數(shù)字鎖相環(huán)設(shè)計(jì),給出了一種有效的高速全數(shù)字解調(diào)器的在線調(diào)試方法。
1 基于ChipScope的FPGA調(diào)試
    圖1為基于ChipScope進(jìn)行FPGA調(diào)試的實(shí)現(xiàn)框圖[3],僅包含一臺(tái)安裝Xilinx FPGA集成開發(fā)軟件包的高檔微機(jī)、一根FPGA配置電纜以及待調(diào)試的用戶板,不需要任何其他測量儀器。

    通過ChipScope Pro Core Generator/Inserter軟件包,放置ICON、ILA等IP核至用戶HDL源程序中,經(jīng)Xilinx ISE編譯、綜合生成二進(jìn)制比特流,配置到待調(diào)試的目標(biāo)器件中。基于ChipScope Pro Analyzer軟件,用戶計(jì)算機(jī)通過JTAG邊界掃描端口讀回采集的數(shù)據(jù),即可以測試和分析用戶的設(shè)計(jì)?;谠撜{(diào)試方案,用戶可以同時(shí)觀測256通道的實(shí)時(shí)數(shù)據(jù),單一通道的最大緩存深度達(dá)2 M采樣。
2 一種有效的在線調(diào)試方法
    高速數(shù)字邏輯的調(diào)試過程就是尋找設(shè)計(jì)缺陷并克服缺陷的過程,其中發(fā)現(xiàn)設(shè)計(jì)缺陷是關(guān)鍵,特別是對(duì)于高速數(shù)字解調(diào)器的調(diào)試。
    提出的調(diào)試方法如圖2所示,基本思想是即使符號(hào)速率高達(dá)幾百兆,若能夠?qū)崟r(shí)檢測錯(cuò)誤事件的發(fā)生,并將該時(shí)刻前后一小段時(shí)間內(nèi)的所有相關(guān)數(shù)據(jù)保存下來,則可以對(duì)高速數(shù)字邏輯進(jìn)行調(diào)試,即在線捕獲錯(cuò)誤數(shù)據(jù),非在線分析設(shè)計(jì)缺陷。由此可見,在FPGA內(nèi)部實(shí)現(xiàn)有效調(diào)試的技術(shù)關(guān)鍵在于兩點(diǎn):一是錯(cuò)誤事件的有效檢測;二是包含錯(cuò)誤信息的相關(guān)數(shù)據(jù)的緩存。
    圖2給出了在線調(diào)試原理圖,下面結(jié)合高速率8PSK信號(hào)的載波同步設(shè)計(jì)進(jìn)行說明。

2.1 錯(cuò)誤檢測
    在沒有信道噪聲的情況下,對(duì)于正確的設(shè)計(jì),解調(diào)器輸出沒有誤碼;如果存在設(shè)計(jì)錯(cuò)誤,則解調(diào)器輸出必然存在誤碼。調(diào)制端發(fā)送周期性的信息序列,全數(shù)字解調(diào)器的錯(cuò)誤檢測在數(shù)字鎖相環(huán)之后進(jìn)行,一旦檢測到誤碼,則當(dāng)前時(shí)刻采樣點(diǎn)附近已經(jīng)發(fā)生錯(cuò)誤,此時(shí)立即產(chǎn)生觸發(fā)信號(hào)En,經(jīng)先進(jìn)先出邏輯(FIFO2)延時(shí)后接FIFO1的寫使能端。以碼長L的周期信息序列為例,誤碼檢測可采用兩種方式:
    (1)粗檢測,如果當(dāng)前時(shí)刻(n)判決結(jié)果與n-L時(shí)刻判決結(jié)果不一致,則產(chǎn)生誤碼,粗檢測存在漏檢。
    (2)精檢測,首先將周期信息序列與判決序列滑動(dòng)相關(guān)進(jìn)行碼序列同步,然后檢測后續(xù)判決結(jié)果的誤碼。
2.2 數(shù)據(jù)存儲(chǔ)
    如果解調(diào)器輸出端沒有檢測到誤碼,則En為FIFO1的“寫有效”控制信號(hào),數(shù)字鎖相環(huán)的前端輸入x(n)和后端輸出y(n)經(jīng)FIFO1緩存后丟棄;如果解調(diào)器輸出端檢測到誤碼,則En由“寫有效”變成“寫無效”,F(xiàn)IFO1停止寫入新的數(shù)據(jù),與錯(cuò)誤相對(duì)應(yīng)的x(n)、y(n)以及錯(cuò)誤發(fā)生前后一段時(shí)間內(nèi)的采樣均保存在FIFO1內(nèi)部,不再被后續(xù)的數(shù)據(jù)所覆蓋(采樣的多少與FIFO1的深度和FIFO2的緩存時(shí)間相關(guān))。FIFO2緩存En的目的是將錯(cuò)誤對(duì)應(yīng)的數(shù)據(jù)放到最終采集數(shù)據(jù)段的中間。定義數(shù)字鎖相環(huán)輸入、輸出之間的延時(shí)為T0,F(xiàn)IFO2的緩存深度為T2,則FIFO1的緩存深度T1要大于2(T0+T2)。
2.3 上傳數(shù)據(jù)
    FIFO1停止寫操作后,點(diǎn)亮FPGA外圍指示燈,指示錯(cuò)誤事件發(fā)生并已經(jīng)捕獲錯(cuò)誤,由于FIFO1的讀使能信號(hào)始終有效,捕獲的數(shù)據(jù)從FIFO1輸出端循環(huán)讀出。設(shè)計(jì)者啟動(dòng)ChipScope抓包進(jìn)程,ICON控制芯片內(nèi)部塊RAM保存FIFO1循環(huán)輸出的數(shù)據(jù),然后由JTAG口低速讀入計(jì)算機(jī)。
2.4 數(shù)據(jù)分析
    圖2標(biāo)記的所有設(shè)計(jì)者關(guān)心的內(nèi)部信號(hào)均可以作為觀測對(duì)象。ChipScope采集數(shù)據(jù)后,存至擴(kuò)展名為“prn”的文本文件中,基于Matlab編程可以對(duì)數(shù)據(jù)進(jìn)行任意比較、分析,大大提高了分析海量數(shù)據(jù)的效率,方便對(duì)FPGA內(nèi)部不完善邏輯的調(diào)試。
3 應(yīng)用舉例
    數(shù)字鎖相環(huán)是載波同步的核心,其性能直接決定了載波同步的質(zhì)量。圖3為判決輔助的數(shù)字鎖相環(huán),在信號(hào)的相位域進(jìn)行相位鎖定,其中判決模塊基于FPGA-RAM查表實(shí)現(xiàn)。初步設(shè)計(jì)的相位累加器如圖4所示,在[-π,π]范圍內(nèi)進(jìn)行相位累加,同時(shí)執(zhí)行防溢出控制,累加位數(shù)可擴(kuò)展,執(zhí)行速度很容易達(dá)到200 MHz以上。

    測試過程中,發(fā)現(xiàn)解調(diào)器輸出存在偶發(fā)性的非合理誤碼,為此采用前面的調(diào)試方法對(duì)高速全數(shù)字解調(diào)器進(jìn)行在線調(diào)試,例如數(shù)字鎖相環(huán)模塊的調(diào)試流程如圖5所示。

    對(duì)捕獲數(shù)據(jù)的分析表明,圖4的相位累加器仍然存在溢出現(xiàn)象,這是產(chǎn)生偶發(fā)性非合理誤碼的原因所在,改進(jìn)后的防溢出相位累加器如圖6所示。

    對(duì)于相位累加器溢出導(dǎo)致的這類海量數(shù)據(jù)流中的偶發(fā)性錯(cuò)誤,若采用常規(guī)手段調(diào)試,則如同“大海撈針”,本文給出的調(diào)試方法很好地解決了這一難題。
    在高速全數(shù)字解調(diào)器的后期調(diào)試中,發(fā)現(xiàn)程序缺陷往往花費(fèi)大量時(shí)間,特別是對(duì)于全數(shù)字解調(diào)器這類實(shí)時(shí)、高速邏輯,大量中間數(shù)據(jù)具有隨機(jī)性,不利于程序缺陷診斷,但是大多數(shù)程序缺陷會(huì)導(dǎo)致最終誤碼輸出。本文結(jié)合數(shù)字鎖相環(huán)的設(shè)計(jì),靈活運(yùn)用FIFO捕獲并緩存包含錯(cuò)誤信息的所有設(shè)計(jì)者關(guān)心的相關(guān)數(shù)據(jù),解決了高速、海量數(shù)據(jù)流中捕獲偶發(fā)性錯(cuò)誤信息困難這一難題,為程序缺陷分析創(chuàng)造條件。該方法效率高、實(shí)用性強(qiáng),可直接用于高速全數(shù)字解調(diào)器的后期調(diào)試,其基本思想也適應(yīng)于其他高速邏輯的FPGA調(diào)試。
參考文獻(xiàn)
[1] GRAY A A,HOY S D,GHUMAN P.Parallel VLSI equalizer architectures for multi-Gbps satellite communications[A]. IEEE Global Telecommunications Conference (GLOBECOM′ 01),2001(10):315-319.
[2] GREBOWSK G,GRAY A A,SRINIVASAN M.Method and appuratus for high data rate demodulation[P].US Patent  6177835,2001,23(1).
[3] Chipscope pro software and cores user guide[EB].Xilinx Help,UG029(v7.1),2005(2):1-11.

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