新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于SOPC的腦電信號(hào)實(shí)時(shí)處理

基于SOPC的腦電信號(hào)實(shí)時(shí)處理

作者: 時(shí)間:2012-07-06 來(lái)源:網(wǎng)絡(luò) 收藏

3 軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)包括兩個(gè)部分,一部分是Verilog的用戶(hù)自定義外設(shè)組件,另一部分是NiosⅡIDE開(kāi)發(fā)環(huán)境的各外設(shè)組件的驅(qū)動(dòng)和配置程序,以及的FFT算法程序。
用戶(hù)自定義外設(shè)組件包括AD轉(zhuǎn)換和DA轉(zhuǎn)換模塊,用Verilog語(yǔ)言編寫(xiě)AD和DA的控制模塊,編譯、綜合后實(shí)現(xiàn)其功能并留下與Avalon interface的寄存器接口。
軟件開(kāi)發(fā)使用NiosⅡIDE,它是一個(gè)Eclipse IDE構(gòu)架的集成開(kāi)發(fā)環(huán)境,包括:
1)GNU開(kāi)發(fā)工具(標(biāo)準(zhǔn)GCC編譯器、連接器、匯編器和makefile工具等);
2)基于GDB的調(diào)試器,包括軟件仿真和硬件調(diào)試;
3)提供用戶(hù)一個(gè)硬件抽象層HAI。(Hardware Abstraction.Iayer);
4)提供嵌入式操作系統(tǒng)MicroC/OS一Ⅱ和LwlCP/IP協(xié)議棧的支持:
5)提供幫助用戶(hù)快速入門(mén)的軟件模板;
6)提供Flash下載支持(Flash。Programmer和QuartusⅡProgrammer)。
NiosⅡIDE可以完成NiosⅡ器系統(tǒng)的所有軟件開(kāi)發(fā)任務(wù)。 Builder生成系統(tǒng)后,可以直接使用NiosⅡIDE開(kāi)始設(shè)計(jì)C應(yīng)用程序代碼。Altera提供外設(shè)驅(qū)動(dòng)程序和硬件抽象層(HAL),使用戶(hù)能夠快速編寫(xiě)與低級(jí)硬件細(xì)節(jié)無(wú)關(guān)的NiosⅡ程序。除了應(yīng)用代碼,用戶(hù)還可以在NiosⅡIDE工程中設(shè)計(jì)和重新使用定制庫(kù)。
基于C編寫(xiě)的算法程序是腦數(shù)字的核心程序。該程序包括6個(gè)相關(guān)文件,分別是math.h,register.h,LF2407.CMD.RIS2X X.UB,process.c和evectors.a(chǎn)sm。其中需要用到的數(shù)學(xué)公式庫(kù)文件是math.h,CPI_I內(nèi)部的寄存器及其相關(guān)定義文件是re面ster.h,連接命令文件是I~2407.CMD,指示編譯器如何進(jìn)行程序空間和數(shù)據(jù)空間的分配,系統(tǒng)提供RTS2XX.UB庫(kù)文件,向量表文件cvectors.a(chǎn)sm定義所需的復(fù)位和中斷向量,process.c主要是完成用戶(hù)期望的功能,是整個(gè)程序的核心部分。
FFT部分算法如下:
d.JPG
相關(guān)算法的說(shuō)明:
1)采樣頻率Fs根據(jù)實(shí)際情況調(diào)整,仿真時(shí)為1 000 Hz;
2)快速傅里葉變換的計(jì)算公式為:
e.JPG


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉