微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于SPCE061A和CPLD的电动自行车充电系统研制

基于SPCE061A和CPLD的电动自行车充电系统研制

时间:10-22 来源:互联网 点击:
2.3 CPLD程序设计

VerilogHDL语言是硬件描述语言,是描述硬件电路的功能、信号连接关系及定时关系的语言,通过语言编程来表示逻辑器件及系统的功能和行为。其具有设计技术齐全、方法灵活、支持广泛、硬件描述能力强、与器件工艺无关、易于共享和复用等优点。与VHDL相比,VerilogHDL是一种非常容易掌握的硬件描述语言,而掌握VHDL设计技术就比较困难。故采用VerilogHDL语言来设计接口电路,能充分利用VerilogHDL语言在系统级硬件描述上的优点。



CPLD实现两个多路选择器和一个键盘扫描电路功能。程序各端口功能如表1所示。datain1由datain1[0]......datain1[17] 18位输入端口组成,分为6组,每组3个端口。rs由rs[0]、rs[1]、rs[2]3位端口组成,最多可以表示8个2进制数(本设计用到其中的6个)来表示端口选择位。dataout1由 dataout1[0]、dataout1[1]、dataout1[2]3位组成,表示输出端口。datain1、dataout1、rs组成一个多路选择器,实现选择输入功能,rs的值决定选择datain1的哪一组信号送给dataout1,由dataout1输出。datain2由datain2[0]、 datain2[1]组成,表示输入端口。dataout2由dataout2[0]......dataout2[11]12位输出端口组成,分成6组,每组2位。同理,datain2、 dataout2、rs组成另一个多路选择器,实现选择输出功能,rs的值决定选择datain2的2位信号从dataout2的哪一组输出。rt为控制脉冲,当为上升沿时实现选择输入功能,当为下降沿时实现选择输出功能。datain3为16位按键输入口(低电平有效),每位代表一个按键。dataout3为4位按键值输出端口,当有按键按下时,经CPLD内部状态发生改变,按键弹起后,内部状态经CPLD自动处理转化为相应的键值从dataout3输出(高电平有效)。如当datain3位为1111111111111101时,表示2号键按下,dataout3将输出0010,表示按键值为2。

3 CPLD仿真

从最初的电路设计思想到QuartusII的波形仿真、再到CPLD的芯片编程结束,开发设计流程图如图5所示。

在QuartusII 平台上,对VerilogHDL程序编译后,用Simulator对之进行时序仿真,得到如图6所示的结果。



由图中可以看到各预定功能都得到了实现,如datain3为111111011111时,dataout3输出为0110,仿真结果完全符合电路的要求。

基于SPCE061A+CPLD设计的电动自行车充电系统,简化了系统软硬件设计,提高了电路的稳定性和可靠性;使系统设计灵活、开发周期短、集成性更强,同时使系统易于升级和扩展。经检验测试,各项技术指标均达到了设计要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top