基于CPLD的电动自行车充电系统的研究设计
1.3 键盘电路及I/O电路设计
本系统采用CPLD作为SPCE061A单片机和充电器的接口部分,实现I/O口扩展,并完成键盘扫描功能。CPLD的使用,取代了一些专用集成电路,减少了系统的复杂性,提高了系统的集成度。本系统采用硬件电路来完成对键盘的扫描工作,当有按键按下时,CPLD内部状态发生改变。按键弹起后,内部状态经CPLD自动处理转化为相应的键值被送到输出端口,供单片机扫描时取走键值。相对于软件判别键盘工作状态,这样不仅节省了SPCE061A的存储空间,还极大地提高了系统的工作速度,更好地实现了实时性。
CPLD选用ALTERA公司生产的MAX7000S 系列中的EPM7128SLC84-15。该芯片共有84个引脚,采用EEPROM技术制作;内含2 500个逻辑门,128个宏单元,时钟工作频率可达151.5MHz。通过CPLD对资源的整合,实现了用一片CPLD实现I/O电路、硬件扫描判别等,优化了硬件的布局。如需改变系统的功能,只需改变相应的源代码而不是硬件结构,因而具有很大的灵活性。
2 系统软件设计
2.1 主程序设计
本系统的软件部分采用C语言和汇编语言混合编制而成,因而该程序具有功能强大、设计完备等特点。主程序主要完成如下功能:
(1)系统初始化和参数的设置;
(2)充电器三种工作状态的检测和显示;
(3)控制各个充电器的工作和停止以及快速充电和普通充电两种充电方式的选择;
(4)蓄电池正反极性的判断,极性接反时自动进行语音报警;
(5)充电器充满蓄电池时自动关闭充电器;出现异常情况时自动进行语音报警;
(6)对快速充电时间长短进行设定。
系统主程序流程图如图3所示。
评论