CN109558363A - 基于pc/104总线与fpga产生svpwm的装置及方法 - Google Patents

基于pc/104总线与fpga产生svpwm的装置及方法 Download PDF

Info

Publication number
CN109558363A
CN109558363A CN201811443883.8A CN201811443883A CN109558363A CN 109558363 A CN109558363 A CN 109558363A CN 201811443883 A CN201811443883 A CN 201811443883A CN 109558363 A CN109558363 A CN 109558363A
Authority
CN
China
Prior art keywords
module
fpga
bus
signal
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811443883.8A
Other languages
English (en)
Other versions
CN109558363B (zh
Inventor
张强
吴延飞
张玉川
王金来
张君婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hebei University of Technology
Original Assignee
Hebei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hebei University of Technology filed Critical Hebei University of Technology
Priority to CN201811443883.8A priority Critical patent/CN109558363B/zh
Publication of CN109558363A publication Critical patent/CN109558363A/zh
Application granted granted Critical
Publication of CN109558363B publication Critical patent/CN109558363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Rectifiers (AREA)

Abstract

本发明为基于PC/104总线与FPGA产生SVPWM的装置及方法,包括PC/104总线、数据采集模块、CPU模块、A/D转换模块,所述数据采集模块的输入端与外部三相线电压连接,数据采集模块的输出端与A/D转换模块的输入端连接,CPU模块与PC/104总线进行双向通信,该装置还包括电平转换模块和FPGA开发板;所述A/D转换模块为AD7606开发板,所述电平转换模块为电平转换芯片SN74LVC4245A,A/D转换模块8位数据线通过电平转换芯片SN74LVC4245A与PC/104总线的Data Bite0~Data Bite7共8位数据线相连接所述FPGA与PC/104总线进行并行通信。通过PC/104总线与控制核心和FPGA的连接进行数据的传输,增强了系统的时序处理能力以及并行计算能力,解决了PC/104总线与控制核心80X86和FPGA之间数据交换与状态控制问题生成SVPWM,可用于驱动三相全控整流器。

Description

基于PC/104总线与FPGA产生SVPWM的装置及方法
技术领域
本发明属于先进制造与自动化控制技术领域,具体为一种基于PC/104总线与FPGA产生SVPWM的装置及方法。
背景技术
随着电力电子技术的发展,电力电子装置应用也越来越广泛,各种以脉冲宽度调制(PWM)控制的变流装置在工业、国防、交通等领域得到了广泛应用。目前二极管箝位式三电平电压型整流器在中压大功率传动系统中得到了广泛的应用。三相整流桥一共使用12个整流器件IGBT,通过调制生成的SVPWM信号控制整流桥上的IGBT工作。在整流器工作并正常实施PWM控制时,每个桥臂任意时刻都有两个开关管并入母线端,因此与传统两电平整流器相比,在相同的母线目标电压下,三电平整流器主电路中每个开关管承受的电压是两电平整流器的一半,改善了开关管的电压应力。所以说,三电平变流器比两电平更适合用于高压大功率领域。
基于空间电流矢量的SVPWM信号发生技术,大多数都采用DSP以及CPLD作为控制核心,存在程序设计复杂、开发周期长、外围电路设计难度较大等问题。例如,2013年东北大学武海南硕士毕业论文《三相三电平SVPWM整流器的研究与设计》一文中,以DSP与CPLD作为控制核心,虽然DSP集成度很高,片内集成了事件管理器(产生SVPWM必用模块)以及ADC采样模块,ADC模块一共有16个采样通道,但是同一时刻只能对一路输入信号进行转换,就导致了采样频率相对较低,此外还需要搭建采样信号调理电路等等,影响了系统整体的可靠性,加大了硬件电路设计的复杂性;SVPWM的生成对系统时序逻辑处理要求较高,与FPGA相比,CPLD时序逻辑处理能力较弱并且功耗较大,编程灵活性差;因此以DSP与CPLD作为控制核心使得程序设计过程非常复杂,不便于调试。
发明内容
针对现有技术的不足,本发明拟解决的问题是,提供一种基于PC/104总线与FPGA产生SVPWM的装置及方法。该装置及方法通过PC/104(工业计算机总线标准)总线与控制核心和FPGA(现场可编程门阵列)的连接进行数据的传输,增强了系统的时序处理能力以及并行计算能力,解决了PC/104总线与控制核心80X86和FPGA之间数据交换与状态控制问题生成SVPWM,可用于驱动三相全控整流器;使得程序设计灵活简单,设计实现容易,系统可拓展性高,具有控制精度高、运行可靠、操作方便等特点。
本发明解决所述技术问题采用的技术方案是:
一种基于PC/104总线与FPGA产生SVPWM的装置,包括PC/104总线、数据采集模块、CPU模块、A/D转换模块,所述数据采集模块的输入端与外部三相线电压连接,数据采集模块的输出端与A/D转换模块的输入端连接,CPU模块与PC/104总线进行双向通信,其特征在于该装置还包括电平转换模块和FPGA开发板;所述A/D转换模块为AD7606开发板,所述电平转换模块为电平转换芯片SN74LVC4245A,A/D转换模块8位数据线通过电平转换芯片SN74LVC4245A与PC/104总线的Data Bite0~Data Bite7共8位数据线相连接所述FPGA与PC/104总线进行并行通信;
PC/104总线与FPGA的连接的具体方式是:PC/104总线的Data Bite0~Data Bite7共8位数据线通过电平转换芯片SN74LVC4245A与FPGA的八个用于数据传输的I/O口分别进行连接;将PC/104总线的Address Bite0~Address Bite9共10位地址线通过电平转换芯片SN74SN74LVC4245A与FPGA的十个用于地址传输的I/O口分别进行连接;PC/104总线的地址允许信号AEN通过电平转换芯片SN74LVC4245A与FPGA的一个用于地址允许信号的I/O口进行连接;将PC/104总线的读信号IOR通过电平转换芯片SN74LVC4245A与FPGA的一个作为读信号的I/O口连接;将PC/104总线的写信号IOW通过电平转换芯片SN74LVC4245A与FPGA的一个用于写信号的I/O口连接;将PC/104总线的中断请求线IRQ9通过电平转换芯片SN74LVC4245A与FPGA的用于请求中断的I/O口连接;将PC/104总线的上电复位或者系统初始化逻辑信号RESET通过电平转换芯片SN74LVC4245A与FPGA的一个作为上电复位或者系统初始化的I/O口进行连接;
AD转换模块与FPGA连接的具体方式是:AD转换模块的片选信号CS与FPGA一个用于选中AD模块的I/O口连接;AD转换模块的启动转换信号CONV与FPGA一个用于控制AD转换启动的I/O口连接;AD转换模块的转换状态信号BUSY与FPGA一个用于读取AD转换状态的I/O口连接。
所述FPGA包括数据传输模块、状态查询模块、读写控制模块、SVPWM生成模块和中断源产生模块;所述数据传输模块的输入端分别与PC/104总线、状态查询模块和读写控制模块连接,计数模块的输入端分别与数据传输模块的输出端、内部时钟信号连接,计数模块输出SVPWM;中断源产生模块的输入端也与内部时钟信号连接,中断源产生模块输出中断请求信号。
一种基于PC/104总线与FPGA产生SVPWM的方法,该方法使用权利要求1所述的装置,具体的过程是:数据采集模块采集三相电压,将采集到的电压信号经A/D转换模块进行A/D转换,将转换后得到的数据通过PC/104总线送到CPU模块的控制核心中,进行数据计算与处理,CPU模块将计算得到的二值逻辑调制信号值通过PC/104总线送到FPGA中,在FPGA内部产生SVPWM信号,驱动三相全控整流电路开关器件IGBT的导通和关断;
在FPGA中生成SVPWM信号的具体过程是:数据传输模块从PC/104数据线上读取到二值逻辑调制信号值,并进行三态缓存,锁存到读写控制模块的锁存器中,读写控制模块使得锁存器输入输出的数据保持一致,将该调制信号值与SVPWM生成模块中的计数值相比较,得到12路SVPWM信号;外部时钟信号通过中断源生成模块产生频率为3.2KHz的方波信号,触发中断请求信号线IRQ,使得主控板运行中断服务子程序;
进入中断服务子程序,首先等待A/D转换模块转换完成,读取得到三相电压采样值,经过3/2坐标变换得到电压相位,以该电压相位电压方向作为d/q坐标轴的d轴定向,得到d/q旋转坐标下的电压分量Ud、Uq,经过坐标变换转换到α/β两相静止坐标系,然后再转换到g/h坐标系下,再判断空间电压矢量所处的扇区,根据所处的扇区计算出基本空间电压矢量的作用时间;扇区划分原则根据以下所述:三电平整流器空间矢量是由三相输入电压合成,并且每一相有三种开关状态,因此三相电压合成就有27种基本的电压矢量;将这27种基本电压矢量进行Clark变换,一共得到19种电压矢量,根据电压矢量幅值大小,将其分为零矢量(V0)、小矢量(V1-V6)、中矢量(V7-V12)、大矢量(V13-V18)四种;将矢量空间以60°为单位分成6个大扇区(I、II、III、IV、V、VI),每一个大扇区又划分成6个小扇区;空间电压矢量所在大扇区确定之后,将其它大扇区的空间电压矢量顺时针旋转(N-1)*60°到I号大扇区,N=1、2、3、4、5、6,表示大扇区区号,之后空间电压矢量所在小扇区的判断就只需要在I号大扇区中进行;确定了空间电压矢量所在的扇区后,计算出矢量作用时间T1、T2、T3,然后再将矢量作用时间计算转换成二值逻辑调制信号Ta1、Ta2、Tb1、Tb2、Tc1、Tc2,并通过PC/104总线送到FPGA中,与SVPWM生成模块中的计数值比较产生12路SVPWM信号,控制三相全控整流器IGBT的开通关断,调制产生稳定的直流电压。
与现有技术相比,本发明的有益效果是:
本发明将PC/104与FPGA结合使用,通过FPGA产生SVPWM信号。相比采用DSP、CPLD能显著缩短研发周期。DSP芯片集成度高,功能比较丰富,相应地程序设计难度比较大,完整地掌握各部分功能以及使用技巧会耗费研发人员大量的精力和时间,也就导致产品研发周期过长;CPLD更适合完成各种算法和组合逻辑,而FPGA更适合于完成时序逻辑。所以使用本发明提出的方法,使得在编程方面就具有更大的灵活性、系统功耗相对降低,而且时序控制能力强、运行速度相对较快。并且采用七段式空间矢量调制策略,相较于四段式或五段式的空间矢量调制策略能显著降低低次谐波含量。
本发明采用80X86为控制核心,PC/104总线是一种专门为嵌入式控制而定义的工业控制总线,IEEE协会将它定义IEEE-P996.1,实质上就是一种紧凑型的IEEE-P996,通过与FPGA(现场可编程门阵列)、AD转换模块等硬件结构结合使用实现生成SVPWM信号目的。采用本发明后,使得产生SVPWM的系统设计过程大大简化,开发人员能够快速掌握使用,缩短了开发周期,节省了人力和物力。
本发明中A/D转换模块为AD7606开发板,该开发板不具备PC/104总线,通过硬件电路使其与PC/104总线的数据线以及FPGA部分控制引脚连接。CPU模块通过FPGA间接控制A/D转换模块的启动以及状态的读取,CPU模块采用+5V供电,而FPGA与A/D转换模块采用+3.3V供电,增加一个电平转换模块(采用电平转换芯片SN74LVC4245A,可以双向转换,即+3.3V-+5V、+5V-3.3V)进行电平的匹配,通过FPGA判断CPU模块的读写状态,然后再通过FPGA控制电平转换芯片的转换方向,达到数据双向传输的目的。实现CPU模块通过PC/104总线与FPGA和A/D转换模块进行数据交换,而且PC/104总线与FPGA的数据传输是双向的。
附图说明
图1为本发明基于PC/104总线与FPGA产生SVPWM的装置的PC/104总线与FPGA以及AD转换模块之间的连接示意图;
图2为本发明基于PC/104总线与FPGA产生SVPWM的装置中FPGA的结构框图;
图3为七段式空间矢量调制示意图;
图4为空间电压矢量和扇区分布示意图;
图5为本发明基于PC/104总线与FPGA产生SVPWM的装置的结构框图;
图6为两相静止坐标系α/β(90°坐标系)与g/h坐标系(60°坐标系)。
图1:11.PC/104总线;14.电平转换模块(电平转换芯片SN74LVC4245A);10.AD转换模块;13.FPGA;D[0…7]为数据线,A[0…9]为地址线,经过一个电平转换模块与FPGA的I/0口连接,进行数据的传输;IOR,IOW为读、写信号,经过一个电平转换模块与FPGA的I/O口连接,用于控制数据的读写;AEN为地址允许信号,经过一个电平转换模块与FPGA的I/O口连接;IRQ9经过一个电平转换模块与FPGA的I/O端口连接,用于触发中断服务子程序的执行;RESET复位信号经过一个电平转换模块与FPGA的I/O口以及AD转换模块的RESET连接,用以上电复位与系统初始化;AD转换模块的数据线通过电平转换模块与D[0…7]连接;CS为AD转换模块的片选信号,与FPGA的一个I/O口连接,用以选中AD转换模块后进行数据读取操作;CONV为AD转换模块的转换开始信号,与FPGA的一个I/O口连接,用于启动AD转换模块模拟输入通道转换;BUSY为AD转换模块的转换状态信号,与FPGA的一个I/O口连接,用以判断AD转换是否完成,若转换完成则开始读取数据。
图2中,1.数据传输模块;2.状态查询模块;3.SVPWM生成模块;4.读写控制模块;5.中断源产生模块;6.时钟信号;7.SVPWM信号;8.中断请求线;11.PC/104总线;13.FPGA;14.电平转换模块;
图3:该图是以第一大扇区中的第一个小扇区为例,说明了A相桥臂四个IGBT的开关状态。Ta1,Ta2为中断程序中计算得到的二值逻辑信号,SVPWMA1、SVPWMA2、SVPWM A3、SVPWMA4为A相桥臂四个IGBT的开关状态。
图4:空间电压矢量V0……V18,分别对应三相桥式全控整流电路三个桥臂整流器IGBT的开关状态。Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ,Ⅵ为六个大扇区,每一个大扇区又可以分成1、2、3、4、5、6六个小扇区。
图5中,9.数据采集模块;10.A/D转换模块;11.PC/104总线;12.CPU模块;13.FPGA;14.电平转换模块。
图6:g轴与两相静止坐标系的α轴重合,逆时针旋转60°作为h轴,参考电压矢量Vref在α/β坐标系下为Vα,Vβ,在g/h坐标系下为Vg,Vh。
具体实施方式
下面结合实例及其附图进一步叙述本发明,但并不以此作为对本申请权利要求保护范围的限定。
本发明基于PC/104总线与FPGA产生SVPWM的装置(简称装置,参见图5和图2)包括PC/104总线11、数据采集模块9、CPU模块12、A/D转换模块10和FPGA(复杂可编程逻辑器件)13、电平转换模块14;所述数据采集模块9的输入端与外部三相线电压连接,数据采集模块9的输出端与A/D转换模块10的输入端连接,所述A/D转换模块8位数据线通过电平转换模块14与PC/104总线的DataBite0~DataBite7共8位数据线相连接,CPU模块12与PC/104总线11进行双向通信,所述FPGA13通过电平转换模块14与PC/104总线11进行并行通信,提高PC/104嵌入式系统的实时性;
所述数据采集模块9采用霍尔传感器CHV-25P来采集三相线电压,利用其霍尔效应将主回路信号与控制回路信号隔离,消除主回路由于共地系统带来的干扰。霍尔传感器变比为10:25,额定原边输入电流为10mA时,副边输出电流为25mA,经采样电阻(阻值为200Ω)获得采样电压,经过滤波电路消除谐波成分得到较为稳定的电压采样值并送入A/D转换模块10,A/D转换模块8位数据线通过电平转换模块14与PC/104总线的Data Bite0~DataBite7共8位数据线相连接;
AD转换模块10采用AD7076芯片,该芯片可以实现8路信号同步采样,并且内部自带采样保持器,精度能达到16位,最大采样频率200KHz,模拟端输入范围正负5V或者正负10V,设置AD7076基地址位29CH;
CPU模块12采用与PC/104总线兼容的SCM-7018B主控板(以下简称主板),该CPU模块的控制核心采用80X86兼容的第六代处理器,处理数据能力强,运行速度快,可达300MHz,CPU模块中同时带有PC/104总线接口;
PC/104总线11有8位和16位两个版本,并且资源丰富,具有16位数据线,最高工作频率为8MHz,数据传输速率达到8MB/s,24位地址线,可寻访16M字节地址单元,可以实现与其他芯片的并行通信。
FPGA 13采用基于EP4CE10F17C8NW为主控芯片的Waveshare公司的EP4CE10核心开发板,板载50MHz晶振、EPCS16FLASH存储芯片等,并将所有未用的I/O口引出到开发板的四周。
本发明中所使用的PC/104总线是一种工业计算机总线标准,具有结构紧凑、低功耗等优点,并且能够降低总线驱动电流,同时具有很好的抗震性,在工业上使用具有很好的可靠性。
PC/104总线11与FPGA的连接的具体方式(参见图1)是:PC/104总线的Data Bite0~Data Bite7共8位数据线通过电平转换模块与FPGA的八个用于数据传输的I/O口分别进行连接,实现数据的接收和发送;将PC/104总线的Address Bite0~Address Bite9共10位地址线通过电平转换模块与FPGA的十个用于地址传输的I/O口分别进行连接,实现地址的发送和接收;PC/104总线的地址允许信号AEN通过电平转换模块与FPGA的一个用于地址允许信号的I/O口进行连接,用于控制地址线、数据线和读写命令线进行DMA传输以及对数据传输模块和用于数据发送与接收的I/O口的读写;将PC/104总线的读信号IOR通过电平转换模块与FPGA的一个作为读信号的I/O口连接,用来把选中地址进行数据发送的I/O口的数据读到PC/104总线的数据线上;将PC/104总线的写信号IOW通过电平转换模块与FPGA的一个用于写信号的I/O口连接,用来把PC/104总线的数据线上的数据写入被地址选中的I/O口;将PC/104总线的中断请求线IRQ9通过电平转换模块与FPGA的用于请求中断的I/O口连接,用于作为来自外部设备的中断请求输入线;将PC/104总线的上电复位或者系统初始化逻辑信号RESET(图1给出,PC/04总线的RESET通过电平转换模块与FPGA的I/O口连接,上电复位与系统初始化属于两个不同的操作,芯片上电时进行复位,复位时进行初始化操作,但初始化也不一定是复位时才有,程序运行过程中通过RESET也可以对系统进行初始化)通过电平转换模块与FPGA的一个做为上电复位或者系统初始化的I/O口进行连接,实现复位功能。
AD转换模块10与FPGA连接的具体方式是:片选信号CS与FPGA一个用于选中AD转换模块的I/O口连接,低电平有效,用以选中AD转换模块,然后主控板通过PC/104总线读取转换完成的数据;AD启动转换信号CONV与FPGA一个用于控制AD转换启动的I/O口连接,用来启动模拟输入通道转换;AD转换状态信号BUSY与FPGA一个用于读取AD转换状态的I/O口连接,用以判断AD转换是否完成,若转换完成则开始读取数据。
所述FPGA13程序采用模块化设计,方便调试、维护以及改进,包括数据传输模块1、状态查询模块2、读写控制模块4、SVPWM生成模块3以及中断源产生模块5;数据传输模块1的输入端分别与PC/104总线11、状态查询模块2以及读写控制模块4相连接;SVPWM生成模块3的输入端分别与数据传输模块1的输出端以及FPGA板载外部时钟信号6相连接,其输出端输出SVPWM信号7;中断源生成模块5输入端连接外部时钟信号6,输出中断请求线8。
本发明基于PC/104总线11与FPGA13产生SVPWM的方法,该方法利用以上装置,具体实施过程如下:数据采集模块9采集三相线电压得到电压信号,然后将该电压信号送到A/D转换模块10进行A/D转换,A/D转换模块10再将转换完成的数据通过PC/104总线11送到CPU模块12进行数据的处理和一系列运算,得到二值逻辑调制信号值,并将该调制信号送到FPGA中,在FPGA中生成SVPWM信号,用以控制三相全控整流器整流桥上IGBT的开通和关断,在整流器直流侧获取比较稳定的直流电压。
本发明在FPGA中生成SVPWM信号的具体过程如下:数据传输模块1从PC/104数据线上读取到二值逻辑调制信号值,并进行三态缓存,锁存到读写控制模块4的锁存器中,读写控制模块4使得锁存器输入输出的数据保持一致,将该调制信号值与SVPWM生成模块3中的计数值相比较,得到12路SVPWM信号;外部时钟信号6通过中断源生成模块5产生频率为3.2KHz的方波信号,触发中断请求信号线IRQ9,使得主控板运行中断服务子程序。
数据传输模块1将控制核心通过PC/104数据线传输的数据进行锁存;状态查询模块2与读写控制模块4根据地址、读写状态等综合控制数据传输模块1的数据传输状态;在SVPWM生成模块3先通过增减计数生成从0开始、峰值为6250的三角载波,然后将其与从PC/104数据线上读取到二值逻辑调制信号值进行比较,生成12路SVPWM信号;中断源产生模块5用于产生中断信号,通过FPGA板载的50MH时钟信号分频产生占空比为50%,频率为3.2KHz的方波信号IRQ9,上升沿有效,触发中断请求信号线IRQ9,进而使得主板的中断服务子程序得以运行;主板通过PC/104总线发送数据到FPGA时,地址允许信号AEN低电平有效,通过发送寄存器地址分别将调制信号值发送到FPGA中,此时FPGA的写信号IOW引脚置低电平有效(FPGA从数据线接收到数据,经过三态缓冲,将数据锁存到读写控制模块的74377中,74377一共由8个D触发器组成,FPGA的写信号IOW引脚与每一个D触发器的时钟输入端连接,根据D触发器的特性,写信号IOW上升沿使得74377输入与输出数据保持一致,输出的数据再进行后续的比较运算等,这样就保证了数据传输的准确性),数据进入FPGA中会先锁存到读写控制模块中的74377中,也就是把数据暂存下来,直到下一次再有数据传输进来。
本发明设计了PC/104总线11与FPGA13的连接方式,用于控制核心主板与FPGA之间的数据传输以及中断产生(参见图1);采用硬件描述语言(VHDL),使用QuartusⅡ中的标准元件库对FPGA进行了编程设计,采用了七段式空间矢量控制策略(七段式空间矢量控制策略具体参考武海南发表的《三相三电平SVPWM整流装置的研究与设计》一文,采用该控制策略使得直流侧输出电压低次谐波含量小)(参见图3)。控制核心(CPU模块)进行主程序以及中断子程序的运行,对A/D转换模块转换完成的数据进行读取、处理等操作,然后通过PC/104总线送至FPGA中进行处理最终生成SVPWM。
CPU模块12中包括了主程序和中断服务子程序,程序开始运行时首先运行主程序,完成一系列初始化操作等,当有中断信号产生,就跳转到相应的中断子程序执行,运行完成后返回主程序继续运行。在中断服务子程序中计算得到空间电压矢量的调制信号Ta1、Ta2、Tb1、Tb2、Tc1、Tc2,并通过PC/104总线将Ta1、Ta2、Tb1、Tb2、Tc1、Tc2分别送到FPGA中,在FPGA中产生SVPWM信号。
所述CPU模块中设计有中断控制器,该中断控制器为8259芯片,能够对控制核心80X86进行中断控制,中断控制器内部设置有中断屏蔽寄存器。
PC/104总线中共有16个中断请求线IRQ0-IRQ15,一个中断控制器控制8个中断请求,所以16中断请求需要两个8259进行级连,即分为主片和从片,主片控制IRQ0-IRQ7,从片控制IRQ8-IRQ15;
初始化过程中,首先读取中断控制器主片I/O口地址21H和从片I/O口地址A1H以保存中断屏蔽寄存器(IMR)的启动状态与使用的中断向量,以此来保证在中断服务子程序运行结束之后恢复到初始状态,安装中断服务子程序前需暂时屏蔽掉将要使用的中断请求线,这样避免安装与初始化过程中,中断服务子程序有IRQ中断请求,通过函数命令获取中断向量(即中断服务子程序的入口地址),设置好中断矢量入口后对中断使能,设置控制核心的允许中断标志位以及AD转换模块的启动初始化。中断服务子程序完成后向中断控制器发送中断结束命令,即将数20H写到中断控制器的I/O口20H。进入中断服务子程序,首先等待A/D转换模块转换完成,读取得到三相电压采样值,经过3/2坐标变换得到电压相位,以该电压相位电压方向作为d/q坐标轴的d轴定向,得到d/q旋转坐标下的电压分量Ud、Uq,经过坐标变换转换到α/β两相静止坐标系,然后再转换到g/h坐标系下,再判断空间电压矢量所处的扇区,根据所处的扇区计算出基本空间电压矢量的作用时间。扇区划分原则根据以下所述:三电平整流器空间矢量是由三相输入电压合成,并且每一相有三种开关状态,因此三相电压合成就有27种基本的电压矢量。将这27种基本电压矢量进行Clark变换(由三相静止坐标系转换到两相静止坐标系),一共得到19种电压矢量,根据电压矢量幅值大小,可以将其分为零矢量(V0)、小矢量(V1-V6)、中矢量(V7-V12)、大矢量(V13-V18)四种,空间电压矢量和扇区空间分布图参见图4。而三电平SVPWM算法就是利用基本空间矢量来等效合成参考矢量,一般都是选择离参考矢量最近的三个基本空间矢量来合成。因此,可以将矢量空间以60°为单位分成6个大扇区(I、II、III、IV、V、VI),每一个大扇区又可以划分成6个小扇区(1、2、3、4、5、6),如图4所示。在两电平整流器中常见的空间调制技术是基于90°坐标系(即两相静止坐标系α/β),但是三电平整流器所需的控制的电压矢量比两电平多得多,而且在90°坐标系下涉及到大量三角函数的运算,大大增加了控制系统的运算量,影响了系统的实时性,因此本发明采用了60°坐标系(即g/h坐标系,取g轴与两相静止坐标系下的α轴重合,将其逆时针旋转60°作为h轴)下的SVPWM控制算法,简化了运算过程,更利于实现数字化控制。90°坐标系与60°坐标系关系如图6所示。空间电压矢量所在大扇区确定之后,将其它大扇区的空间电压矢量顺时针旋转(N-1)*60°到I号大扇区,,N=1、2、3、4、5、6,表示大扇区区号,之后空间电压矢量所在小扇区的判断就只需要在I号大扇区中进行,简化了计算过程,大大地减少了运算量。确定了空间电压矢量所在的扇区后,合成矢量也就明确了,也就可以计算出矢量作用时间T1、T2、T3,然后再将矢量作用时间计算转换成二值逻辑调制信号Ta1、Ta2、Tb1、Tb2、Tc1、Tc2,并通过PC/104总线送到FPGA中,与SVPWM生成模块中的计数值比较产生12路SVPWM信号,控制三相全控整流器IGBT的开通关断,调制产生稳定的直流电压。
本发明设计的基于PC/104总线与FPGA接口生成SVPWM,大大简化了电路、程序的设计过程,通过数据采集模块采样得到三相线电压模拟量,经过A/D转换模块得到数字量,在控制核心中运行主程序和中断服务子程序,首先读取A/D转换模块输出的数字量,经过一系列的计算得到二值逻辑调制信号Ta1、Ta2、Tb1、Tb2、Tc1、Tc2,并通过PC/104总线送到FPGA中,与SVPWM生成模块中的计数值比较产生12路SVPWM信号,控制三相全控整流器IGBT的开通关断,调制产生稳定的直流电压。
本发明的工作原理和过程是:数据采集模块采用霍尔传感器CHV-25P来采集三相线电压,利用其霍尔效应将主回路信号与控制回路信号隔离,消除主回路与控制回路由于共地系统带来的干扰。霍尔传感器变比为10:25,额定原边输入电流为10mA时,副边输出电流为25mA,经采样电阻(阻值为200Ω)获得采样电压,经过滤波电路消除谐波成分得到较为稳定的采样电压送入A/D转换模块,转换完成之后数据通过PC/104总线送入主控板进行处理。主控板程序运行主要分为主程序和中断服务子程序:主程序作为系统主体,完成执行中断服务子程序之前的一系列初始化,包括设置中断向量入口地址、中断使能以及AD转换模块启动转换信号。进入中断服务子程序首先等待AD转换模块转换完成,读取得到三相电压采样值,经过3/2坐标变换得到电压相位,以该电压相位电压方向作为d/q坐标轴的d轴定向,得到d/q旋转坐标下的电压分量Ud、Uq,然后经过坐标变换转换到α/β两相静止坐标系,再判断空间电压矢量所处的扇区,根据所处的扇区计算出基本空间电压矢量的作用时间T1、T2、T3,然后再将空间电压矢量作用时间计算转换成二值逻辑调制信号Ta1、Ta2、Tb1、Tb2、Tc1、Tc2,并通过PC/104总线送到FPGA中,与SVPWM生成模块中的计数值比较产生12路SVPWM信号。
对FPGA程序进行模块化设计,FPGA采用基于EP4CE10F17C8NW为主控芯片的EP4CE10核心开发板,板载50MHz晶振。FPGA从PC/104总线读取到二值逻辑调制信号Ta1、Ta2、Tb1、Tb2、Tc1、Tc2,并进行三态缓存,锁存到读写控制模块的锁存器中,然后与SVPWM生成模块中的计数值(增减计数生成从0开始、峰值为6250的三角载波)进行比较,生成12路SVPWM信号;中断源产生模块用于产生中断信号,通过FPGA板载的50MH时钟信号分频产生占空比为50%,频率为3.2KHz的方波信号IRQ9,上升沿有效,触发中断请求信号线IRQ9,然后主控板开始运行中断服务子程序,产生二值逻辑调制信号Ta1、Ta2、Tb1、Tb2、Tc1、Tc2,并通过PC/104总线送到FPGA中,与SVPWM生成模块中的计数值比较产生12路SVPWM信号,最终用于控制三相全控整流器IGBT的开通关断,得到稳定的直流电压。
本发明未述及之处适用于现有技术,所涉及的元器件均可通过商购获得。

Claims (3)

1.一种基于PC/104总线与FPGA产生SVPWM的装置,包括PC/104总线、数据采集模块、CPU模块、A/D转换模块,所述数据采集模块的输入端与外部三相线电压连接,数据采集模块的输出端与A/D转换模块的输入端连接,CPU模块与PC/104总线进行双向通信,其特征在于该装置还包括电平转换模块和FPGA开发板;所述A/D转换模块为AD7606开发板,所述电平转换模块为电平转换芯片SN74LVC4245A,A/D转换模块8位数据线通过电平转换芯片SN74LVC4245A与PC/104总线的Data Bite0~Data Bite7共8位数据线相连接所述FPGA与PC/104总线进行并行通信;
PC/104总线与FPGA的连接的具体方式是:PC/104总线的Data Bite0~Data Bite7共8位数据线通过电平转换芯片SN74LVC4245A与FPGA的八个用于数据传输的I/O口分别进行连接;将PC/104总线的Address Bite0~Address Bite9共10位地址线通过电平转换芯片SN74SN74LVC4245A与FPGA的十个用于地址传输的I/O口分别进行连接;PC/104总线的地址允许信号AEN通过电平转换芯片SN74LVC4245A与FPGA的一个用于地址允许信号的I/O口进行连接;将PC/104总线的读信号IOR通过电平转换芯片SN74LVC4245A与FPGA的一个作为读信号的I/O口连接;将PC/104总线的写信号IOW通过电平转换芯片SN74LVC4245A与FPGA的一个用于写信号的I/O口连接;将PC/104总线的中断请求线IRQ9通过电平转换芯片SN74LVC4245A与FPGA的用于请求中断的I/O口连接;将PC/104总线的上电复位或者系统初始化逻辑信号RESET通过电平转换芯片SN74LVC4245A与FPGA的一个作为上电复位或者系统初始化的I/O口进行连接;
AD转换模块与FPGA连接的具体方式是:AD转换模块的片选信号CS与FPGA一个用于选中AD模块的I/O口连接;AD转换模块的启动转换信号CONV与FPGA一个用于控制AD转换启动的I/O口连接;AD转换模块的转换状态信号BUSY与FPGA一个用于读取AD转换状态的I/O口连接;
所述FPGA包括数据传输模块、状态查询模块、读写控制模块、SVPWM生成模块和中断源产生模块;所述数据传输模块的输入端分别与PC/104总线、状态查询模块和读写控制模块连接,计数模块的输入端分别与数据传输模块的输出端、内部时钟信号连接,计数模块输出SVPWM;中断源产生模块的输入端也与内部时钟信号连接,中断源产生模块输出中断请求信号。
2.根据权利要求1所述的装置,其特征在于,FPGA采用基于EP4CE10F17C8NW为主控芯片的Waveshare公司的EP4CE10核心开发板,板载50MHz晶振、EPCS16FLASH存储芯片,并将所有未用的I/O口引出到开发板的四周。
3.一种基于PC/104总线与FPGA产生SVPWM的方法,该方法使用权利要求1所述的装置,具体的过程是:数据采集模块采集三相电压,将采集到的电压信号经A/D转换模块进行A/D转换,将转换后得到的数据通过PC/104总线送到CPU模块的控制核心中,进行数据计算与处理,CPU模块将计算得到的二值逻辑调制信号值通过PC/104总线送到FPGA中,在FPGA内部产生SVPWM信号,驱动三相全控整流电路开关器件IGBT的导通和关断;
在FPGA中生成SVPWM信号的具体过程是:数据传输模块从PC/104数据线上读取到二值逻辑调制信号值,并进行三态缓存,锁存到读写控制模块的锁存器中,读写控制模块使得锁存器输入输出的数据保持一致,将该调制信号值与SVPWM生成模块中的计数值相比较,得到12路SVPWM信号;外部时钟信号通过中断源生成模块产生频率为3.2KHz的方波信号,触发中断请求信号线IRQ,使得主控板运行中断服务子程序;
进入中断服务子程序,首先等待A/D转换模块转换完成,读取得到三相电压采样值,经过3/2坐标变换得到电压相位,以该电压相位电压方向作为d/q坐标轴的d轴定向,得到d/q旋转坐标下的电压分量Ud、Uq,经过坐标变换转换到α/β两相静止坐标系,然后再转换到g/h坐标系下,再判断空间电压矢量所处的扇区,根据所处的扇区计算出基本空间电压矢量的作用时间;扇区划分原则根据以下所述:三电平整流器空间矢量是由三相输入电压合成,并且每一相有三种开关状态,因此三相电压合成就有27种基本的电压矢量;将这27种基本电压矢量进行Clark变换,一共得到19种电压矢量,根据电压矢量幅值大小,将其分为零矢量(V0)、小矢量(V1-V6)、中矢量(V7-V12)、大矢量(V13-V18)四种;将矢量空间以60°为单位分成6个大扇区(I、II、III、IV、V、VI),每一个大扇区又划分成6个小扇区;空间电压矢量所在大扇区确定之后,将其它大扇区的空间电压矢量顺时针旋转(N-1)*60°到I号大扇区,N=1、2、3、4、5、6,表示大扇区区号,之后空间电压矢量所在小扇区的判断就只需要在I号大扇区中进行;确定了空间电压矢量所在的扇区后,计算出矢量作用时间T1、T2、T3,然后再将矢量作用时间计算转换成二值逻辑调制信号Ta1、Ta2、Tb1、Tb2、Tc1、Tc2,并通过PC/104总线送到FPGA中,与SVPWM生成模块中的计数值比较产生12路SVPWM信号,控制三相全控整流器IGBT的开通关断,调制产生稳定的直流电压。
CN201811443883.8A 2018-11-29 2018-11-29 基于pc/104总线与fpga产生svpwm的装置及方法 Active CN109558363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811443883.8A CN109558363B (zh) 2018-11-29 2018-11-29 基于pc/104总线与fpga产生svpwm的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811443883.8A CN109558363B (zh) 2018-11-29 2018-11-29 基于pc/104总线与fpga产生svpwm的装置及方法

Publications (2)

Publication Number Publication Date
CN109558363A true CN109558363A (zh) 2019-04-02
CN109558363B CN109558363B (zh) 2020-04-28

Family

ID=65868127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811443883.8A Active CN109558363B (zh) 2018-11-29 2018-11-29 基于pc/104总线与fpga产生svpwm的装置及方法

Country Status (1)

Country Link
CN (1) CN109558363B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020131077A1 (en) * 2001-03-09 2002-09-19 Kazuo Goto Serial communication apparatus and serial communication method
CN1801020A (zh) * 2005-12-28 2006-07-12 河北工业大学 嵌入式现场总线协议接口装置和实现方法
CN106802609A (zh) * 2017-03-28 2017-06-06 河北工业大学 基于pc/104总线与cpld产生svpwm的装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020131077A1 (en) * 2001-03-09 2002-09-19 Kazuo Goto Serial communication apparatus and serial communication method
CN1801020A (zh) * 2005-12-28 2006-07-12 河北工业大学 嵌入式现场总线协议接口装置和实现方法
CN106802609A (zh) * 2017-03-28 2017-06-06 河北工业大学 基于pc/104总线与cpld产生svpwm的装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵芝璞等: "《基于SG的SVPWM设计与实现》", 《微特电机》 *

Also Published As

Publication number Publication date
CN109558363B (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN103701382B (zh) 一种基于fpga的永磁同步电机电流环带宽扩展装置
CN101969291B (zh) 高细分多路步进电机片上系统驱动器
CN202696532U (zh) 基于dsp与fpga的电动车电机驱动系统控制器
CN103490695A (zh) 一种应用于多相电机调速系统的控制器
CN106249658A (zh) 一种基于SoC‑FPGA的电机单片控制装置及方法
US4488103A (en) Motor control method and control apparatus therefor
CN108196485A (zh) 应用于芯片原子钟控制系统的SoC芯片结构
CN109558363A (zh) 基于pc/104总线与fpga产生svpwm的装置及方法
CN104898521A (zh) 一种用于电机控制的微控制器
CN203587687U (zh) 基于高档双avr单片机的三相多功能电能表
Neacşu et al. An SD card flash-memory-based implementation of a multioptimal three-phase PWM generator
CN102957209A (zh) 一种智能变电站综合测控装置
CN106802609A (zh) 基于pc/104总线与cpld产生svpwm的装置及方法
Liu et al. Multi-functional serial communication interface design based on FPGA
Li et al. Design of motor control driver based on arm and freertos
CN207008015U (zh) 一种基于单片机的智能信号分析系统
Bolun et al. A method for Rapid Deployment of Brushless DC Motor Servo System Model Based on FPGA
CN204440089U (zh) 一种光栅尺数据采集系统
CN201504221U (zh) 电机变频控制系统
Liu Multi point temperature measurement system based on DS18B20
CN107562673B (zh) 一种应用于嵌入处理器总线协议转换桥接装置
CN101630899A (zh) 基于嵌入式nios软核的spwm波形的形成方法及装置
Kimura et al. VME multiprocessor system for plasma control at the JT-60 Upgrade
CN213906503U (zh) 一种实验开发用列车牵引传动控制装置
CN201839275U (zh) 高压无功补偿装置用的a/d转换电路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant