(生物医学工程专业论文)纸张残留痕迹的检测与成像系统的研究.pdf_第1页
(生物医学工程专业论文)纸张残留痕迹的检测与成像系统的研究.pdf_第2页
(生物医学工程专业论文)纸张残留痕迹的检测与成像系统的研究.pdf_第3页
(生物医学工程专业论文)纸张残留痕迹的检测与成像系统的研究.pdf_第4页
(生物医学工程专业论文)纸张残留痕迹的检测与成像系统的研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(生物医学工程专业论文)纸张残留痕迹的检测与成像系统的研究.pdf.pdf 免费下载

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

文档简介

东北大学硕士学位论文 a b s t r a c t r e s e a r c ho n t e s t i n g a n d i m a g i n gs y s t e m o f r e m a i n i n g t r a c eo n p a p e r a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , i n f o r m a t i o ns e c u r i t yh a s b e e ng i v e ni n c r e a s i n ga t t e n t i o n t h es e c u r i t yd e p a r t m e n t s ,i np a r t i c u l a r , h a v ea t t a c h e d g r e a t e ri m p o r t a n c et ot h ed o c u m e n ts e c r e c ya n dt h e yi m p o s es t r i c tr e s t r i c t i o n so nt h e r e a d e r so ft h es e c r e td o c u m e n t s t h i sa r t i c l ee l a b o r a t e so nt h et e s t i n gp r i n c i p l e sa n d w o r k i n gp r o c e d u r e so f t h er e m a i n i n gt r a c eo np a p e r ( m a i n i yi n v i s i b l ef m g e r p r i n t so f s w e a t ) n o wt h eg e n e r a l l ya c c e p t e dm e t h o d t oh a n d l ea n dc o l l e c ti n v i s i b l ef i n g e r p r i n t s o fs w e a ti s b ym e a n so fl i m e o ri n kp o w d e r a n dt h em o s tp r o p e rw a yo ns u c h p e n e t r a t i n g m a t e r i a lc a r r i e r sa s p a p e r a n dc a r d b o a r di s s t e a m i n gi o d i n ea p p r o a c h h o w e v e ra l lt h ea b o v em e n t i o n e dm e t h o d sw i l ld a m a g et h et e s t i n gs a m p l e so n v a r y i n g d e g r e e s i no r d e r t ok e e pt h eo r i g i n a lt e s t i n gs a m p l e si n t a c t , an e wm e t h o di sp r o p o s e d t ot e s ta n dg e ti m a g eo ft h ei n v i s i b l eo f f i n g e r p r i n t so f s w e a t t h en e w a p p r o a c hi s t o t e s tt h ed i f f e r e n c eo nr e s i s t a n c eb e t w e e nt h e r e m a i n i n g t r a c ei n p a p e r a n d n o n r e m a i n i n gt r a c e ,a n di n p u tt h et e s t e dd a t ai n t oc o m p u t e r t h i sa p p r o a c hm a k e s u s e o fv i s u a lc + + 6 0t oc o n v e r tt h et e s t e dd a t ai n t oi m a g ea n dt h ev i s u a lc + + c o m p u t i n g m e t h o dt oo b t a i nak e e n e ri m a g e t h i sa p p r o a c ha l s oa d o p t st h eo p e r a t i o n sa st h r e s h o l d t r a n s f o r m ,g r a y - s c a l es t r e t c h ,w i n d o wt r a n s f o r m ,i m a g es m o o t h i n g ,i m a g es h a r p e n i n g , s ot h a tt h ep r o c e s s e di m a g ec a nm e e tt h er e q u i r e m e n t so ff u r t h e rd i v i s i o na n di d e n t i t y k e yw o r d s :r e m a i n i n gt r a c e ,i n v i s i b l ef i n g e r p r i n t s o f s w e a t ,r e s i s t a n c e ,i m a g e e n h a n c e m e n t v i s u a lc + + 一i i i 声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取 得的研究成果除加以标注和致谢的地方外,不包含其他人已经发表或 撰写过的研究成果,也不包括本人为获得其他学位而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确 的说明并表示谢意。 本人签名: 日期: 花劾 东北大学硕士学住论文 第一章前言 1 1 引言 第一章前言 本文所研究的纸张残留痕迹主要是指在纸张上残留的汗潜指纹。 人的手掌及其手指、脚、脚趾内侧表面的皮肤凸凹不平产生的纹路会形成各 种各样的图案。这些纹路的存在增加了皮肤表面的摩擦力,使得我们能够用手来 抓起重物。人们也注意到,包括指纹在内的这些皮肤的纹路在图案、断点和交叉 点上各不相同,也就是说,是唯一的。依靠这种唯一性,我们就可以把一个人同 他自身的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就可以验 证他的真实身份。这种依靠人体的身体特征来进行身份验证的技术称为生物识别 技术,指纹识别是生物识别技术的一种。目前,从实用的角度看,指纹识别技 术是优于其他生物识别技术的身份鉴别方法。这是因为指纹各不相同、终生基本 不变的特点已经得到公认,近二三十年的警用指纹自动识别系统的研究和实践为 指纹自动识别打下了良好的技术基础。特别是现有的指纹自动识别系统己达到操 作方便、准确可靠、价格适中的阶段,是实用化的生物测定方法【2 2 1 。 指纹自动识别系统通过特殊的光电转换设备或其它采集设备和计算机图像 处理技术,对活体指纹进行采集、分析和比对,可以自动、迅速、准确地鉴别出 个人身份【2 3 1 。系统一般主要包括对指纹图像采集、指纹图像处理、特征提取、 特征值的比对与匹配等过程。现代电子集成制造技术使得指纹图像读取和处理设 备小型化,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以 进行指纹对比运算的可能,而优秀的指纹处理和对比算法保证了识别结果的准确 性。 在计算机系统中,指纹识别可以用于开机登录身份确认,远程网络数据库的 访问权限及身份的确认,银行储蓄防冒领及通存通兑的加密方法,保险行业中投 保人的身份确认,期货证券提款人的身份确认,医疗卫生系统中医疗保险人的身 份确认等等。如将指纹信息记录在特殊用途的卡上,通过现场比对,可以防止冒 1 查苎垄芏壁主兰堡笙墨苎二主 堕三 充等欺诈行为。 对指纹的研究可以分为两类。一类是具体的手指上的活体指纹,一般用光学 方法进行采集;另一类是由于手接触到物体,在物体表面上留下的印记。 指纹的印记基本分为三类加】:汗潜指纹,可见指纹和立体指纹。到目前为止, 最常见的是汗潜指纹,眼睛一般看不出来。它们是由手指上的汗液形成,即使一 个人将手彻底地擦干净或弄干,如果他的手接触过身体有皮脂腺的地方,还是可 能在他所接触的地方留下汗潜指纹。第二种类型的指纹是最易辨认的那一种。因 为手指沾有血迹、墨迹或其他相似方法留下的指纹,但是它们在犯罪现场很难找 到。第三种指纹是立体指纹,它们是在柔软的表面比如乳酪、肥皂或油灰面形成 的指纹,易变形消失。 处理或提取汗潜指纹进行检验可以用各种各样的方法。最普通的方法是将灰粉 或黑粉均匀撒在被检测物体的表面,然后把墨粉或灰粉轻轻吹去,有汗潜指纹的 地方就会显示出来。在渗透性的检材上,如纸张、厚硬纸板,最好用碘熏法,碘 可以和汗液中的油脂反应,或使用韩三明反应,苯三酮可以和汗液中的氨基酸反 应【7j 。但这些方法均会对检样造成不同程度上的破坏,并且不能直接利用计算机对 其进行处理。为了保持原检样的完整性, 本文提出对汗潜指纹进行检测的新方法。 及对指纹图像进行存储和进一步处理, 即通过测量纸张有无痕迹处的阻抗来提 取纸张上残留的汗潜指纹。本文主要介绍这种方法的原理以及相应的图像显示及 预处理部分。 1 2 可行性分析 由于人的汗液中含有盐分、挥发性脂肪酸及尿素等成份,当手指接触到纸张 时就会在纸张上留下汗潜指纹,有痕迹的地方和无痕迹的地方的阻抗就会不同, 通过测试纸张有无痕迹处的阻抗,将此阻抗信号转换成电信号,经过前置放大、 a d 转换等处理,将测试的数据输入到计算机,再由计算机对其进行处理。 一般来说,被测纸张较薄,用普通的方法测量纸张某一点处的阻抗很难做到。 这里采用了平行导电极作为探头,即采用两块平行电极板,在每块电极板上用光 2 东北大学硕士学位论文第一章前言 刻出一定密度的电极线。在检测时,将待测纸张夹在十字相交的电极板之间,通 过阵列丌关来选通相应的电极线,从而可测得电极线相交点的阻抗。 纸张点阻抗的推算:用z c 3 6 型高阻计测试普通打印纸中5 0 5 0 um 2 的面积 的纸张点电阻。5 0 5 0 1 1m 2 的面积的纸张点的面积s = 2 5 0 0 1 1m 2 。 ( 1 ) 在相对湿度r h = 4 8 情况下,r = 4 1 0 9 q ( 2 ) 在相对湿度r h = 7 0 情况下,r = 5 1 0 8 o ( 3 ) 在相对湿度r h = 7 5 情况下,r = 4 x 1 0 7 q 用千分尺测得其探头直径为d = 4 9 5 1 0 4 um ,则探头面积s = ( d 2 ) 2 1 9 1 0 9 1 1 m 2 ,计算得到等效面积s 的纸张点阻抗r = r * s s = 5 1 0 8 s s 一3 8 1 0 q 。 因此纸张点电阻的上限是1 0 “o 数量级。在测试电源为1 0 v 时,其电流为l o 1 : a 数 量级。利用“集成放大电路”研制满足这个数量级要求的前置放大器是有可能的。 前置放大器的设计是本项目研究的关键。在八十年代末,上海第六电表厂生 产的z c 3 6 型的高阻计可以检测1 0 ”q 的超高电阻,1 0 1 4 a 的微电流,它的前置放大 器是采用静电计管。由于新技术的不断出现,可以采用新型的集成运放电路、厚 膜集成电路等。现在新型的集成运放电路和厚膜集成放大电路的偏置电流可以达 到1 0 。5 a 以下,因此研制满足要求的前置放大器是有可能的。 检测分辨率取决于光刻制作的上、下探头电极板上电极线的密度。利用扫描 仪扫描纸张时,当分辨率为1 2 5 d p i 时,其显示效果已经可以了。当选取1 5 0 d p i 时,其显示效果很好。 1 2 5 d p i 一4 9 2 线毫米 1 5 0 d p i 。5 9 1 线毫米 因此,探头平行导电极限密度为5 线毫米时,其效果已经能够满足要求。当然,在 制作工艺上实现方便的情况下,选择线密度应尽可能大一些。 1 3 研究的意义 目前,提取物体表面上的汗潜指纹的方法很多,但是能够检测和存储纸张上 残留的汗潜指纹的方法很少,此项研究对于安全部门有着重要的意义。它可以通 一3 - 东北大学硕士学住论文第一章前言 过检测出纸张上残留的汗潜指纹,来判断是否有无翻阅权限的人翻阅过此文件。 以便于进一步确定查阅人的身份。 同时提出一种检测方法,对于其他信息检测有一定的参考价值。 东北大学硕士学位论文第二章检测原理与相关电路说明 第二章检测原理及相关电路说明 2 1 检测原理 由于纸张上有残留痕迹处与无残留痕迹处的阻抗不同,通过测试纸张有无汗 潜指纹纹理处的阻抗,来实现检测纸张上残留痕迹的目的。在设计中采用如图2 1 所示的前端信号采集电路。通过检测取样电阻凡1 2 两端的电压值,将此电压信号 经线性放大器放大、a d 转换等处理后,传送到微机中,利用微机对所采集的数 据进行处理,将处理的结果在监视器上显示,并以图像文件( j p g 或b m p 格式) 方式存储,从而达到检测痕迹的目的。 2 1 1 提取检样的阻抗差别的原理 为了提取检样有痕迹点与无痕迹点处阻抗差别信号,检测电路示意图如图2 1 所示。图中:r l + r 、r 2 + r 分别代表有、无痕迹处纸张阻抗,r l 、r 2 分别代表有、 无痕迹点处纸张变化阻抗,r 0 1 2 是取样电阻。 工作时将选通开关分别接通r i 、r 2 支路。由 于r l 、r 2 的电阻不同,所以其支路中的电流不同, 导致降落在其上的电压也不同,从而使降落在取样 电阻r o tz 上的电压不同。这样就实现了由检样上 的阻抗差别到采样点处电压差别的转换,痕迹信号 被提取出来了。 2 。1 2 检测灵敏度讨论 检测直流参数 图2 1 检测电路示意图 f i g u r e 2 1s k e t c hm a p o f t e s t i n g c i r c u i t u := r o l v ( r 。l + r i + 尺) 一r “v ( ,r 0 2 + r 2 + r )( 2 1 ) = 矿l ( 尺州一r 0 2 ) r + ( r 0 1 r 2 一r 。2 r 1 ) j ( 月。l + r 1 + 胄) ( r 。2 + r 2 + r ) 、 其中:r 。+ r 、r z + r 是有无痕迹处纸张阻抗,r 1 、r 2 是有无痕迹处纸张变化阻抗 r o i 、r o e 是( 同一个) 取样电阻。 事实上有:l r 1 、r 2 、r o l 、r 0 2 东北大学硕士学位论文第二章检测原理与相关电路说明 ( 1 ) 当取样电阻采用线性电阻时,即r 0 1 = r 0 2 = r o ,则有: a u o = r 。i y ( r 引+ ,r 1 + r ) - r 0 2 v “r 。2 + r 2 + r )( 2 2 ) z r o ( 月2 一r 1 ) r 2 、 ( 2 ) 当取样电阻采用非线性电阻时 a u o = r 。1 y 似。l + 置+ r ) - r 0 2 v ( r 。2 + r 2 + r ) 1 * v ( r 。2 一r d l ) r 、。 因此,采用非线性电阻作为取样电阻,有利于测试。这对于提高显示灵敏度 至关重要。研制非线性取样器件( 电路) 及与之配套的前置放大器是决定该设备 显示灵敏度的关键。实际电路设计时采用了恒流源电路。 2 2 实施方案 图2 2 整机结构示意图 f i g u r e 2 2s k e t c hm a p o f m a i ns t r u c t u r e 图2 3 检测方案示意图 f i g u r e 2 3s k e t c hm a po f t e s t i n g s c h e m e - 6 东北大学硕士学位论文第二章检测原理与相关电路说明 1 整机结构示意图如图2 2 所示: 整机由电极板、检样、采集电路、计算机、显示器、屏蔽罩等部分组成。 2 检测方案如图2 _ 3 所示。 2 3 具体实现 2 3 1 系统框图 电 源 图2 4 系统框图 f i g u r e 2 4s y s t e ms q u a r ed i a g r a m 系统的组成如图2 4 所示,由电源及探头部分、前置放大器、信号放大处理电 路、及a d 转换电路、微机接口和微机处理及显示部分组成。下面就硬件电路设 计加以说明,对于微处理机显示部分将在后续章节中加以阐述。 2 3 2 探头部分电路 由检测方案示意图中可以看出,探头部分电路主要是光刻制作的电极板组成, 在实验中采用在lc n l 宽的电路板上制作1 0 0 条导线。然后由上下电极板控制电路 来控制给对应的电极板上的电极线施加电压,由于纸的阻抗不同,得到电极板f d j 电压的变化。 上下电极板控制电路是由单片机控制的若干个开关构成,其基本电路如图2 5 和图2 6 所示: 东北大学硕士学位论文第二章检测原理与相关电路说明 4 n c l ”c o m l n c 2c o 乜 n c 3c o l q c 4c 0 1 4 v i n l g n dn 4 2 v+n43 n 0 1i l 4 n 0 2n c n 0 3 n 0 4 信号输出端 崮蓁 m a x 3 3 3 图2 5 下电极板选通开关单元电路 f i g u r e 2 5u n i t - c i r c u i to f d o w n p o l e - b o a r ds e l e c t - s w i t c h 图2 6 上电极板选通开关单元电路 f i g u r e 2 6 u n i t - c i r c u i to f u p p o l e 。b o a r ds e l e c t - s w i t c h 由单片机输出的控制信号经译码电路后控制m a x 3 3 3 1 8 1 的控制端,继而控制 对应的行和列来达到给上下电极板上的电极线施加电压的目的。其中m a x 3 3 3 为 模拟开关。上下电极板各有1 0 0 条电极线,因此每一个电极板需要有2 5 片 m a x 3 3 3 ,及相应的译码电路。译码电路由4 5 1 4 及7 4 1 3 8 构成,由8 位地址译成 1 0 0 位选通控制信号。 译码电路 至电极线 译码电踏 东北大学硕士学位论文 第二章检测原理与相关电路说明 图2 7 译码单兀电路 f i 9 2 7u n i t - c i r c u i to f c o d i n g 2 3 4 信号放大电路 信号处理电路是由两级放大电路构成。第一级由超低输入偏置电流仪表放大器 i n a l l 6 1 2 ”组成前置放大器,i n a l l 6 的同相输入端接一可程控的参考电压,调整这 一参考电压与所测纸张在测量时刻湿度情况下的无痕迹处平均输出电压( 统计平 均值) 近乎相等,这样近似地组成桥路,实际上前置放大器的输出是测量信号与 统计平均值之差的线性函数,第二级放大由线性运算放大器o p 2 7 2 0 1 及外围辅助可 程控增益电路构成,主要功能是调节放大倍数,使输出信号适合于a d 变换器采 集。采用程控放大器便于在对不同纸张的阻抗检测时采用不同的增益。 v s $ 图2 8 前置放大器示意图 f i g u r e 2 8s k e t c hm a do f p r e - a m p l i f i e r 9 查兰查兰堡主兰竺堕查苎三主竺! ! 堡兰鱼塑墨皇兰兰望 2 3 5m d 转换电路 在实验中采取两套方案,方案一是采用1 6 位a d 转换器m a x l 3 2 1 9 ,这样可 将每点的阻抗信息还原成6 5 5 3 6 灰度级。方案二采用8 位a d 转换器a d c 0 8 0 4 ”, 可将每点的阻抗信息还原成2 5 6 灰度级。从实验结果看采用a d c 0 8 0 4 已经可以满 足要求。 图2 9 a 1 9 转换电路 f i g u r e 2 9a dc o n v e r s i o nc i r c u i t 2 3 6 单片机控制电路 单片机控制电路主要完成控制系统上下探头上的电极线及控制a d 转换器。 并且扩展8 k 的数据存储器用来存储检测的数据。单片机控制电路的另一个功能是 将检测的数据传送到p c 机中,实现与p c 机通信的功能”。单片机控制电路负责 接受上位机的命令,并调节前置放大器同相输入端的参考电压以及放大器电路的 放大倍数,在此基础上完成数据采集并存储在r a m 中,采集结束后发送与p c 机 进行通信的命令,将数据传给计算机进行后期数据处理。由于系统不需对数据进 行实时处理,因此单片机控制电路与计算机之间采用了串行通信,实践证明采用 这种通信方式完全能够满足系统要求。具体实现如图2 1 0 。 在本系统的串口通信部分,通信协议如下规定: 1 通信双方均采用4 8 0 0 b i t s 的速率传送和接收数据。 2 数据传送的格式如下:1 位起始位,8 位数据位,1 位停止位,无奇偶校验 位。 3 在数据采集结束后,单片机向p c 机发送数据传送请求信号f 0 ,p c 机收到数 据并判断是否为数据发送请求信号f 0 ,是f 0 ,则回传f 5 给单片机,并开始准备接 1 0 查苎垄主堡主鲎堡笙查 收数据;否则就继续等待。 第二章检测原理与相关电路说明 4 单片机上传数据时,先发一个数据开始标志o a ,紧接着发送数据,在数据 结束时加一个数据的累加校验和。 5 p c 机接收数据,判断接收到的第一个字节是否为o a ,是否收到5 1 2 个数据 ( 实际应收到5 1 4 字节,包括数据开始标志和累加校验和) ,以及累加校验和是否 一致,如果条件都满足,则进行数据存储、数据处理,并回送一个数据接收正确 信号o d ,如果不一致,则发送数据接收错误信号0 b ,并请求下位机重新发送数据。 图2 1 0 单片机控制电路 f i g u r e 2 1 0s c m c o n t r o lc i r c u i t 东北大学硕士学位论文第三章检测数据到图像之间的转换 第三章检测数据到图像之间的转换 本章介绍如何将上一章检测到的数据,转换成为计算机屏幕上显示的图像。 主要介绍基于串行通信接口程序的设计及将接收的数据转换成图像文件的过程。 3 1 串行通信接口程序的设计 串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便 易行,所以应用广泛。 3 1 1v c 中实现串行通信的编程技术 在v c 中有以下几种实现串行通信的编程技术9 4 】: l 、利用v c + + 的标准通信函数 利用v c + + 的标准通信函数_ i n p 和_ o u t p 可实现串口通信。这种方式主要是采 用两个端v i 函数_ i n p 0 ,_ o u t p 0 实现对串口的读写,其中读端口函数的原型为:i n t i n p ( u n s i g n e ds h o t p o r t ) ,该函数从端口读取一个字节,端口号为0 - 6 5 5 3 5 。写端口 的函数原型为:i n t _ o u t p ( u n s i g n e ds h o tp o r t ,i n td a t a b y t e ) ,该函数向指定端口写入一 个字节。不同的计算机串口地址可能不一样,势必造成程序的可移植性差,一般 很少应用。 2 、使用串行通信控件m s c o m m 串行通信控件m s c o m m 3 2 o c x 提供了使用r s 2 3 2 来进行数据通信的所有协 议,v c 为该控件提供了标准的事件处理函数、过程,并通过属性和方法提供了串 行通信的设置。它使用户能够方便地访问w i n d o w s 串行通信驱动程序的大多数特 性,包括输入、输出缓冲区的大小及决定何时使用流控制命令挂起数据传输等。在 c l a s s w i z a r d 中为新创建的通信控件定义成员对象,通过该对象便可以对串口属性 进行设置,m s c o m m 控件共有2 7 个属性。 打开所需串口后,需要考虑串口通信的时机。在接收或发送数据过程中,可 能需要监视并响应一些事件和错误,所以事件驱动是处理串行端口交互作用的一 种非常有效的方法。使用o n c o m m 事件和c o m m e v e n t 属性捕捉并检查通信事件 1 2 东北大学硕士学位论文第三章检测数据到图像之间的转换 和错误的值。发生通信事件或错误时将触发o n c o r m n 事件,c o m m e v e n t 属性的值 将被改变,应用程序通过检查c o m m e v e n t 属性值并做出相应的反应。 3 、使用a p i 函数 控件虽然简单易用,但由于必须拿到对话框中使用,在一些需要在线程中实 现通信的应用场合下,控件的使用受到了限制。a p i 是附带在w i n d o w s 内部的一 个极其重要的组成部分。w i n d o w s 的3 2 位a p i 主要是一系列很复杂的函数和消息 集合。它可以看作是w i n d o w s 系统为在其下运行的各种开发系统提供的开放式通 用功能增强接口。 通信程序在c r e a t e f i l e 处指定串口设备及相关的操作属性,再返回一个句柄, 该旬柄将被用于后续的通信操作,并贯穿整个通信过程。串口打开后,其属性被 设置为默认值,根据具体需要,通过调用g e t c o m m s t a t e ( h c o m m ,& & d c b ) 读取当前 串口设备控制块d c b 设置,修改后通过s e t c o m m s t a t e ( h c o m m ,& & d c b ) 将其写入。 运用r e a d f i l e 0 与w r i t e f i l e 0 这两个a p i 函数实现串口读写操作,若为异步通信方 式,两函数中最后一个参数为指向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 ( ) 函数,返回值为 e r r o r1 0p e n d i n g ,表明i o 操作悬挂,即操作转入后台继续执行。 因此本设计中使用a p i 函数来实现串行通信技术。 3 1 2 具体实现 1 、打开串口 在3 2 位w i n d o w s 系统中,串口和其他通信设备都是作为文件处理的,串口的打 开、关闭、读取和写入所用的函数与操作文件的函数相同“1 。打开串口用c r e a t f i l e ( ) 该函数返回一个句柄,随后在打开的端口的操作中使用。函数原型为: h a n d l ec r e a t e f il e ( l p c t s t rl p f i l e n a m e , d w o r dd w d e s i r e d a c c e s s d w o r dd w s h a r e m o d e , l p s e c u r i t y _ a t t r i b u r e s1 p s e c u r i t y a t t r i b u t e s , 1 1 东北大学硕士学位论文第三章检测数据到图像之间的转换 d w o r dd w c r e a t i o n d i s p o s i t i o n , d w o r dd w f l a g s a n d a t t r i b u r e s , h a n d l eh t e m p l a t e f il e ) 参数含义如下: l p f i l e n a m e :要创建或要打开的文件名,对于串口操作,可以是“c o m i ”和“c o m 2 ”。 d w d e s i r e d a c c e s s :访问模式 d w o r dd w s h a r e m o d e :共享模式 l p s e c u r i t y a t t r i b u t e s :引用安全性结构,该结构定义了一些属性,如串口 d w c r e a t i 。n d i s p 。s i t i o n :创建模式,对于串口,其值为“o p e ne x i s t i n g ”,即打开 已经存在的串口,而不是新建串口。 d w f l a g s a n d a t t r i b u r e s :文件属性,对于串口必须设置为“f i l ef l a g o v e r l a p p e d ” 它表示串口i o 可以在后台进行( 异步i t o ) h t e m p l a t e f i l e :指向模板文件句柄,当串口处于打开状态时,不使用该参数,必 须设置为“n u l l ”。 2 、配置串口 使用g e t c o m m s t a t e0 函数获取串口的当前配置,使用s e t c o m m s t a t e0 函数重 新设置串口资源的各个参数。 b o o lg e t c o m m s t a t e ( h a n d l eh f i l e , 串口旬柄 l p d c bi p d c b设备控制快 ) h f i l e : i p d c b :指向设备控制块d c b ( d e v i c ec o n t r o lb l o c k ) 结构的指针 d c b 结构声明如下: t y p e d e fs t r u c t d c b d w o r dd c b l e n g t h :以字节为单位的d c b 块大小 查些垄兰堡主主堡笙圭苎三兰竺型墼塑型璺堡圭塑竺竺垫 d w o r db a n d r a t e :波特率 d w o r df b i n a r y :i :是否允许二进制模式的标志,t r u e 为允许,f a l s e 为不允许 d w o r df p a r i t y :l :是否允许奇偶校验的标志,t r u e 为允许,f a l s e 为不允许 d w o r df o u t x c t s f l o w :1 :c t s 是否用于检测发送流控制标志 d w o r df o u t x d s r f l o w :2 :d s r 是否用于检测发送流控制标志 d w o r df d t r c o n t r o :2 :d t r 流量控制 d w o r df d s r s e n s i t i v i t y :1 :通信设备是否对d s r 敏感标志 d w o r df r x c o n t i f l u e o n x o f f :l : d w o r df o u t x :1 :输出流量是否启用x o r o f f 流控制标志 d w o r df i n x :i :输入流量是否启用x o n o f f 流控制标志 d w o r df e r r o r c h a r :l :若校验错误,是否进行字符替换的标志 d w o r df n u ll :1 : 是否丢弃接收到的n u l l ( a s c ii o ) 字符标志 d w o r df r t s c o n t r o l :2 :r t s 流量控制 d w o r df a b o u t o n e r r o r :l :若发送错误,是否中止读写操作的标志 d w o r df d u m m y 2 :1 7 :保留,未用 w o r dw r e s e r v e d :保留,必须为0 w o r dx o n l i m :接收之前输入缓冲区中允许的最小字节数 w o r dx o f f l i m ;发送之前输入缓冲区中允许的最小字节数 b y t eb y t e s i z e :发送和接收字节中的位数 b y t ep a r it y :指定奇偶校验方法 b y t es t o p b i t s :指定传输中的停止位 c h a rx o n c h a r :发送和接收的x o n 字符,它指示允许继续数据传输 c h a rx o f f c h a r :发送和接收的x o f f 字符,它指示停止数据传输 c h a re r r o r c h a r :用来代替接收到的奇偶校验发生错误的字符 c h a re o f c h a r :指定表示数据结束的字符 c h a re v t c h a r :指定事件字符,接收到此字符,会产生一事件 w o r dw r e s e r v e d l :保留,未用 东北大学硕士学位论文 第三章检测数据到卧像之间的转换 d c b ,* l p d c b : 通过g e t c o m m s t a t e 0 函数获得当前的d c b 结构,然后更改d c b 中的参数,调用 s e t c o m m s t a t e 0 函数配置串口参数为修改过的d c b 中的参数。s e t c o m m s t a t e 0 函数 的原型为: b o o ls e t c o m m s t a t e ( h a n d l eh f i l e ,串口句柄 l p d c bl p d c b设备控制快 ) d c b 经常改变的是波特率、奇偶校验方法、数据位和停止位数,w i n d o w s 为改 变这些设置提供j b u i d c o m m d c b 0 函数。其原型为: b o o lb u i f c o m m d c b ( l p c t s r tl p d e f ,设置字符串 l p d c b l p d c b指向接收上述设置的d c b 结构指针 ) 3 、超时设置 ( 1 ) 当读写操作超过超时设置的时限时,那么系统将无条件结束串口读写操作。应 用程序可以调用g e t c o m m t i m e o u t s 0 函数得到当前超时设置。 b o o lg e t c o m m t i m e o u t ( h a n d l eh f i l e 。m 口句柄 l p c o m m t i m e o u t sl p c o m m t i m e o u t s 指向超时结构的指针 超时结构定义为: t y p e d e fs t r u c t c o m m t i m e o u t s d w o r dr e a d i n t e r v a l t i m e o u t :读间隔超时 d w o r dr e a d t o t a l t i m e o u t m u l t i p i l e r :读总超时计算系数 d w o r dr e a d t o t a l t i m e o u t c o n s t a n t :读总超时计算系数 东北大学硕士学住论文 第三章检测数据到图像之间的转换 d w o r dw r i t e t o t a l t i m e o u t m u l i p l o e r :写总超时计算系数 d w o r dw r i t e t o t a l t i m e o u t c o n s t a n t :写总超时计算系数 c o m m t i m e o u t s ,* l p c o m m t i m e o u t s : ( 2 ) 如果要改变原有超时设置,可以调用s e t c o m m t i m e o u t s0 函数。 b o o ls e t c o m m t i m e o u t s ( h a n d l eh f i l e ,串口句柄 l p c o m m t i m e o u t si p c o m m t i m e o u t s 指向超时结构的指针 、 , ( 3 ) w i n d o w s 也提供t b u i d c o m m d c b a n d t i m e o u t s0 函数设置d c b 和超时结构,其设置 d c b 结构的功能基本于b u i d c o m m d c b 0 功能相同。 4 、读串口 读操作可以使用r e a d f i l e o 或者r e a d f i l e e x ( ) 函数。1 ,r e a d f i l e 0 支持同步或 者异步操作,r e a d f i l e e x ( ) 只支持异步操作,这两个函数都受到是否是异步操作、 超时设置等有关参数的限定,如果操作失败,可以调用g e t l a s t e r r o r 0 获得更多 的错误信息。 b o o lr e a d f i l e ( h a n d l eh f i l e :串口句柄,由c r e a t f i l e0 返回 l p v o i di p b u f f e r ;接收缓冲区指针 d w o r dn n u m b e r o f b y t e s t o r e a d ,要从串口读取( 接收) 的字节数 l p d w o r d1 p n u m b e r o f b y t e s r e a d ,指针,其内容表示实际接收的字节数 l p o v e r l a p p e dl p o v e r l a p p e d指向o v e r l a p p e d 结构的指针 ) b o o lr e a d f i l e e x ( h a n d l eh f i l e :串口旬柄,f h c r e a t f i l e 0 返回 l p v o i dl p b u f f e r :接收缓冲区指针 d w o r dn n u m b e r o f b y t e s t o r e a d ,要从串口读取( 接收) 的字节数 l p d w o r di p n u m b e r o f b y t e s r e a d ,指针,其内容表示实际接收的字节数 东北大学硕士学位论文第三章检测数据到图像之间的转换 l p o v e r l a p p e dl p o v e r l a p p e d ,指向0 v e r l a p p e d 结构的指针 l p o v e r l a p p e dc o m p l e t i o n _ r o u t i n e1 p c o m p l e t i o n r o u t i n e 指向一个回调 函数的指针 ) o v e r l a p p e d 结构定义为: t y p e d e fs t r u c to v e r l a p p e d u l o n g _ p t ri n t e r n a l : u l o n g p t ri n t e r n a l h i g h : d w o r do f f s e t : d w o r d o f f s e t h i g h : h a n d l eh e v e n t : ) i n t e r n a l :为操作系统保留,指出一个和系统相关的状态 i n t e r n a l h i g h :为操作系统保留,指出发送和接收的数据长度 o f f s e t 和o f f s e t h i g h :指明文件开始位置和字节偏移量的高位字,进行串口操作 时被忽略。 h e v e n t :指定一个i 0 完成时触发的事件,在调用读写函数进行i o 操作之前,必 须设置它。 5 、写串口 写操作可以使用w r i t e f i l e 0 或者w r i t e f i l e e x 0 函数,w r i t e f i l e 0 支持同步 或者异步操作,w r i t e f i l e e x 0 只支持异步操作,这两个函数都受到是否是异步操 作、超时设置等有关参数的限定,如果操作失败,可以调用6 e t l a s t e r r o r 0 获得 更多的错误信息。 b o o lw r i t e f i l e ( h a n d l eh f i l e :串口句柄,由c r e a t f i l e ( ) 返回 l p v o i dl p b u f f e r :发送缓冲区指针 d w o r dn n u m b e r o f b y t e s t o r e a d ,要写入串口( 发送) 的字节数 查兰苎兰翌主兰竺丝圭 苎三主丝型塾塑型璺堡兰塑竺竺堡 l p d w o r di p n u m b e r o f b y t e s r e a d ,指针,其内容表示实际发送的字节数 l p o v e r l a p p e dl p o v e r l a p p e d 指向o v e r l a p p e d 结构的指针 ) b o o lw r i t e f i l e e x ( h a n d l eh f i l e :* 口旬柄,f h c r e a t f i l e 0 返回 l p v o i di p b u f f e r :发送缓冲区指针 d w o r

温馨提示

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

评论

0/150

提交评论