基于DSP的单相精密电源硬件系统设计
1.引言
各种电源在现代用电设备中正得到越来越多的应用,对精度的要求也越来越高,传统的电源设计在有些领域很大程度上已不能满足人们的需求。DSP 软件编程灵活,自由度大,实时运算速度,数据处理能力高。本文以TMS320VC33 DSP为核心,设计一种处理速度和准确度都较高的单相精密电源,以满足人们的实际需要。
2.电源信号的生成及控制
电源信号分为电压信号和电流信号两个,都是正弦波信号。同一时刻具有相同的频率,不一定有相同的相位和幅度。我们首先设计电压正弦波信号的生成。
离散正弦波的生成是通过每一个离散周期取得对应时刻改正弦波的幅值并输出获得的。第二种方法是让函数y=sin(nT)把n从0到N-1的值都计算出来,在程序存储器中建立一个表来存入这些数据。电流正弦波的生成原理和生成过程与电压正弦波完全相同,只是因为相位原因而在同一时刻取表的值不同而已。
TMS320C3X的事件管理器有两个32位通用的定时器模块。每个定时器有两种操作方式和内部和外部时钟。可以使用定时器模块在指定的时间间隔向C3X或外部发信号或者记录外部事件。它们可以作为独立的时基工作,定时器中断是一个内部中断。其用途包括控制系统中捕获周期的发生;为正交编码器电路脉冲电路和捕捉单元的操作提供时间基准。为全比较单元和单比较单元及相关的PWM电路产生比较输出等。每个通用定时器内核心部分是32位计数器,计数范围为0"4294967296个脉冲。计数脉冲可以由内部时钟经过分频产生,可由外部引脚提供时钟。由于本产品的频率是可调的,可以用定时器来在一定的时间在ROM中取出各个点的正弦波值,也可以用外接器件来改变频率。在这里我们采用后一种方法。原理是用8253的两个计数通道来改变频率,方框图如图1所示:由MC14060产生180HZ的时钟,经过分频后产生Nf的时钟。由于要求的频率要有精确到两位小数,则8253的通道2的记数值设定为100。在本系统中我们取每周期离散点N=720,但是系统要求的相角精度为0.0 ,所以将两个离散点之间的取数间隔定为5个计数周期。设期望正弦波频率为f ,由8253的通道1作为反馈来得到精确的频率值。在通道1记数完成的时候向DSP发出一个中断信号,收到中断后,DSP发送数据到电压和电流的A/D转换器,完成一个离散点的值。当通过键盘改变频率时,只需要通过程序计算出一定的数值写入8253的通道0的记数即可达到改变频率的目的。
图1 频率通道的方框图
TMS320C33与其外围芯片的接口。其指令可以对片内I/O寄存器和外部I/O端口进行访问,使用地址线的4位来访问I/O外围芯片。I/O空间的地址分配可以借助于译码器件。74154是一个4到16位的译码器,由DSP的高地址作为输入,DSP的I/O空间使能引脚控制译码器的使能引脚。其输出作为DSP外围芯片外围引脚的使能端输入。输出与外围芯片的片选相连,达到分配I/O空间的目的。
3. D/A转换的硬件组成
用DSP生成并输出的正弦波是离散的数字信号,要把它变成连续的模拟信号则需要经过D/A转换;要实现正弦电源信号的幅度可控,必须通过DSP改变D/A的参考电压,参考电压由DSP提供。本系统我们选用DAC083 D/A转换器,由于DAC0832有两个8位寄存器和一个8位D/A转换器,而DSP输出信号为16位。所以需要两片DAC0832并联。
电压转换包括电流D/A转换的参考电压D/A转换与电压D/A转换的参考电压D/A转换,输出电压D/A转换,电流D/A转换的参考电压D/A转换与电压D/A转换的参考电压D/A转换基本相同,输出电压的D/A转换和输出电流的D/A转换,他们的电路图基本上是一致,只有寄存器的使能信号不相同。限于篇幅,在此只给出如图3所示电源输出的D/A转换电路图。DAC0832的数据线和DSP的数据限制接相连,当译码器选中 时,政弦波电压信号输入电压D/A转换器的输入寄存器,接着译码器选中 ,正弦波电流信号输入电流D/A转换器的输入寄存器,然后译码器选中 ,电压D/A转换器和电流D/A转换器的输入寄存器同时把数据送入DAC寄存器,同时进行D/A转换。
图3 电源输出的D/A转换电路
4. 电源信号的输出与检测
电源信号经过D/A转换和滤波后,再经过前馈、反馈、PI调节器的电路后输出电压已经达到很高的精度和稳定度,再经过功放后,进入系统输出部分。在输出部分,我们还要检测电源信号来用于反馈补偿。
4.1 电压信号的输出与检测
电路如图4,A点为运算放大器的输出端,经过多抽头电流互感器可以分别得到380V、220V、60V的输出电压,电路互感器的三个抽头分别用三个继电器J380V、J220V、J60V与输出端相连,继电器的闭合由DSP控制,即从键盘输入命令,电压输出端即可输出相应级别的电压。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)