基于PCI总线和DSP的交流调速系统的设计和实现

来源:本站
导读:目前正在解读《基于PCI总线和DSP的交流调速系统的设计和实现》的相关信息,《基于PCI总线和DSP的交流调速系统的设计和实现》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《基于PCI总线和DSP的交流调速系统的设计和实现》的详细说明。
简介:本文介绍了一种基于PCI总线和DSP的交流调速系统,上位机通过PCI9030和LF2406对码盘数据和电机相电流的采样和向功率板输出PWM,实现用高级语言编写程序控制电机,以此来方便测试各种算法的合理性及性能。

1 引言

随着微电子、电力电子的发展,交流伺服电机及交流伺服驱动系统渐成为现代电气传动的主导产品,现代控制理论的发展以及高速高性能微处理器和DSP的诞生,使复杂的交流电机全部软件控制成为可能。但是在DSP中用汇编语言实现算法,不管是程序的编写还是调试都是要花费大量精力和时间,特别是检验某种算法时,人们更不愿意把大量时间花在程序的编写和调试上。比较有效的一个解决方法就是用高级语言编写程序从而加快开发进度,在PC机上采用C或者VC等高级语言能够比较容易的实现各种算法,控制程序对电机运行时的各种参数进行采样,处理后再发送控制信号到功率板,实现对电机转速的实时控制。PC机的运算处理速度日益加快,使这种思想成为可能。其中还涉及到数据传输问题,要传送大量的数据到下位机,就需要一种比较快的通讯方式。考虑到PCI总线的各种特性,用其实现数据传输符合以上要求。本文实现的系统就是实现这些功能。

2 PCI局部总线以及PCI9030芯片

PCI总线是一种高性能32或者64位的地址数据复用的同步总线,采用33MHz的频率,采用突发传输方式时,32位数据总线最高传输率可高达132Mb/s,目前已有66MHz频率的PCI总线设备,使传输率更有了提高,因此上位机和下位机通过PCI总线来进行对速度要求较高的通信不失是一种理想的选择。整个PCI系统结构复杂,协议理解困难,要自己实现接口电路要花大量的时间并且处理时序容易出错,采用通用的PCI接口芯片可以解决这个问题,从而缩短开发周期。

PCI9030是符合PCI2.2规范支持最高60MHz的局部总线操作的PCI桥接芯片,只能够作为PCI目标设备使用,它有9个可编程GPIO,在目标预读取模式下,PCI 9030将从局域总线预取可编程数量的数据,预取的数据可从PCI 9030内部PCI目标读取FIFO在PCI总线上进行突发传输,预取大小可编程为适合PCI主控器的突发长度或用作PCI目标预读取模式数据,该特性可增加带宽并减少读取延迟。同时PCI9030能兼容3.3V和5V信号环境。以上几个特征使其在速度和性能以及灵活性上都让设计者的负担减轻了很多,本系统的PCI接口芯片选用了PCI9030。

3 系统的实现方案及工作过程

系统主要是由以下几个部分组成:PCI9030芯片,TMS320LF2406A,功率驱动板以及处理数据运算的上位机。系统简单结构框图如图1所示。

基于PCI总线和DSP的交流调速系统的设计和实现

图1 调速系统系统结构框图

PCI9030和2406是通过PCI9030的局部地址/数据复用总线(LAD[31:0])和2406的IO端口相连来实现数据通信的,如图2所示。PCI9030有32位局部地址/数据复用总线,考虑2406的IO端口数量,本系统中并没有用到PCI9030的全部32根局部数据线,真正传输数据的只有16位,还有5根是数据帧的头部,用来表示数据的意义。在上位机上采用各种算法编写控制程序,电机的当前状态由光电码盘传给DSP,处理后将结果连同霍尔检测到的相电流等通过PCI总线传给控制程序,控制程序通过计算后再将电流值传给DSP,由DSP产生PWM传给功率板,从而控制电机。DSP在将数据送到IO线上后通过LINTi1给PCI9030发送一个中断,9030接到中断后从局部总线上读取21位的数据,上位机控制程序通过对这一帧数据格式的分析来确定该数据代表的意义(电压、电流、位置、速度等),然后作相应的处理。当PCI9030要向DSP发送控制数据时,先通过LAD20数据线发送一个信号(实际上表现为局部总线上传送一次数据),然后再将控制数据传给DSP。

LF2406A具有多路PWM输出引脚,采用该芯片可以比较容易的根据电流值产生PWM,本系统中采用PWM7/IOPE1、PWM9/IOPE3 、PWM11/IOPE5三个管脚来输出三路PWM信号,PWM信号经过放大后传送到功率板。功率板上对PWM信号经过光电隔离后输出到智能功率模块(IPM)中,由此来驱动交流电机。

基于PCI总线和DSP的交流调速系统的设计和实现

图2 PCI9030和2406连接图

PCI9030连接到PCI机的PCI插槽上面,而对于通信模式等的选择都存储在与PCI9030相连的E2PROM里面,每次启动后,PCI9030都读取该存储器里的数据来初始化自己的状态并确定工作模式。

系统方框图如图3所示,由图3可以看出,该系统和一般的简单交流调速系统并无本质上的差别,只是将原来用单片机和外围电路实现的功能通过上位机的程序和DSP的一些简单处理来实现。大量的运算是通过PC机上的控制程序来完成的。

基于PCI总线和DSP的交流调速系统的设计和实现

4 软件的实现

系统的连接部分是一个用PCI9030和LF2406A做的一块PCI卡,该卡插到PC机的PCI插槽,从而连接上位机和下位机,这就涉及到一个通信问题,在对硬件的访问方面,Windows系统不同于DOS系统之处是其将硬件进行了封装保护,如图4所示,Windows2000系统下面应用程序无法直接对硬件进行操作,只有进入了内核模式才能运行特权级指令对I/O端口进行操作,实现对PCI接口的器件操作要根据Windows提供的驱动程序模型WDM(windows98以后都采用WDM)来编写驱动程序。

驱动程序的实质是提供应用程序对微机底层硬件访问的软件接口, 向下它管理实际数据传输和控制特定类型的物理设备的操作,如I/O操作、中断处理、DMA 操作等,向上它提供了与硬件无关的应用程序接口,驱动程序对于PCI9030本身来说起到内存映射和中断管理的作用。驱动程序安装后,应用程序对PCI卡的访问通过调用Windows API的函数CreateFile来实现,这样,对端口的操作最终表现为对一个文件的操作。

基于PCI总线和DSP的交流调速系统的设计和实现

WDM程序的编写采用了Microsoft提供的DDK,上位机的程序是用VC编写,目前只是用矢量控制思想实现一个简单的算法,用软件实现电流环。

5 结束语

本套系统是根据华中科技大学自控系自动化所的交流调速教学实验系统改进而来的,原系统运行比较可靠,但在和上位机和下位机通信方面用的是ISA总线,随着PC机的发展,很多已经不提供通信较慢的ISA接口,并且原来的通信由于是对端口直接操作,随着PC机的运行速度的变化也会出现一些不同步的问题。采用PCI接口后通信稳定,采用WDM驱动程序的方式对端口进行访问,可以让用户更方便的用高级语言编写算法并应用于系统中。

提醒:《基于PCI总线和DSP的交流调速系统的设计和实现》最后刷新时间 2024-03-14 01:05:27,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《基于PCI总线和DSP的交流调速系统的设计和实现》该内容的真实性请自行鉴别。