>
首页 » 业界动态 » 基于MSC1210和CPLD的电源控制系统

基于MSC1210和CPLD的电源控制系统

作者:刘彩虹,陈秀萍,敬岚  时间:2007-01-22 01:45  来源:

摘要:论述了基于MSC1210 和复杂可编程逻辑器件设计的电源控制模块。MSC1210 P0 P2 工作在访问外部存储器的方式,提高了控制模块的速度。在一片CPLD 中集成了低位地址锁存、地址译码、数据总线、分频电路、比较、记数以及逻辑电路等。大大缩小了印制板的面积并提高了系统可靠性,同时由于CPLD 的现场可编程特性,增强了整个系统的灵活性。

关键词:CPLD; 单片机; 外部存储器; 硬件描述语言

引言

在传统的单片机MSC1210 应用系统中,通常把MSC1210P0 口和P1 口作为通用IO 口,并用多片74HC373 等接口芯片以及各种逻辑门来实现外围的电路。但是这样导致PCB 面积增大、可靠性下降。伴随着半导体工艺的发展,CPLDComplexProgrammable Logic Device)近年来发展迅速。CPLD 是一种用户可以根据自行需要而自己能够设计构造其逻辑功能的数字集成电路系统,实现了硬件设计的软件化。CPLD 具有丰富的可编程I/O 引脚,具有在系统可编程、使用方便灵活的特点;不但可实现常规的逻辑功能,还可实现复杂的时序逻辑功能。近年来,由于采用先进的集成工艺和大批量生产,CPLD器件成本不断下降,集成密度、速度和性能大幅度提高,一个芯片就可以实现一个复杂的数字电路系统;再加上使用方便的开发工具,使用CPLD器件可以极大地缩短产品开发周期,给设计、修改带来很大方便。

本文介绍了基于单片机MSC1210 CPLD设计的电源控制模块,以及锁存数据,分频、比较、记数和逻辑操作等功能在CPLD 中实现的方法。

电源控制模块设计

电源控制模块系统部分结构图如图1 所示,该系统主要包含一个单片机MSC1210,用于系统控制,在这个设计中,P0口和P1 口没有用作通用I/O 口,而是通过设置硬件设置寄存器HCR1,实现P0 口和P2 口以访问外部存储设备的方式工作。

这样的方式提高了模块的速度,并有效防止死机后开关部分继电器的误动作。一个16 位的并行DAC,向被控电源提供需要的模拟信号。一个CPLD ALTERA 公司的EPM7128SQC100,用VHDLVery_high_speed _integrated_circuit Hardware DescriptionLanguage EPM7128SQC100 进行编程,用于实现MSC1210 DAC7741 的控制。

因为不同电源的变化速率是不一样的,同一电源在使用的过程中也会要求速率是可变的。在该电源控制模块中采用了直接数字频率合成器AD9832 输出正弦波,然后通过电桥以及微分比较器LM393 输出频率可变的方波。方波控制CPLD中计数器的记数频率,从而控制电源的变化速率。

CPLD 内部逻辑框图

CPLD 内部逻辑电路如图2 所示。MSC1210 P0 口和P2口是以访问外部存储器的方式工作的,P2 口输出的是高8 位地址,P0 口输出的是低8 位地址,同时,P0 口还需要输出8 位数据。P0 口是地址和数据复用的,所以用ALE 信号来控制低8 位地址的锁存。DAC7741 是并行16 位的,但是MSC1210 提供8 位数据,需要低8 位和高8 位分开送,所以需要对低8 位和高8 位的数据进行锁存。将MSC1210 送来的数据和计数器输出的数据输入16 位比较器进行比较,输出大于、等于和小于3 种比较结果。如果是等于,则计数器停止记数保持不变,如果是大于或小于,则计数器进行相应的加或减记数。FCLK进行二分频产生的DIVCLK 作为计数器的记数脉冲,来控制输出模拟量的变化速率。

VHDL 实现CPLD 的内部逻辑实现

8 位地址的锁存和地址译码的程序流程图如图3 所示。比较和记数的部分VHDL 程序如下:

p2:process(fclkcntbuf)

variable updn: bit;

begin

if (cntbuf>dac) then

agb <='1';

elsif (cntbuf=dac) then

aeb <='1';

elsif (cntbuf

alb <='1';

end if;

updn := agb and (not alb);

if(clken=’1’) then

if ( fclk'event and fclk='1') then

if (aeb='1') then

dac <=dac;

elsif (updn ='1') then

dac <=dac + '1';

else

dac <=dac - '1';

end if;

end if;

end if;

end process p2;

仿真波形

地址锁存、译码以及比较和记数部分的VHDL 源程序在MUXPLUS Ⅱ环境下,安排管脚、编译后进行仿真。仿真波形如图4 所示。

由图4 的仿真波形图可以看出,给高位数据的存放地址C001 存放数据00,给低位数据的存放地址C002 存放数据05。当输出地址为C003 时,比较器和计数器开始工作,当记数器的输出达到给定数0005 时,停止记数,保持0005 不变。当数

据变为0002时,开始减记数,等于0002时,停止记数,保持002不变。当数据77输出到地址C004 时,77是输出到IO_OUT用于控制开关。

结论

VHDL程序仿真成功后,通过PC 并口下载到ALTERA公司的芯片EPM7128SQC100,采用单片EPM7128 实现了译码、锁存、分频、比较和脉冲记数等电路。大大缩小了PCB 板的面积,有利于提高集成度和系统可靠性。先进的EDA 工具可以减少设计周期和开发费用,通过功能和时序仿真,可以降低设计风险。同时,CPLD 的在线可编程特性使得修改设计相当容易,为其它硬件及软件留下了相当大的扩展空间。

结合MSC1210 的程序对各项性能进行调试,操作开关、读状态以及DAC7741 的输出都达到了设计要求。该模块已实际应用于电源的控制,经过一段时间的实际应用,证明其工作稳定,性能可靠,达到设计要求。

相关推荐

飞思卡尔CEO:新战略初现成效 未来更关注中国市场

飞思卡尔  单片机  2013-04-28

多元化整合:PCB抄板搭上尧顺科技顺风车

PCB  CPLD  2013-03-12

飞思卡尔携手周立功单片机 共同拓展中国MCU市场

飞思卡尔  MCU  单片机  2012-12-19

英飞凌为提高XMC4000单片机生产率免费提供DAVE 3

英飞凌  单片机  2012-04-20

英飞凌XMC4500工业单片机现已量产供货

英飞凌  单片机  XMC4500  2012-03-19

Altium与Altera发布全新在线元件资源和软件支持

Altium  FPGA  CPLD  2012-02-15
在线研讨会
焦点