首页 基于WDM的交流伺服电机运动控制器

基于WDM的交流伺服电机运动控制器

举报
开通vip

基于WDM的交流伺服电机运动控制器 2009年 1月 January 2009 —226— 计 算 机 工 程 Computer Engineering 第 35卷 第 1期 Vol.35 No.1 ·工程应用技术与实现· 文章编号:1000—3428(2009)01—0226—03 文献标识码:A 中图分类号:TP273 基于WDM的交流伺服电机运动控制器 史文浩,李秋先,刘鸿雁 (西...

基于WDM的交流伺服电机运动控制器
2009年 1月 January 2009 —226— 计 算 机 工 程 Computer Engineering 第 35卷 第 1期 Vol.35 No.1 ·工程应用技术与实现· 文章编号:1000—3428(2009)01—0226—03 文献标识码:A 中图分类号:TP273 基于WDM的交流伺服电机运动控制器 史文浩,李秋先,刘鸿雁 (西安理工大学机械与精密仪器工程学院,西安 710048) 摘 要:讨论 ISA伺服控制卡在Win2000环境下的工作过程以及WDM设备驱动程序的原理、结构和运行过程,以 ISA总线为例研究WDM 设备驱动程序的设计与开发。编写伺服控制程序并设计 PID控制器,在线调整控制参数。交流伺服电机实验结果表明,通过编写设备驱动 程序可以实现高精度定时,满足较高精度的伺服电机位置控制要求。 关键词:Windows驱动程序模式;设备驱动程序;伺服控制 AC Servo Motor Motion Controller Based on WDM SHI Wen-hao, LI Qiu-xian, LIU Hong-yan (Faculty of Mechanical and Precision Instrument Engineering, Xi’an University of Technology, Xi’an 710048) 【Abstract】This article discusses the ISA servo control card under Win2000 environment work process, the WDM device driver’s principle, the structure and running process. It researches the WDM device driver design and exploitation by taking the ISA bus as the example. Servo control program is written and PID controller is designed, the parameters are adjusted on-line. Experimental results of AC servo motor show that writing the device driver can realize high-precision timing and controll the position of high-precision servo electromotor. 【Key words】Windows driver model; device driver; servo control 1 概述 在开发微机应用系统的过程中,通常会遇到在Windows 环境下对具有特定功能的硬件设备进行直接访问与控制的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。在早期Win98 系统中,用户可以直接访问硬件,通过一 些系统函数可以容易地直接实现控制卡的I/O端口读写。而 Win2000 是一个多任务非实时操作系统,整个操作系统被分 为核心态模式和用户态模式 2个部分。CPU运行于保护模式, 统一管理硬件资源,为了保证平台的安全与完整性,执行于 用户态的应用程序代码不能直接访问硬件。要访问硬件时, 必须采用底层驱动方式,因此,通常需要开发相应的设备 驱动程序来进行硬件操作。ISA总线 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 是一种局部总线标 准,被广泛应用于工控领域。开发基于ISA总线的伺服控制卡 时,通常需要编写设备驱动程序,一般采用WDM模式[1-2]。 该模式可以解决硬件端口访问问题,也可以进行中断驱动。 以WDM模式开发的驱动程序可以支持PCI总线驱动程序。 2 设备驱动程序的整体分析 广义上,设备驱动程序是一组可以对硬件设备进行操作 的函数,它提供连接到计算机硬件的软件接口。用户程序以 一种规范的方式访问硬件,无须考虑如何控制硬件。设备驱 动程序是操作系统底层中唯一知道各种 I/O 设备控制器细节 及其用途的部分。由于设备驱动程序的任务是接受来自与设 备无关的上层软件的抽象请求,并进行与设备相关的处理, 它需要与操作系统最底层进行交互,因此不同操作系统底层 结构对应不同设备驱动程序模型。在 Win 9x下,驱动程序可 以作为应用程序的一个动态链接库(.DLL),也可以是一个独 立于应用的程序(.VxD)。在 Win2000/XP环境下,驱动程序作 为系统文件进行加载(.sys)。如果准备开发的硬件设备属于 I/O映射且不产生中断或 DMA,则选择开发 DLL形式的驱动 程序。如果需要中断响应和中断延时,就选择 VxD和 WDM, 因为 VxD 和 WDM 对硬件中断的响应速度明显大于 DLL 驱 动程序。VxD作为设备驱动程序模型只针对 Win9x系统,且 不具备平台之间的可移植性,在 PC机资源日益丰富的今天, 平台的移植性已成为 VxD 类型驱动程序难以解决的难题。 VxD是驱动程序查找安装的设备,需要特定的安装程序,而 WDM是即插即用查找设备,使用 INF文件进行安装。WDM 设备驱动程序模型具有如下优点:平台间可移植,软硬件可 配置,永远抢占优先和中断,可重用的 IRP 包驱动 I/O,支 持异步 I/O,内核基于对象。上述优点使 WDM成为编写设备 驱动程序的首选类型。 3 WDM驱动程序的基本原理和结构 3.1 WDM驱动程序的结构 WDM中设备对象和驱动程序的分层对应关系见图 1。 设备对象 驱动程序 FiDDO Filter dog driver FDO LFiDO PDO Function driver Lower Filter driver Bus driver IRP 图 1 WDM中设备对象和驱动程序的分层对应关系 Windows驱动程序模型包括 2个重要方面:(1)核心模型 作者简介:史文浩(1953-),男,教授、硕士,主研方向:机电系统 计算机控制;李秋先,硕士;刘鸿雁,讲师、博士研究生 收稿日期:2008-03-12 E-mail:shiwh@xaut.edu.cn 描述设备驱动程序的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 结构,用来描述设备驱动程序如何 安装和启动,如何为用户请求服务并与硬件通信,它必须适 应 PnP系统;(2)Microsoft为常见类型的设备提供了一系列总 线驱动程序和类驱动程序,前者用来支持不同类型的总线, 后者用来实现标准 Windows 功能。WDM 是一个分层化的驱 动程序模型,在这个模型中,驱动程序的层或堆栈一起工作 处理 I/O请求。 WDM 可以分为偏向硬件的设备抽象和偏向软件的驱动 程序模块。每个硬件设备至少有 2 个驱动程序:功能驱动程 序(对应 FDO)和总线驱动程序(对应 PDO)。功能驱动程序了 解硬件工作的所有细节,负责 I/O 初始化,处理 I/O 操作完 成时产生的中断事件,并为用户提供一种适当的设备控制方 式。总线驱动程序主要负责管理硬件与计算机的连接。除了 上述 2 个驱动程序外,还有一些过滤器驱动程序,过滤器驱 动程序在功能驱动程序之前接收并处理 IRP,它有机会提供 并添加一些功能驱动程序不知道的特征信息。这些信息由 I/O 管理器分配并由驱动程序处理,底层过滤器程序在功能驱动 程序向总线驱动程序发送 IRP 时接收并处理 IRP。在此过程 中,任何驱动程序都可以处理 IRP本身,并将 IRP传给下一 层驱动程序,也可以创建一个或多个附加 IRP 并继续传递。 上述层次结构使 I/O请求过程更明了,所有操作都使用 IRP。 由总线驱动程序检查是否有新的硬件添加,如果有,则 PnP 管理器创建一个 PDO。PnP 管理器参照注册表中的信息查找 相关过滤器和功能驱动程序。找到后,PnP 管理器先装入最 底层的过滤器驱动程序并调用其 AddDevice 函数,由该函数 创建一个 LFiDO,从而在过滤器驱动程序与 LFiDO之间建立 了水平连接。然后由 AddDevice函数把 PDO链接到 LfiDO, PnP 管理器继续向上执行,装入并调入每个下层过滤器、功 能驱动程序和每个上层过滤器驱动程序,直到完成整个堆栈。 处于左侧最顶端的是 FiDDO(过滤狗设备对象),它拥有普通 过滤器驱动程序具有的功能和看门狗功能,是第 1个 IRP的 准入门槛。 3.2 WDM驱动程序例程 一个完整的 WDM 驱动程序包含许多例程,操作系统调 用这些例程来执行针对 IRP 的各种操作。在每个 WDM驱动 程序中,都必须包含 5 个例程:DriverEntry, AddDevice, DispatchPnp, DispatchPower, DispatchWmi,其他例程可以任 意选择。Windows 应用程序主要通过 CreateFile, ReadFile, DeviceIoControl等 Win32 API与设备驱动程序打交道,上述 API 对应驱动程序的分发例程,设备驱动程序的开发要求准 确选择并应用例程。 4 WDM设备驱动程序的分析与设计 目前开发设备驱动程序的工具较多,如 DDK, WinDriver, DriverStudio 等。DriverStudio 的组件 DriverWorks 精心制作 的类库封装了 DDK 的函数,极大简化了驱动开发过程。 DriverWizard 能生成专门为特殊设备定制的代码,本文使用 它开发基于 ISA总线的设备驱动程序。在编写设备驱动程序 时,需要解决以下问题: (1)I/O端口的读写。I/O模块中的控制字和状态字的读写 通过 I/O操作完成。在 Win2000下通过其他方法也可以对 I/O 端口进行读写,并在应用程序中实现,但该方法可能导致不 可预料的结果,且其实时性和效率明显低于核心态驱动程序。 因此,应优先选用 WDM 方式进行开发。本程序中加入了端 口驱动程序来实现对端口的操作。 (2)中断。中断信号的接收和中断服务例程属于 Win2000 系统的核心级操作,无法用 API函数实现,必须由驱动程序 完成。这是编写 I/O设备驱动程序要解决的核心问题。 (3)应用程序与驱动程序之间的通信。驱动程序为设备的 硬件层编程服务,且需要提供与应用程序进行通信的能力, 以达到应用程序控制设备的目的。对 I/O 驱动程序而言,如 何快速准确地处理 I/O 端口读写的数据是设计工作的重点和 难点。鉴于此,本文提出直接编写 I/O 模块驱动程序以完成 硬件和应用程序之间数据通信的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。采用此方案实现 I/O 模块和应用程序之间的数据通信可以极大提高数据处理的实 时性,提高整个系统的响应速度。 5 ISA卡硬件资源分配 PnP的实现需要硬件设备、系统软件和驱动程序的支持。 PnP 有 2 个功能:自动动态识别安装的 PnP 设备,硬件资源 的分配和再分配。本文通过 PnP管理器和 INF文件完成 ISA 设备的资源自动分配。INF 文件为硬件设备和设备驱动程序 的安装过程提供必要的资源信息,使伺服控制卡可以方便地 安装和卸载。在应用程序中,通过调用 API 函数 DeviceIo Control 实现与 WDM 的通信。本文将产生主功能代码 IRP_MJ_DEVICE_CONTROL 的 IRP 对应 DriverWorks 里的 NTSTATUS DeviceControl(Kirp I)例程,实现 I/O端口的读写。 用DriverWorks创建WDM时,选择创建相应的Win32 Console 应用程序,应用程序通过 GUID 接口打开设备。获得该设备 的有效句柄后,就能与 WDM 进行通信,在应用程序中可以 用 hDevice=OpenByInterface(&ClassGuid, 0, &Error)语句来 完成。上述方式以同步方式打开设备。 6 Windows环境下的定时和中断处理 在自动 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 和伺服控制系统中,需要精确的时间基准, 用于完成定时数据采集处理、频率测量或作为读取串行信号 的同步时钟。在Windows中,也需要确定的时间基准以实现 定时中断。Windows操作系统本身带有定时器,在不编写设 备驱动程序的情况下,这些定时器的定时间隔较大、精度较 低。在Windows98下,其精度约为 55 ms,在Windows NT下 约为 10 ms,远不能满足伺服电机的实时性要求[3]。因此,要 实现高精度定时,必须使用能控制系统时钟的特定定时器。 本文通过对系统CMOS进行实时时钟编程实现高精度定时。 现代系统把 CMOS组合成超级 I/O芯片,可以通过软件 编程方波输出信号,并能分别屏蔽和测试 3 个中断。周期性 中断发生频率的可编程范围是 122.07 µm~500 ms。其基本 I/O 端口是 0x70 和 0x71。系统 CMOS有 4 个内部寄存器,在接 管系统的实时钟时,需要设置相关寄存器的状态。在状态寄 存器 A 中设置输入的基准频率 32 kHz、输出信号频率 1 kHz,在状态寄存器 B 中设置中断允许位。由于系统实时钟 的中断为 IRQ8,因此选择的周期中断及输出方波频率为 256 Hz。在 Windows2000中,采用专门的硬件时钟电路来获 取可靠的时间触发信号。系统捕捉到外部硬件发出的中断信 号后,进入中断服务子程序,运行程序并实现相应功能。在 中断服务程序退出时,将系统恢复到原态。 7 伺服控制程序设计和电机运行实验 7.1 交流伺服电机运动控制器硬件结构 本系统基于工控机的 ISA总线进行开发设计,主要对数 控机床、机器人或其他数控设备的坐标轴位置进行控制,它 是以光电编码器或光栅作为位置检测元件的闭环位置伺服系 —227— 统。主要硬件包括 ISA 总线、总线驱动、数据锁存及译码电 路、中断定时电路、使能报警、I/O电路、倍频鉴向电路、脉 冲接受电路、数模转换电路以及零位检测电路。 7.2 PID控制算法的程序设计 在工程实际中,应用最广泛的控制器控制规律为比例、 积分、微分控制,简称PID控制。PID控制器以其结构简单、 稳定性好、工作可靠、调整方便成为工业控制的主要技术 之一 [4]。本系统采用三相永磁交流同步伺服电机Panasonic MDMMA082AIC。 为了简化系统设计,在实际调整中,本系统采用在线整 定 PID参数的方法,经过多次尝试找到较好的 PID参数。 7.3 实验结果及分析 实验结果如图 2、图 3所示,采样间隔为 3.906 25 ms, 实际采集了 184 个数据点,其中,零速 20 个周期;匀加速 20 个周期;匀速运行 104 个周期;匀减速 20 个周期;电机 停止后继续采样 20个周期。在整个过程中,电机转动 1圈, 走过 10 000个脉冲。在实际电机控制中,由于希望被控对象 的输出与输入一致,因此引入跟随误差,即上次的给定值与 本次的反馈值之差,它直接反映了系统的精度和电机在运行 过程中的稳定性。实验结果表明,系统的跟随误差较小且均 匀,加入 PID控制算法后,可以满足较高精度的伺服电机位 置控制要求。 时间/ms 速 度/ (脉 冲· (3 .9 06 2 5 m s) -1 ) 78.125 156.25 300 400 562.5 640.625 100 90 80 70 60 50 40 30 20 10 0 图 2 速度命令曲线 时间/ms 跟 随误 差 /脉 冲数 78.125 156.25 300 400 562.5 640.625 40 30 20 10 0 -10 -20 -30 -40 图 3 跟随误差曲线 8 结束语 上述程序使用 DriverWorks 软件编写并调试,在用户态 模式下调用 API函数完成对硬件的操作。本文使用 WDM模 式开发 ISA总线伺服控制卡,进而控制伺服电机的运动,程 序结构清晰、开发周期短、效率高,在 ISA总线下实现了中 断控制。本软件能根据不同集成开发环境生成不同代码,方 便了软件技术人员。提供了可视化开发向导,能集硬件的监 测和调试于一身,开发的用户态代码可以很容易地转换为核 心态代码,极大减少了开发驱动程序的工作量,已成为驱动 开发的主流产品。生成系统文件后,本软件可以像 Win98一 样直接对端口进行读写,极大提高了数据处理的实时性。 参考文献 [1] 武安河, 邰 明, 于洪涛. Windows 2000/XP WDM设备驱动程序 开发[M]. 北京: 电子工业出版社, 2003. [2] Cant C. Writing Windows WDM Device Driver[M]. 孙 义, 马莉 波, 国雪飞, 译. 北京: 机械工业出版社, 2003. [3] 尤晋元, 史美林. Windows操作系统原理[M]. 北京: 机械工业出 版社, 2003. [4] Kaya I, Nusret T, Atherton D. A Refinement Procedure for PID Controllers[J]. Electrical Engineering, 2006, 88(3): 215-221. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (上接第 225页) (2)当 S-node和 C-node存在比特分割、比特合并的通路, 且存在一条直接通路,则从点边图中去掉比特分割、比特合 并的通路,将直接通路作为透明路径。 (3)若点边图中某一条边被多条透明路径共同占用,则须 设置控制信号,使各透明路径上的测试数据依次通过此通路, 防止出现数据冲突。 (4)为减少测试时间,允许以增加面积开销为代价,通过 增加控制单元来缩短透明路径。 3.2 实验结果 将构建了透明路径的 PARWAN 处理器作为测试访问机 制应用于 SoC 中,对其他 IP 核进行测试,测试数据从芯片 的原始输入端经 PARWAN 处理器送入待测 IP 核的输入端, 并且测试响应也经由 PARWAN 处理器送入响应分析器进行 分析。实验结果表明,构建透明路径后的 SoC芯片较原芯片 的面积增加很少。例如,构建了透明路径的 PARWAN核的面 积与原先的 855 等效门相比只增加了 1.52%。采用透明路径 方法使测试时间大大缩短,测试有效率也有较大提高。 4 结束语 本文研究 IP 核透明路径的构建方法,对 PARWAN 处理 器进行透明路径构建,应用于测试电路中,得到了较理想的 实验结果。可见,基于透明路径的测试是一种高效率、低成 本的测试方法,必将广泛应用于 SoC的测试中。 参考文献 [1] Zorian Y, Dey S, Rodgers M J. Test of Future System-on-Chips[C]// Proceedings of IEEE/ACM International Conference on Computer Aided Design. San Jose, USA: IEEE Computer Society, 2000. [2] Ono T, Wakui K, Hikima H, et al. Integrated and Automated Design-for-testability Implementation for Cell-based ICs[C]//Proc. of Asian Test Symposium. Akita, Japan: IEEE Computer Society, 1997. [3] Touba N A, Pouya B. Testing Embedded Cores Using Partial Isolation Rings[C]//Proceedings of IEEE VLSI Test Symposium. California, USA: IEEE Computer Society, 1997. [4] Whetesl L. An IEEE1149.1 Based Test Access Architecture for ICs with Embedded Cores[C]//Proc. of International Test Conference. Washington D. C., USA: IEEE Computer Society, 1997. —228—
本文档为【基于WDM的交流伺服电机运动控制器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_379880
暂无简介~
格式:pdf
大小:103KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2013-08-19
浏览量:32