(测试计量技术及仪器专业论文)位移传感器数据的采集、处理与传输.pdf_第1页
(测试计量技术及仪器专业论文)位移传感器数据的采集、处理与传输.pdf_第2页
(测试计量技术及仪器专业论文)位移传感器数据的采集、处理与传输.pdf_第3页
(测试计量技术及仪器专业论文)位移传感器数据的采集、处理与传输.pdf_第4页
(测试计量技术及仪器专业论文)位移传感器数据的采集、处理与传输.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(测试计量技术及仪器专业论文)位移传感器数据的采集、处理与传输.pdf.pdf 免费下载

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

文档简介

摘要 摘要 本文探讨了c m o s 光学位移传感器的工作原理与使用方法,并给出了两种 方案构成的测量系统,完成了传感器数据的采集、处理,并通过u s b 接口向p c 机传送数据。 c m o s 光学位移传感器选择p i ) l a ni n l a g i l l g 公司生产的p a n l 0 1 b ,本传感 器典型应用于p c 机光学鼠标的定位。 方案一选择a l t e r a 公司生产的a c e xl k 系列e p l k l 0 0 q c 2 0 8 3f p g a 芯片, 实现传感器数据的采集、处理。并根据u s b l 1 协议,在f p g a 内部构建了u s b 接口。在保证传感器数据传输速度的前提下,选择了u s b l 1 协议中的低速传输 方式。本方案全部功能完全由硬件实现,不需要固件参与。 方案二采用通用实验测控系统接口盒完成传感器的数据采集、处理与传输。通用 实验测控系统接口盒采用m o l o r o l a5 6 8 0 3d s p 来作为中央处理器,操作系统为嵌 入式实时操作系统u c o s i i ,应用c 语言嵌套汇编语言编写,开发工具为 m e 仃。一c o d e w j 删0 rd e 。与上位机的通讯采用u s b 2 o 接口,选择c r e s s 公 司的c y 7 c 6 8 0 0 1 ( 也称e z u s bs x 2 ) 来作为u s b 接口芯片,采用u s b 2 0 协 议的批量数据传输模式。 关键词: 测量传感器u s bf p g av 耐l o g a b s 咄t a b s t r a c t i nt h i sp 印盯,t h ea u m o rd i s c i l s s 韶t l 坞w o r k i n ga n dl l s i n go fc m o so p d c a l n a v i g a d o ns e 璐o r ,锄d 西v e st w om e 山o d st oc o m p l c t et h eg a 也e r i n g ,p r o c e s s i n ga n d c o m m 砌c a d n g 谢mp co f 也es e n s 0 r t h ec m o so p d c a ln a v i g a t i o ns e n s o ri sp r o d u c t e db y 吐【ec o m p a n yn 锄c dp 坟a r t h a g i n 吕1 1 1 ep a r tn u m b e ro ft h i ss 黜o ri sp a n l 0 1 b ,w l l i c hi st y p i c a l l yu s e dt o o p 矗c a lm o l l s eo f p c t h e 缸tm e t l l o d1 1 s e s 也ef p g a 砌p 丽t h 也ep a nn 啪b e re p l k l o o q c 2 0 8 3 , w h i c hi sp r o d u c t e db ya l t e r aa n db e l o n g st o l es 甜e so fa c e x1 磁t h ef p g a c h i pr ea l :泣e s 也eg a t 岫ga n dp r o c c s s i n go f d a t ao f t l l es 锄s o r ,a n d 猢r d i n gt o 也e u s b1 1s p e c i 丘c a d o n ,也eu s bi n t e 商l c ei sf o u n d e di nt l l ef p g ac h i p n l i sm e t l l o d s e l e c t sn l cl o ws p e e dt r a n s 向i n gi nt h eu s b1 1s p e c i 右c a t i o n ,讹c hc a nm e e t 也e n e e do fm es e i l s o rd a t ag a t h 盯i i l g a n 铀c d o i l so f t l l i sm c m o da r er e a l i z e db y h 幽a r e1 0 西c 丽t h o u t 山ep a n i d p a 血go f t h e 右i m w a r e t h es e c o n dm e t h o dl l s c sc o m m o n 唧咖e n ts y s t e m a t i ci n t e f f k eb o xt o 如n c d o nt l l e g a t h e r i n 岛p r o c e s s i n ga n dc o m 删c a t i n go f 也es e n s o r d a t a t h e c o m m o ne x p e r i m c n ts y s t e m a t i ci n t e r f 犯eb o xa d o p t sm o t o r o l a5 6 8 0 3d s pt oc o m e 勰 也ec e n 砌p r o c e s s i i l gl l n i t ,1 eo p e r a t i n gs y s t 锄i sa n 盯n b e d d e dr e a l 缸eo p e r 妇g s y s t t 翘u ( y o s i i ,l l s 嚣n 髓t c d 鹤s 即曲l e rl 趾g i l a g eo fcl 趾g i m g et ob e 、槲t t e n ,也e d e v d o p i i l gi n s 衄吼e n ti sm e 仃。一c o d e w a r r i o rd e a d o p tu s b 2 0i n t e r 】沁e 丽m 山e c 0 删m l n i c 撕o no fg o i n gt ot h e1 0 c a t i o nm a c h i n e ,c h o o s ec y p r e s so fc o m p a y s c y 7 c 6 8 0 0 1 ,a su s bi n t c r f a c ec b i pa n da d o p tu s b 2 o m e a s u r e i n e n ts e n s o ru s bf p g a v 舐1 0 9 i i y 9 6 8 8 6 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版:在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 i 指导教师签名:学位论文作者签名: j 解密时间:年月日 各密级的最长保密年限及书写格式规定如下: 一一。“j “鼋。一”畔薯一- | 鼍_ 6 州? 露| 警 内都i5 年i 最长5 隼,可少紊5 隼) - 秘密年最长协年;可少于豫隼 i 机密2 0 年( 最长2 0 辱,可参子2 :0 年) ij 。一。一一。“。h ,一“。_ 。? 易尸,碰竺厅圹 签 c r 一 褴厂年 懈衫一 文 如一 蝴三 幽 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均己在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 第一章绪论 第一章绪论 本论文以位移传感器为例,采用了两种方法来实现传感器数据与p c 机之间 的接口。这两种数据采集处理以及与p c 机通讯的方法是具有普遍意义的。 第一种使用f p g a 芯片作为系统的核心,采用硬件描述语言来构建逻辑电 路,是目前比较流行的方法。f p g a 芯片是近些年来出现的一种新产品,他内部 配置有丰富的与或非组合逻辑门电路和触发器电路,这些硬件资源都可以由用户 自由组合成为所想要的特定的电路结构。用户只需要用硬件描述语言描述所需要 的电路,e d a 工具软件就可以自动生成所需要的电路结构。这种开发方法能使 系统最小化,配置灵活,只要对硬件描述语言源代码稍加改变,就可以适应多个 方案而无需更改电路结构,因为主要的电路都在f p g a 芯片内部。 方案一是本论文的重点和核心,其中使用单一f p g a 芯片来实现传感器数据 的采集、处理与传输的全部工作,是本论文的创新点。本方案在f p g a 内部,完 全使用硬件逻辑构建了一个完整的u s b 接口。不同于市场上出售的其他u s b 接 口芯片,将本系统直接连接到p c 机,就可以正常工作,不需要任何软件程序的 参与,完全用硬件逻辑实现了复杂的u s b 协议。 第二种方案采用通用实验测控系统接口盒来实现传感器数据的采集与传输。 通用实验测控系统接口盒采用m o t o m l a5 6 8 0 3d s p 来作为中央处理器,提高了下 位机对数字信号处理的能力,可以对所采集的数据进行预处理,能大大减轻数据 存储以及与上位机通讯的负担:它提供了4 条微分模拟输入、8 条差分模拟输入、 4 条数字输入输出以及l 条模拟输出通道,这些丰富的传感器接口可以满足更复 杂的实验需求,使使用者有条件在此基础上创建新型实验方案:模拟输出通道不 但提供正弦、三角、方波等典型波形输出,还可以从上位机即时得到数据进行自 由波形输出;嵌入式程序采用实时操作系统u c o s i i ,支持多任务,便于程序 的升级和向更高端嵌入式c p u 系统的移植;在实验进行过程中能实时响应上位 机控制信号;有丰富的传感器工作采集方式,支持多传感器配合工作,可由用户 定制配合逻辑。 论文在结构上分三个部分,首先介绍所选的光学位移传感器的工作原理、数 据接口和具体应用电路,然后介绍第一种方案的工作原理,并将第一种方案分成 2 个部分分别详细阐述,第一部分是传感器数据的采集与传输,第二个部分是与 p c 机通讯的u s b 接口的构建。u s b 接口的f p ( 认逻辑实现是本论文的创新点 和难点,文章中用了大量的篇幅描述,并单独作为一个独立的章节讲述。最后概 述了第二种方案中通用实验接口盒涉及到数字式输出传感器的配置和功能。 第二章位移传感器介绍 第二章位移传感器介绍 第一节传感器概述 传感器选用p i x a r th n a g i n g 公司生产的p a n l 0 1 bc m o s 光学传感器。 p a n l 0 1 b 是一款集成了d s p 处理内核的低功耗光学传感器,它采用了 c m o s 工艺,典型应用于光电鼠标的位移侦测。 p a n l 0 1 b 基于光学导航技术,可以侦测2 维平面内的全部移动。它内部包 含了图像采集系统,数字信号处理器和两通道正交输出接口。其中图像采集系统 没有类似轨迹球,轮栅那样的易污染、易损坏的机械组件,而是通过透镜和照明 系统捕获传感器所在物体表面的显微图像,这些图像被数字信号处理器处理,来 决定传感器在物体表面移动的方向和距离。数字信号处理器产生的x 方向和y 方向的相对位移量将被转化为2 通道的正交电平信号输出。 p a n l 0 1 b 属于非接触测量,当传感器移动速度不超过o 4 n l ,s 时,都可以正 确测量移动的位移。传感器还提供了分辨率设置,可以设置为3 1 4 点厘米或者 1 5 7 点厘米两种测量方式。 第二节传感器管脚描述 1 l o 图2 1 传感器顶视图 2 2 0 1 1 第二章位移传感器介绍 表2 1 传感器管脚描述 管脚 管教类型描述 号码 名称 1v s sl 巨dg n dl e d 接地端 2 l e d 工,ol e d 控制 3o s c o u t输出 晶振输出 4 o s c 叮输入 晶振输入 5v s s dg n d芯片数字地 6 v s s ag n d芯片模拟地 7v d d dp w r 芯片数字电源3 o v 8v d d ap w r 芯片模拟电源3 o v 9 b y p a s s模拟电压参考 1 0v r tb y 队s s模拟电压参考 1 1v a y b y l l a s s 模拟电压参考 1 2 x a漏极开路输出x a 正交输出 1 3n c 悬空 1 4 x b漏极开路输出正交输出 1 5搦 漏极开路输出y a 正交输出 1 6 n c悬空 1 7y b 漏极开路输出正交输出 1 8s c l k玳 串行接口时钟 1 9 s d i o漏极开路输出串行双向数据接口 2 0p d矾 低功耗控制端,高电平有效 第二章位移传感器介绍 l d v s sl 王d 掀口 篙 第三节传感器芯片结构图及工作原理 l e d 驱动 上电复位 四0 s 图像 正 传感器 薰 交 输 出 楱 块 数字信号 处理 爿串行接口 控制寄存器晶振接口亡 图2 2 传感器系统结构框图 p a n l 0 1 b 传感器芯片底部封装了c m o s 图像传感器,当芯片在物体表面移 动的时候,c m o s 传感器通过透镜捕获l e d 光源照亮的物体表面,并不断的拍 摄记录所在表面的图像,并由内置的d s p 核计算图像之间的细微差别,之后给 出传感器移动的方向和位移量大小的信息。 输出信息的格式是2 路正交的漏极开路电平信号,即2 维平面的x 和y 方 向。 当传感器晶振频率选择为1 8 4 3 2 砌 王z 时,传感器每秒钟在其所移动的表面 上拍摄3 0 0 0 幅照片。当x 方向朝右移动,y 方向朝上移动时。x ,y a ,y b 输出波形如下图所示: 4 融篝! h 。l 出 输交 正 第二章位移传感器介绍 情况4 情况3 情况2 情况1 x 8 ,y 8 x 枞 m x i 一舒知一s 3 知- 1 一s 如-_ 羽恤 - 秘a b 4一路3 瞄 一 i 醋沁 ,2豫 3 3 3 熏b j z x 阳甘o u 月叫口 向右移 向上移 图2 3 传感器单向移动时4 种可能的输出波形 情况1 至4 分别表示x 方向朝右移动,y 方向朝上移动时,x a b ,啪波 形的4 种可能。 下面用状态转换表和状态机图来说明x a ,b 、蜘3 输出波形的含义。 传感器可以侦测x 和y 两个方向的位移量,但从x a b 和v b 输出波形 判断位移量和移动方向的原理完全相同,故以下我们只讨论x 方向。 在任意时刻,x a 仍的正交信号可能输出的4 种组合状态如下表所示: 表2 2 传感器输出状态表 x 与y 输d j 状;盎; alb olo o l _ 1 z 1 l o 1 l 1 第二章位移传感器介绍 随着传感器的移动,x a b 两路信号电平不停的发生变化,但是传感器被厂 家设计为:任意时刻) 队和都不会同时改变。使用如下的状态机跳转图可以 清晰的描述出x a b 改变的所有可能性。 图2 4 传感器状态机跳转图 x a ,b 两路信号共有4 种状态0 ,l ,2 ,3 ,相应的a b 端输出电平见传感器 输出状态表。在状态跳转图中,方向箭头指向从当前状态可能跳转到的状态,箭 头上的+ 1 、1 表示产生状态跳转需要的条件。+ 1 表示传感器在x 方向向右移动, ( 或者在y 方向向上移动) ,一1 表示传感器在x 方向向左移动,( 或者在y 方向 向下移动) 。 当x 或者y 方向没有移动的时候,x a b 或者啪的输出保持不变。 x ,y 方向单向连续移动输出波形图如下: 左# - 捞冉 g 而糖 辐 + 号方冉 g 两糖 图2 5 传感器单向连续移动输出波形图 下摹 拿疗冉 鞲撇 当传感器配置成为4 0 0 c p i 时,x a b 输出+ 1 表示传感器在x 方向右移了 1 ,4 0 0 英寸。当传感器配置成为8 0 0 c p i 时,x a b 输出+ l 表示传感器在x 方向 右移了1 8 0 0 英寸。 6 第二章位移传感器介绍 将x a b ,怕信号输出到微处理器或者数字逻辑进行判断计数,将计数的 结果累加,就可以判断出传感器在段时间内移动的相对位移量。从而实现位移 测量。 第四节传感器电路与安装 ;掣 。p ” p a n 伽o i 6 图2 6 传感器电路连接图 无论采用通用试验接口盒采集传感器数据,还是单片f p g a 实现数据采集, 系统可以提供的供电电压都是5 v ,所以选用直流电压变换器将5 v 电压转换为 芯片所需的3 3 v 电压。 由于x a ,b 、她均为漏极开路输出,所以需要加上拉电阻r 2 ,r 3 ,r 4 ,r 5 传感器依靠拍摄物体表面图像进行分析,传感器芯片及其透镜到移动表面的 距离对于捕获图像至关重要。这个距离z 的标准为2 2 衄,如下图所示 距离 传感器芯片 罩六寒l 物体表面 图2 7 传感器安装示意图 传感器的l e d 光源必须使用波长为6 3 9 皿的红光光源。 7 第三章位移数据的采集与传输 第三章位移数据的采集与传输 第一节单片f p g a 实现位移数据的采集与传输概述 使用单片f p g a 实现位移数据的采集与传输,就是在系统中,仅仅使用一片 f p g a 芯片,完全使用数字逻辑硬件电路来实现传感器数据的采集,并在同一片 f p g a 中,实现与p c 机的u s b 接口逻辑,实现实时数据传输。 相对于使用通用实验接口盒的方案,使用单片f p g a 实现数据采集与传输具 有系统结构简单,体积小等优点。而且f p g a 内部的u s b 接口部分电路是通用 电路,可以用于任何类型的传感器数据传输。 本方案的功能完全由硬件实现,不需要固件参与。 3 2 1f p g a 简介 第二节n ,g a 简介及硬件电路 本方案选择a l t e r a 公司生产的a c e x1 k 系列e p l k l o o q c 2 0 8 3f p g a 芯 片。f p g a 是2 0 世纪8 0 年代中期出现的高密度可编程逻辑器件,其内部配置有 丰富的组合逻辑与触发器单元,使用硬件描述语言可以很方便的实现任意的数字 逻辑硬件电路。 3 2 2f p g a 开发板电路 本方案使用简易的f p g a 开发板。本板给f p g a 提供电源,时钟接口和逻辑 烧写接口,并将f p g a 全部的可用i ,o 口引出以方便使用和配置。开发板原理图 及p c b 版图见下页。 。j 勺 l j 高 _ o o o n b 0 。 o o 辑黟熬豫 v 懑! 囊辫麓瓣罐翟螽辫毳雠鞭黼蠡攀 馨鬻譬萋g 器攀嚣美礤嚣篝g 嚣;嚣鬻鬻5 淄 | d 斟 坤) 、( f2 j q m 曲t 蚺 嘛 n j j l y h 2 d 。# l m 7 疗n n 黔f i 他c 窘嚣 一l ,j 一f h 髓t ,j l t u 窖- 搀 f l 曲 n j “ d i d 蛳 黧一嚣 一一。l _ - :;:5 ;z = i ;z j g 。b _ t = m 口h 2 # 。b t ;j i 鼍:;巨;i + i 主i 。8 i ;i ;毒i i i j l i ! :i 弱琵 蟊* 礴 | 吲彗 图3 1f p g a 开发板原理图 9 l l u e 、l pt#2 _ 0 = 一 ; =_za,os o s = o v l y ;= - 【“= 一 oi l v i |= v ; 口- i t i u ;i f i ,g 5 i :0 0 3 i c - i= - g = 芒= i c v 8_ o ll o l- 0 = v e m - ; _ : 0 9 j # , 蠹嚣m一趟迫艟坩婚 t :, n n 越蝴 , 艮懑瓣辫裂愁群怒攀帮瑟一 t 等h 辫峰。 喇麓m瓣髫黼叫嚣m撼晰娟一咖销_囊:粥嚣“馘瓣“m然咖黧蛳犍然帅靼n 第三章位移数据的采集与传输 3 _ 2 _ 3f p g a 开发工具 当前最便捷的f p g a 电路开发方法是使用硬件描述语言。硬件描述语言虽然 格式类似于c 语言等高级编程语言,但其与c 语言从本质上是不同的。因为硬 件描述语言的每条语句,对应的不是程序,而是实实在在的硬件电路。要用f p ( 认 内部丰富的组合逻辑与触发器构建项目所需要的电路,必须借助厂商提供的工具 软件。这些工具软件,将f p g a 开发者按照格式要求书写的一行行硬件描述语言, 一一转化成对应的触发器和与或非门电路。a l t e r a 公司提供两种软件支持此功 能,一款是早期的m ax _ 卜p l u s i i ,另一款是现在使用较多的q u a r n7 si i 。本方 案选择m a x + p l u s 作为的开发工具软件。 就像计算机的高级语言除了c 语言外还有很多种其他的语言一样,硬件描述 语言也有多种选择。当前比较流行的硬件描述语言是v 】丑) l 和v 舐1 0 9 。d l 的格式严谨,但较繁琐,多用于教学。本方案选择v 舐l o g 作为硬件电路开发语 言。 第三节f p g a 内部硬件结构 本方案中,需要在f p g a 内部实现两部分硬件电路,一部分是传感器数据的 采集与处理,另一部分是传感器数据与p c 机之间的通讯接口。本章只论述传感 器数据采集与处理部分,由于传感器数据与p c 机之间的u s b 较为复杂,所以单 开一章专门论述。 3 t 3 1 传感器数据的采集 传感器输出4 路交替变化的电平信号,当传感器配置为4 0 0 c p i ,每秒钟拍摄 3 0 0 0 幅图像的时候,4 路电平交替变化的最短时间为8 3 3 1 l s ,即变化的最快频率 为o 0 1 2 m h z 。也就是说,如果我们将此4 路电平信号直接接入f p g a ,使用高 于0 0 1 2 m h z 的时钟对此4 路信号采样,就可以将它们所有的变化情况都保存到 寄存器中。由于我们在f p g a 中采用了6 m 时钟用于u s b 接口逻辑,所以可以 直接将6 m 时钟分频产生1 m 时钟信号,用于采样4 路传感器信号。分频部分的 r j l o g 代码如下: ,产生1 m 的时钟 a l w a y s q o s c d g ec l k _ 鼻mo rp o s e d g er 骼由 i f 限鼹e t ) c 虬1 m 撑1 1 t b 0 ; e l s ei c o 吼t c r 一2 h 2 ) c l k _ l m _ 撑11 c l k _ 1 m ; e l s e c l k _ 1 m _ 群1c l k _ 1 m ; a l w a y s 0 0 s e d g ec l k _ 6 mo rp o s e d g e e t ) i f 限e s e i ) c o u n t e r = 撑12 f h o : e l s ei c o u n t e r 一2 1 1 2 ) 第三章位移数据的采集与传输 c o u m e r = 撑l2 t b o : e l s e c o u n t e r = 撑1c o u n t c r + 2 h 1 : c o u m c r 为2 b i t s 计数器。每当出现一个6 m 时钟的上升沿时,c o u n t e r 寄存器 加一。当c o u n t e r 从o 累加到2 的时候,c 墩1 m 信号翻转,同时硬件电路使c o u n t e r 寄存器归o ,重新开始计数。这样,每出现3 个6 m 时钟的上升沿,c l k - 1 m 信 号就翻转一次,相当于一个c l k1 m 的周期等于6 个6 m 时钟周期,从而实现分 频。如下图所示: 固卜c i k j m 蓝沙c o u n t e 7 萄 c i l c - 1 m 画卜r b s e t 3 3 2 传感器移动方向判断 图3 3 时钟分频波形图 使用l m 时钟采样4 路正交数据之后,需要从中对传感器位移量和位动方向 进行判断。按照第一章中传感器状态机跳转图,使用v e m o g 语言实现如下: p m e t e rs t a t e o = 2 屯o o ,s t a t e l = 2 屯0 1 , s t a t e 2 - 2 屯1 0 ,s t a t e 3 = 2 t b l l ; a l w a y s 0 0 s e d g ec l o c k o rp o s c d g er c s e o i f 限髓哟 b e 粤- n s t a t e = o : d i r e c t i o n = o : e n d e l s e c a s s t a t e ) s t a t e o :b e 百n i f ( ( a 劬) & & ( b 一1 ) ) b e 粤n s t a t e = s t a t e l : d i r e c d o n = l : e n d e l s ei 坟( a 1 ) & & ( b = o ) ) b 唧 s t a t e = s t a t e 2 : d i r d o n _ 2 ; e n d e l s e b e g i n s t a t e = s t a t e 0 : 1 2 第三章位移数据的采集与传输 d i r e c t i o n = o : e n d e n d s t a t e l :b e 西n i f ( ( _ 扛= o ) & & ( b o ) ) b 唧 s t a t e = s t a t e o : d i r c c 矗o n = 2 : e n d d s ei f ( ( a 1 ) & & ( b 一1 ) ) b 唧 s t a t e = s t a t e 3 : d i r e c d o n = l : e n d e l s e b e 西n s t a t 产s t a t e l : d i r e c d o n = o : e n d e n d s t a t e 2 :b e g i n i f ( p f o ) & :0 ) ) b e 百n s t a t e = s 切t e o : d i r e c d o n = 1 : e n d e l s ei f ( ( a 一1 ) & ( b 1 ) ) b e 西n s t a t e = s t a t e 3 : d i r e c d o n = 2 : e n d e l s e b e 目- i l s 切t e = s t a t e 2 : d i r e c d o n = o : e n d e n d s 诅t e 3 :b e g m i f ( ( _ 忙1 ) & & ( b 司) ) b e 孕n s t a t e = s t a t e 2 : d i r e c d o n = 1 : e n d d s ei 坟( a = o ) & & ( b 一1 ) ) 1 3 第三章位移数据的采集与传输 b e g = i n s t a t e = s t a t e l : d i r e c 垃o n = 2 : e n d e l s e b 唾n s t a t e = s t a t c 3 : d i r e c d o n = 0 : e n d e n d d e f a i l l t :s t a t e = s t a t e o : e n d c a s e 传感器x 方向( y 方向同理) 有4 种可能状态,分别对应s t a t c 0 到s t a t e 3 , 使用1 m 时钟对其采样,如果发现x 忸线上的状态发生改变,则根据传感器状 态机跳转图来确定传感器是向右移动还是向左移动。如果向右移动则方向标志寄 存器d i r e c t i o n 写1 ,向左移动则d c t i o n 寄存器写2 。因为采样速度远大于传感 器4 路正交信号改变速度,所以还需要有第三种状态表示传感器当前没有移动。 电路逻辑设置为,当传感器没有移动,即两路正交信号电平保持不变时,方向标 志寄存器d i r e ( m o n 输出为0 。 3 3 3 传感器位移量的计算 d i f e c d o n 信号的改变,准确记录着位移传感器的全部移动情况。我们只需要 判断d i r e c t i o n 的改变,将改变的结果累加,就可以得到一段时间内传感器位移 量的总和。当d i r e c t i o n 输出为1 的时候,将总的位移量加1 ,当d i r 。c t i o n 为2 的时候,将总的位移量减l 。当d i r e c d o n 为0 的时候,表示传感器没有移动,则 总的位移量也保持不变。相应的v 翻1 0 9 逻辑如下: a l w a y s 0 0 s e d g ec l o c ko rp o s e d g ec 1 e a r ) b e g i n i f f c l e 神 c o u m e r v a l u e = :0 f h 0 0 : d s e c a s e ( d i r e c t i o n ) 2 t b 0 1 :b e 面 i 日c o u n t e r v a l u e 净8 t b 0 1 l1 1 1 11 ) c o u n t e r v a l u e = c o u n t e r v a l u e + 8 f h l : e n d 2 b 1 0 :b e 血 i 目c o u n t e r v a l u e f - 8 r b l 0 0 0 0 0 0 c o u n t e r v a l u e = c 0 l m t c r v a l u e 8 h 1 : 饥d e n d c a s e e 1 1 d c o u n t e r u e 是位移量累加结果的计数器,其中保存的结果就是x 方向或者 1 4 第三章位移数据的采集与传输 y 方向当前总的位移量。c o u n t 枞l u e 是8 b i t s 的寄存器,可以记录从1 2 8 到1 2 7 的数字。正数表示传感器向右移动,负数表示传感器向左移动。c l e a r 是计数器 的清零信号。 每当通过u s b 接口给p c 机传送一次当前位移量之后,c l e a r 信号就产生一个 5 1 l s 的高电平,将c o u m 枞1 u e 计数器归o 。 系统逻辑设定每8 m s 给p c 机传送一次数据,8 m s 内传感器的最大可能位移 量为: 4 + 8 m s 3 3 3 3 l l s = 9 6 c o u n t 蝴1 u e 的计量范围为一1 2 8 到+ 1 2 8 ,可见足够保证记录8 m s 内全部的位 移。 3 3 4 数据打包 要将c o u n t e r v 砒u e 记录的位移量通过u s b 接口传送给p c 机,就需要将x 方 向和y 方向的两个数据打包成p c 机端驱动程序要求的格式。由于目前使用微软 w i n d o w s 自带的人机接口标准驱动程序,该程序要求使用l l s b 接口的中断传输方 式,每次至少传送4 个字节,其中x 方向和y 方向的位移量在每包的第二、三 个字节传送。将c o u n t e f v 出u e 打包的v 砸l o g 代码如下: a l w a y s o o s e d g ec _ 8 m s0 rp o s e d g e 胁c f ) i f ( r e s d ) b e 罂n m o l l s e d a t a l = o : m o u s e d a t a 2 = 0 : m o l l s e d a t a 3 = 0 : m o l l s e d a t “= o : f l 雒n o w = o : f l a 匹郴t = 0 ; f l a g s e n d = 0 ; e n d e l s e b 啦 m o l l s c d a t a 2 = n x : m o u s e d a t a 3 = n y : i f f m o u s e d a t a 2 o & & m o u s e d a t a 3 一o ) f l a 斟d w = 0 ; d s e f l a 时4 0 w = 1 ; i f ( f l a g n o w 一0 & f 1 a g l a s t 一0 ) f l a g s c n d = o : e l s ef l a g s e n d = 1 : f l a g l a s t = f l a g n o w ; e n d m o 璐e d a c a 2 ,m o l l s e d a 协3 即为l l s b 包的第二、三个字节。这两个寄存器受 时钟周期为8 m s 的时钟控制,也就是每隔8 m s ,将当前位移量的累加合打包。 f 1 a 醪e n d 信号置位标志着当前x 方向和y 方向至少有一个有变化,即传感 第三章位移数据的采集与传输 器有移动。f l a g s e n d 信号将传送至1 l s b 接口,以8 m s 为周期,如果当前周期 f 1 a g s d 没有置位,则u s b 接口不会传送此包数据。 至此,传感器的数据采集与处理部分的工作结束。传感器输入给f p g a 芯片 4 路x 方向和y 方向的正交信号,经过上述的数字逻辑电路,完成了数字信号 的采集,判断,求和,打包等一系列工作,最后给出了2 组8 b i t s 的位移量 m o l l s e d a t a 2 ,m o i l s e d a t a 3 以及单b i t 的传感器移动标志信号f l a g s 吼d 。他们将进 入f p g a 内部另一部分硬件电路1 l s b 接口传入p c 机。 第四章传感器数据与p c 机之间的通讯接口 第四章传感器数据与p c 机之间的通讯接口 在本方案中,传感器数据与p c 机之间的通讯采用u s b 接口实现。为了降低 开发初期的难度,首先实现硬件部分功能,可以通过修改u s b 接口电路内部的 描述符信息存储r o m ,很方便的利用p c 机端啪o w s 自带的u s b 驱动程 序。 由于u s b 协议的复杂性,相比于传感器数据采集与处理部分,u s b 接口部 分的电路规模更大,逻辑更复杂。 本系统根据u s b l 1 协议,实现了u s b 接口的全部功能,并利用u s b 的中 断传输与控制传输来与p c 机传输数据。 第一节u s b 接口简介 在1 9 9 4 年1 1 月,n t e l 公司提出了u s b 接口的概念,并获得了n e c ,m m , m i c r o s o f t c o p a g 等各大厂商的支持。1 9 9 5 年成立的u s bi m p l e m e n t e r s f o m m ( u s b ) ”主导了各种u s b 外围设备的开发,并制定了u s b 相关的协议。 u s b 接口具有如下的优点: ( 1 ) 即插即用( p h 培a n d p l a y ) 的特性,并具有自动检测的功能,所以无须考虑 系统资源是否有冲突。 ( 2 ) 可扩充到1 2 7 个设备,支持热插拔,无需关闭系统电源。 ( 3 ) 最高可达到4 8 0 m b p s 传输速率,可满足大多数外围设备的传输使用。 第二节u s b 接口控制器描述 图4 1u s b 接口控制器系统框图如下 1 7 第四章传感器数据与p c 机之间的通讯接口 ( 1 ) t r a n s c c i v c r 模拟收发器 模拟收发器通过终端电阻和主机的d + ,d 一数据线相接,结构框图如下 d + 0 艮0 图4 2 u s b 模拟收发器 r ) + ,鼢:为差分数据线,用来检测数据帧头和结束( s e o ) 靶四l :u s b 总线数据 1 x d + ,1 :s 输出的差分数据 o e :输出使能控制,低电平发送数据给主机:高电平接收主机数 据 ( 2 ) s 串行接口引擎( 包括协议层和物理层) s 串行接口引擎实现了全部的u s b 协议,完全由硬件实现而不需要固件的 参与。 该模块的功能包括:并行串行转换,位填充懈除填充,m 湿i 编解码,c r c 校验产生,p d 校验产生,地址识别和握手控制等u s b l 1 协议规定的功能。 ( 3 ) 端点0 f o f o 是一种用于数据缓冲存储的硬件结构,具有先进先出的特点。端点是 u s b 设各与主机通讯的通道。一个u s b 设各有多少个端点,就可以有多少条与 主机通讯的通道。不同的u s b 设备拥有的端点数量是不同的,端点o 是任何u s b 设备必须拥有的缺省端点。端点o f o 完成描述符数据的存储和传输,是u s b 设备初始化和列举的缓冲器。w n d o w s 识别一个u s b 、设备,就是依靠存储在 u s b 设备r o m 中的各类描述符实现。每当u s b 设备连接p c 机的时候,最先 在u s b 总线上传输的数据就是这些描述符。 ( 4 ) 端点lf 正。 本系统除了u s b 设备必须拥有的端点o 之外,还有另外一个端点1 。端点1 用来实现传感器移动数据的传输。端点1f o 完成传感器数据的存储和传输, 是数据传输的缓冲器。 ( 5 )应用层 应用层完成u s b 设备初始化和列举的过程,对主机发送来的标准设备请求 1 8 一 胁 协 艇 _ 宝 第四章传感器数据与p c 机之间的通讯接口 进行响应。u s b 设备的列举即u s b 设备被啪0 w s 识别的过程。在这一过程 中,u s b 设备需要将自身的所有信息通过u s b 总线传送给p c 机,这一传送过 程是由p c 机发起的。p c 发送一系列的描述符请求给u s b 设备,u s b 设备必须 能够响应这些请求并反馈自身的描述符信息,才能被啪o w s 识别。 第三节u s b 设备连接识别 u s b 接口传送信号和电源是通过一组四线的电缆,如下图 v b u s d + d g n d v 8 u s d 十 d _ g n d 图4 3 u s b 电缆 电缆中v b u s ,q m 向设备提供电源,u s 是+ 5 v 电源。d + ,d 一为两根差 分的数据线。u s b l 1 提供了两种数据传输速率模式,低速1 5 m b s ,全速1 2 m b s 。 低速模式需要更少的e m i 保护。过多的低速模式的应用将降低总线的利用率, 所以该模式只支持有限个设备。本方案采取低速传输模式。 u s b l 1 协议的低速模式的传输速率是1 5 m b s ,也就是传输1 字节数据大概 用时5 3 3 l l s 。这个速度足够保证传感器的位移量信息准确无误的传入p c 机。 设备在连接到u s b 接口之前要先串接2 9 4 4 q 的电阻器。而后根据不同的 u s b 设备的传输速率( 全速或是低速) 改变设备端的上拉电阻( 1 5 k q ) 的位 置。对于全速设备( 1 2 m b p s ) 就将上拉电阻接到d 卜1 言号线,低速设备接到d 信号线。最后,d + 和d 信号线在p c 主机的根集线器端接1 5 k q 的下拉电阻。 如下图所示: 氟脚叫嘲 j t i g 目痢# h1 厂h ; 啦 s i a w s i 州r a 姆 岫b l 。s vr 卅5 0 d 藉 瓣审 r - d 捌姐螂啊血) ( 集线嚣 低速啁暖备 图4 4 低速u s b 设备电缆和电阻连接图 当设备未连接到p c 主机的根集线器的端口时,由于d + ,d - 信号线的下拉电 阻的关系,电位为0 v ,设备连接到主机u s b 接口时,上拉电阻和下拉电阻形成 一个分压器,因此其中一根信号线的电位为电源电压的9 0 左右,此时根集线器 测知一根数据信号线趋近v c c 时,而另外一根仍维持接地状态时就可确定设备 已经连接上。 1 9 第四章传感器数据与p c 机之间的通讯接口 第四节u s b 接口n g a 电路设计 4 4 1u s b 接口控制器物理层设计 物理层是u s b 数据传输中电气信号转换成逻辑信号的一层。其功能如下 接收状态( 1 h n s c e i v c ro e 为高电平) 曲总线复位检测 b ) 从数据流中提取同步时钟 c ) s y n c 数据段检测 d ) e o p 信号检测 曲n i 屹i 解码 一 f ) b i t 位反填充 发送状态( 1 h n s c e i v e r0 e 为低电平) 曲n i 屹i 编码 舢b r r 填充 订s y n c 数据段插入 j )

温馨提示

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

评论

0/150

提交评论