当前位置: 首页技术资料详细内容
基于PCI总线的STM32运动控制卡的设计

来源:全球ic采购网 发布时间: 2014-02-08 点击:

在深入分析了意法半导体公司推出的STM32、高速PCI总线以及运动控制卡的功能和结构特点的基础上,设计了一款可直接插在PCI插槽中的伺服运动控制卡。不仅可大大降低了成本,更为开放式数控系统的研究提供了一个全新的思路。结果表明,本文所设计的伺服控制卡满足了目前控制系统的性能和要求。

伴随着计算机的普及,PC的性能、可靠性及应用环境也已经今非昔比,在工业领域方面PC拥有大量的支持软件用以改善用户界面、图形显示、动态仿真、故障诊断、网络通讯等诸多功能,此外,在总线的开发也因PC丰富的接口资源和模块化设计而变得简单。因此,基于PC的开放式数控系统绝对是未来控制系统主流主流方向,发展开放式和形成具有自主产权软件型数字控制系统,是我国数控发展迈出实质性突破和赶超世界先进水平的一次良机。因此,文中研究课题主要对数控系统实际要求出发,结合PC和高性价比的ARM系列芯片,利用模糊控制算法,设计一款性能稳定,高精度的伺服控制器,为推进伺服技术的发展具有重要意义。

1系统结构

本系统采用的是“PC+运动控制卡”形式。其中,计算机机作为上位机,可以满足控制环节多、轨迹复杂、强柔性的设备的控制要求。

以ARM为核心的控制卡作为下位机,主要负责总线通信、步进和伺服电机的控制,这样就形成了以ARM的CPU和计算机CPU主从式双CPU控制模式。计算机的多任务调度和强大的处理能力,加上微处理芯片的现场适应能力及高性价比,使得系统开放性好,可靠性高,并基本满足现阶段绝大多数工业控制的要求。

基于PCI总线的STM32运动控制卡的设计0

2运动控制卡硬件设计

2.1双口RAM与STM和CH365的连接

本文基于PCI总线的运动控制卡硬件方面主要包括2个部分:1)STM32最小系统,2)PCI总线。选用双口RAM芯片IDT7025作为STM32与CH365双向通讯的缓冲芯片。

本设计中,双口RAM IDT7025作为STM32与PC都可以读写RAM中的数据,RAM右端与PCI通信芯片CH365连接,这样就可以映射到CH365的存储空间;左端口则与STM32相连,便于STM32的随时访问。其中IDT7025需要5 V电压供电,而ARM芯片的供电电压时3.3 V,所以需要电压转换,这里选择了SN74LVTH16245.这部分的连接如图2所示。本文将双口RAM分成两个独立的存储空间;高4 k空间用于计算机向STM32传送控制指令,低4 k空间用于STM32向PC传递反馈的数据。

基于PCI总线的STM32运动控制卡的设计1

2.2 CH365与PCI接口实现

CH365与PCI部分的连接如图3所示。图中,电容C1~C4完成电源的去耦,C2~C4是大小为0.1μF的高频瓷片电容,PCB设计过程中就近并联在芯片CH365的三组电源输入输出引脚上。而地址线A15~A0作为偏移地址,数据总线D7~D0配置为读操作时的数据输入,以及写操作时的数据输出。IOP_RD为提供I/O读操作时片选脉冲信号,同样,IOP_WR用于提供I/O写操作时的片选信号,MEM_RD用于提供存储器读选通脉冲信号,MEM_WR用于提供存储器写选通脉冲信号,上述引脚的读写选通脉冲信号都是低电平有效。在I/O读写过程中,CH365的A7~A0输出I/O端口提供给其他设备的有效的位偏移地址,偏移地址也可以被译码产生二级片选信号去适应控制的要求。同样,在I/O读写过程当中,CH365的A15~A10的电平保持恒定,内部寄存器可以在输出之前决定要输出状态,A9~A8负责完整的输出PCI总线地址,通过对CH365的A9~A0的输出地址的译码就可以使用芯片拥有的本地硬件定址功能,通过MER_WR引脚向CH365芯片发送本地定址的请求,最终实现与ISA总线相兼容的地址范围内的I/O端口定址。因此,在读写操作发生的过程中,CH365的A14~A0输出提供的有效偏移地址;CH365的A15电平维持不变,由内部寄存器提前设定电平高低,用实现地址线扩展或者页面选择;而区分各个端口则通过CH365的A7~A0的地址译码来完成。

基于PCI总线的STM32运动控制卡的设计2

3运动控制卡软件设计

3.1参数自调整在线插值模糊控制算法

经典的在线模糊PID算法的实现实质上是一个查表输出的过程,因为误差与误差变化率均被不可避免的模糊量化相对取整,使控制器凋节出现死区,控制参数的分区会引起的调节不细。从理论上讲,只要不断增加控制模糊化量个数,进行等级细分,但它势必受计算机字长限制,使模糊控制没有了优势。

在线插值算法等同于将论域内的分档趋于无穷大,即通过线性插值的方式在控制规则表相邻分档之间增添无穷个新的、细分化的控制规则,对原有的控制规则加以完善,是一种快速精确的而且切实可行的控制算法。

基于PCI总线的STM32运动控制卡的设计3

参数自调整在线插值模糊控制器如图4所示。量化参数、比例系数Ku都会影响系统动、静态性能,调节比例因子的因果关系很直观,最终也会起到影响Ke和Kec的作用,选择在线自调整Ku值能够起到良好的效果,不至系统过于复杂而影响实时性。

文中利用在线差值控制算法的特点,设计了算法实现的软件流程,如图5所示。

基于PCI总线的STM32运动控制卡的设计4

3.2操作系统下的功能实现

为满足多任务的调度和系统实时性的要求,软件的整体实现,本设计引入μC/OS-Ⅱ操作系统。

3.2.1 RTL8019AS底层驱动程序

通常情况下,用户根据硬件芯片型号找到RTL8019AS底层驱动程序库的编写所需要的文档资料即可编写相关的底层函数,其主要功能函数如下:NicInit()一RTL8019AS的初始化;NicClose()一关闭RTL8019AS芯片数据收发功能;NicReset()一复位RTL8019AS芯片;EtherOutput()一数据包输出;Etherlnput()一数据包接收。

网络通信还需要底层RTL8019AS驱动程序支持,参考R,rL8019AS以及AT91FR40162,即可编写出针对此系统的RTL8019AS底层驱动程序。

按技术分类
Copyright © 2003-2012 全球IC采购网版权所有  经营许可证:粤B2-20050399 备案号:粤ICP备11031242号 网络安全证书:4403100920657
访问和使用全球电子网,即表明您已完全接受和服从我们的用户协议。