0引言
诱发电位是指对神经系统某一特定部位给予特定刺激后在大脑皮层所产生的特定电活动,对于神经系统功能性异常的疾病有独特的检测诊断能力,也是大脑认知和脑机接口研究常用的技术手段。诱发电位仪通常包括视觉诱发电位、听觉诱发电位和体感诱发电位三种检测功能,其硬件系统核心组成部分包括:刺激信号源、脑电信号放大和数据采集。刺激信号源包括视觉刺激信号(如棋盘格、黑白闪光等)、听觉刺激信号和神经刺激信号,一般采用分离设计。
脑电信号数据采集一般包括模/数转换、数据预处理和数据传输等部分,而模/数转换芯片和主控微处理器芯片的选择主导了整个数据采集系统的性能。在目前的采集系统中,基于单片机的中低端控制芯片功能较弱,逐渐被DSP和ARM或增强型单片机所取代。DSP芯片采用哈佛结构的流水线工作方式,能实现复杂信号处理算法,如文献采用DSP实现复杂的脑电信号采集系统;而ARM适合做事务处理或者中低端应用,如文献中通过ARM处理器建立操作系统实现任务调度。尽管采用DSP和ARM芯片可使系统的运算能力和管理事务的能力得到很大增强,但是构成完整的数据采集系统通常还需要外部逻辑控制器件,尤其不能将数据采集和刺激信号源在单片上集成实现。
由于现代电子技术的飞速发展,可编程逻辑芯片FPGA的集成度越来越高,受到很多厂家和研究机构的关注,利用它的可编程性和可扩展,可将绝大部分的功能集成到FPGA芯片中。如文献采用FPGA实现了脑电信号采集;文献则将盲分离算法ICA在FPGA上实现,能同时对脑电信号进行采集和独立分量分解。
本文针对诱发电位仪的硬件系统设计,提出将信号采集控制、处理、传输、刺激信号产生等功能集成在一块FPGA芯片上的设计方案,并结合ADSl258模/数转换芯片,使得系统具有16通道,每个通道24位采样精度和400 kHz采样率的高性能,而且电路结构简单。
1 系统总体设计
本文提出的诱发电位仪包括了刺激信号源、数据采集和数据传输三大部分。其中核心控制芯片采用Altera公司的FPGA,产生刺激诱发信号源包括听觉刺激、神经传导刺激和视觉诱发刺激,以及实现对外围电路如A/D,USB等模块的控制并在芯片内部集成滤波算法模块;数据采集采用高精度多通道的模/数转换芯片ADSl258将通过放大器放大后的诱发电位信号进行模/数转换并输入FPGA内进行前置处理;数据传输通
过USB控制器Cypress68013A将诱发电位数据传输至PC上位机,由上位机应用程序实现诱发脑电信号的后期处理、显示、存储等功能。系统总体框图见图1。
图1 系统总体框图
2 FPGA软件模块设计
2.1 FPGA的优势
FPGA即现场可编程门阵列,是在CPLD的基础上发展起来的新型高性能可编程逻辑器件,它既继承了ASIC的大规模、高集成度、高可靠性的优点,又克服了普通ASIC设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设计的理想选择。不同于传统的诱发电位仪设计,本文将大部分分立元件实现的功能集成到了FPGA芯片中,实现多种刺激模式和滤波模块以及实现对外围器件的控制,不仅提高了集成度使仪器小型化、便携化成为可能,而且片内模块可反复修改,提高了设计开发效率降低了成本,也可以方便地实现各模块之间的同步。
2.2 软件模块整体设计
本设计中,FPGA芯片软件模块包括了诱发电位刺激模块、信号传输控制模块和数字信号处理模块三大部分;由共同的同步信号协同合作,完成诱发电位仪的诱发刺激、信号的传输、数字滤波等核心控制处理功能。FPGA内软件模块框图如图2所示。
图2 FPGA 内部功能结构模块
2.3 诱发电位刺激模块
在FPGA芯片中设计了诱发电位刺激模块,主要功能包括:听觉诱发电位刺激、神经传导刺激和视觉诱发电位刺激。刺激信号主要由脉冲信号进行控制,通过 FPGA芯片可以直接输出脉冲信号和VGA控制信号。听觉诱发刺激信号和神经传导刺激信号可由FPGA输出的脉冲信号经功率放大后产生,在此听觉诱发电位刺激信号为双通道,一路信号产生脉冲信号如PWM(脉宽调制)波,另一路由FPGA芯片内部模块通过DA转换器产生白噪声,而神经传导刺激信号可直接由 FPGA输出PWM脉冲直接驱动电压放大器生成。通过Verilog硬件描述语言,在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所示。
图5ADS1258与FPGA 芯片的接口电路
4 结语
利用FPGA芯片丰富的资源,将诱发电位仪的刺激信号源、模/数转换控制逻辑和USB接口控制与数据传输以及数字信号处理等模块设计在单个芯片上,可最大限度地简化诱发电位仪的硬件电路复杂度,利用其可编程性极大地方便了硬件设计,结合ADSl258的高分辨率的优势,可以使系统既具有优异的性能又具有很高的集成度,而且本设计尚余很多FPGA的I/O口,如需更多通道则仅需要加入多块A/D芯片,具有较高的应用价值。