放大器编程说明
更新时间:2024-03-28 22:33:01 阅读量: 综合文库 文档下载
USB接口系列放大器编程说明
老用户请注意:我公司生产的USB接口系列放大器已经升级到5.0,驱动程序及动态连接库已经更新,给您带来的不便请您谅解,如果使用中问题发现问题请及时与我们联系。电话:82755026/27/28/29/30 邮件地址:symtop@symtop.com。
本说明适用于我公司生产的所有USB接口系列放大器。
UB-nT是我公司开发的USB总线传输数据的生物电放大器,UE-nT是我公司开发的USB总线传输数据的脑电放大器。其中n表示导数,T代表类型。你可以用动态连接库中的ReadDevice函数查询放大器设备信息。我们在产品外表面有放大器型号的标示,请确认无误后使用。
UB-nT生物电放大器及UE-nT脑电放大器可与各种提供USB接口的台式机、笔记本电脑连接构成高性能的数据采集系统。我公司提供放大器专用动态连接库EEGAMP.DLL,。此动态连接库提供了非常简单的编程接口。编译时加入EEGGAMP.H和EEGAMP.LIB。我公司生产的所有系列的放大器统一使用这个动态连接库。动态连接库当前版本为4.0.0.0 ,请查看EEGAMP.DLL文件属性中的版本信息。
一. 函数一览
OpenDevice CloseDevice ReadData ReadParam WriteParam ValidateClientID ReadDevice ReadParamEx WriteParamEx
打开放大器; 关闭放大器;
从放大器读取数据; 从放大器读取参数; 向放大器写入参数; 验证客户识别号; 读取设备信息;
从放大器读取某一类型的参数 向放大器写入某一类型的参数
二. 函数的详细说明
1.OpenDevice
函数形式:
HANDLE OpenDevice();
说 明:该函数打开放大器,取得放大器设备句柄。执行其他操作前应首先调用该函数获得放大器设备句柄。 输入参数:无
返 回 值:放大器设备句柄。如果返回值为INVALID_HANDLE_VALUE,说明放大器打开失败。在调用其他函数时使用此设备句柄。
2.CloseDevice
函数形式:
BOOL CloseDevice(HANDLE hDevice);
说 明:该函数关闭放大器。在放大器停止使用前应调用该函数。 输入参数:打开放大器时得到的设备句柄。 返 回 值:标识设备是否正常关闭。
3.ReadData
函数形式:
BOOL ReadData(HANDLE hDevice,short* pBuffer,ULONG *nCounts); 说 明:该函数用于读取放大器数据。
输入参数:hDevice 打开放大器时得到的设备句柄
pBuffer 存贮读到数据的缓冲区地址,共有10次采样数据连续存放。
①对于非FS、FZ、FX型号的放大器,每次数据为n(n为标称通道数)个16位有符号数(1个单位代表0.5微伏) ,此缓冲区大小应分配为10*n*2字节。②对于FS、FZ、FX型号的放大器,每次数据为n+1(n为标称通道数)个16位有符号数(1个单位代表0.5微伏) ,此缓冲区大小应分配为10*(n+1)*2字节。应用程序必须保证在10ms(1000Hz采样率)或9.7ms(1024Hz采样率)内读取最新数据,否则数据自动刷新。
nCounts 读取到的数据个数。 返 回 值:标识从放大器读取数据是否成功。
注意:FS、FZ、FX包含1导标记数据,附加在每次普通采样数据的最后,大小为2个字节,高字节为标记类型,低字节为标记值。目前只有一种标记数据——同步信号输入。 序号 1 2 3 4
高字节 0X00 0X01 低字节 0X00 0X01 含义 标记数据无效 有同步信号输入 4.ReadParam
函数形式: STRU_PARAM ReadParam(HANDLE hDevice); 说 明:该函数用于从放大器读取参数。
输入参数:hDevice 打开放大器时得到的设备句柄 返 回 值:包含放大器参数的STRU_PARAM结构。
5.WriteParam
函数形式:
BOOL WriteParam(HANDLE hDevice,STRU_PARAM OutData); 说 明:该函数用于向放大器写入参数。
输入参数:hDevice 打开放大器时得到的设备句柄 OutData STRU_PARAM结构
返 回 值:标识向放大器写入数据是否成功。
6.ValidateClientID
函数形式:
BOOL ValidateClientID(HANDLE hDevice,unsigned short nClientID); 说 明:该函数用于验证客户标识号;
输入参数:hDevice 打开放大器时得到的设备句柄 nClientID:客户标示号 返 回 值:标识验证是否成功。
7.ReadDevice
函数形式:
STRU_DEVICE_INFO ReadDeviceInfo(HANDLE hDevice); 说 明:该函数用于读取设备信息;
输入参数:hDevice 打开放大器时得到的设备句柄 返 回 值:设备信息。
8.ReadParamEx
函数形式:
BOOL ReadParamEx(HANDLE hDevice,short nParamType,short* pBuffer,short* nSize);
说 明:该函数用于从放大器读取某一类型的参数。 输入参数:hDevice: 打开放大器时得到的设备句柄 nParamType:参数类型 1-设备信息 2-放大器参数 4-采样率 pBuffer: 存贮读到数据的缓冲区地址,数据顺序与对应结构相同 nSize: 返回的有效数据字节数 返 回 值:读取数据是否成功。
9.WriteParamEx
函数形式:
BOOL ReadParamEx(HANDLE hDevice,short nParamType,short* pBuffer,short nSize); 说 明:该函数用于向放大器写入某一类型的参数。 输入参数:hDevice: 打开放大器时得到的设备句柄 nParamType:参数类型 2-放大器参数 3-阻抗检测LED控制 4-采样率 pBuffer: 存贮数据的缓冲区地址,数据顺序与对应结构相同;
LED控制数据与通道顺序相同,需要点亮设为1,需要关闭设为0;
nSize: 有效数据字节数 返 回 值:写入数据是否成功。
注:ReadParamEx、WriteParamEx
1-设备信息 :只读类型,8字节
2-放大器参数:读写类型,16字节 ,参数顺序为结构定义中的顺序。
3-阻抗检测LED控制:只写类型,最大128字节,每两个字节控制一个通道的LED,0代表灭,1代表亮。
4-采样率:读写类型,2字节。1000代表1000Hz采样率,1024代表1024Hz采样率;默认采样率为1000Hz。如果你使用1024Hz采样率,请在每次调用OpenDevice()之后设置一次采样率。
中参数类型的说明
三、结构定义:
1、 设备信息
typedef struct _DEVICEINFO_ {
unsigned short nRouteNum; //通道数 FS、FZ、FX附加1导标记数据 unsigned short nType; //类型 1-A 、2-B、3-C、4-A1、5-FZ、6-F、7-BZ、8-CZ、9-FS、10-FX unsigned short nDeviceID; //设备编号
unsigned short nSwitchNo; //拨码开关标示号
}STRU_DEVICE_INFO,*P_STRU_DEVICE_INFO;
注意:FS、FZ、FX包含1导标记数据,附加在每次普通采样数据的最后,大小为2个字节,高字
节为标记类型,低字节为标记值。因此读到的通道数比型号中标记的通道数多1。
2、参数
typedef struct _PARAM {
unsigned short nSenseDegree; unsigned short nHightFre; unsigned short nTimeConstant; unsigned short nWorkFre; unsigned short nModeOfSign; unsigned short nGateOfJam; unsigned short nHold1; unsigned short nHold2; }STRU_PARAM,*P_STRU_PARAM;
各成员变量含义如下: ? nSenseDegree: 非各导可分别设置型:
① 写脑电参数时,设置为零;写入扩展通道参数时,高8位为零,低8位为N(N
为该扩展通道的序号)。
② 读脑电参数时,高8位为1,低8位为0,其他参数设为0,写入一次;然后读
取参数返回的是脑电参数;读扩展通道参数时,高8位为1,低8位为N(N为该扩展通道的序号),其他参数设为0,写入一次;然后读取参数返回的是相应扩展通道参数; 各导可分别设置型:
① 写参数时,若设置为零,写入的参数对所有得通道有效;若高8位为零低8位
为N,写入的参数对第N通道有效。 ② 读第N通道的参数时,首先设置高8位为1,第8位设置为N,其他参数设为0,
写入一次;然后读取的参数返回的是第N通道的参数。 ? nHightFre 高频滤波:可以设置为15、30、45、60、120(默认值为30),分别
对应 15Hz、30Hz、45Hz、60Hz、120Hz(默认值为30Hz);
? nTimeConstant时间常数: 可以设置为3、10、30(默认值为30),分别对应
0.03s、0.1s、0.3s(默认值为0.3s);
? nWorkFre工频限波: 可以设置为0、50、60(默认值为50),分别对应 关闭]、
50Hz、60Hz(默认值为50Hz);
? nModeOfSign 信号方式:普通型可以设置为0、1(默认值为0),分别对应EEG、
方波(默认值为EEG);带阻抗检测型(BZ型)可以设置为0、1、2(默认值为0),分别对应EEG、方波、阻抗检测(默认值为EEG)。在阻抗检测模式时,读取得数值乘2为各通道阻抗值
? nGateOfJam干扰门限: 可以设置为0-127(0-7FH)之间的任意数字(默认值为
127(7FH)),对应门限值为255*0.5μv -(127*256+255)*0.5μv。设为127(7FH)时相当于关闭干扰检测。放大器干扰幅度的峰值超过门限持续1秒钟以上,将关闭该通道输入,该通道输出0;放大器干扰幅度的峰值低于门限持续1秒钟以上,将打开该通道。 ? nHold1 未定义 ? nHold2 未定义 例如:
设置脑电参数
gm_hDevice=OpenDevice(); STRU_PARAM struParam; struParam.nSenseDegree=0;
struParam.nHightFre=30; struParam.nTimeConstant=30; struParam.nWorkFre=50; struParam.nModeOfSign=0; struParam.nGateOfJam=127;
if(!WriteParam(gm_hDevice,struParam))
AfxMessageBox(\
CloseDevice(gm_hDevice); 读取脑电参数
gm_hDevice=OpenDevice(); STRU_PARAM struParam; struParam.nSenseDegree=0x0100 struParam.nHightFre=0; struParam.nTimeConstant=0; struParam.nWorkFre=0; struParam.nModeOfSign=0; struParam.nGateOfJam=0;
设置24导放大器第1扩展通道的参数 gm_hDevice=OpenDevice(); STRU_PARAM struParam; struParam.nSenseDegree=22;
读取24导放大器第1扩展通道的参数 gm_hDevice=OpenDevice(); STRU_PARAM struParam;
struParam.nHightFre=30; struParam.nTimeConstant=30; struParam.nWorkFre=50; struParam.nModeOfSign=0; struParam.nGateOfJam=127;
if(!WriteParam(gm_hDevice,struParam))
AfxMessageBox(\
if(!WriteParam(gm_hDevice,struParam))
AfxMessageBox(\
struParam=ReadParam(gm_hDevice); CloseDevice(gm_hDevice);
CloseDevice(gm_hDevice);
struParam.nSenseDegree=0x0100+0X16;//0X16--22 struParam.nHightFre=0; struParam.nTimeConstant=0; struParam.nWorkFre=0; struParam.nModeOfSign=0; struParam.nGateOfJam=0;
if(!WriteParam(gm_hDevice,struParam))
AfxMessageBox(\
struParam=ReadParam(gm_hDevice); CloseDevice(gm_hDevice);
三、数据格式:
ReadData函数读取放大器数据,把数据放到调用者指定的缓冲区。 1、缓冲区内每个采样周期数据放置的格式如下: 第0个采样周期数据 第1个采样周期数据 第2个采样周期数据 第3个采样周期数据 第4个采样周期数据 第5个采样周期数据 第6个采样周期数据 第7个采样周期数据 第8个采样周期数据 第9个采样周期数据
2、每个采样周期内的数据格式如下:
1导:1导生物电,双极输入
2导:2导生物电,单极或双极输入 4导:4导生物电,单极或双极输入 8导:8导生物电,单极或双极输入 12导:12导生物电,单极或双极输入 16导:16导脑电
18导:16导脑电、1导心电、1导呼吸 19导:19导脑电
21导:19导脑电、1导心电、1导呼吸
22导:19导脑电、1导心电、1导呼吸、1导双极扩展 24导:19导脑电、1导心电、1导呼吸、3导双极扩展 32导:32导脑电
41导:32导脑电、1导心电、1导呼吸、1导双极扩展、6导单极扩展
注意:FS、FZ、FX包含1导标记数据,附加在每次普通采样数据的最后,大小为2个字节,高字节为标记类型,低字节为标记值。目前只有一种标记数据——同步信号输入。
序号 1 2 3 4 高字节 0X00 0X01 低字节 0X00 0X01 含义 标记数据无效 有同步信号输入
3、每个采样周期中的每个通道的数据为16位有符号数。
附:型号编制说明:
一区 - 二区 三区 一区:由字母表示输入信号类型和输出接口类型
\——USB接口
\——脑电(EEG) \——生物电(Bioelectricity) \——心电(ECG)
二区:由数字表示生物电或脑电可输入的通道数(单极或双极输入)
\——所有通道为双极输入
三区:由字母或数字的组合表示不同的功能
\——普通型;
\——各导参数可分别设置; \——阻抗检测; \——附加一导标记数据; \——增强型
正在阅读:
放大器编程说明03-28
2013-2014年度广州市政府采购公务车维修定点服务资格采购项目采06-12
孕妇请假条怎么写02-07
lol骚话02-12
长寿花的生长过程作文700字06-22
成大事者也拘小节一辩稿05-03
答案2016年徐州市教育局中小学、幼儿园初定考试题库分解03-08
我学会了什么的作文06-15
江苏大学近世代数题库06-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 放大器
- 编程
- 说明
- 培优补差开题报告
- 2012辽宁公务员面试热点之综合分析题
- 高中化学必修2讲义
- 数学
- 文言被动句
- 加法器及差分放大器项目实验报告 - 图文
- 架空电气线路防火间距
- 管理评审程序(中英文)Management review - 图文
- 20XX - 20XX学年度第二学期小学工作计划-精选资料
- 七年级语文专项练习 - 记叙文阅读练习2
- 2017年中国煤炭运输发展现状与市场前景分析(目录) - 图文
- 自动变速器复习题
- 同济大学研究生学术行为规范--试题库
- 一般进出口货物 试题
- bt合同市政工程变更项目管理办法及相应表格 - secret
- 最新-2018届湖北省部分重点高中高三十月联考化学试题及答案 精品
- 2018-2024年中国商业银行市场研究与未来前景预测报告(目录)
- 医技试卷
- 电力调度中心职责
- 七年级语文下册第一单元写作 叙事要完整