新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于NiosⅡ的數字示波器的設計與實現

        基于NiosⅡ的數字示波器的設計與實現

        作者: 時間:2015-01-16 來源:網絡 收藏

          0 引言

        本文引用地址:http://www.104case.com/article/268252.htm

          在電子技術領域中,示波器的應用非常廣泛,使用它可以方便直觀地觀察到信號的全貌,并測量信號的幅度、頻率、周期等基本參數。傳統的模擬示波器顯示時采用熒光物質的余輝時間都是一定的,導致其難以觀測到周期較長的信號。另外,模擬示波器還無法對信號進行一些特殊的數學處理(如FFT)。而正好可以克服模擬示波器的不足,它采用各種先進的測量技術來滿足各種應用。如基于采樣原理,采用高速A/D轉換器實現高速數據采集,將模擬信號數字化,然后借助處理器強大的數據處理能力實現各種數字信號處理算法,將波形以圖形的方式直觀地顯示出來,并能夠得到被測信號各種豐富的參數。

          1 系統總體方案

          本設計的系統框圖如圖1所示,得益于FPGA的靈活性,系統的大部分功能都在FPGA內部完成,使得整體結構非常簡潔。外圍電路主要包括A/D轉換模塊、LCD顯示器、SD卡、FLASH和按鍵。

          

         

          A/D轉換模塊的功能是實現模擬信號到數字信號的轉換;FLASH模塊的功能是存儲(System-on-a-Programmable-Chip)片上系統的固件程序;SD卡模塊的功能是實現測量信息的長期、大量存儲,提供與PC機的接口,便于后期在計算機上進行分析;LCD模塊的功能是對測量信號波形和相關參數的實時顯示;按鍵模塊的功能是提供整機的調節和控制接口。

          2 FPGA邏輯功能模塊設計

          FPGA內部系統框圖如圖2所示。它主要由采樣率控制器、觸發控制單元、FIFO控制器、頻率測量單元、按鍵控制單元和LCD驅動器構成。

          

         

          3 設計

          本設計中使用的是/f處理器,使用硬件乘除法器,工作于50 MHz。使用FPGA內嵌的RAM塊作為系統的運行內存。采用FLASH作為片外存儲器,保存用戶程序,其通過Avalon總線三態橋與處理器相連。

          3.1 軟件設計

          系統開機調用相關函數初始化LCD,SD卡和FAT文件系統之后,首先繪制圖形界面,輸出固定信息,接著讀取波形參數,將其顯示在LCD上,然后等待FIFO寫滿。若FIFO寫滿則將FIFO數據讀入緩沖區中,同時在屏幕上繪制波形,獲得波形的最大和最小值。最后如果有用戶按鍵輸入則處理按鍵事件,否則檢測波形參數是否變化,若有變化則更新顯示,否則等待FIFO寫滿,進行下一次顯示。流程如圖3所示。

          

         

          3.1.1 SoPC底層軟件設計

          底層軟件為各設備的驅動程序,主要有:

          (1)LCD驅動。根據顯示內容的需求,LCD驅動程序設計了以下函數:

          ①發送數據/命令:將數據/命令通過驅動器發送到LCD;

          ②LCD初始化:完成LCD的上電復位和初始化;

          ③LCD清屏:清空顯示;

          ④輸出一個像素:在指定位置輸出一個指定顏色的像素點;

          ⑤畫直線:畫從(x0,y0)到(x1,y1)的指定顏色的直線;

          ⑥畫矩形:畫從(x0,y0)到(x1,y1)的指定顏色的矩形,可選擇是否填充;

          ⑦輸出一個字符:在指定位置輸出一個指定顏色的字符;

          ⑧輸出一個字符串:在指定位置輸出一個指定顏色的字符串。

          (2)SD卡驅動。SD卡通信采用SPI模式,SD卡驅動的函數及功能為:

          ①發送數據/命令:將數據/命令發送到SD卡;

          ②讀取數據:從SD卡讀取一個字節;

          ③SD卡復位:SD卡上電后復位并使其進入SPI模式;

          ④SD卡初始化:初始化SD卡使其作好數據讀寫準備;

          ⑤讀一個扇區:從指定的扇區地址讀取一個扇區的數據到緩沖區;

          ⑥寫一個扇區:將緩沖區數據寫入指定的扇區地址處。

          (3)FAT16文件系統。FAT16文件系統的主要函數及功能為:

          ①FAT初始化:獲取每簇的扇區數、FAT表地址、根目錄地址和FAT表占用的扇區數等FAT信息;

          ②確定文件名稱:查找已存在的波形文件以確定要保存的文件的名稱;

          ③添加根目錄項:將保存的文件的名稱、大小、位置等添加到根目錄;

          ④添加FAT表項:查找FAT表的空簇,將新文件的簇號寫入FAT表。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绥滨县| 遂宁市| 清原| 甘南县| 柏乡县| 武清区| 邓州市| 长乐市| 扎囊县| 吉安县| 兴文县| 阿勒泰市| 峡江县| 澄迈县| 南木林县| 永定县| 商水县| 攀枝花市| 宁南县| 叶城县| 乌兰县| 盐源县| 鹤山市| 常宁市| 乐至县| 余江县| 临城县| 伊宁市| 安徽省| 沧源| 华容县| 中西区| 建始县| 彩票| 肇庆市| 盐津县| 伊吾县| 逊克县| 海盐县| 菏泽市| 云梦县|