(物理电子学专业论文)spr传感器软件子系统及传感芯片研究.pdf_第1页
(物理电子学专业论文)spr传感器软件子系统及传感芯片研究.pdf_第2页
(物理电子学专业论文)spr传感器软件子系统及传感芯片研究.pdf_第3页
(物理电子学专业论文)spr传感器软件子系统及传感芯片研究.pdf_第4页
(物理电子学专业论文)spr传感器软件子系统及传感芯片研究.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ab s tr a c t ab s t r a c t a s a n e w t e c h n i q u e o f b i o s e n s o r , s u r f a c e p l a s m o n re s o n a n c e ( s p r ) t e c h n i q u e h a s b e c o m e a r e s e a r c h h o t s p o t , a n d b i o s e n s o r s b a s e d o n s p r t h e o ry h a v e re c e i v e d m o re a n d m o r e a t t e n t i o n . t h e re s e a r c h w o r k o f t h i s t h e s i s i s p a r t o f t h e n a t i o n a l n a t u r a l s c i e n c e f u n d p r o j e c t a n d a l s o p a rt o f t i a n j i n t e c h n o l o g i e s r 学校有权保存学位论文的印刷本和电子版,并采用影印、 缩印、 扫描、 数字化或其它手段保存论文; 学校有权提供目 录检索以 及提供 本学位论文全文或者部分的阅览服务; 学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电 子版; 在不以 赢利为目的的前 提下,学校可以适当复制论文的部分或全部内 容用于学术活动。 学位论文作者签名: 年月日 经指导教师同意, 本学位论文属于保密, 在年解密后适用 本授权书 。 指 导 教 师 签 名: 学位论文作者签 名 : 解密时 间: 年月日 各密级的最长保密年限及书写格式规定如下: 心 最长5 年, 可少 于6 年) 最长 1 0 年, 可少于 1 0 年) ( 最长 2 0 年, 可少于2 0 年) 年牌阵 户a牛于6乙 * 部密密 内秘机 南开大学学位论文原创性声明 本人郑重声明: 所呈交的学位论文, 是本人在导师指导下, 进行 研究工作所取得的 成果。 除文中已 经注明引 用的内容外, 本学位论文 的研究 成果不包含任何他人创作的、 己 公开发表或者没有公开发表的 作品的内 容。对本论文所涉及的研究工作做出贡献的其他个人和集 体, 均己 在文中以明确方式标明。 本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名: 年月 第一章绪论 第一章绪论 第一节 s p r传感系统概述 1 . 1 . 1 s p r传感技术的发展 2 0 世纪初, w o o d 观测到用连续光谱的偏振光照射金属光栅时出现了反常的 衍射 现象, 第一次 对 这种现象做了 公 开描述 1 e 1 9 4 1 年, f a n o 用金属与空气界 面的 表面电 磁波激发 模型 对这一 现 象给出了解释12 1 . 1 9 5 7 年, r i t c h i e 发现, 当 电子穿过金属薄片时存在能量消失峰。他将这种消失峰称之为 “ 能量降低的” 等离子体模式,并指出了这种模式与薄膜边界的关系,第一次提出了用于描述 金属内 部电 子密度纵向 波动的“ 金属等离子体” 的 概念13 。 两年后, p o w e l l 和 s w a n 用实验证实了r i t c h i e 的 理 论 4 1随 后s t e rn和f a r r e l l 给出 了 这种等离子体 模式的 共振条件, 并将 其称楷 表 面 等离子共振( s p r ) 5 1 e 1 9 6 8 年r k r e t s c h m a n n 6 1 和。 t o 7 1 各自 利用衰减 全反射( a t t e n u a t e d t o t a l r e fl e c t i o n a t r ) 的方法证实了 光激发表面等离子共振现象的存在. 7 0 年代末以 来, s p r在检测金属薄膜特性 及实时 检测金属表面 反 应的潜能 越 来越受到重 视。 1 9 8 2 年, n y la n d e r 和l i e d b e r g 将s p r原理 应用于气 体检 测和生 物传感器领域中 1 . 此后, s p r 传感技术取得 了持续长足的进展, 各种应用于物理、化学和生物领域的新的s p r传感结构设 计纷纷出现。 目 前,已经成功研制多种 s p r传感器,用于生物、化学检测相关的众多领 域。实践证明,s p r传感器与传统检测手段比较,具有无需对样品进行标记、 实时动态检测、高灵敏度等突出 优点。所以, 在医学诊断、环境监测、生物技 术、药品研制和食品安全检验等领域都有广阔的应用前景。 1 . 1 .2 s p r传感系统的工作原理与特点 等离子体通常是指由密度相当高的自由正、负电荷组成的气体,其中正、 负带电 粒子数目 几乎相等,内部不形成空间电荷。如果我们把金属的价电子看 第一章绪论 成是均匀正电荷背景中 运动的电子气体,这实际上也是一种等离子体。当金属 受到电磁干扰的时候,金属中电子密度分布就会变得不均匀。设想在某一区域 电子密度低于平均密度,这样便形成局部的正电 荷过剩。这时,由于库仑引力 作用, 会把近邻的电子吸引到该区域,而被吸引的电 子由 于获得附加的动量, 又会使该区域聚集过多的负电 荷。然后,由于电 子间的排斥作用,使电子再度 离开该区域,从而形成价电子相对于正电荷背景的 密度起伏振荡。由于库仑力 的长程作用,这种局部的电子密度振荡将形成整个电 子系统的纵向集体振荡, 并以密度起伏波的形式表现出来。不难看出,金属中价电子相对于正离子背景 的 这 种振 荡与导电 气体中 的 等 离 子振荡 相似, 故 称为 金 属中 的 等离子振荡 10 表面等离子振荡也是如此,但由于介质分界面具有一定的特殊性,从而使 得表面等离子的振荡具有其特有的本征模式。表面等离子共振可以存在于两种 介质 ( 如金属与电介质)的分界面处,同时可以 沿着分界面传播,从而形成表 面等离子波 ( s u r f a c e p l a s m o n w a v e , s p w ) 。 表面等离子波是一种偏振的横磁波 ( t r a n s v e r s e m a g n e t ic , t m ) 。 它的 磁 场矢量垂 直 于s p w的 传 播方向 , 平行于 两 种介质的分界面, 而且s p w的场矢量在介质分界面达到最大值,并在两种介质 中呈指数快速衰减。当外加电 磁场与s p w的波矢相等时,就会出现s p r现象。 s p r传感系统一般采用入射光作为s p w的激发源。以棱镜祸合结构的s p r 传感 器 为 例, 入 射 光 射 入 棱 镜 后 在 棱 镜 和金 属( 一 般 使 用a u 或 者a g t i ll ) 膜 的 界面发生全反射,光电检测器用于接收反射光并测量光强, 在金属膜上制备有 一层敏感膜 ( 其中含有可与待测生物分子反应的探针分子),敏感膜与样品池 中含有待测生物分子的样液充分接触。当光线在棱镜与金属膜的界面上发生全 反 射 现象时, 会在 金 属膜中 产 生 消 逝波 12 1 , 但消 逝 波的 传 播 深度非 常有限, 入 射光的全部能量均反射回棱镜中。然而当入射光的波长及入射角满足一定条件 时,检测到的反射光强会大幅 度地减弱。这是因为此时发生了s p r现象,即一 部分能量通过金属膜内的消逝波在金属与敏感膜的界面上传递给了表面等离子 波 ( s p w),或者说消逝波与表面等离子波发生了 共振. 共振时能量从光子转 移到表面等离子, 入射光的大部分能量被s p w吸收, 使得反射光的能量急剧减 少,因此可从反射光强的响应曲线上看到一个最小尖峰,这个尖峰称为吸收峰, 此时对应的入射光波长为共振波长,对应的入射角为共振角。由于这种共振的 发生,使得反射光的能量大幅衰减,因此称这种全反 射为衰减全反射 ( a t r ) . a t r原理是s p r传感器的理论基础。 第一章绪论 共振波长和共振角与敏感膜的介电常数 ( 或折射率) 有关,而敏感膜的介 电常数在与待测生物分子的 相互作用过程中会发生变化,因此通过检测共振波 长或者共振角的变化可以了解待测生物分子及其与敏感膜相互作用的信息;利 用恰当的测量及数学处理手 段,还可以计算待测分子在单 位面积的结合量 13 ) 以 及 分 子反 应的 动 力学 过 程14 s p r传感系统一般是由 光学系统、传感系统和检测系统这三个部分组成的。 其中,光学系统包括光源和光路,用以产生合乎性能要求的入射光;传感系统 利用上述原理将待测信息转换成敏感膜的折射率的变化,并通过光学祸合转换 为共振角或共振波长的变化:检测系统检测反射光的光强,记录共振吸收峰的 位置,以达到对待测物进行分析的目的。 与一般的生物传感系统相比,s p r传感系统具有以下 特点: 无需标记。 s p r传感系统是通过对敏感膜折射率变化的检测,从而获得 生物分子相互作用的信息。与通常采用的荧光分析或 e l i s a( 酶联免疫吸附测 定) 检测方法不同,无需对样品进行纯化或标记。这样就可省去样品的前期准 备工作,缩短了 检测周期: 此外还可避免标记物对检测可能造成的干扰。 实时检测。s p r生物传感系统采用的是光学检测手段, 信息转换非常快 捷,因此可以对生物分子相互作用的整个过程进行实时检测。这样不但可以大 幅提高检测分析的速度,而且可以通过对检测结果的分析,得到作用过程的动 力学参数。 无污染检测。 s p r传感系统所采用的光学检测手段避免了与待测样品的 直接接触,因而不会对样品 造成污染,保证了待测样品的 长效性。 高灵敏度检测。由 于金属膜具有良 好的导电 性, 所以 分布于金属膜与敏 感膜界面处的表面等离子波 ( s p w)产生的场主要分布于敏感膜一侧。这就使 得共振条件 ( 共振角或共振波长)对敏感膜折射率的变化非常敏感。正因为如 此, s p r传感系统具有很高的检测灵敏度,可以 在很低的生物分子浓度水平下 进行交互检测。 由 于s p r生物传感系统具有实时、无标记、 无污染和高灵敏度检测的突出 优点, 所以s p r传感系统在生 物分子及其相互作用的检测等方面具有广阔的应 用前景。 第一章 绪论 1 . 1 . 3 s p r 传感系统的 结构与技术指标 s p r传感器的检测分析方法可分为以 下四种: 单色光入射,改变入 射角,检测反射光的归一化强 度随入射角的变化情况, 并记录反射光强度最小时的入射角,也就是共振角; 复色光入射,固定入射角,对反射光的光谱进行分析,得到反射率随波长 的变化曲 线, 并记录共振波长; 入射光的角度和波长都固定,通过检测反射光强 度的变化分析折射率的变 化; 入射光的角度和波长都固定,观测入射光与反射光的相位差。 这四种方法中,前两种的应用最为普遍,第三种受扰动产生的误差较大, 不太实用。 最后一种方法的灵敏度最高, 但系统需要一系列的高频电 路。 按照s p r 传感系统中光学祸合结构的 不同,目 前的s p r传感系统可分为四 种结构类型,即棱镜祸合结构、衍射光栅结构、 光学波导结构以及光纤祸合结 构 等 ,。 棱镜祸合结构 棱镜祸合具有结构简单、易于实现且 灵敏度高等 特点, 使用较为广泛。其中由 于传感膜结构的差异, 又可分为o tt o 结构 16 和k r e t s c h m a n n结构 7 1 两种类型, 如图 1 . 1 所示。 在o tt o 结构中, 棱镜的底部与金属膜 之间有一段空隙,其厚度d 与入射光波长 图1 . 1棱 镜祸合s p r 传感器结 构示 意图 相近,将待测物质放置在空隙中,通过调整空隙的厚度d 来激发 s p w。 但由 于 空隙厚度不易控制,制作、 使用都不方便, 所以 很少采用。 k r e t s c h m a n n 结构中 棱镜与金属膜之间不存在空隙,待测物质放置在金属膜下方,通过调整激发光 的入射角或波长来激发s p w。两种结构中, 人们对后者的研究和应用较为广泛。 为了避免入射光在棱镜表面的折射, 一 般要使入射光垂直棱镜表面入射、出射, 故 棱镜主要有两种: 等腰三角形棱镜、 半圆柱 汉万“ 胃 羞y 1 1 syw1 y f p ili n 图1 . 2 传感子系统结构示意图 第一章绪论 形棱镜。 对于k re t s c h m a n n结构,制作棱镜祸合s p r传感器时,先在棱镜底部 制备 一 层厚 度约为5 0 n m的 金属膜( 一 般采用a u 或a g ) 和具有选择性的 敏感 膜 ( 固定有与待测分子相对应的探针分子) ,并将其置于样品池的上方,如图 1 .2 所示。 入射光在棱镜底部发生衰减全反射,激发 s p w,通过对反射光的检测, 便可以 得到共振角或共振波长,从而实现对待测样品的检测。 光栅祸合结构 衍射光栅祸合结构的 s p r 传感系统如图 1 .3 所示。 在这种结构中, 金属层与介质层构成 周期性变化的光栅曲面,当入射光照射到光栅 表面时,便会发生衍射,不同的衍射角对应不 同的衍射阶。当某一阶衍射光的波矢在界面方 向的分量与 s p w 的波矢相等时,二者发生共 卜 - 1 待测样品 金属膜 光祖福合结构 图1 . 3 光栅藕合结构示意图 振,发生s p r现象. 此时对应的衍射阶光强就会大幅降低,甚至消失。所以 光 栅祸合结构的s p r传感系统可以通过检测衍射光强分布的方法来获得与棱镜祸 合方式类似的s p r峰值曲线。 这种结构的优点 在于可以利用现代先进的 微机械加工工艺实现传感系统微 型化和批量化生产, 而且这种结构对金属膜的厚度没有严格限制,便于制作。 其不足之处在于灵敏度较棱镜祸合方式要低, 数学模型的建立与理论计算比 棱 镜祸合方式复杂的多,并且要求被测样品必须透明。这些不足都严格限制了光 栅祸合结构传感系统的应用。 光学波导结构 这种结构的工作原理与棱镜祸合方式的k re t s c h m a n n 结构很相似。 波导中 传 播的光波经过表面覆盖着金属膜层的区域时, 在金属层界面发生全反射, 如图1 . 4 所示。 如 果s p w的 相位与光波 导模式的相位一致, 就 会激发 s p w。此时在波导的输出端可以检测 到 s p r峰值曲 线。这种结构具有光路人为可 控、易于小型化以及良好的稳定性等突出优 点,所以一定的研究价值。 光纤祸合 图1 . 4 光学波导结构示意图 光纤祸合结构的s p r传感器采用光纤作为光的 传输媒质。由于光纤的特殊 第一章绪论 性,这种传感器具 有其他结构的传感器所没有的 特点:它可以很方便的探测一 些人类难以 进入或 者有害的地方,可以 通过光纤 对敏感信号的传输,实现远程 检测和分布式检测,而且也可以达到较高的灵敏度。 光纤祸合类传感器一般是将普通光纤部分保 护层剥离,将纤芯裸露出来,再在纤芯外包裹金 属膜层及敏感层, 如图 1 .5所示。检测时,将该 部分与 样液接触。由于使用多模光纤时,存在模 间干扰, 导模与s p r之间的相互作用在强度上的 变化难以 确定。 所以 大多数情况下使用单模光纤, 通过对单模光纤进行一些结构上的改进,可以制 作出 灵 敏度、 分辨 率较高的s p r 传感系统。 s p r传感系统的技术指标有: ( 1 )灵敏度 图1 . 5 光纤祸合结构示意图 s p r传感系统的灵敏度被定义为直接检测参数 ( 如共振波长或共振角)的 变化量与待定参数 ( 如折射率、膜厚度、待测样液浓度等)的变化量之比。实 验证明,检测共振波长的 s p r传感系统的灵敏度随波长增加而增加,而检测共 振角的s p r传感系统的灵敏度随波长降低而增加。 棱镜祸合方式的s p r传感系 统灵敏度高于光栅祸合方式。 ( 2 ) 分辨率 s p r传感系统的分辨率是传感系统能分辨的 待定参数 ( 如折射率等)的 最 小变化量。 它与检测精度有关,并受噪声 ( 来自 于温度、光源、光电 检测器等) 的限制。 ( 3 ) 检测范围 s p r传感系统的另一个重要参数是检测范围, 定义为传感系统可检测的 待 定参数的取值范围,如可检测的敏感膜的折射率,或者待测样液浓度的 变化范 围等. 除了这三种主要参数,衡量 s p r传感系统性能的参数还有选择性、响应时 间以及稳定性等。 传感器的这些性能都是由系统的各个组成部分决定的,如灵 敏度、 稳定性、分辨率依赖于光学系统、敏感膜及检测系统的性能, 选择性和 响应时间主要由敏感膜决定,检测范围则主要由 棱镜的折射率决定。 第一章绪论 1 . 1 .4 s p r传感技术的应用与发展趋势 1 9 8 2 年, 瑞 典的n y l a n d e r 和l i e d b e r g 将s p r原理应用于 气 体检测 和生 物 传 感器领域中。从那时起,s p r传感技术取得了 持续长足的进展,各种新的s p r 传感结构设计纷纷面世,并被广泛应用于物理量测量、化学检测、生物检测等 领域。 近年来, s p r传感技术在生物检测领域中的应用更是得到了飞速发展。 物理量检测 若某种物理量会引起特定敏感膜折射率的 变化,就可以 采用s p r传感技 术 进行检测。例如基于湿度变化引起特定敏感膜的吸湿量变化,并导致其折射率 变化, 从而利用s p r传感技术进行检测的湿度传感系统,以及基于氢化无定型 硅的 热光效应的 温度传感系统等。 化学检测 化学检测通常指对化学成分及化学分子反映的检测。待测分子被敏感膜有 选择性的化学吸附或与敏感膜中的特定分子发生化学反应,引起敏感膜的光学 属性 ( 主要是折射率)的变化,从而会导致引 起表面等离子共振条件的变化。 因此可以 通过检测共振角或共振波长的变化来检测待测分子的成分、浓度以 及 参与 化学反应的 特性。例如检测被吸收到聚乙 二醇薄膜的酒精浓度, 被氯代 烃 类吸收的醛酶、 酒精,还可以将光学属性与 氢气浓度密切相关的金属把作为 活 性金属膜,来检测氢气浓度,等等。 生物检测 由于s p r传感系统在生物检测方面的非常明显的优势,以 及极为广阔的 应 用前 景, 使得 该 领域的 研究吸引了 越来 越多 人 们的 注意。自 从1 9 8 2 年s p r 传 感 系统首次 应用于生物领域以来, s p r生物传感系统己经被广泛应用于各种类型 的生 物分子检测。它可以用于检测生 物分子的结合作用,或者是通过生物分 子 结合作用的 检测 来完成特定生物分子的 识别及其浓度的测定, 如早期的 抗原 一 抗 体 的 相 互 作 用, s tr e p t a t i v i d i n 和维 生 素h的 相 互 作 用以 及一 些i g g的 检测 . 近 年 来, 有关 s p r生物传感技术的研究还涉及到了蛋白质与蛋白 质或者蛋白 质与 d n a ( d e o x 州b o n u c l e i c a c i d ) 相互 作 用的 检测以 及蛋白质结 构变 化的 检 测, 抗 瘤蛋白 质a p c的生物化学属性的 检测, 酷蛋白 与单克隆抗体的 动态反应过程的 检测等等。 s p r传感系统还可用于医学、 环境领域,有关破伤风毒素、 艾滋 病 毒等的检测已经有文献报道。 第一章 绪论 然而现有的s p r传感技术与传统分析 手段相比,特别是与免疫检测 手段相 比,在检测成本、易用性、稳定性、检测效率以及灵敏度等方面还存在 一些不 足。这就决定了该技术今后几年的主要发展趋势: 进一步 提高 检测灵敏度及分辨率:目 前s p r传感技术的检测精度要 求在敏 感 膜 上 的 生 物 分 子 吸 附 量 大 于l p g / m 衬, 这 对 于 低 浓 度、 小 分 子 量 分 子 来 说 是 不 够的。相信通过改进仪器的结构和检测手段、增加参考通道、改进传感 膜层结 构、降低噪声影响和优化数据处理的算法等措施,灵敏度及分辨率还可以 获得 较大的提升。 实现多通道检测:实现多通道检测有三个显著的优点。首先,利用多通道 可以一次检测多个样品,实现高通量检测,这在医药研究中极为有用; 其次, 可以一次完成同一样品的不同特征的检测, 这一点对于医学诊断是非常必要的: 另外, 在多通道结构中,通过引入参考通道,可以消除非特异性响应的影响。 器件微型 化和阵列化:s p r传感器微型化与阵列化带来的好处是价 格将大 大降低,从而更快的进入各个生 化检测 和分 析领域;此外,微型化后的s p r传 感器在稳定 性上也会有很大提高, 可以 减少使用的样品量,易于实现多 通道检 测。无疑, 在未来的发展中, 光纤祸合型s p r传感器和集成光学波导型s p r传 感器在微型化与阵列化方面将会有很大的 作为。 降低检测成本:降低检测成本的方法除了实现小型化外,更有效的 途径是 制作材料的选择。如研究或开发可以替代贵金属的材料,利用光学塑料 代替昂 贵的光学玻璃等。此外,一些传感部件的 再生利用应该是降低成本的更 加有效 的途径。 第二节系统简介及主要研究内容 1 .2 . 1 系统简介 本文中的s p r传感系统采用棱镜祸合 式结构,以单色光入射, 通过 对反射 光强的检测来实现对共振角的测量.整个系统由几个子系统组成:即光学子系 统、传感子系统、下位机子系统 ( 图1 . 6 ) 及上位机子系统.光学子系统 采用专 门设计的入射光路为系统提供激发s p w的光源;传感子系统由 传感芯片、反应 池以及样液传输部分组成,提供生物分子的结合条件,并实现生物信息到光信 第一章绪论 息的转化;下位机子系统采用光电二极管线阵作为光电转换器件,结合相应的 驱动电路、数据采集电路实现检测数据的采集,并通过串行口将检测数据上传 给 上 位机 16 ; 上位机子系 统由 相 应软 件构 成, 完成对检测 数 据的 分析 处 理 及 保 存。 图1 . 6下位机 ( 硬件部分)系统图 1 .2 .2 主要研究内容 ( 1 )完成了s p r传感系统上位机的软件子系统的设计与实现; ( 2 ) 分析了 利用软件子系统得到的时 间一 响应曲线图 进行动力学结 合常数分 析和浓度测量的方法,研究了 定量检测的实验方案: ( 3 ) 利用二元光学知 识,设计了 数 种不同结构的传感芯片,选择其中 最适 用的结构, 详细计算了该结构的具体面形数据。 第二章 s p r 传感器的软件子系统 第二章 s p r传感器的软件子系统 第一节软件子系统的功能与设计 2 . 1 . 1 子系统需求分析 根据 s p r生物传感器检测系统的需要,与其配套的软件子系统应该具有以 下的功能: 1 、 对下位机采集到的数据能及时准确的接收: 2 、能够将采集到的数据保存到指定的数据库中; 3 、能够将数据以曲线的形式表达到屏幕上,并对曲 线进行操作; 4 、 能够根据实验的需要对数据进行一定的分析与处理; 5 、能够对下位机进行一些控制。 通过分析,可以明确得到上位机应用程序的功能模块的组成,以便更好的 设计软 件子系统。 2 . 1 .2 子系统的组成与 功能 软 件子系统设计的主要功能是将串口 传输的一维数据加工处理后得出“ 共 振角一 时 间” 曲线, 同时将相关数据存 入数据库, 提供进一步数据查 询分析功能, 此外还可对蠕动泵、微动平台进行设置。相应的,软件子系统主要由采集模块、 数 据 库 模块、 显示模 块、 分 析 模块 和 控 制 模块 ( 1 7 1 五 大 部 分 组 成, 如 图2 . 1 所示. ( 1 ) 采集模块:分为两种:单次采集和连续采集。实验开始之前,需要检 验仪器设置是否正确,如中心角设置 是否妥当、光电检测器件是否对准实验通 道、传感芯片是否放置无误等。这时 便需要先针对某一个通道进行单次采集, 利用采集到的 “ 光强一 角度”曲线验证仪器的设置,还可利用样条插值得到共振 角的大概范围,以与连续采集的数据进行比 较。这些是由 单次采集模块完成的。 实验开始后,上位机就要监测串口, 接收下位机不断传送来的数据,处理之后 存入数据库,并在屏幕上打印显示出来,以便观察实验曲线。采集模块是整个 第二章 s p r 传感器的软件子系 统 软件子系统中最重要的部分。 ( 2 ) 数据库模块:实验中,需要将采集到的数据存入数据库:实验后还需要 读取实验的数据,对不同通道的数据进行分析,这些任务由数据库模块完成. ( 3 ) 显示模块:将采集得到的数据显示到屏幕上,以对实验进行实时观测: 也可以调用已经存入数据库中的数据来显示:还可以将连续采集得到的图象保 存为b m p 格式的图片,以方便观察。 111111-11!illj 图2 . 1上位机子系统的功能结构图 ( 4 ) 分析模块:单次采集时, 对采集到的数据进行三次样条插值处理,从而 增加传感系统的分辨率与灵敏度: 连续采集时的这一功能是在下位机上实现的, 此时传输来的数据已经经过了分析处理。 ( 5 ) 控制模块:实验前,由 控制模块对蠕动泵、微动平台 进行配置。实验中 可能需要根据样品的流速的不同需 求, 而改变蠕动泵的 转速;另 外,每次实验 也可能使用不同的通道,并要对微 动平台马达的步速,以及相邻通道间的步数 进行设置。 2 . 1 . 3 子系统的主要设计 软件子系统采用对话框结构。 对话框是vis u a l c + + 6 .0 中最重 要的与用户交 互的界面之一,它是一个真正的窗口,可以接收来自 程序或用户输入的信息或 数据, 还可以 在它的用户区中进行绘图操作,一般是通过在对话框上添加控件 来实现对对话框的操作。 第二章s p r传感器的 软件子系统 过串行接口 收发数据的简便方法。具体的来说,它提供了两种处理通信问 题的 方法: 一是事 件驱动( e v e n t - d r i v e n ) 方法, 一是查 询法. 1 .事件驱动法 在使用事件驱动法设计程序时,每当有新字符到达,或端口状态改变,或 发生错误时, ms c o m m控件将触发o n c o m m事件, 而应用程序在捕获该事件后, 通过检查m s c o m m控件的c o m m e v e n t 属性可以获知所发生的事件或错误,从 而采取相应的操作。这种方法的优点是程序响应及时,可靠性高。 2 .查询法 这种方法适合于较小的应用程序。在这种情况下,每当应用程序执行完某 一串行口 操作后,将不断检查ms c o n u ” 控件的c o m m e v e n t 属性以检查执行结 果或者检查某一事件是否发生。例如,当 程序向串行设备发送了某个命令后, 可能只是在等待收到一个特定的响应字符串,而不是对收到的每一个字符都立 刻响应并处理。 ms c o m m控件有许多重要的属性,其中首要的几个如表2 . 1 所示。 表2 . 1 ms c o m m控件的部分属性 属性说明 c o . p o r t设置/ 获取控件对应的串行口 s e t t i n g s设置/ 获取波特率、 校验方式、 数据位、停止位 p o r t o p e n打开/ 关闭通信口 i n p u t接收数据 o u t p u t发送数据 在本系统的对话框的串口通信采用m s c o in m 的事件驱动法来完成。具体步骤 为: 第一步: 在v c 6 .0 中 选择工程一 添加工 程 一 c o m p o n e n t a n d c o n t r o l s , 在弹出 的 对话框中 选择 r e g i s t e r d a c t i v e x c o n t r o l s , 再选择m i c r o s o ft c o m m u n i c a t io n c o n t ro l s , v e r s i o n 6 .0 ,再将该控件从工具箱中拉到 id 为 i d d d i a l o g c o n t r o l的 对话框中。 此时, v c + + 6 .0 会自 动为程序添加m m .h 头文件 和 m m .c p p 源文 件. 第二 步 : 在d lg c o n t ro l .h 头文件中 添 加 成 员 变 量: c m s c o m m m m s c o m m ; 接着,对串口进行打开设置,在 d l g c o n t r o l .c p p中的对话框初始化函数 第二章 s p r 传感器的软 件子系统 o n i n i - t d i a l o g o 函数加入串口 属性设置代码: / * * * . * * . * * * * 二* 设置串口* . * * * * . * * * . * * * * * * /l d w o r d s ty l e = ws 一 v i s i b l e ; m m s c o m m . c r e a t e ( n t j l l , s ty l e , c r e c t ( 0 , 0 ,0 , 0 ) , t h i s , i d c es ms c o m mi ) ; i f ( m es m s c o n u n .g e t p o rt o p e n o ) ( / / 如果串口是打开的, 则行关闭串口 m _ m s c o m m . s e t p o rt o p e n ( f a l s e ) ; m m s c o m m . s e t c o n u n p o r t ( 1 ) ; / / 选择c o mi m es m s c o m m . s e t i n b u ff e r s i z e ( 1 0 2 4 ) ; / / 接收缓冲区 m m s c o m m . s e t o u t b u ff e r s i z e ( 1 0 2 4 ) ;/ 发 送缓冲区 m _ m s c o m m .s e t i n p u t l e n ( 0 ) ;/ 设 置当 前接收区 数 据 长 度为0 , 刀 表示全部读取 m m s c o m m . s e t i n p u t m o d e ( 1 ) ; / 以 二进制 方式读写数据 m m s c o m m . s e t r t h r e s h o l d ( 1 ) ; / / 接收缓冲区有1 个及i 个以 上字符时, / / 将引发接收数据的o n c o m m事件 m m s c o m m .s e t s e t t i n g 成 9 6 0 0 a8 , 1 ) ; 再在 采集模块的“ 开始” 按钮的 响 应函 数o n s t a r t o 中 加入打开串口 的 代 码: 1/*. * . * * * * * * * 打开串口. * * * . * * . * * * * . * * * . / 试! m se ms c o m m . g e t p o r to p e n o ) / / 如果串口没有打开则打开 m se m s c o m m . s e t p o rt o p e n ( t r u e ) ; e l s e m - m s c o m m . s e t o u t b u ff e r c o u n t ( 0 ) ; 第三步:由于采用事件驱动法,为 ms c o r m ”控件添加消息映射函数。 在 c la s s w iz a r d 中 选 择m e s s a g e m a p s 选 项 卡, 选 择c d i g c o n tr o l 类, 再 选 择 所 添 加 的m s c o m m控件的1 d ,双击o n c o m m消息映 射即可。当计算机发 现有新的 数 据到达缓冲区时, 就会触发o n c o m m事件,处理传送到微机端的数据。 最 后在“ 停止” 按钮的响应函 数c d i g c o n t r o l : o n c t l s t o p o 中 关闭 串口 : 11 * * * * * * * . , * * . * * 关闭串口* * * * * * * * * * * . * . * 二* i i / / m m s c o m m . s e t p o rt o p e n ( f a l s e ) ; 这样,我们就采用ms c o m m控件的方法完成了串口通信的功能。 2 .2 .2 .2 a p i 函数接口方法 a p i 函数接口法虽然操作起来没有使用m s c o m m控件简便, 但是具有更好 第二章 s p r 传感器的软件子系统 的灵活 性。在本系统的单次采集对话框中,使用a p i 函数接口发来编写串口 通 信程序。需要注意的是以下几点: 1 . 为了 在串口 通信过程中, 接收d s p 传来的 数据不会阻塞其他进程的 执行 , 采用异 步 通信的 方式。即一旦调用r e a d f i l e o . w ri t e f i l e o , 就能 立即 返回, 而 让实际的读写操作在后台运行;相反,如使用阻 塞通信,则必须在读或写操作 全部完 成后才能返回。由 于操作可能需要任意长的时间才能完成,于是问 题就 出现了。 若使用非阻塞通信,首先在 c r e a t e f i l e o 时必须使用 f i l e - f l a g - o v e r l a p p e d ; 然后在 r e a d f i l e o 时1 p o v e r l a p p e d 参数一定不能为n u l l , 接 着检查函数调用的返回值,调用 g e t l a s t e r r o r o ,看是否返回e r r o r - i 0 - p e n d i n g .如是,最后调用 g e t o v e r l a p p e d r e s u l t o 返回重叠操作( o v e r l a p p e d o p e r a t io n ) 的 结果: w ri t e f i l e o 的使 用 类似. 2 .需要启动一个辅助线程,用于串口 事件的处理。 w i n d o w s提供了 两种线程,辅助线程和用户界面线程。区别在于: 辅助线 程没有窗口,所以 它没有自己的消息循环。但是辅助线程很容易编程, 通常也 很有用。在本系统中,我们使用辅助线程。主要用它来监视串口 状态, 看有无 数据到达、通信有无错误;而主线程则可专心进行数据处理、提供友好的用户 界面等重要的工作。 3 .为辅助线程写一个全局函数,主要完成数据接收的工作。同时要注意使 用o v e r l a p p e d结构。 在“ 单次 采集”中 应用a p i 方 法 进行串 口 通信,首先在c d l g s i g n a l 类中 定 义串口 通信所需要的成员变量: h a n d l e h c o m ;/ 串口 通信句柄 h a n d l e h c o m m w a t c h t h r e a d ; / / 接收线程句柄 c w n t h r e a d * p c o m m t h r e a d ; 然后, 在 “ 开 始” 按钮的响应函 数中 进行串口 的设置: / / s s s s * * s * 二* * * * 设置串口* * . * * * * * * * * * * * * * * 二* / h c o m = c r e a t e f i l e ( c o mi , g e n e r i qr e a d ig e n e r i c w r i t e , o ,n u l l , o p e n e x i s t i n g , f i l e - f l a g - o v e r l a p p e d , n u l l ) ; / 初始化串口 句柄,打开串口1 , 将通信方式设定为重叠通信 s e t c o m m ma s k ( h o o m , e v r x c h a r ie v t x e mp t y); 第二章 s p r 传感器的 软件子系统 / / 设置事件驱动类型为接收 字符事件和发送字符事件 s e t u p c o m m ( h c o m , 1 0 2 4 ,5 1 2 ) ; / / 设 置 输 入 输出缓 冲区的 大小 p u r g e c o m m ( h c o m , p u r g e es t x a b o r t ip u r g e r x a b o r t i p u r g e _ t x c l e a m p u r g e r x c l e a r ) ; / / 清空输入输出 缓冲区 d c b d c b ; / / d c b 为串 行通信控件设置结构 g e t c o m m s t a t e ( h c o m , / / 读串 口 原 来的 参数设置 d c b .b a u d r a t e = 6 0 0 ; / 波特率 d c b .b y t e s i z e = 8 ;/ 字节 长 度 d c b . s t o p b i t s = 0 ;/ 停止位 d c b .p a r i t y = 2 ; / / 无奇偶 校验 s e t c o m m s ta te ( h c o m , / / 串 口 参 数配 置 h c o m m w a t c h t lu e a d = c r e a t e t h r e a d ( ( l p s e c u r i t y _ a t t r i b u t e s ) n u l l , o , ( l p t h r e a d _ s t a r t r o u t i n e ) 1p c o m m t h r e a d p r o c , g e t s a f e h w n d o , o , / / 初始 化接收 线 程 c o m m t i m e o u t s t i m e o u t ; / / 定义超时结构, 并 填写 该 结构 m e m s e t ( t i m e o u t .r e a d i n t e r v a l t i m e o u t = m a x d w o r d ;/ 读操作时间定义为最 大长 度 s e t c o m m t t m e o u t s ( h c o m , b e x i t t h r e a d = f 1 止s e ; p c o m m t h re a d = a f x b e g i n t h r e a d ( 1 p c o m m t b r e a d p r o c , t h i s , t h r e a d p r i o r i t y 一o r m a l ) ;/ / 启动 接收 线 程 在打开串口 后开始接收数据,为了使接收数据的过程实现后台处理功能, 需要为接收部分写一个新的线程。 在新线程中, 首先为读串口 事件设置相应的重叠结构o v e r l a p p e d , 接着 设置s e t c o m m m a s k o 监视事件, 这样就可以 调 用w a i t c o m m e v e n t o 函 数等待 读串 口 事件的发生。 w a i t c o m m e v e n t o 重叠执行时,o v e r l a p p e d必须包含一 个人 工复位事件对象。若重叠操作不能立即完成,函数返回 f a l s e ,这时就需 要再 调 用g e t l a s t e r r o r o 函数, 如果调 用结果 是e r r o r - 1 0 - p e n d i n g , 说明 读 操作 仍未完成,则需要继续等待。 第二章 s p r 传感器的软件子系统 串口 接收到的数据会被别的模块进行处理。最后,在 “ 停止”按钮响应函 数中关闭串口: / / i t i i i i * 关闭串口* . * * * * * * . * * * * * * * . * * . /l i f ( c l o s c h a n d l e ( h a n d l e p o r t _ ) = = 0 ) a f x m e s s a g e b o x ( , 串口关闭 失败1” ) ; r e t u r n f al s e ; 第三节数据库模块 数据库模块的数据有两个来源:一是来自串口的原始信号数据 ( 其中连续 采集模块的 数据信号已经过下位机的处理) , 直接保存到数据库,同时也被显示 模块绘制到屏幕;另一来源是分析处理模块,数据经过分析处理后存储到数据 库中。同时,数据库中的数据源也可以以 描点成二维图形的方式显示到 应用程 序图形显示区. 2 .3 . 1 s q l 数 据 库与a d o 简 介 s q l s e rv e r 2 0 0 0 是m i c r o s o ft公 司 推出 的 数 据库管理 系 统 , 是当 前 非 常 流 行 的 数 据库管 理系统之一11 9 1 。 它的 效 率非 常 高, 功能也很完善, 是日 常数 据 库管 理维护的有用工具之一。特别是它提供的存储过程,具有可靠性高、稳定性强 和服 务 速 度 快 等 优点。 使用s q l s e r v e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论