《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > M4K塊移位寄存器數(shù)據(jù)讀進(jìn)方式的邏輯分析儀設(shè)計(jì)
M4K塊移位寄存器數(shù)據(jù)讀進(jìn)方式的邏輯分析儀設(shè)計(jì)
現(xiàn)代電子技術(shù)
張 淵,,尹 盛 華中科技大學(xué)
摘要: 采用Altera公司的Cyclone系列EPlC3T144C8作為控制芯片,QuartusⅡ?yàn)檐浖脚_(tái),,用硬件描速語(yǔ)言設(shè)計(jì)了一個(gè)具有變頻采樣時(shí)鐘和16路采樣通道,,基于VGA顯示的邏輯分析僅.該設(shè)計(jì)方案利用FPGA內(nèi)部的M4K決作為移位寄存器不斷地進(jìn)行讀進(jìn)數(shù)據(jù)的方式,提高了工作速度,、性能穩(wěn)定性以及分析的范圍和質(zhì)量。該邏輯分析儀實(shí)現(xiàn)簡(jiǎn)單,價(jià)格低,,具有較高的使用價(jià)值。
Abstract:
Key words :

摘要:采用Altera公司的Cyclone系列EPlC3T144C8作為控制芯片,,QuartusⅡ?yàn)檐浖脚_(tái),,用硬件描速語(yǔ)言設(shè)計(jì)了一個(gè)具有變頻采樣時(shí)鐘和16路采樣通道,基于VGA顯示的邏輯分析僅.該設(shè)計(jì)方案利用FPGA內(nèi)部的M4K決作為移位寄存器不斷地進(jìn)行讀進(jìn)數(shù)據(jù)的方式,,提高了工作速度,、性能穩(wěn)定性以及分析的范圍和質(zhì)量。該邏輯分析儀實(shí)現(xiàn)簡(jiǎn)單,,價(jià)格低,,具有較高的使用價(jià)值。
關(guān)鍵詞:邏輯分析僅,;FPGA,;采樣;移位寄存器

    邏輯分析儀主要采用高速采樣,、靈活觸發(fā)和大容量存儲(chǔ)等技術(shù)來(lái)實(shí)現(xiàn)對(duì)被測(cè)數(shù)據(jù)的捕獲,、存儲(chǔ)和定位分析。傳統(tǒng)數(shù)據(jù)存儲(chǔ)電路將采樣回來(lái)的數(shù)據(jù)先經(jīng)過鎖存器鎖存,,一旦觸發(fā)標(biāo)志有效,,再根據(jù)采樣時(shí)鐘的頻率把鎖存器數(shù)據(jù)輸出到外接的SRAM。其缺點(diǎn)是速度慢,、存儲(chǔ)占用空間大,,不適用于大量數(shù)據(jù)緩存的需求。本文以三星的SDR SDRAM(K4S64632)作為存儲(chǔ)器,,通過FPGA內(nèi)部的M4K塊作為移位寄存器不斷的進(jìn)行讀進(jìn)數(shù)據(jù)的方式,,在不中斷程序運(yùn)行的情況下實(shí)現(xiàn)有效數(shù)據(jù)不間斷的讀進(jìn),設(shè)置3種采樣模式,,結(jié)果表明該設(shè)計(jì)提高了數(shù)據(jù)的分析范圍和質(zhì)量,。

1 邏輯分析儀總體方案
    邏輯分析儀包括:數(shù)據(jù)采樣、數(shù)據(jù)存儲(chǔ),、顯示控制3大部分,。由于Cyclone芯片EP1C3T144C8理想情況下最大頻率可達(dá)到275 MHz,在實(shí)際設(shè)計(jì)中考慮到其誤差,,該設(shè)計(jì)的信號(hào)捕獲精度定位在100 MHz,。最多16路信號(hào)捕獲輸入通道,,1路信號(hào)觸發(fā)通道,可調(diào)的采樣時(shí)鐘/周期,,3種信號(hào)采樣模式,,使用計(jì)算機(jī)的的顯示器作為波形顯示屏幕。

a.jpg


    模塊整體上是根據(jù)數(shù)據(jù)流的方向劃分的,,如圖1所示,。sys_ctrl模塊對(duì)系統(tǒng)復(fù)位信號(hào)進(jìn)行異步復(fù)位、同步釋放,,并且通過Cyclone芯片EP1C3T 144C8內(nèi)部的PLL例化得到多個(gè)穩(wěn)定可靠的時(shí)鐘信號(hào),。Sampling_ctrl模塊包含按鍵檢測(cè)、觸發(fā)控制,、數(shù)據(jù)采樣,、數(shù)據(jù)存儲(chǔ)等多個(gè)功能是采集控制的核心模塊。VGA顯示模塊包含界面設(shè)計(jì),、字模數(shù)據(jù)尋址送顯方式和顯示驅(qū)動(dòng)的時(shí)序控制,。

2 復(fù)位信號(hào)產(chǎn)生PPL例化
    邏輯分析儀的復(fù)位設(shè)計(jì)如圖2所示,這個(gè)模塊設(shè)計(jì)里,,先用FPGA的外部輸入時(shí)鐘clk將FPGA的輸入復(fù)位信號(hào)rat_n異步復(fù)位,、同步釋放處理,然后將復(fù)位信號(hào)輸入PLL,,同時(shí)clk也輸入PLL,。在PLL輸出時(shí)鐘有效前,系統(tǒng)的其他部分都保持復(fù)位狀態(tài),。PLL的輸出locked信號(hào)在PLL有效輸出之前一直是低電平,,等PLL輸出穩(wěn)定有效之后拉高該信號(hào),。FPGA外部輸入復(fù)位信號(hào)rst_n和locked信號(hào)相與作為整個(gè)系統(tǒng)的復(fù)位信號(hào),。從PPL輸出端得到時(shí)鐘不僅頻率和相位上比較穩(wěn)定,而且網(wǎng)絡(luò)延時(shí)也相比內(nèi)部的邏輯產(chǎn)生的分配時(shí)鐘要小得多,。

b.jpg



3 控制模塊
    通過FPGA內(nèi)部的M4K塊配置移位寄存器不斷地讀進(jìn)新的采樣值,,數(shù)據(jù)采樣回來(lái)后先經(jīng)過SDRAM放入緩存FIFO中,然后把該FIFO中的數(shù)據(jù)上傳到顯示器,。該模塊的時(shí)鐘是由PLL電路對(duì)FPGA輸入的25 MHz晶振時(shí)鐘倍頻得到的,。通過FPGA外部一組撥碼開關(guān)控制輸入電平為高或者低,從而設(shè)置不同的觸發(fā)和采樣模式,。
3.1 SDRAM數(shù)據(jù)存儲(chǔ)模塊
    將這個(gè)存儲(chǔ)模塊劃分為多個(gè)子模塊來(lái)實(shí)現(xiàn),。如圖3所示。sdram_ctrl是SDRAM狀態(tài)控制模塊,,該模塊主要完成SDRAM的上電初始化以及定時(shí)刷新,、讀/寫控制等狀態(tài)的變遷,。內(nèi)部設(shè)計(jì)了兩個(gè)狀態(tài)機(jī),一個(gè)用于上電初始化的狀態(tài)控制,,另一個(gè)月用于正常工作時(shí)的狀態(tài)控制,;sdram _cmd是SDRAM命令模塊,該模塊根據(jù)sdram_ctrl模塊的不同狀態(tài)指示輸出相應(yīng)的SDRAM控制命令和地址,,sdram_wr_data是SDRAM數(shù)據(jù)讀/寫模塊,,該模塊同樣是根據(jù)sdram_ctrl模塊的狀態(tài)指示完成SDRAM數(shù)據(jù)總線的控制,SDRAM的數(shù)據(jù)讀/寫都在該模塊完成,。數(shù)據(jù)讀/寫借助了兩個(gè)存儲(chǔ)器(異步FIFO)如圖4所示,。其中wrfifo用于寫SDRAM數(shù)據(jù),rdfifo用于讀SDRAM數(shù)據(jù),。在設(shè)計(jì)中SDRAM讀/寫都是以8個(gè)字(16 b)為單位,,使用FIFO中的當(dāng)前數(shù)據(jù)量作為操作SDRAM的狀態(tài)指示。當(dāng)wrfifo數(shù)量超過8個(gè)則發(fā)出寫SD]RAM請(qǐng)求,,讀出wrfifo中的數(shù)據(jù),。同樣,在rdfifo數(shù)據(jù)少于256 B(rd-fifo半空)時(shí)發(fā)出讀SDRAM請(qǐng)求,,讀出8個(gè)新的數(shù)據(jù)寫入rdfifo中,,以保證后續(xù)電路總是持續(xù)的傳輸。SDRAM信號(hào)采集模塊在上電延時(shí)后從SDRAM的0地址開始寫入遞增數(shù)據(jù),,隨后通過內(nèi)部FIFO依次送入SDRAM,。SDRAM的所有地址寫完數(shù)據(jù)后,啟動(dòng)SDRAM讀邏輯,,從0地址開始讀出SDRAM內(nèi)的數(shù)據(jù)放入緩存FIFO中,,然后把該FIFO中的數(shù)據(jù)上傳到顯示器。

c.jpg


3.2 基于M4K的移位寄存器連續(xù)且可變頻的采樣模塊
    為了實(shí)現(xiàn)有效效據(jù)的精確捕獲在不中斷程序運(yùn)行的情況下,,有效數(shù)據(jù)長(zhǎng)時(shí)間實(shí)時(shí)讀進(jìn),,提高嵌入式軟件性能分析的范圍和質(zhì)量。利用Cyclone芯片內(nèi)部M4K結(jié)構(gòu)配置移位寄存器對(duì)數(shù)據(jù)實(shí)時(shí)采樣,,并且設(shè)置2個(gè)按鍵調(diào)節(jié)控制采樣頻率,。

d.jpg


    圖5為M4K移位寄存器原理圖。配置輸入/輸出的數(shù)據(jù)位寬w,,移位寄存器的一個(gè)taps位寬m,,總的taps數(shù)量n。這三個(gè)參數(shù)乘積就是占用的M4K存儲(chǔ)大小,。從圖5中可看出,,每個(gè)clk輸入一個(gè)移位數(shù)據(jù),同時(shí)輸出一個(gè)數(shù)據(jù),而M4K內(nèi)部則是每個(gè)clk周期移位一次,,每個(gè)tap的輸出直接移位到下一個(gè)tap的輸入,,配置后的輸出中可看到每個(gè)tap的最后一個(gè)w位寬的數(shù)據(jù)。

4 VGA顯示界面的設(shè)計(jì)
    VGA界面設(shè)計(jì)主要完成對(duì)結(jié)果的顯示,??梢詫?duì)測(cè)試對(duì)象的數(shù)目、采樣模式,、觸發(fā)信號(hào)的模式,、采樣頻率進(jìn)行控制,并且將結(jié)果顯示成為波形圖以便使用者進(jìn)行觀察,。在設(shè)計(jì)中需要的字符是通過取模軟件PCtoLCD2002,,把定義的字模數(shù)據(jù)存儲(chǔ)在FPGA的M4K塊生成的ROM里,顯示的時(shí)候從ROM讀數(shù)據(jù)進(jìn)行顯示,。

5 FPGA仿真及調(diào)試
    實(shí)時(shí)數(shù)據(jù)采集分析數(shù)據(jù)量大,,時(shí)序復(fù)雜,以10 kHz~100 MHz的采樣頻率進(jìn)行數(shù)據(jù)傳輸時(shí),,使用QuartusⅡ自帶的仿真工具生成的激勵(lì),,花費(fèi)的時(shí)間長(zhǎng),而且與實(shí)際處理結(jié)果有一定的偏差,,無(wú)法有效的驗(yàn)證整體模塊的功能,,同時(shí)也贍以對(duì)其進(jìn)行實(shí)時(shí)模擬。本文在使用QuartusⅡ自帶仿真工具的基礎(chǔ)上,,將綜合后得到的結(jié)果導(dǎo)入Modesim 6.0中,,編寫Testbench提供仿真激勵(lì)對(duì)邏輯分析儀的頂層模塊進(jìn)行仿真。通過比較整體功能進(jìn)行驗(yàn)證,。圖6為邏輯分析儀頂層模塊仿真波形,。

e.jpg


    由圖6看出,3種采樣模式分別為001,,010,,100。001采樣模式被觸發(fā)后顯示后64個(gè)采樣數(shù)據(jù),;010采樣模式觸發(fā)后顯示前32個(gè)采樣數(shù)據(jù)和后32個(gè)采樣數(shù)據(jù),;100采樣模式觸發(fā)后顯示前64個(gè)采樣數(shù)據(jù),。清除采樣信號(hào)低有效,,開始一個(gè)新的采樣觸發(fā)。經(jīng)過調(diào)試,,該邏輯分析儀采樣頻率為100 MHz,。在輸入采樣信號(hào)的情況下,能夠得到比較不錯(cuò)的波形。圖7是在該采樣頻率下觀察到的波形,。

6 結(jié)語(yǔ)
    結(jié)果表明,,該邏輯分析儀以每8個(gè)像素為單元作為一個(gè)采樣數(shù)據(jù)的顯示長(zhǎng)度,最多16路信號(hào)捕獲輸入通道,,1路信號(hào)觸發(fā)通道,,3種信號(hào)采樣模式,數(shù)據(jù)的分析范圍和質(zhì)量得到提高,,可方便科研,、教學(xué)使用。

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