《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于NiosⅡ的數字示波器的設計與實現
基于NiosⅡ的數字示波器的設計與實現
摘要: 本文介紹了一種基于SoPC的數字示波器設計,實際測試結果表明,系統完成了數字示波器的基本功能,各部分工作正常,各項指標達到設計要求。在設計過程中采用了FPGA芯片、嵌入式NiosⅡ處理器以及Verilog HDL語言,簡化了電路的設計,提高了靈活性,縮短了設計周期。
Abstract:
Key words :

0 引言

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

1 系統總體方案

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

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

2 FPGA邏輯功能模塊設計

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



3 SoPC設計

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

3.1 SoPC軟件設計

系統開機調用相關函數初始化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表。

3.1.2 SoPC頂層軟件設計

SoPC的頂層軟件主要完成波形及參數的顯示、運行/停止控制、光標測量、波形窗口移動、保存數據到SD卡等功能。

(1)波形參數顯示。繪制完圖形界面后首先輸出波形信息的固定部分,如Vpp:???mV,其中“???”將在讀取相關參數后更新。然后讀取相關參數并判斷是否變化,若有變化則更新相關顯示,在波形輸出結束后將峰峰值更新到屏幕上。

(2)波形顯示。波形參數顯示完成之后,CPU進入等待狀態,若FIFO寫滿信號為1,則開始讀FIFO數據并顯示波形。流程如圖4所示。

(3)運行/停止控制。波形顯示完后,若讀到stop為1,則等到FIFO寫滿后進入停止狀態。在停止狀態FIFO中的數據保持不變。在停止狀態若檢測到用戶輸入,則執行相應函數。若檢測到stop為0,則清屏,重繪圖形界面,輸出運行圖標,返回到顯示波形狀態。

(4)光標測量。在停止狀態若檢測到光標測量為1,則進入光標測量狀態。首先將2個光標的y軸坐標轉換為實際電壓值輸出到LCD,然后計算2個光標電壓的差值輸出到LCD上的相應位置處。再根據分頻系數將2個光標的x軸差值轉換為實際的時間,輸出到LCD。最后繪制2個十字光標,每個光標由一橫一縱2條直線構成,其交點位于波形上。

光標繪制完成后檢測用戶按鍵,如果有左右移動或光標切換按鍵操作,則對相應光標的x坐標做加減運算,然后從緩沖區重新讀取波形輸出到LCD,將之前的信息覆蓋,接著再次調用光標繪制函數繪制新的光標位置和光標的信息。流程如圖5所示。

(5)將波形保存到SD卡。在停止狀態若檢測到保存按鍵輸入,則將數據保存到SD卡。首先在FAT表中查找空簇,返回簇號,并在FAT表中標記該簇已被占用,同時更新FAT表。然后在根目錄中查找已存在的DAT文件,若有DAT文件則返回最大的文件名,否則返回0。然后將緩沖區的數據寫入SD卡的對應扇區,扇區地址=根目錄地址+根目錄大小+(簇號-2)×每簇的扇區數。接著在根目錄中找到一個空閑項,將文件名稱、大小、所在簇寫入該項,即完成文件的保存。最后在LCD上輸出相應的提示信息。流程如圖6所示。

(6)波形顯示窗口的移動。在停止狀態若檢測到左右移動輸入,則進行波形顯示窗口的移動。當左/右鍵按下時,若窗口沒超過FIFO邊界,則將窗口的首地址左/右移2個像素,然后更新顯示的窗口,同時按比例更新窗口指示器的位置。

(7)波形文件格式。用于保存波形的文件使用8.3格式命名,名稱為OSC_xxxx.DAT,其中xxxx為文件的編號。由于每次采集的波形數據量大小相同,因此文件的大小也為固定值。FIFO深度為256 B,添加觸發電平、觸發沿、時間刻度等信息后,文件的體積為260 B。由于磁盤的底層讀寫操作是按照扇區進行的,一個扇區512 B,所以將文件的大小定義為512 B。前256 B為波形數據,第257 B為觸發沿信息,第258 B為觸發電平信,第259 B,260 B為分頻系數,通過軟件轉換后可得時間刻度的大小。

4 PC機軟件設計

PC端軟件使用C語言設計。圖形部分使用SDL庫。PC機軟件用于打開示波器保存的波形文件,還原波形信息,并可以進行光標測量。程序首先初始化SDL視頻,然后打開文件讀取260個字節,關閉文件。載入背景圖案,初始化TTF字體。將波形繪制到背景圖案上并計算相關參數輸出到相應位置,繪制兩個光標,等待用戶移動光標。光標移動后重新載入背景和波形并更新相關信息。軟件流程如圖7所示。


5 結語

本文介紹了一種基于SoPC的數字示波器設計,實際測試結果表明,系統完成了數字示波器的基本功能,各部分工作正常,各項指標達到設計要求。在設計過程中采用了FPGA芯片、嵌入式NiosⅡ處理器以及Verilog HDL語言,簡化了電路的設計,提高了靈活性,縮短了設計周期。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩一本二本av| 91久久在线视频| 在线观看亚洲专区| 国模吧视频一区| 国产日韩欧美二区| 国产精品夜夜嗨| 国产精品美女一区二区| 欧美日韩网址| 欧美午夜不卡影院在线观看完整版免费| 欧美精品午夜| 欧美日韩在线高清| 欧美色图五月天| 国产精品v欧美精品v日韩| 国产精品国内视频| 国产精品卡一卡二卡三| 国产精品久久久久99| 国产精品久久久久秋霞鲁丝| 国产精品区一区二区三| 国产精品呻吟| 国产偷国产偷亚洲高清97cao| 国产精一区二区三区| 国产区日韩欧美| 国内精品免费在线观看| 伊人久久综合97精品| 亚洲黄色高清| 日韩视频一区二区三区在线播放| 亚洲黄色影院| 夜夜嗨av一区二区三区中文字幕 | 亚洲伦伦在线| 一区二区免费在线观看| 亚洲一级片在线看| 欧美中文在线观看国产| 亚洲国产高清在线观看视频| 亚洲精品在线视频| 亚洲欧美日韩成人高清在线一区| 欧美在线亚洲一区| 玖玖国产精品视频| 欧美日韩精品免费观看视一区二区 | 欧美激情视频一区二区三区不卡| 欧美日韩日本国产亚洲在线| 国产精品久久久久9999高清| 国产视频在线观看一区二区三区| 精品1区2区| av成人免费在线观看| 亚洲欧美日韩高清| 亚洲国产综合在线| 中日韩美女免费视频网站在线观看| 亚洲欧美日韩在线不卡| 久久香蕉国产线看观看网| 欧美精品久久久久久久久久| 国产精品一区视频网站| 亚洲二区在线| 亚洲午夜久久久| 亚洲黑丝在线| 午夜国产精品视频| 欧美α欧美αv大片| 国产精品久久久久久妇女6080| 狠狠狠色丁香婷婷综合久久五月| 亚洲欧洲日韩综合二区| 午夜久久久久久| 夜夜躁日日躁狠狠久久88av| 欧美一区二区日韩| 欧美伦理a级免费电影| 国产日韩欧美精品| 日韩午夜av电影| 久久精品一区二区| 亚洲欧美日韩国产综合| 米奇777超碰欧美日韩亚洲| 欧美日韩一二区| 精品电影在线观看| 亚洲午夜久久久久久久久电影院| 亚洲经典自拍| 欧美综合77777色婷婷| 欧美日韩国内自拍| 影音先锋亚洲视频| 午夜精品一区二区三区在线| 亚洲精品看片| 久久久久se| 国产精品天天看| 亚洲美女视频| 最新国产成人av网站网址麻豆| 欧美亚洲免费高清在线观看| 欧美欧美天天天天操| 黄色一区二区在线| 午夜精品久久久久影视| 在线视频精品一| 欧美成人一区二区三区| 黑人一区二区三区四区五区| 亚洲亚洲精品在线观看| 亚洲天堂男人| 欧美激情1区2区3区| 在线观看成人网| 久久精品五月婷婷| 久久se精品一区二区| 国产精品视频一二三| 亚洲精选91| 亚洲美女毛片| 免费美女久久99| 伊人久久噜噜噜躁狠狠躁| 欧美怡红院视频| 欧美在线视频免费播放| 国产精品午夜久久| 亚洲无限av看| 午夜精品999| 国产精品久久久久aaaa| 夜夜躁日日躁狠狠久久88av| 99精品国产在热久久下载| 噜噜噜在线观看免费视频日韩| 国产视频在线观看一区二区三区 | 亚洲精品午夜精品| 欧美高清免费| 亚洲高清自拍| 亚洲精选久久| 欧美精品综合| 日韩亚洲精品视频| 中文av一区特黄| 欧美午夜精品理论片a级按摩| 日韩午夜电影在线观看| 一本色道久久综合亚洲精品按摩| 欧美精品九九99久久| 最新69国产成人精品视频免费| 91久久在线播放| 欧美—级在线免费片| 最新中文字幕亚洲| 日韩一区二区精品| 欧美精品首页| 在线一区二区三区四区| 午夜精品国产| 国产欧美欧洲在线观看| 新狼窝色av性久久久久久| 欧美一区二区高清在线观看| 国产视频久久久久| 久久成年人视频| 麻豆精品网站| 最新成人av在线| 亚洲一区二区三区激情| 国产精品无码专区在线观看| 午夜在线不卡| 美女福利精品视频| 亚洲精品综合| 亚洲欧美在线x视频| 国产午夜精品一区二区三区视频| 久久精品123| 欧美韩日精品| 一区二区三区精密机械公司| 亚洲欧美日韩一区二区三区在线| 国产精品自拍在线| 亚洲高清电影| 欧美日韩色婷婷| 亚洲欧美日本伦理| 美女爽到呻吟久久久久| 亚洲精品国产精品国自产观看| 亚洲中无吗在线| 国内偷自视频区视频综合| 亚洲精品影视| 国产精品免费一区二区三区在线观看 | 免费观看在线综合色| 亚洲精品五月天| 欧美一区二区观看视频| 黄色在线成人| 亚洲午夜精品久久久久久app| 国产欧美一区二区色老头| 亚洲国产精品va在看黑人| 欧美精品久久久久久久免费观看| 中国女人久久久| 久久久久久亚洲综合影院红桃| 亚洲国产精品久久| 亚洲字幕在线观看| 国内精品伊人久久久久av一坑| 日韩一级欧洲| 国产日韩欧美在线| 亚洲另类春色国产| 国产日韩av在线播放| 99爱精品视频| 国产深夜精品福利| 99热在线精品观看| 国产一区91| 亚洲图片自拍偷拍| 一区二区三区在线视频播放| 亚洲在线电影| 亚洲精品123区| 久久成人国产| 日韩视频三区| 另类亚洲自拍| 午夜精品久久久久久99热软件| 你懂的国产精品永久在线| 亚洲综合电影| 欧美久久成人| 亚洲第一在线综合网站| 国产精品国产精品| 亚洲久久成人| 极品少妇一区二区三区| 亚洲欧美另类中文字幕| 亚洲欧洲三级| 噜噜噜在线观看免费视频日韩| 亚洲综合精品一区二区| 欧美日韩精品一区二区| 亚洲大片精品永久免费| 国产精品永久免费视频| 在线亚洲一区|