找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] CPLD在基于PCI总线功率模块设计中的应用

[复制链接]
admin 发表于 2013-3-21 07:42:11 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  在机电一体化控制系统中,直流电机常用于控制系统的执行器,是电机控制的重要部分,能按照处理器指令驱动电机运转实现电机控制。目前直流电机PWM(pulse width modulation,脉宽调制)驱动控制方式应用最为广泛。
     2 直流电动机的PWM控制原理
     直流电动机具有良好的线性调速特性,控制功能简单,效率高及动态特性优异,因此是大多数调速控制电动机的最佳选择。一般直流电机的控制信号包括脉宽调制(PWM)、方向(Dir)和刹车(Brake)信号。而PWM脉宽调制可视为速度信号,通过改变PWM信号的占空比来控制电动机电压,方向信号控制电动机转向,刹车信号控制电动机启停。
     由图1看出,PWM调速时,改变占空比有三种方法。
     (1)定宽调频法:保持t1不变,只改变t2,这样使周期T(或频率)也随之改变。
     (2)调频调宽法:保持t1不变,改变t2,这样使周期T(或频率)也随之改变。
     (3)定频调宽法:周期T(或频率)保持不变,同时改变t1和t2。
     在CPLD设计中,输入不同的周期和占空比可选择相应改变占空比方法,从而实现PWM调速。
   
     
     3 系统设计
     一些新型单片机具有PWM功能,能按要求自动输出PWM信号,但笔者研制的基于PCI总线的机电一体化产品控制系统,MCU与电机驱动器通过PCI总线实现通信,其系统结构图如图2所示,图3为MCU模块与功率模块连接图。
    20121107053342573032532.jpg
   
    20121107053342651152533.jpg
     MCU与其他模块间的通信都是通过PCI总线实现的,而电机工作期间功率模块上的电机驱动器需要连续不断的PWM信号。如果使用MCU发送PWM信号则需长时间占用PCI总线,导致在驱动电机期间MCU无法与其他模块通信。因此,采用CPLD实现数字控制PWM信号。
     3.1 CPLD功能设计
     系统设计时考虑到实用和成本等因素,选用Altera公司FLEX6000系列CPLD EPF6010ATC100-1。EPF6010ATC100-1是专为大容量设计的一种低成本可编程交错式门阵列,共有16 000个可用门,1320个逻辑单元,117个I/O引脚,每个I/O引脚都有独立的三态输出使能控制。该器件采用OPEFLEX结构,采用最小的封装尺寸并具有高性能和高布线率。器件的基本组成是逻辑单元(LE)。每个逻辑单元由一个4输入查找表、一个寄存器以及作为进位链和级连链功能的专用通道。每10个逻辑单元组成一个逻辑阵列块(LAB),并采用SRAM构造,可通过外部EEPROM或控制器实现在线配置,便于设计者在设计初期以及设计测试过程中对设计灵活修改,同时也能够通过在线重新配置改变其内部功能。图4为产生PWM信号的CPLD电路连接图。
    20121107053342698032534.jpg
     
     CPLD功能设计思路:对电机控制时,MCU将一个16位数据写入CPLD器件的寄存器,CPLD则按照不同的数据产生相应的PWM波形。16位数据的分配如图5所示。
    20121107053342744902535.jpg
     EPF6010ATC100-1的输入信号共有16个数据信号(LD[15:0])和4个控制信号(CLK、BLAST、CS和RESET),16个数据信号用于接收:MCU模块发送的16位数据字。4个控制信号中,CLK为CPLD工作的时钟信号,频率可高达40 MHz,用于计数并产生准确的PWM占空比:BLAST为状态信号,低电平时表示处于数据期,此时将数据读入寄存器,等待BLAST上升沿,即该次数据访问结束后发出PWM信号:CS信号用于片选CPLD器件:RESET则用于对CPLD器件复位,复位后,6个输出引脚均为高阻态。
     本系统设计选用的电动机PWM控制系统是双极性可逆系统,双极性驱动是指一个PWM周期中,作用于电枢两端的脉冲电压正负交替:可逆系统是指电动机可以正反两个方向旋转,因此采用两个引脚产生PWM信号来控制电机的正反转。P1.0和P1.1、P2.0和P2.1、P3.0和P3.1设置为三组PWM信号通道,当P1.0产生PWM波形时P1.1为低电平,此时电机正转,反之电机反转,并通过LD15控制电机运转方向。为了简化程序设计和以节省成本,根据实际需要,设计该三组通道不同时产生PWM信号,同一时刻只产生一组PWM信号,通过LD[14:13]选择具体通道产生的PWM信号;LD[12:6]用于给定PWM信号的占空比;LD[5:0]用于给定PWM信号频率,范围为1 kHz~63 kHz,能满足驱动电机需要。如果需要改变PWM信号的占空比、频率、方向或更换PWM通道,只需再发送一个16位数据即可足要求。
     3.2 CPLD开发工具
     Altera公司开发的Quartus II软件为可编程片上系统(SOPC)设计提供了一个工具齐全、功能强大的设计环境。Quartus II软件可完成设计输入、综合、布局布线、时序分析、仿真和编程等功能。根据需要选用CPLD器件系列,采用Veilog HDL语言输入方式编写控制组合逻辑代码和测试激励代码,利用Quartus II软件自带的工具分析综合代码,并进行布局布线、资源分配以及时序分析和波形仿真。Quartus II还为第三方EDA工具软件提供了友好接口,可直接在Quartus II中调用Modelsim软件进行前期的功能仿真和布局布线后的时序仿真。
     4 结束语
     利用CPLD技术实现了逻辑和时序的控制,简化了硬件电路设计。基于CPLD的可编程特点,可以在不改变硬件电路整体结构的情况下对设计电路进行改造、升级以及维护:并且减少了软件程序的操作指令,简化了系统结构,提高了数据处理和读取速度。
     基于CPLD的PWM控制器电路结构简单,设计方便,简化了外部线路设计,节省了PCB板空间:解决了机电一体化开发平台中MCU模块与功率模块基于PCI总线的通信,并且设计产生占空比和频率范围可调的PWM信号能满足直流电机的要求,适用于自动控制和电力电子领域。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 04:45 , Processed in 0.057137 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表