基于fpga的多电极阵列仿真实验平台的制作方法

文档序号:10490101阅读:409来源:国知局
基于fpga的多电极阵列仿真实验平台的制作方法
【专利摘要】本发明提供一种基于FPGA的多电极阵列仿真实验平台,该实验平台包括FPGA开发板和上位机两部分,这两部分通过USB接口相互连接。其中FPGA开发板用来实现STN神经元网络模型和多电极阵列算法,上位机采用LabVIEW设计上位机软件界面并与FPGA开发板进行通讯。本发明的效果是作为生物神经网络的无动物实验、基于高速运算的FPGA神经元网络实验平台实现了多电极阵列对神经元网络的场电位的多位点同步记录,并且能够保证与真实生物神经元在时间尺度上的一致性。该平台为研究丘脑底核STN核团的放电机制,和多电极阵列提供了更加接近真实神经网络的可视化研究平台,对包括帕金森病在内的多种神经疾病的研究和治疗有重要的实用价值。
【专利说明】
基于FPGA的多电极阵列仿真实验平台
技术领域
[0001]本发明涉及生物医学工程技术,特别是一种基于FPGA的多电极阵列仿真实验平台ο
【背景技术】
[0002]伴随着经济社会的发展,人口老龄化问题日趋严重,帕金森症、阿尔兹海默症、癫痫等精神疾病的发病率随之增加,然而当前辅助治疗技术仍然是非常有限的。进一步检测和观察神经系统的响应行为有助于人们进一步深入了解神经系统的功能,进而更加深入地理解多种神经疾病的发病机理,这对神经疾病的诊断和治疗具有重要意义。多电极阵列因其能够非侵入性的长时间、多位点检测和记录体内或体外多个神经元或组织的放电活动,并具有很高的时空分辨率,因而被广泛应用于基础生物学和医学诊断中。
[0003]人脑中基底核的主要功能为运动控制、意识活动调节,同时它还参与记忆、学习和情感等高级认知功能。基底核的病变可导致多种运动和认知障碍,包括帕金森症。基底核区域主要包含苍白球外侧(Globus Pallidus externa,GPe)、苍白球内侧(Globus Pallidus,GPi)和丘脑底核(Subthalamic nucleus,STN)三部分。目前对帕金森症的研究和治疗中主要是检测和刺激STN神经元的电生理活动,因此设计多电极阵列仿真平台对STN神经元电生理活动的检测和刺激具有重要的研究价值。
[0004]迄今为止,对多电极阵列的研究主要是带细胞培养皿的多电极阵列或是基于软件模拟多电极阵列。它们都具有一定的局限性,例如带细胞培养皿的平面多电极阵列存在细胞游走,细胞与基底的间隙难以控制等问题,这极大地降低了电极的测量精度。大部分基于软件模拟多电极阵列的研究都是侧重于细胞结构和细胞外电位的计算方法,而且软件模拟多电极阵列存在非实时性问题。
[0005]现场可编程门阵列(Field Programmable Gate Array,FPGA)技术在以生物神经系统为对象的计算神经科学领域的应用逐渐受到重视。相对于模拟专用集成电路灵活性差,开发周期长等缺点,并行计算的FPGA有着体积小、运行速度快、设计周期短、开发费用低、功耗低、编程灵活和可重复配置利用等特点。利用FPGA进行神经元及网络的运算和特性分析,可实现在真实时间尺度下运行,运算效率高,便于应用,且集成度高,在神经元网络特性研究、仿生学、智能系统及神经疾病治疗等方面有着广阔的应用前景,因此FPGA是实现神经元模型和多电极阵列算法的理想选择。
[0006]现有的技术还处于基础阶段,仍存在以下缺点:尚无基于FPGA的多电极阵列仿真实验平台,硬件实现的神经元网络模型结构比较简单,实际应用价值较低;人机界面尚未完善,因此对FPGA硬件神经元网络的操作分析比较困难。

【发明内容】

[0007]针对上述技术中存在的不足,本发明的目的是提供一种基于FPGA的多电极阵列仿真实验平台,构造STN神经元网络并实现多电极阵列算法,以利于检测和研究STN神经元的电生理活动,上位机通过USB接收FPGA上神经元网络模型和多电极阵列上传的数据,实时观察神经元放电行为和其对电极所测电信号的影响。
[0008]为实现上述目的,本发明采用的技术方案是提供一种基于FPGA的多电极阵列仿真实验平台,其中:该实验平台包括有相互连接的FPGA开发板和上位机两部分,FPGA开发板中集成有丘脑底核STN神经元网络模型和多电极阵列,上位机采用LabVIEW图形化编程上位机软件界面并与FPGA开发板进行通讯。
[0009]本发明的效果是该仿真实验平台实现了复杂的STN神经元网络的建模,设计了可视化人机界面,提高了系统的灵活性和易操作性,能够达到与真实生物神经元在时间尺度上一致;该平台为基底核STN神经网络的实现和多电极阵列的检测原理提供了更加接近真实神经网络的可视化研究平台,对包括帕金森症在内的多种疾病的研究和治疗有重要的实用价值。基于并行运算的FPGA多电极阵列仿真实验平台无需进行动物实验,该平台在我国乃至世界范围内都属于一项前沿的科技领域。本设计创新的提出了基于FPGA的多电极阵列仿真实验平台,有以下几点优势:
[0010]1、所设计的神经元网络仿真模型能够实现在时间尺度上与真实生物神经元的一致性。
[0011]2、为单个神经元放电与电极测量信号之间定量关系的研究提供了更加快速、便携的硬件试验平台。
[0012]3、本发明中,神经元模型的关键参数、突触连接强度以及电极阵列分布结构和数量都可以通过上位机软件界面配置,实现了利用计算机配置实验设备的各种特性。
[0013]4、上位机软件界面的设计使得网络放电状态以及电极所测电信号能够直观的显示,便于后续数据处理和分析,为治疗包括帕金森症在内的多种疾病的研究提供了更好的可视化平台。
【附图说明】
[0014]图1为本发明的FPGA硬件实验平台结构示意图;
[0015]图2为本发明的STN神经元流水线数据模型;
[0016]图3为本发明的突触电流产生模块;
[0017]图4为本发明的镜像存储寄存器模块;
[0018]图5为本发明的多电极阵列模块;
[0019]图6为本发明的上位机软件界面示意图。
[0020]图中:
[0021 ] 1.FPGA开发板2.上位机3.丘脑底核STN神经元网络模型4.多电极阵列模块5.上位机软件界面6.STN神经元流水线数据模型7.输入数据总线8.输出数据总线9.USB接口 10.初值模块11.初值信号12.突触电流产生模块13.突触电流信号14.膜电压寄存器模块15.电流寄存器模块16.电极测量信号寄存器模块17.神经元膜电压信号18.神经元电流信号19.输入数据信号20.选择器21.电极测量信号22.外加刺激电流23.流水线数据通路24.STN神经元突触连接矩阵25.突触电流逻辑运算模块26.电极与各神经元距离矩阵27.多电极阵列算法逻辑运算模块28.神经元膜电压波形显示29.电极测量信号波形显示30.上位机软件界面参数设置部分
【具体实施方式】
[0022]下面结合附图对本发明的基于FPGA的多电极阵列仿真实验平台结构加以说明。
[0023]本发明的基于FPGA的多电极阵列仿真实验平台的设计思想是首先在FPGA上建立STN神经元网络模型;然后在FPGA上设计实现多电极阵列算法,并有独立于神经元网络模型的外部电流刺激施加给模型,通过刺激更改STN神经元网络的放电模式,检测和分析不同放电模式下多电极阵列的输出信号;最后设计上位机软件界面,上位机软件界面可以设置参数并通过输入数据总线传输到FPGA,实现对网络初始状态、模型参数以及耦合结构的配置,不同的参数可以改变STN核团神经元的放电特性,同时也可以设置虚拟电极与各神经元的距离达到检测不同位点神经元放电活动引起的局部场电位信号。最后把FPGA中神经元网络放电动态数据和多电极阵列记录的动态数据上传到上位机,在上位机软件界面实现波形的显示以便于观察和分析。该实验平台包括相互连接的FPGA开发板和上位机两部分。其中FPGA开发板用来实现STN神经元网络模型和多电极阵列算法,上位机用来设计上位机软件界面并与FPGA开发板进行通讯。
[0024]在FPGA中采用流水线技术搭建STN神经元,使复杂逻辑操作分步完成,从而在资源有限的情况下提高系统的吞吐量。流水线的思想实际上就是利用延时将一个计算过程分为若干个子过程,在一个时钟周期内,每个子过程同时分别处理不同神经元、不同状态时刻的数据,模型数据交叉在移位寄存器中保存,并随着时钟转移。在一个神经元数据通路中,流水线的级数P与神经元个数N相等,这样便可实现N个神经元的运算。不同神经元之间的耦合作用由突触电流实现,突触电流的产生又取决于耦合结构和突触前膜电位。耦合结构由突触连接矩阵来表示,突触前各个神经元的膜电位与突触后神经元的膜电位的差与突触连接矩阵进行乘法运算,可以得到突触后神经元的突触电流输入。突触前各个神经元的膜电位由流水线数据模型计算得到,通过镜像存储的方法存储在FPGA的BRAM中,突触连接矩阵由外设寄存器存储,计算时进行同步调用,这样便可实现STN神经网络模型中各神经元之间的规A
柄口 O
[0025]所述多电极阵列:多电极阵列是排列成点阵状多个电极,可以同时检测多个位点上的细胞外场电位。该细胞外场电位由细胞内电流源和细胞外介质的电导率决定,按照一定的算法可以模拟细胞外场电位的产生,即模拟电极输出的检测信号,该算法称为多电极阵列算法,可采用硬件描述语言在FPGA中设计实现,通过接收由上位机传递的数据来配置不同电极在STN神经元网络中的位点。真实多电极阵列除了具有检测细胞外场电位的功能,还具有刺激电流的作用。本发明将独立于神经元网络模型的外部电流刺激施加给模型,然后将FPGA实现的多电极阵列的记录信号通过USB传输到上位机,进行必要的处理和分析,得到在不同脉宽、频率和幅值的外加刺激电流下神经元网络模型不同场电位的变化规律,为疾病治疗找出最优的刺激方式。
[0026]所述上位机软件界面:上位机软件界面由NI公司的LabVIEW(Laboratory VirtualInstrument Engineering Workbench,实验室虚拟仪器工程平台)软件设计实现。LabVIEW提供了丰富的仪器控制功能,支持虚拟仪器架构VISA(Virtual Instrument SoftwareArchitecture) ,VISA完整的集成了与诸多硬件的通信功能。FPGA开发板通过USB设备与上位机相连,上位机LabVIEW软件界面可以通过“VISA读取”来连续接收从FPGA开发板USB接口上传的STN神经元网络模型和多电极阵列模块运算得到的动态数据,在上位机的软件界面上进行实时的波形显示,同时可以在上位机软件界面设置参数通过“VISA写入”输入数据到FPGA中对神经元网络模型参数和电极与各神经元的距离参数进行配置。由于连接FPGA开发板与上位机的USB是串行总线,不能同时进行读写,因此VISA读取和VISA写入不能同时被执行。由于LabVIEW采用可视化的图形语言设计,开发过程便捷直观,简化了人机交互界面的实现,增强了程序的可靠性和易用性。
[0027]本发明的基于FPGA的多电极阵列仿真实验平台由相互连接的FPGA开发板I和上位机2两部分组成。其中FPGA开发板I中集成有丘脑底核STN神经元网络模型3和多电极阵列模块4,FPGA开发板I用来实现STN神经元网络模型3和多电极阵列模块4,上位机2用来实现上位机软件界面5并与FPGA开发板I进行通讯。以下加以说明:
[0028]丘脑底核STN神经元网络模型3
[0029]如图1所示,对硬件实验平台系统进行设计,采用Altera高性能低功耗的StratixΙΠ EP3SL150F1152C2N型号FPGA开发板1,利用Matlab中的开发工具DSP Builder进行可视化图形编程。根据STN神经元核团的数学模型,经欧拉法离散化后,运用DSP Builder搭建STN神经元的流水线数据模型6,并编译下载到FPGA开发板I中。STN神经元网络模型3接收上位机软件界面5传递到初值模块10的初值信号11和外加刺激电流信号22进行运算,运算产生的膜电位信号17和神经元电流信号18采用镜像存储方法存储到相应寄存器中,膜电位信号17传回上位机软件界面5进行观察处理;FPGA开发板I上丘脑底核STN神经元网络模型3中各神经元之间通过突触连接矩阵24连接来模拟真实神经元之间的相互耦合;如图2所示,STN神经元流水线数据模型6有五条流水线数据通路23,主要由加减法、乘法、查找表、移位寄存器等模块组成,根据神经元网络规模设计流水线深度。根据FPGA的结构,运用QUARTUSΠ软件实现硬件描述语言的转换并编译下载到FPGA中实现。将STN神经元流水线数据模型6连续两次运算得到的神经元的膜电位信号17和神经元电流信号18采用镜像存储分别存储至IjFPGA的两组BRAM中,STN神经元流水线数据模型6接收初值信号11、外加刺激电流信号22和突触电流信号13作为STN神经元流水线数据模型6的输入进行运算处理,经过神经元流水线数据模型6运算产生的神经元的膜电位信号17输入到FPGA开发板I内部膜电压寄存器模块14存储,以便在突触电流产生模块12进行调用;神经元电流信号18输入到FPGA开发板I内部电流寄存器模块15存储,以便在多电极阵列模块4进行调用。
[0030]在STN神经元网络模型搭建好以后,建立它们之间的耦合关系,它们之间的耦合作用由突触电流信号13实现,而突触电流又由耦合结构和突触前膜电位信号17决定。如图3所示,突触电流产生模块12包含神经元突触耦合连接矩阵24和突触电流逻辑运算模块25,耦合结构由突触连接矩阵24来表示,突触连接矩阵24由上位机软件QUARTUS Π设计直接存储至IJFPGA开发板I的寄存器SRAM中。由于需要计算突触电流,有可能用到任意其他神经元上一步的膜电位信息,如果用到的膜电位信息已经被更新,就会造成计算错误。因此,对膜电位信息的存储采取镜像存储,即采用两组存储器存储同一变量前后两步计算的值,分别对两组存储器进行读取和写入操作,一步计算完成后,两者位置互换。采用镜像存储结构,信息的更新不会导致原有信息被覆盖,且计算完成后简单的位置互换也节省了数据复制操作的时间。为了节省硬件资源和加快运算速度,数据采用定点数形式进行运算。突触电流产生模块12计算时同步调用存储在BRAM中的神经元膜电位信号17和存储在SRAM中的突触连接矩阵24,突触前各个神经元的膜电位信号17与突触连接矩阵24经过突触电流逻辑运算模块25计算,得到输入突触后神经元的突触电流信号13。这样便可实现丘脑底核STN神经元网络模型3中各神经元耦合关系。
[0031]神经元网络模型的初值模块10由信号给定模块、常值模块以及多路复用模块共同完成。初值模块10通过FPGA开发板I内部的输入数据总线7接收由上位机软件界面5传递的数据,对STN神经元流水线数据模型6进行初始参数的配置,初值模块10通过接收上位机软件界面5赋予的不同参数,可使丘脑底核STN神经元网络模型3在运算时表现出不同的放电模式。
[0032]如图4所示,膜电压寄存器模块14接收STN神经元流水线数据模型6运算产生的神经元的膜电位信号17并进行存储;电流寄存器模块15接收STN神经元流水线数据模型6运算产生的神经元电流信号18并进行存储;电极测量信号寄存器模块16接收多电极阵列模块4运算产生的电极测量信号21并进行存储;神经元的膜电位信号17和电极测量信号21通过输出数据总线8传输到上位机,用来在上位机软件界面5进行观察和分析。
[0033]多电极阵列模块4
[0034]如图5所示,多电极阵列模块4运用硬件描述语言根据多电极阵列算法编程,并编译下载到FPGA开发板I中实现,多电极阵列模块4接收由上位机软件界面5通过输入数据总线7传递的电极与各神经元距离矩阵26,来配置不同电极在STN神经元网络中的位点。经过多电极阵列模块4运算产生的电极测量信号21存储到电极测量信号寄存器模块16并通过输出数据总线8上传到上位机软件界面5进行波形显示和处理。同时通过独立于STN神经元网络模型3的外加刺激电流信号22来模拟电极的外加刺激作用,在改变外加刺激电流时,得到在不同脉宽、频率和幅值的外加刺激电流下神经元网络模型不同场电位的变化规律。
[0035]上位机软件界面5
[0036]如图6所示,在上位机2上利用LabVIEW软件图形化编写上位机软件界面5 JPGA开发板I与上位机软件界面5通过USB实现数据通信,上位机软件界面5通过“VISA读取”接收从FPGA开发板I上USB接口 9传输的由丘脑底核STN神经元网络模型3和多电极阵列模块4运算得到的动态数据;上位机软件界面5设置参数通过“VISA写入”输入数据到FPGA开发板I中,对丘脑底核STN神经元网络模型3和多电极阵列模块4进行参数配置。LabVIEW编程时采用多线程编程技术,多线程技术的使用实现了数据处理和数据采集的兼顾,保证了数据的完整性和连续性。上位机软件界面5设计分为三个部分:神经元膜电压波形显示部分28可以实现了FPGA上传的膜电位信号17在上位机软件界面5的波形显示;电极测量信号波形显示部分29可以实现FPGA上传的电极测量信号21在上位机软件界面5的波形显示;参数配置部分30可以实现由上位机2对FPGA开发板I中丘脑底核STN神经元网络模型3的重要参数、网络结构的配置、外加刺激电流的设置、细胞外介质电导率σ的设置以及电极与各神经元的距离参数设置。
[0037]FPGA实验平台
[0038]利用DSPBuilder编写基于模块的离散的、固定步长的、定点数运算的STN神经元网络模型,再转成硬件描述语言。经QUARTUSII软件编写完整的运算逻辑和程序结构;编译、分析综合、布局布线,下载到FPGA开发板I中运行。经USB上传FPGA开发板I运算产生的神经元膜电位数据17和电极测量信号21,在LabVIEW编写的上位机软件界面5对STN神经元网络模型特性和多电极阵列进行分析研究。
【主权项】
1.一种基于FPGA的多电极阵列仿真实验平台,其特征是:该实验平台包括有相互连接的FPGA开发板(I)和上位机(2)两部分,FPGA开发板(I)中集成有丘脑底核STN神经元网络模型(3)和多电极阵列模块(4),上位机(2)采用LabVIEW图形化编程上位机软件界面(5)并与FPGA开发板(I)进行通讯; 所述丘脑底核STN神经元网络模型(3)经离散化后采用硬件编程语言编写,并编译下载到FPGA开发板(I)中,该丘脑底核神经元网络模型(3)接收上位机软件界面(5)传递到初值模块(10)的初值信号(11)和外加刺激电流信号(22)进行运算,运算产生的膜电位信号(17)传回上位机软件界面(5)进行观察处理;FPGA开发板(I)上丘脑底核STN神经元网络模型(3)中各神经元之间通过突触连接矩阵(24)连接来模拟真实神经元之间的相互耦合;所述丘脑底核STN神经元网络模型(3)包括有以下相互连接的模块:初值模块(10)、神经元流水线数据模型(6)、神经元膜电压寄存器模块(14)、电流寄存器模块(15)和突触电流产生模块(12); 所述多电极阵列模块(4)采用硬件编程语言编写,多电极阵列模块(4)接收由上位机软件界面(5)通过输入数据总线(7)传递的电极与各神经元距离矩阵(26),来配置不同电极在STN神经元网络中的位点,同时通过独立于STN神经元网络模型(3)的外加刺激电流信号(22)来模拟电极的外加刺激作用,多电极阵列模块(4)运算产生的电极测量信号(21)输入到FPGA开发板(I)中电极测量信号寄存器模块(16)进行存储,并通过USB接口(9)上传到上位机软件界面(5)进行分析处理; 所述上位机软件界面(5)采用图形化编程的LabVIEW编写,并通过虚拟仪器架构VISA与FPGA开发板(I)的USB接口(9)相连实现数据通信,虚拟仪器架构VISA包含VISA打开,VISA关闭,VISA写入,VISA读取,VISA查找资源;上位机软件界面(5)通过VISA读取接收从FPGA开发板(I)USB接口(9)传输的由丘脑底核STN神经元网络模型(3)和多电极阵列模块(4)运算得到的数据;上位机软件界面(5)设置参数通过VISA写入输入数据到FPGA开发板(I)中,对丘脑底核STN神经元网络模型(3)和多电极阵列模块(4)进行参数配置。2.根据权利要求1所述的基于FPGA的多电极阵列仿真实验平台,其特征是:所述突触电流产生模块(12)包含神经元突触耦合连接矩阵(24)和突触电流逻辑运算模块(25),通过神经元突触连接矩阵(24)来实现不同神经元相互之间的耦合,突触耦合连接矩阵(24)接收上位机软件界面(5)传递的输入数据信号(19)进行初始化配置;突触电流产生模块(12)接收存储在膜电压寄存器模块(14)中的神经元膜电位信号(17),并与突触耦合连接矩阵(24)通过FPGA开发板(I)内部的突触电流逻辑运算模块(25)进行运算得到突触电流信号(13),作为神经元的突触电流(13)输入。3.根据权利要求1所述的基于FPGA的多电极阵列仿真实验平台,其特征是:所述初值模块(10)通过FPGA开发板(I)内部的输入数据总线(7)接收由上位机软件界面(5)传递的数据,对STN神经元流水线数据模型(6)进行初始参数的配置,初值模块(10)通过接收上位机软件界面(5)赋予的不同参数,使丘脑底核STN神经元网络模型(3)在运算时表现出不同的放电模式。4.根据权利要求1所述的基于FPGA的多电极阵列仿真实验平台,其特征是:所述神经元流水线数据模型(6)接收初值信号(11)、外加刺激电流信号(22)和突触电流信号(13)作为神经元流水线数据模型(6)的输入进行运算处理,经过神经元流水线数据模型(6)运算产生的神经元的膜电位信号(17)和神经元电流信号(18)分别输入到FPGA开发板(I)内部膜电压寄存器模块(14)和电流寄存器模块(15)中存储;在神经元动态信息的存储中采用镜像存储,避免突触电流信号(13)、多电极阵列模块(4)的计算以及上位机软件界面(5)波形显示需要用到网络中神经元的状态信息被覆盖,即采用两组存储器存储同一变量前后两步计算的值,分别对两组存储器进行读取和写入操作,一步计算完成后,两者通过选择器(20)互换位置;神经元流水线数据模型(6)在一个数据路径中引入一组寄存器即能够实现多个神经元处理进程,引入寄存器的数目即为流水线深度;神经元的流水线数据模型(6)有五条流水线数据通路(23),其中的神经元膜电位数据通路与膜电压寄存器模块(14)和电流寄存器模块(15)相连,把神经元膜电位信号(17)和神经元电流信号(18)分别输入到膜电压寄存器模块(14)和电流寄存模块(I 5)进行存储,神经元的膜电位(I 7)的变化代表神经元的放电动作,并与神经元突触连接矩阵(24)—起用来计算突触电流信号(13),实现神经元之间的耦入口 ο5.根据权利要求1所述的基于FPGA的多电极阵列仿真实验平台,其特征是:所述膜电压寄存器模块(14)、电流寄存器模块(15)、电极测量信号寄存器模块(I6)分别用来接收神经元流水线数据模型(6)运算产生的神经元的膜电位信号(17)、神经元电流信号(18)以及多电极阵列模块(4)运算产生的电极测量信号(21)进行镜像存储;神经元的膜电位信号(17)和电极测量信号(21)通过输出数据总线(8)传递到上位机(2),用来在上位机软件界面(5)进行处理。
【文档编号】G09B23/28GK105845001SQ201510760952
【公开日】2016年8月10日
【申请日】2015年11月9日
【发明人】王江, 陈琦, 杨双鸣, 邓斌, 魏熙乐, 张镇, 李会艳
【申请人】天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1