4 CPLD模块设计
明确了CPLD的主要作用后,我们在Max+Plus II软件上用VHDL语言分别实现这些模块功能,设计包括4个阶段:设计输入、设计处理、设计验证和器件编程。VHDL主要用于描述数字系统的结构、行为、功能和接口。非常适用于可编程逻辑芯片的应用设计。
4.1 主要模块进程
系统检测变压器时,MCU在正常初始化后,有键盘输入时会要求CPLD运行按键响应进程;CPLD根据所键入型号运行继电器控制进程,操作继电器板,并上传操作结果,MCU在认为前述操作正常后,才会要求CPLD启动对A/D控制的进程,模/数转换结果会送给MCU;MCU对转换结果进行处理后,又会要求CPLD运行显示进程,显示结果LCD上。
4.2 仿真
以读A/D结果(ReadOperation)进程为例进行仿真。
——进程名称:ReadOperation
——敏感变量,RD
——输出变量,DataBusIn(送到数据总线上)
——目的:读操作
ReadOperation:process(RD,Enlcd,En125Low,En125High,CSIF,CSIM)
需要说明的是,信号变量在仿真时需声明其初始值,本读操作进程中的信号变量自会有其他进程(如片选进程)为其赋值,“&”作为连接运算符,可将多个对象或矢量连接成位数更大的矢量,对ReadOperation进程编译仿真的波形图如图3所示。
5 结语
经过现场试用得到实验测试数据,表1列出3台BX1-34型变压器的部分参数测试结果,其中I次空流代表原边空载电流,空压II12指二次绕组1和2端的空载电压,其他类推,II次空压为二次绕组的总空载电压,满载电压指在二次绕组串接8Ω电阻时的电压值。
结果满足《信号维护规则)中对变压器“输入额定电压,二次端子电压空载时其误差不大于端子额定电压值的10%;容量为30-60VA的变压器满载时,其二次端子电压不小于端子额定电压值的85%”的规定。
本次开发综合考虑了MCU和CPLD的相互作用,采用了交流采样技术,认真考虑VHDL进程并行和CPLD的结构特点,并应用电路简化的几种技巧与方法,充分利用CPLD的硬件资源优化电路,实现系统对稳定性,精确度等方面的要求。