完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > NiosⅡ
Nios Ⅱ嵌入式處理器是ALTERA公司推出的采用哈佛結(jié)構(gòu)、具有32位指令集的第二代片上可編程的軟核處理器, 其最大優(yōu)勢和特點是模塊化的硬件結(jié)構(gòu), 以及由此帶來的靈活性和可裁減性。本章詳細(xì)介紹了:Nios Ⅱ的開發(fā)應(yīng)用,設(shè)計方案等技術(shù)內(nèi)容。
Nios Ⅱ嵌入式處理器是ALTERA公司推出的采用哈佛結(jié)構(gòu)、具有32位指令集的第二代片上可編程的軟核處理器, 其最大優(yōu)勢和特點是模塊化的硬件結(jié)構(gòu), 以及由此帶來的靈活性和可裁減性。
相對于傳統(tǒng)的處理器, Nios Ⅱ系統(tǒng)可以在設(shè)計階段根據(jù)實際的需求來增減外設(shè)的數(shù)量和種類。設(shè)計者可以使用ALTERA 提供的開發(fā)工具SOPC Builder, 在FPGA(現(xiàn)場可編程邏輯門陣列)器件上創(chuàng)建軟硬件開發(fā)的基礎(chǔ)平臺, 也即用SOPC Builder創(chuàng)建軟核CPU和參數(shù)化的接口總線Avalon。在此基礎(chǔ)上, 可以很快地將硬件系統(tǒng)(包括處理器、存儲器、外設(shè)接口和用戶邏輯電路)與常規(guī)軟件集成在單一可編程芯片中。而且, SOPC Builder還提供了標(biāo)準(zhǔn)的接口方式,以便用戶將自己的外圍電路做成Nios Ⅱ軟核可以添加的外設(shè)模塊。這種設(shè)計方式, 更加方便了各類系統(tǒng)的調(diào)試。
Nios Ⅱ嵌入式處理器是ALTERA公司推出的采用哈佛結(jié)構(gòu)、具有32位指令集的第二代片上可編程的軟核處理器, 其最大優(yōu)勢和特點是模塊化的硬件結(jié)構(gòu), 以及由此帶來的靈活性和可裁減性。
相對于傳統(tǒng)的處理器, Nios Ⅱ系統(tǒng)可以在設(shè)計階段根據(jù)實際的需求來增減外設(shè)的數(shù)量和種類。設(shè)計者可以使用ALTERA 提供的開發(fā)工具SOPC Builder, 在FPGA(現(xiàn)場可編程邏輯門陣列)器件上創(chuàng)建軟硬件開發(fā)的基礎(chǔ)平臺, 也即用SOPC Builder創(chuàng)建軟核CPU和參數(shù)化的接口總線Avalon。在此基礎(chǔ)上, 可以很快地將硬件系統(tǒng)(包括處理器、存儲器、外設(shè)接口和用戶邏輯電路)與常規(guī)軟件集成在單一可編程芯片中。而且, SOPC Builder還提供了標(biāo)準(zhǔn)的接口方式,以便用戶將自己的外圍電路做成Nios Ⅱ軟核可以添加的外設(shè)模塊。這種設(shè)計方式, 更加方便了各類系統(tǒng)的調(diào)試。
特點
Nios II系列支持使用專用指令。專用指令是用戶增加的硬件模塊,它增加了算術(shù)邏輯單元(ALU)。用戶能為系統(tǒng)中使用的每個Nios II處理器創(chuàng)建多達(dá)256個專用指令,這使得設(shè)計者能夠細(xì)致地調(diào)整系統(tǒng)硬件以滿足性能目標(biāo)。專用指令邏輯和本身Nios II指令相同,能夠從多達(dá)兩個源寄存器取值,可選擇將結(jié)果寫回目標(biāo)寄存器。同時,Nios II系列支持60多個外設(shè)選項,開發(fā)者能夠選擇合適的外設(shè),獲得最合適的處理器、外設(shè)和接口組合,而不必支付根本不使用的硅片功能?!ios II系列能夠滿足任何應(yīng)用32位嵌入式微處理器的需要,客戶可以將第一代Nios處理器設(shè)計移植到某種Nios II處理器上,Altera將長期支持現(xiàn)有FPGA系列上的第一代Nios處理器。另外,Altera提供了一鍵式移植選項,可以升級至Nios II系列。Nios II處理器也能夠在HardCopy器件中實現(xiàn),Altera還為基于Nios II處理器的系統(tǒng)提供ASIC的移植方式。
基于NiosⅡ的數(shù)字示波器的設(shè)計與實現(xiàn)
在電子技術(shù)領(lǐng)域中,示波器的應(yīng)用非常廣泛,使用它可以方便直觀地觀察到信號的全貌,并測量信號的幅度、頻率、周期等基本參數(shù)。傳統(tǒng)的模擬示波器顯示時采用熒光物質(zhì)的余輝時間都是一定的,導(dǎo)致其難以觀測到周期較長的信號。另外,模擬示波器還無法對信號進(jìn)行一些特殊的數(shù)學(xué)處理(如FFT)。而數(shù)字示波器正好可以克服模擬示波器的不足,它采用各種先進(jìn)的測量技術(shù)來滿足各種應(yīng)用。如基于采樣原理,采用高速A/D轉(zhuǎn)換器實現(xiàn)高速數(shù)據(jù)采集,將模擬信號數(shù)字化,然后借助處理器強(qiáng)大的數(shù)據(jù)處理能力實現(xiàn)各種數(shù)字信號處理算法,將波形以圖形的方式直觀地顯示出來,并能夠得到被測信號各種豐富的參數(shù)。
1 系統(tǒng)總體方案
本設(shè)計的系統(tǒng)框圖如圖1所示,得益于FPGA的靈活性,系統(tǒng)的大部分功能都在FPGA內(nèi)部完成,使得整體結(jié)構(gòu)非常簡潔。外圍電路主要包括A/D轉(zhuǎn)換模塊、LCD顯示器、SD卡、FLASH和按鍵。
A/D轉(zhuǎn)換模塊的功能是實現(xiàn)模擬信號到數(shù)字信號的轉(zhuǎn)換;FLASH模塊的功能是存儲SoPC(System-on-a-Programmable-Chip)片上系統(tǒng)的固件程序;SD卡模塊的功能是實現(xiàn)測量信息的長期、大量存儲,提供與PC機(jī)的接口,便于后期在計算機(jī)上進(jìn)行分析;LCD模塊的功能是對測量信號波形和相關(guān)參數(shù)的實時顯示;按鍵模塊的功能是提供整機(jī)的調(diào)節(jié)和控制接口。
2 FPGA邏輯功能模塊設(shè)計
FPGA內(nèi)部系統(tǒng)框圖如圖2所示。它主要由采樣率控制器、觸發(fā)控制單元、FIFO控制器、頻率測量單元、按鍵控制單元和LCD驅(qū)動器構(gòu)成。
3 SoPC設(shè)計
本設(shè)計中使用的是NiosⅡ/f處理器,使用硬件乘除法器,工作于50 MHz。使用FPGA內(nèi)嵌的RAM塊作為系統(tǒng)的運行內(nèi)存。采用FLASH作為片外存儲器,保存用戶程序,其通過Avalon總線三態(tài)橋與NiosⅡ處理器相連。
3.1 SoPC軟件設(shè)計
系統(tǒng)開機(jī)調(diào)用相關(guān)函數(shù)初始化LCD,SD卡和FAT文件系統(tǒng)之后,首先繪制圖形界面,輸出固定信息,接著讀取波形參數(shù),將其顯示在LCD上,然后等待FIFO寫滿。若FIFO寫滿則將FIFO數(shù)據(jù)讀入緩沖區(qū)中,同時在屏幕上繪制波形,獲得波形的最大和最小值。最后如果有用戶按鍵輸入則處理按鍵事件,否則檢測波形參數(shù)是否變化,若有變化則更新顯示,否則等待FIFO寫滿,進(jìn)行下一次顯示。流程如圖3所示。
3.1.1 SoPC底層軟件設(shè)計
底層軟件為各設(shè)備的驅(qū)動程序,主要有:
?。?)LCD驅(qū)動。根據(jù)顯示內(nèi)容的需求,LCD驅(qū)動程序設(shè)計了以下函數(shù):
?、侔l(fā)送數(shù)據(jù)/命令:將數(shù)據(jù)/命令通過驅(qū)動器發(fā)送到LCD;
?、贚CD初始化:完成LCD的上電復(fù)位和初始化;
③LCD清屏:清空顯示;
?、茌敵鲆粋€像素:在指定位置輸出一個指定顏色的像素點;
?、莓嬛本€:畫從(x0,y0)到(x1,y1)的指定顏色的直線;
?、蕻嬀匦危寒嫃模▁0,y0)到(x1,y1)的指定顏色的矩形,可選擇是否填充;
?、咻敵鲆粋€字符:在指定位置輸出一個指定顏色的字符;
⑧輸出一個字符串:在指定位置輸出一個指定顏色的字符串。
?。?)SD卡驅(qū)動。SD卡通信采用SPI模式,SD卡驅(qū)動的函數(shù)及功能為:
①發(fā)送數(shù)據(jù)/命令:將數(shù)據(jù)/命令發(fā)送到SD卡;
②讀取數(shù)據(jù):從SD卡讀取一個字節(jié);
?、跾D卡復(fù)位:SD卡上電后復(fù)位并使其進(jìn)入SPI模式;
④SD卡初始化:初始化SD卡使其作好數(shù)據(jù)讀寫準(zhǔn)備;
?、葑x一個扇區(qū):從指定的扇區(qū)地址讀取一個扇區(qū)的數(shù)據(jù)到緩沖區(qū);
⑥寫一個扇區(qū):將緩沖區(qū)數(shù)據(jù)寫入指定的扇區(qū)地址處。
?。?)FAT16文件系統(tǒng)。FAT16文件系統(tǒng)的主要函數(shù)及功能為:
①FAT初始化:獲取每簇的扇區(qū)數(shù)、FAT表地址、根目錄地址和FAT表占用的扇區(qū)數(shù)等FAT信息;
?、诖_定文件名稱:查找已存在的波形文件以確定要保存的文件的名稱;
③添加根目錄項:將保存的文件的名稱、大小、位置等添加到根目錄;
④添加FAT表項:查找FAT表的空簇,將新文件的簇號寫入FAT表。 3.1.2 SoPC頂層軟件設(shè)計
SoPC的頂層軟件主要完成波形及參數(shù)的顯示、運行/停止控制、光標(biāo)測量、波形窗口移動、保存數(shù)據(jù)到SD卡等功能。
(1)波形參數(shù)顯示。繪制完圖形界面后首先輸出波形信息的固定部分,如Vpp:???mV,其中“???”將在讀取相關(guān)參數(shù)后更新。然后讀取相關(guān)參數(shù)并判斷是否變化,若有變化則更新相關(guān)顯示,在波形輸出結(jié)束后將峰峰值更新到屏幕上。
(2)波形顯示。波形參數(shù)顯示完成之后,CPU進(jìn)入等待狀態(tài),若FIFO寫滿信號為1,則開始讀FIFO數(shù)據(jù)并顯示波形。流程如圖4所示。
(3)運行/停止控制。波形顯示完后,若讀到stop為1,則等到FIFO寫滿后進(jìn)入停止?fàn)顟B(tài)。在停止?fàn)顟B(tài)FIFO中的數(shù)據(jù)保持不變。在停止?fàn)顟B(tài)若檢測到用戶輸入,則執(zhí)行相應(yīng)函數(shù)。若檢測到stop為0,則清屏,重繪圖形界面,輸出運行圖標(biāo),返回到顯示波形狀態(tài)。
?。?)光標(biāo)測量。在停止?fàn)顟B(tài)若檢測到光標(biāo)測量為1,則進(jìn)入光標(biāo)測量狀態(tài)。首先將2個光標(biāo)的y軸坐標(biāo)轉(zhuǎn)換為實際電壓值輸出到LCD,然后計算2個光標(biāo)電壓的差值輸出到LCD上的相應(yīng)位置處。再根據(jù)分頻系數(shù)將2個光標(biāo)的x軸差值轉(zhuǎn)換為實際的時間,輸出到LCD。最后繪制2個十字光標(biāo),每個光標(biāo)由一橫一縱2條直線構(gòu)成,其交點位于波形上。
光標(biāo)繪制完成后檢測用戶按鍵,如果有左右移動或光標(biāo)切換按鍵操作,則對相應(yīng)光標(biāo)的x坐標(biāo)做加減運算,然后從緩沖區(qū)重新讀取波形輸出到LCD,將之前的信息覆蓋,接著再次調(diào)用光標(biāo)繪制函數(shù)繪制新的光標(biāo)位置和光標(biāo)的信息。流程如圖5所示。
(5)將波形保存到SD卡。在停止?fàn)顟B(tài)若檢測到保存按鍵輸入,則將數(shù)據(jù)保存到SD卡。首先在FAT表中查找空簇,返回簇號,并在FAT表中標(biāo)記該簇已被占用,同時更新FAT表。然后在根目錄中查找已存在的DAT文件,若有DAT文件則返回最大的文件名,否則返回0。然后將緩沖區(qū)的數(shù)據(jù)寫入SD卡的對應(yīng)扇區(qū),扇區(qū)地址=根目錄地址+根目錄大小+(簇號-2)×每簇的扇區(qū)數(shù)。接著在根目錄中找到一個空閑項,將文件名稱、大小、所在簇寫入該項,即完成文件的保存。最后在LCD上輸出相應(yīng)的提示信息。流程如圖6所示。
?。?)波形顯示窗口的移動。在停止?fàn)顟B(tài)若檢測到左右移動輸入,則進(jìn)行波形顯示窗口的移動。當(dāng)左/右鍵按下時,若窗口沒超過FIFO邊界,則將窗口的首地址左/右移2個像素,然后更新顯示的窗口,同時按比例更新窗口指示器的位置。
?。?)波形文件格式。用于保存波形的文件使用8.3格式命名,名稱為OSC_xxxx.DAT,其中xxxx為文件的編號。由于每次采集的波形數(shù)據(jù)量大小相同,因此文件的大小也為固定值。FIFO深度為256 B,添加觸發(fā)電平、觸發(fā)沿、時間刻度等信息后,文件的體積為260 B。由于磁盤的底層讀寫操作是按照扇區(qū)進(jìn)行的,一個扇區(qū)512 B,所以將文件的大小定義為512 B。前256 B為波形數(shù)據(jù),第257 B為觸發(fā)沿信息,第258 B為觸發(fā)電平信,第259 B,260 B為分頻系數(shù),通過軟件轉(zhuǎn)換后可得時間刻度的大小。
4 PC機(jī)軟件設(shè)計
PC端軟件使用C語言設(shè)計。圖形部分使用SDL庫。PC機(jī)軟件用于打開示波器保存的波形文件,還原波形信息,并可以進(jìn)行光標(biāo)測量。程序首先初始化SDL視頻,然后打開文件讀取260個字節(jié),關(guān)閉文件。載入背景圖案,初始化TTF字體。將波形繪制到背景圖案上并計算相關(guān)參數(shù)輸出到相應(yīng)位置,繪制兩個光標(biāo),等待用戶移動光標(biāo)。光標(biāo)移動后重新載入背景和波形并更新相關(guān)信息。軟件流程如圖7所示。
5 結(jié)語
本文介紹了一種基于SoPC的數(shù)字示波器設(shè)計,實際測試結(jié)果表明,系統(tǒng)完成了數(shù)字示波器的基本功能,各部分工作正常,各項指標(biāo)達(dá)到設(shè)計要求。在設(shè)計過程中采用了FPGA芯片、嵌入式NiosⅡ處理器以及Verilog HDL語言,簡化了電路的設(shè)計,提高了靈活性,縮短了設(shè)計周期。
一種基于NiosⅡ的可重構(gòu)DSP系統(tǒng)設(shè)計
應(yīng)用Nios II嵌入式軟核處理器所具有的可自定義指令的特點,本文提出了一種具有常規(guī)DSP功能的Nios II系統(tǒng)SOPC解決方案。用戶可通過Matla...
基于FPGA的8段數(shù)碼管動態(tài)顯示IP核設(shè)計
基于FPGA的8段數(shù)碼管動態(tài)顯示IP核設(shè)計 引言 數(shù)碼管可顯示簡單的字符和數(shù)字,由于其價格低廉、性能穩(wěn)定、顯示清晰、亮度高、使用電
NiosⅡ的紅外圖像實時跟蹤系統(tǒng)設(shè)計立即下載
類別:模擬數(shù)字論文 2016-08-29 標(biāo)簽:NiosⅡ
類別:模擬數(shù)字論文 2016-05-09 標(biāo)簽:嵌入式NIOSⅡ
NiosⅡ?qū)崿F(xiàn)指紋識別系統(tǒng)立即下載
類別:模擬數(shù)字論文 2016-05-09 標(biāo)簽:NiosⅡ
NiosⅡ和USB接口的高速數(shù)據(jù)采集卡設(shè)計立即下載
類別:FPGA/ASIC 2013-07-16 標(biāo)簽:USB接口數(shù)據(jù)采集卡NiosⅡ
基于FPGA的GPS和GSM雙重車載定位系統(tǒng)設(shè)計
目前在車輛GPS導(dǎo)航系統(tǒng)中,主要是直接利用無差分、無SA誤差的GPS定位數(shù)據(jù)來實現(xiàn)車輛在地圖上的定位??紤]到定位信號存在一定的誤差,5%概率下誤差會超過...
2011-10-24 標(biāo)簽:FPGAGPS定位系統(tǒng) 2991 1
NIOSⅡ?qū)崿F(xiàn)矩陣鍵盤和液晶顯示外設(shè)組件
本文提出了一種針對LCD控制器和矩陣鍵盤的IP核的設(shè)計方法。該方法利用SOPC Builder中元件編輯器Create New Component,通過...
模擬示波器由于無法高效地觀察實驗結(jié)果、數(shù)據(jù)處理功能弱等缺點,已逐漸被數(shù)字示波器所取代,但數(shù)字示波器價格昂貴。虛擬儀器是在通用計算機(jī)平臺上,用戶利用軟件根...
基于NiosⅡ的電能質(zhì)量監(jiān)測系統(tǒng)設(shè)計
在電力系統(tǒng)的電能質(zhì)量參數(shù)檢測中,利用可編程邏輯器件的可在線編程特點和SoPC的技術(shù)優(yōu)勢,在FPGA中嵌入了32位 NiosⅡ 軟核系統(tǒng),探討了處理諧波數(shù)...
2011-09-01 標(biāo)簽:監(jiān)測系統(tǒng)電能NiosⅡ 896 0
基于NiosⅡ的紅外學(xué)習(xí)型遙控器設(shè)計
本文設(shè)計了一種基于NiosⅡ的紅外學(xué)習(xí)型遙控器,把載波頻率測量、紅外信號解調(diào)、脈寬測量、調(diào)制發(fā)送IP核集中到FPG
基于NiosⅡ軟核處理器的電機(jī)調(diào)速控制系統(tǒng)
0 引言 以往的直流電機(jī)調(diào)速系統(tǒng)通常采用單片機(jī)或DSP進(jìn)行控制,而單片機(jī)需要使用大量的外圍電路,
2010-11-12 標(biāo)簽:NiosⅡ電機(jī)調(diào)速 922 0
基于NiosⅡ軟核處理器的SOPC技術(shù)來實現(xiàn)數(shù)碼相框的設(shè)計
0 引言 本文采用了基于NiosⅡ軟核處理器的SOPC技術(shù)來實現(xiàn)數(shù)碼相框的設(shè)計,從根本上改變了傳統(tǒng)設(shè)計方案的不足。NiosⅡ軟核嵌入式處理器是...
基于NIOSⅡ的LCD控制器和矩陣鍵盤的IP核的設(shè)計方法
0 引言 NIOSⅡ是Altera公司推出的第二代IP軟核處理器。它與其他IP核可構(gòu)成SOPC系統(tǒng)的主要部分。Altera SOPC Buil...
基于NiosⅡ處理器的總線架構(gòu)的SD卡設(shè)計
SD存儲卡以其大容量和小尺寸的特點,成為市面上各種嵌入式消費產(chǎn)品最常見的存儲媒介,探討SD卡設(shè)備的設(shè)計具有廣泛的應(yīng)用價值。這里將結(jié)合NiosⅡ處理器的總...
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺 | 無人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |