基于FPGA的诱发电位仪完整系统设计
过FPGA端口输出,例如在芯片中使用以下代码可产生一个占空比为PWM_WIDTH:1的PWM波形:
视觉诱发刺激信号由在FPGA芯片中存储的刺激图像数据直接产生VGA时序控制信号,控制VGA显示器显示棋盘格或彩条刺激图像给予人体视觉刺激。
诱发电位刺激信号主要参数包括刺激脉宽、刺激频率、刺激强度、刺激类型和刺激模式,USB芯片从上位机接收到参数配置信号,传递给诱发刺激信号生成模块发出脉冲。例如,生成听觉诱发电位刺激信号如图3所示,它的刺激脉宽为0.2 ms,刺激频率为12 Hz,设置某一刺激强度(由分贝进行度量);而生成视觉诱发电位刺激信号,刺激频率为2 Hz,刺激类型为棋盘格模式,刺激模式为16×16。
图3 刺激信号脉宽和周期
2.4 信号传输控制模块
在FPGA内部将完成诱发电位仪同步信号发生模块、A/D转换器的控制、USB传输控制端口和上位机命令解析模块,从而形成一整个诱发电位仪核心处理控制模块,可以方便地使用各个模块来完成外围器件的初始化、工作模式配置和系统的数据传输。图4为信号传输控制流程图。
图4 信号传输控制流程图
2.5 数字信号处理模块
数字信号处理模块集成到FPGA中,可以将算法拆分,形成大规模的数字信号处理并行结构,将极大地提高处理速度,且性能不会下降,如模式识别算法、盲源分离算法等,均比较适合集成到FPGA中实现。在前置模拟电路放大之前,脑电信号为微弱混杂的信号,需要做一些滤波处理,而此处可以将前段部分的带通滤波电路转化为数字滤波器,设置到FPGA芯片中去,可简化电路结构,使系统整体体积大大减小。本设计在FPGA芯片中搭建了四阶无限脉冲数字滤波器,其系统传递函数H(z)如下:
将诱发电位信号放大模/数转换之后的数据实时经过滤波,实现信号的前置处理,经测试效果良好。利用FPGA的并行性,在每个通道设置一个数字滤波器,大大增强了系统实时性,而且可探索自适应、小波数字滤波器等设计,在硬件层次提高系统的处理能力。
3 高精度多通道模/数转换器ADSl258
在诱发电位仪采集系统中,模/数转换模块芯片的选取对整个采集系统的结构和性能影响非常大,本文模/数转换芯片选用ADSl258器件,使得本系统达到多通道高分辨率的要求。
3.1 ADSl258的主要特点
ADSl258是16通道24位分辨率的低噪声模/数转换芯片,全量程5 V的单端输入范围或者±2.5 V的真双极输入,每个通道采样速率最高23.7 KSPS(16通道同时采样),单个通道采样最高可达400 KSPS,通过SPI兼容接口进行工作模式配置和串行数字通信,使用方便。选用此芯片,电压分辨率即可达到1 μV,因此信号放大和调理预处理电路的放大倍数只要100倍就可满足诱发电位仪的技术要求,大大简化了前级电路。
3.2 ADSl258与FPGA接口电路
ADSl258通过一个SPI兼容串行接口将数据写入配置寄存器,使用命令控制转换器以此来控制A/D芯片的工作模式,并最终读取通道数据。接口包含,SCLK,DIN 和DOUT四个信号。对ADSl258的所有操作都得先向其写入命令,然后由AD根据写入的命令做相应的操作。经过FPGA的A/D配置模块启动之后,ADSl258将处于固定通道扫描模式下或者自动通道扫描模式下,ADSl258将可转换16路共模输入信号或8路差分输入信号。模拟信号由AIN口输入,输入范围0~+5 V。外围控制端口接驳到FPGA,由FPGA控制模块控制A/D采样,由进行选通,START启动ADC开始工作,通过DIN输入命令之后由DOUT输出转换结果,共使用8个端口与FPGA芯片的端口相连接。具体接口电路的实现如图5所示。
图5 ADS1258 与FPGA 芯片的接口电路
4 结语
利用FPGA芯片丰富的资源,将诱发电位仪的刺激信号源、模/数转换控制逻辑和USB接口控制与数据传输以及数字信号处理等模块设计在单个芯片上,可最大限度地简化诱发电位仪的硬件电路复杂度,利用其可编程性极大地方便了硬件设计,结合ADSl258的高分辨率的优势,可以使系统既具有优异的性能又具有很高的集成度,而且本设计尚余很多FPGA的I/O口,如需更多通道则仅需要加入多块A/D芯片,具有较高的应用价值。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)