首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 图形图象-> CORELDRAW教程
基于cpld多通道编码器数据采集系统
作者:网友供稿 点击:44
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

贺胜洪 钱雪军
同济大学电气工程系上海,200331


  摘 要:本文提出了采用Xilinx公司生产的CPLD来对多通道旋转编码器进行数据采集的方法,着重介绍了系统的软硬件设计和驱动程序开发,以及实际应用情况,得出了用CPLD技术为多通道编码器进行数据采集这样一种切实可行的方法。

  关键词:旋转编码器 CPLD 数据采集

  概述

  旋转编码器是一种测量旋转角度的测量器件,通常采用两个相位差90度的方波编码方式,其旋转方向由两个波形的相位差决定。当输出波形A超前于输出波形B如图1,则可认为是正方向旋转,反之,若输出波形A滞后于输出波形B如图2,则可认为是反方向旋转,当旋转方向发生变化时,其输出信号产生镜像翻转如图3。







  编码器的精度由旋转一周产生方波数决定,当旋转一周可产生2000个方波时,每一个方波周期表示为360°/2000。但为了提高旋转编码器的测量精度,系统将A、B两相的各个沿进行了计数,从而将测量精度提高了四倍,相当于最小的测量角度为360°/8000。

  旋转编码器广泛应用于旋转角度的测量,以及可以将各种参数角度化的参数的测量,通过与各种机械结构的组合,可以测量多种物体的边缘形状、各种机械装置的结构偏差等。

  本论文主要根据旋转编码的输出信号特点,提出了采用CPLD技术,来完成6个旋转编码器信号测量,采用CPLD技术,设计适合于PC机的数据采集卡的硬件以及软件,并给出了实际调试及应用结果。

  1数据采集系统的硬件设计

  1.1系统结构

  数据采集系统由旋转编码器信号接口、光电隔离和信号校正、编码计数以及PC接口组成,系统结构如图4。旋转编码器信号接口将旋转编码器的信号通过一定的接插件引入到采集卡中,随后通过光电隔离与信号校正,送入到由CPLD器件实现的编码器计数。宿主机通过ISA总线来对编码器的计数进行控制与读取。



  1.2光电隔离和信号校正

  旋转编码器的控制电源可以在较大范围内变化使用,为了确保系统的安全可靠,必须进行光电隔离。

  由于旋转编码器的输出信号频率达100kHz,所以应选用高速的光电隔离器件,如具有1M数据速率的4N135/136,或10M数据速率的4N137等。同时为了防止噪声引起的信号抖动,应采用斯密特触发器进行抗抖和信号校正。

  1.3编码器计数

  编码器计数由CPLD器件来完成。CPLD是复杂可编程逻辑器件的简称。系统选用Xilinx生产的XC9500系列CPLD,它是一种FLASH编程型的可编程逻辑器件。该产品采用先进的FastFLASH技术,该技术采用一个双层的多晶硅、两层金属技术,可提供高达10000次以上的编程/擦写寿命周期,和传统存储技术EPROM和E2PROM相比有着明显的优势。采用EPROM存储技术虽可提供优良存储器单元且功耗较低,但它不可电擦除;采用E2PROM技术虽可电擦除,但需要较大的存储器。而CPLD的FastFLASH技术是对EPROM技术的电擦除扩展。

  和普通的可编程逻辑器件相比,CPLD具有以下优点:操作灵活、使用方便;高性能的逻辑能力;存储元胞密度高;可靠性高;开发迅速;经久耐用;能实行电擦除;能为器件提供快速编程;采用ISP(系统同编程)技术。

  XC9500系列中可供选用的片子有多种,从旋转编码器的测量、片子宏单元的多少以及调试的方便,系统最终选用了XC95108PC84。

  XC95108的机械特性和电气特性如下:宏单元数为108个;最大端口数为108个;引脚至引脚延时7.5ns;系统频率为83.3MHz;支持单个OE(输出使能)控制;支持JTAG(IEEE边界扫描标准1149.1)协议。特别值得一提的是,XC95108采用了ISP技术。因此,对器件进行编程不再需要硬件编程器。只要一根下载电缆通过下载软件与元件的编程接口连接即可实现。并且,无论产品处在设计或制造的哪个环节,还是产品已提交给用户以后,都可以改写器件的逻辑功能,也就是可以通过软件对硬件进行升级。

  六个通道的旋转编码器计数由两个XC95108完成,每个XC95108完成三个编码器通道的编码计数以及相关控制命令的接受和计数值的输出,其大致功能可由图5表示。



  1.4PC机接口

  六个通道的编码器信号通过光电隔离和信号较正送入两片XC95108后,XC95108分别对三个通道的计数信号进行正反相计数,其计数结果分别存放在不同的寄存器中,供宿主机PC读取。根据设计的实际需要,PC机接口采用ISA总线。

  PC机接口要完成对ISA总线的地址译码,数据的缓冲和数据的双向传送(控制命令发送和编码器计数值的读取)。所有的这些功能同样由一片CPLD器件(同样选择XC95108)完成,其主要功能可由图6表示。



  2CPLD功能实现

  系统采用3片XC95108分别实现6个通道旋转编码器的编码计数以及与PC计算机的接口。这里主要介绍一个通道的编码计数实现。CPLD功能实现根据支持软件的不同可选择采用原理图方式、VHDL编程以及两者混合使用三种模式,本系统设计采用VHDL语言编程方式。

  为了确保旋转编码器的编码精度,采用对输出信号A、B的各沿进行编码计数方式,这意味着要提取输出信号A、B的各个跳变,图7是一种跳变检测电路的原理图,相对应的VHDL编程如下。







  根据A,B变化前后的状态,可以得到旋转方向、变即计数器计数方向Dire。从而可以有下列计数程序。



  这样就实现了一个通道的编码计数。

  3系统的控制软件设计

  3.1虚拟设备驱动程序

  应用系统要使用该采集卡,必须要有相应的软件支持,这各支持可以是直接将复杂的控制方式告诉用户,让用户直接对该卡操作,这样大大增加了程序的复杂性,也可以采用动态连接库的方式,这里该系统提供了虚拟设备驱动程序的接口方式。

  对于不同的工作平台,可以有不同的设备驱动程序模型,对于Windows9x可以为VxD,对于Windows2000为WDM,对于Windows98既可以是VxD,也可以是WDM。而编写的方式和借助的工具也各不相同。对于编写VxD可以借助于VtoolsD,对于编写WDM可以借助于DriverWorks,或者直接用Microsoft DDK(Windows9x和Windows2000均可)。现以编写VxD为例,简述本系统的虚拟设备驱动程序的编写。

  VxD是Vixtual x Device的简写,此处x表示Something。但VxD的功能远非仅仅虚拟某个硬件设备。有些VxD确实用来虚拟设备,而有些虽然用作驱动程序,却并不虚拟任何设备。而另外有些VxD只是给其他应用程序或VxD提供服务。不管如何,它的作用在于对Windows操作系统的功能进行扩展。开发VxD常用的方法是用汇编语言,或者用汇编语言和C语言混合编程,而本设计借助于Compuware推出的VtoolsD,从编写、编译VxD到应用程序调用VxD都不涉及汇编语言,直接用C++语言来实现。思路如下:

  (1)运用VtoolsD的QuickVxd,快速生成VxD基本框架。在“Device Parameters”栏填上VxD的名称(要遵循C语言规则),本研究中设为SJCJ。为了能将该软件动态加载,注意选中Dynamically Loadable。对VxD有动态加载和静态加载方法。动态加载是由应用程序或别的VxD来加载,而静态加载是在Windows初始化时加载,直至Windows结束运行时才卸载。如果VxD(如本例)是为某些特定应用程序服务,则最好不要静态加载,因为当应用程序不调用它时,它所占的那部分内存就浪费了。为了能向Win32应用程序提供服务,控制消息W32-DEVICEIOCONTROL应选中。在“Output Files”栏选择输出地址目录,输出SJCJ.h文件、SJCJ.cpp文件和SJCJ.mak文件。

  (2)根据需要在SJCJ.h和SJCJ.cpp添加相应的类和函数(SJCJ.mak用来指导编译程序对源程序进行编译,不要变更),其添加规则与C++的规则完全一样。本程序所要实现的是要对某个指定的I/O端口进行完全监视,并且采集相关数据,所以另外添加了一些与相关的类和函数。

  3.2应用程序对VxD的调用

  按照传统方法,调用VxD一般要用汇编语言,但通过W32-DEVICEIOCONTROL控制消息,可以实现Win32API对VxD的直接调用。刚才在Quick Vxd中已将该消息选中,系统就会自动加载Virtual DWORD OnW32DeviceIoControl函数,该函数用来处理Win32API的调用问题。换言之,当Win32应用程序加载VxD、调用W32 DeviceIocontrol API以及卸载VxD时,将触发函数OnW32DeviceIoControl,从而实现数据的交换。Win32应用程序通过调用函数CreateFile可以调用SJCJ.VxD;通过调用函数CloseHandle可以卸载SJCJ.VxD。

  4调试结果

  多通道旋转编码器数据采集系统完成后,先后在不同的系统中进行了应用测试,取得了较好的实际效果。下面该系统应用于“具有交叉支撑的三大件转向架的平面形位偏差”测试为例作简要说明。

  铁路车辆应用具有交叉支撑的三大件转向架后,左右侧架被弹性固定。由于各种因素,不可能使左右侧架完全正位。从而使实际导框的中心与名义中心不一致。虽然轮对的承载鞍与导框间有间隙,但由于摩擦力巨大,轮对不能轻易活动,导框的实际中心的偏差会造成轮对的平均(统计概率)定位中心的偏差。研究表明这种偏差会不同程序地影响车辆的线路上的运行状态,引起转向架的不对称磨耗,实际情况下我们用轴距偏差、对角线偏差等来控制转向架的正位状态。

  为此采用机械结构结合多个旋转编码器来测量轴距偏差、对角线偏差等来控制转向架的正位状态。

  为此采用机械结构结合多个旋转编码器来测量轴距偏差、对角线偏差,从而保证将这些偏差控制在一定范围内,减少转向架的不对称磨耗。该系统选用10个日本光洋公司出产的旋转编码器TRD-N-RZ2000,旋转一周能产生2000个方波,而且最大的响应频率达到100kHz。该系统用两块多通道旋转编码器数据采集卡,同时采集10个计数值。使用表明,可以很好的实现系统的要求,采集数据误差为±1,即测量精度为360°/8000。

  5结论

  采用CPLD技术来实现多通道编码器数据采集系统是切实可行的,由于采用了ISP和JTAG技术,修改和编程都很方便,所以通过对程序的修改,可以使该数据采集系统适合于多种编程方式的编码器,从而使该系统的应用场合更加广泛。

  参考文献

  1朱明程.XILINX数字系统现场集成技术.南京:东南大学出版社

  2徐志军等.CPLD/FPGA的开发与应用.北京:电子工业出版社

  3杨全胜等.现代微机原理与接口技术.北京:电子工业出版社

  4KAREN HAZZAH.Writing Windows VxDs and Device Driver,孙喜明译.北京:中国电力出版社

  5杨强,李堂秋.Win9x虚拟设备驱动程序编程指南.北京:清华大学出版社

  
摘自 自动化与仪器仪表

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·使用Winsock控件,实现网络点对点通信-.NET教程,组件控件开发
·用正则表达式来校验数据的合法性-ASP教程,正则表达式
·java中实现IP地址的各种表现形式之间的转换-JSP教程,Java技巧及代码
·tomcat 中 /servlet url 映射-JSP教程,Jsp/Servlet
·coreldraw文字排版实战技巧
·javascript控制页面控件隐藏显示的两种方法-ASP教程,组件开发
·IIS的一个莫名错误Server Application Unavailable-ASP教程,ASP技巧
·什么是LDAP-PHP教程,PHP应用
·ibm联想将笔记本外包给quanta与wistron
·coreldraw版面设计教程
最新文章
·google关键词广告创建的十二高招_网赚技巧
·个人站长怎么样在短期内赚钱_网赚技巧
·颠峰对决:google adsense和百度主题推广_网赚技巧
·网站定位方法汇总篇_站长心得
·b2b网站探索合作新模式_站长心得
·分析一下网站赚不到钱的四大原因_站长心得
·什么是wiki?_站长心得
·留住访客 如何最优化设计网站的首页?(3)_站长心得
·google开始可以抓取框架内容_google推广
·google pagerank 技术解密 2_google推广
相关主题
  • 基于cpld的数字触发电路的设计
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭