采用PCI9052设计PCI总线运动控制卡
函数库及驱动设计
运动控制卡给用户提供了一个软硬件的使用平台,用户可以根据自己的需要选择使用自己需要的功能,而对于功能实现,函数库的编制是必须的。函数库用于运动控制系统的二次开发,编程人员可以使用高级语言,通过对库函数的调用,来实现对运动控制系统的控制。该系统的库函数包括5类。
(1)基本参数设置,包括卡的初始化与释放、脉冲输出方式、软硬件限位设定、脉冲输出方式及编码器输入的工作方式、加/减速方式设定及输入信号滤波功能设置等;
(2)运动参数的设定与读取,包括范围设定、加/减速度的设定与读取、驱动速度的设定与读取、初始速度的设定与读取、逻辑/实际位置计数器的设定与读取、COMP+/COMP-寄存器的设定等;
(3)驱动状态检查,包括获取各轴的驱动状态及插补驱动状态;
(4)脉冲驱动输出及设定,包括两轴直线插补、顺时针/逆时针圆弧插补、定量驱动、连续驱动及驱动的减速停止与立即停止;
(5)开关量输入输出,包括所有开关量的输入输出及单个输入输出的控制。
开发Windows下的应用程序应考虑系统的限制,Windows系统为保护系统对用户的访问权限进行了划分,用户所处的级别由系统对硬件资源进行了屏蔽,用户不能直接访问硬件资源。为了达到与硬件通信的目的,必须编写驱动程序。
用于Windows驱动开发的工具包括Windriver,DriverStudio以及DDK(Driver Develop Kit)。Windriver使用简单,不需要专门的关于系统驱动的知识,开发时间短,但效率低,且不易发布;DDK效率及可靠性高,但使用烦琐,开发周期长;DriverStudio包括DriverWorks,SoftICE,DirverAgent等工具,具有开发调试的强大功能,把DDK用类的形式进行了封装,使用简单。本文就是利用DriveStudio进行驱动开发的。
DriverWorks提供了DriverWizard向导,利用它可以生成驱动程序的框架,其中最为关键的一步添加相应的I/O端口、内存资源、DMA、中断等相应得硬件资源,并在相应的处理程序中添加代码。
结论
本系统采用PCI总线接口及MCX312运动控制芯片,支持即插即用,可用于多种操作系统,具有输出脉冲频率高、控制准确、易向多轴扩展等特点,可广泛应用于机器人、基于PC的数控系统中。