新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于NiosⅡ的嵌入式高速邏輯分析儀

基于NiosⅡ的嵌入式高速邏輯分析儀

作者: 時(shí)間:2009-08-21 來源:網(wǎng)絡(luò) 收藏

4 軟核的設(shè)計(jì)
4.1總體結(jié)構(gòu)
Ⅱ的,采用 FPGA硬件對(duì)和存儲(chǔ),Ⅱ軟核進(jìn)行交互、控制和通信,并且可以通過 LCD顯示所采集數(shù)據(jù)的狀態(tài)或通過 RS-232接口與 PC機(jī)通信,在 PC上顯示數(shù)據(jù)的波形并對(duì)數(shù)據(jù)長期存儲(chǔ)。另外,通過鍵盤可對(duì)邏輯的采樣頻率、觸發(fā)方式等參數(shù)進(jìn)行設(shè)置,這些設(shè)置也都可以通過 PC機(jī)進(jìn)行。邏輯分析儀的整體結(jié)構(gòu)如圖 3所示。

本文引用地址:http://butianyuan.cn/article/152384.htm

4.2嵌入模塊
4.2.1觸發(fā)核模塊
觸發(fā)核主要決定什么時(shí)候采集數(shù)據(jù),什么時(shí)候完成對(duì)數(shù)據(jù)的采集。在本設(shè)計(jì)中,觸發(fā)條件分上升沿觸發(fā)、下降沿觸發(fā)、高電平觸發(fā)和低電平觸發(fā)四種。區(qū)分這 4種觸發(fā)信息至少要用到連續(xù)兩個(gè)時(shí)鐘的數(shù)據(jù),因此每級(jí)觸發(fā)條件有兩個(gè)條件判斷字,觸發(fā)核通過兩次比較判斷是否觸發(fā)。觸發(fā)核是硬件核,由組合電路和觸發(fā)器組成。
4.2.2 PLL模塊
在對(duì)數(shù)字信號(hào)進(jìn)行采樣時(shí),需要的時(shí)鐘頻率至少應(yīng)是數(shù)字信號(hào)波特率的 5倍。Cyclone器件的數(shù)字 PLL要求外部輸入 CLK信號(hào)昀低頻率不能低于 20MHz,可通過分頻的方式得到低頻 CLK,通過倍頻的方式得到高頻 CLK,也可通過倍頻和分頻組合得到特殊的輸出頻率,本設(shè)計(jì)采用 25倍頻和 2分頻,使昀高時(shí)鐘頻率達(dá) 250MHz。
4.2.3數(shù)據(jù)存儲(chǔ)模塊

由于軟核在工作時(shí)也是在執(zhí)行指令,運(yùn)行速度不快,不能完成對(duì)數(shù)字信號(hào)的采集。為此,本設(shè)計(jì)在 FPGA芯片中嵌入了 FIFO,作為數(shù)據(jù)的緩存。所采集的數(shù)據(jù),首先存入 FIFO存儲(chǔ)器中,這個(gè)過程全部通過硬件完成,每個(gè)采樣時(shí)鐘周期可完成一次數(shù)據(jù)的寫入操作。當(dāng) FIFO中數(shù)據(jù)寫滿時(shí),存儲(chǔ)器將通知軟核讀取數(shù)據(jù),軟核完成數(shù)據(jù)的處理、顯示和傳輸?shù)炔僮鳌?br />由于 Cyclone器件中 FIFO的容量不大,若采用固定的采用時(shí)鐘,當(dāng)輸入數(shù)字信號(hào)的波特率較低時(shí),F(xiàn)IFO存儲(chǔ)的數(shù)據(jù)可能還不到一個(gè)碼元寬度的數(shù)據(jù),從而無法在 LCD上顯示其波形。因此,本設(shè)計(jì)采用了程控調(diào)整采樣速率,從而保證了無論是低波特率信號(hào)還是高波特率信號(hào),系統(tǒng)都能正確采樣和顯示波形。
4.3軟核設(shè)計(jì)軟核作為設(shè)計(jì)的控制核心具有重要作用,為了完成對(duì) 8路數(shù)據(jù)觸發(fā)模式的設(shè)置,以及與
PC機(jī)通信,在用 SOPC Builder軟件定制軟核時(shí),為其加入了 UART接口和若干位輸入輸出端口,這些端口也實(shí)現(xiàn)了通過鍵盤對(duì)各路數(shù)據(jù)觸發(fā)方式和其它各參數(shù)的設(shè)置。
4.4軟件設(shè)計(jì)

本設(shè)計(jì)采用的是 C++,軟件流程包括參數(shù)設(shè)置、觸發(fā)判斷、、分析與通信、圖形顯示五個(gè)方面,主程序流程如圖 5所示。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉