<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();