新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于SOPC的脑电信号实时处理

基于SOPC的脑电信号实时处理

作者:时间:2012-07-06来源:网络收藏

3 软件设计
本系统的软件设计包括两个部分,一部分是Verilog的用户自定义外设组件,另一部分是NiosⅡIDE开发环境的各外设组件的驱动和配置程序,以及的FFT算法程序。
用户自定义外设组件包括AD转换和DA转换模块,用Verilog语言编写AD和DA的控制模块,编译、综合后实现其功能并留下与Avalon interface的寄存器接口。
软件开发使用NiosⅡIDE,它是一个Eclipse IDE构架的集成开发环境,包括:
1)GNU开发工具(标准GCC编译器、连接器、汇编器和makefile工具等);
2)基于GDB的调试器,包括软件仿真和硬件调试;
3)提供用户一个硬件抽象层HAI。(Hardware Abstraction.Iayer);
4)提供嵌入式操作系统MicroC/OS一Ⅱ和LwlCP/IP协议栈的支持:
5)提供帮助用户快速入门的软件模板;
6)提供Flash下载支持(Flash。Programmer和QuartusⅡProgrammer)。
NiosⅡIDE可以完成NiosⅡ器系统的所有软件开发任务。 Builder生成系统后,可以直接使用NiosⅡIDE开始设计C应用程序代码。Altera提供外设驱动程序和硬件抽象层(HAL),使用户能够快速编写与低级硬件细节无关的NiosⅡ程序。除了应用代码,用户还可以在NiosⅡIDE工程中设计和重新使用定制库。
基于C编写的算法程序是脑数字的核心程序。该程序包括6个相关文件,分别是math.h,register.h,LF2407.CMD.RIS2X X.UB,process.c和evectors.asm。其中需要用到的数学公式库文件是math.h,CPI_I内部的寄存器及其相关定义文件是re面ster.h,连接命令文件是I~2407.CMD,指示编译器如何进行程序空间和数据空间的分配,系统提供RTS2XX.UB库文件,向量表文件cvectors.asm定义所需的复位和中断向量,process.c主要是完成用户期望的功能,是整个程序的核心部分。
FFT部分算法如下:
d.JPG
相关算法的说明:
1)采样频率Fs根据实际情况调整,仿真时为1 000 Hz;
2)快速傅里叶变换的计算公式为:
e.JPG


评论


相关推荐

技术专区

关闭