《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于NiosⅡ的嵌入式高速邏輯分析儀
基于NiosⅡ的嵌入式高速邏輯分析儀
微計算機信息
王振宇,許年豐
摘要: 本設計通過在 Cyclone芯片中嵌入軟 CPU、數字 PLL、FIFO和 UART,實現了單片式 8路高速數字信號分析儀。可用鍵盤改變采樣速率,滿足對不同速率的數字信號進行采樣;用點陣式 LCD顯示所采集的 8路數字信號;也可通過串口將采集的數據傳輸到 PC機進行存儲、處理和顯示。本設計的時鐘頻率昀高可 250MHz(CycloneⅡ芯片所支持的昀高工作頻率),從而可以對 8路波特率為 50Mbs的數字信號進行采集與顯示。
Abstract:
Key words :

1 引言
由于數字信號只有高電平和低電平兩種情況,因此,用單片機 (MCU)就可直接實現多路數字信號進行采集和邏輯分析。但由于單片機的時鐘頻率較低,完成一次采樣的時間受程序執行指令速度的限制,采樣速率通常不超過 1MHz。因此,用單片機只能實現對低速率數字信號進行邏輯分析。FPGA的工作時鐘速率通常可達 200MHz以上,可對高速數字信號進行采樣,但普通的 FPGA在與外部設備進行數據交換時顯得不靈活。為了解決上述問題,通常是將 MCU與 FPGA結合起來,用 FPGA對高速數字信號進行采樣,用 MCU負責與外部設備進行數據交換,從而實現對高速數字信號進行邏輯分析,如圖 1所示。


 隨著可編程邏輯器件的發展,Altera公司研發了可以嵌入軟 CPU核的 Cyclone系列和 Stratix系列的 FPGA芯片。嵌入式軟核與普通硬核的昀大差別在于它的可裁減性,設計者可根據設計需求定制出不同結構的軟核處理器。軟 CPU核的嵌入實現了 CPU與 FPGA的無縫連接,使芯片既能處理高速數字信號,又能方便靈活地與芯片外部設備進行數據交換,還增加了系統的集成度和可靠性。
2 定制軟 CPU核
軟核的定制要利用 Altera公司提供的 SOPC Builder軟件。
2.1定制 NiosⅡ處理器早期的軟核處理器是 Nios,但其穩定性不夠好,現已被 NiosⅡ所替代。 NiosⅡ處理器有三種類型: e(經濟型 )、s(標準型)和 f(增強型)。選擇不同類型的處理器所占用的邏輯資源和存儲器資源大小不同,處理器的運算速度處理能力也有所差別。
2.2定制片內 RAM
片內 RAM作為軟核程序的運行空間,對于沒有擴展外部存儲器的設計,片內 RAM是必須的部分。通過軟件設計向導,可以設置片內存儲器的類型,大小,以及初始化文件。 Cyclone系列芯片有 13~64個片內 RAM塊,每個 RAM塊的大小是 4K(128字×36位),用戶可根據需要設置存儲器的字數和字長。當定義的字數超過 128時,多個 RAM塊可組成在一起,構成更大容量的存儲器,滿足設計要求。
2.3定制 UART接口
UART接口是軟核與計算機通信的主要接口,通過設計向導可定制 UART接口。在定制 UART接口時,可以設置其波特率,校驗位,是否允許 DMA控制。通過此基本設置,軟核可以與 PC機之間實現串口通信的功能。
2.4定制 LCD控制端口和鍵盤控制端口此類端口是普通 I/O端口,設置比較簡單。需要注意的是 LCD的數據端口是 8位的雙向端口。當定制了以上 4部分后,即可生成軟 CPU核。
3 最小系統形成
完成定制軟核后,需要對軟核編程,形成基于軟核的昀小系統。
對軟核的編程在 Nios ⅡIDE環境下進行。首先利用軟件生成針對某軟核的模版程序,用戶程序都可以從模版開始。在生成模版程序的同時,也形成了 system.h文件,此文件中包含了對用戶編程有用的許多信息,包括所有端口的地址空間分配,中斷號等。在文件 altera_avalon_pio_regs.h中包含了對普通 I/O端口進行讀寫操作的函數,通過對函數的調用可實現對端口的操作。在文件 altera_avalon_uart_regs.h中包含了對 UART操作的基礎函數,對串口的所有操作,都可通過對此中函數的調用來完成。

 

在昀小系統中,實現軟核對 LCD的數據交換,讀取鍵盤值,以及與計算機之間的通信。本設計鍵盤使用 4*4鍵盤,顯示器采用 240*128點陣 LCD顯示模塊。主要子程序流程圖如圖 2所示。
4 基于軟核的邏輯分析儀設計
4.1總體結構
基于 NiosⅡ的邏輯分析儀,采用 FPGA硬件對數據采集和存儲,NiosⅡ軟核進行交互、控制和通信,并且可以通過 LCD顯示所采集數據的邏輯狀態或通過 RS-232接口與 PC機通信,在 PC上顯示數據的波形并對數據長期存儲。另外,通過鍵盤可對邏輯分析儀的采樣頻率、觸發方式等參數進行設置,這些設置也都可以通過 PC機進行。邏輯分析儀的整體結構如圖 3所示。
 

 

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

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

本設計編程語言采用的是 C++,軟件流程包括參數設置、觸發判斷、數據采集、分析與通信、圖形顯示五個方面,主程序流程如圖 5所示。


5 結束語
本設計通過在 Cyclone芯片中嵌入軟 CPU、數字 PLL、FIFO和 UART,實現了單片式 8路高速數字信號分析儀??捎面I盤改變采樣速率,滿足對不同速率的數字信號進行采樣;用點陣式 LCD顯示所采集的 8路數字信號;也可通過串口將采集的數據傳輸到 PC機進行存儲、處理和顯示。本設計的時鐘頻率昀高可 250MHz(CycloneⅡ芯片所支持的昀高工作頻率),從而可以對 8路波特率為 50Mbs的數字信號進行采集與顯示。
圖 5是通過嵌入式邏輯分析儀采集后,通過串行通信口送到 PC機,在 PC機屏幕上顯示的 8路數字信號實拍照片。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久免费看视频 | 亚洲高清在线播放 | 黄色三级三级三级 | 天海翼精品久久中文字幕 | 精品国产免费第一区二区 | 老鸭窝 国产 精品 91 | 深夜福利视频在线观看免费播放 | 免费一级淫片aaa片毛片a级 | 国产一级片在线 | 精品免费国产一区二区三区 | 一级做a爱久久久久久久 | 亚洲精品午夜 | 久久免费视频观看 | 国产伦精品一区二区三区网站 | 黄色三级网站免费 | 全部aⅴ极品视觉盛宴精品 全部免费a级毛片 | 久久久国产成人精品 | 日本美女视频韩国视频网站免费 | 欧美大狠狠大臿蕉香蕉大视频 | 国产成年视频 | 国产成人精品精品欧美 | 丰满老熟女毛片 | 欧美另类videosgrstv变态 欧美另类高清xxxxx | 久久在线视频免费观看 | 欧美黑人巨大xxxxxxxx | 久久极品视频 | 国产一级毛片外aaaa | 日韩亚洲精品不卡在线 | 成年人免费观看视频网站 | 日韩国产欧美成人一区二区影院 | 在线欧美视频 | 久久99国产精一区二区三区! | 日韩国产欧美成人一区二区影院 | 一级一毛片a级毛片欧美 | 久久精品视频亚洲 | 国产在线精品成人一区二区三区 | 国产精品午夜性视频 | 日本韩国欧美在线观看 | 日本一视频一区视频二区 | 亚洲色在线视频 | 久久久久久久久免费影院 |