2.3 人机接口控制
人机接口主要包括一个4×4矩阵式键盘和液晶显示两部分,与CPLD接口如图4所示。键盘的主要功能是完成显示页面选择和查询参数设置。键盘控制使用 CH452芯片,该芯片内置去抖动电路,提供按键释放标志位,可供查询按键按下与释放。CH452通过高速的4线接口与CPLD相连。在键盘扫描期间,当有键按下时,DOUT引脚产生低电平有效中断信号,该信号经CPLD译码后触发DSP的外部中断INT2,DSP通过串行接口读取按键代码,然后转到中断服务子程序执行相关操作。另外为了保证键盘扫描的正确性,一般要选择较低频的时钟。若DSP外接20 MHz的晶振,内部时钟电路输出最低频率为5 MHz,而CH452最高频率为2 MHz,因此CPLD需将DSP输出时钟分频后加到CH452芯片的DCLK引脚。分频实现如下:
if rising_edge(clkin) then if counter=N then counter<=0;clk<=not clk;
else counter<=counter+1; end if; end if; end process;clkout<=clk;
液晶显示器因具有显示信息丰富、功耗低、体积小、重量轻等优点而得到广泛应用。本系统选用 LCM12864ZK中文液晶显示模块,内含ST7920驱动控制器,提供串行/并行两用接口。本系统采用并行接口,即PSB引脚输入高电平。D0~D7 直接接DSP数据总线,是复位信号,R/W为读写信号,1为读信号,0时写入,E是读写数据启始脚,RS选择寄存器,0为选择指令寄存器,1为数据寄存器。对液晶进行操作时,经CPLD译码,首先选通指令寄存器写入相应代码,再选通数据寄存器进行数据读写操作。部分译码程序如下:
lcd_psb <= ′1′; --1 并行总线 0 串行总线
lcd_rs <= dsp_addL(0);--选择寄存器
lcd_rw <= dsp_rw;
lcd_e <= ′1′ when ( dsp_iostrb=′0′ and (dsp_addL = "0001" or dsp_addL = "0000") and dsp_addH1(15) =′1′ and dsp_addH1(14) = ′1′) else ′0′;
3 CPLD时序仿真
为了验证设计模块逻辑功能的正确性,需要对设计进行仿真。CPLD仿真验证可以有多种方式,本文选择用QuartusⅡ自带的波形编辑器进行逻辑时序仿真。本设计中各外围器件的片选、读写、键盘扫描时钟的分频等关键信号仿真波形如图6所示。
从图中可以看出,各片选信号、读写信号满足设计要求,例如,在IS=0,地址为0x4000~0x4007时选通UART,时钟信号CLKIN经八分频输出CLKOUT等,都满足设计要求,所以本系统设计的逻辑电路是可以实现的。
为了抑制谐波污染,提高电能质量,设计了一种基于DSP的并联型有源电力滤波器。该滤波器由上位机和下位机组成,上位机使用工控机,下位机以DSP系统为核心,并采用CPLD对外围电路进行接口扩展。本文重点分析了CPLD与外围器件的接口问题,并以QuartusⅡ开发平台为基础,用VHDL硬件编程语言描述了组合逻辑电路的实现。在波形编辑器中得出有效的时序分析结果,结果表明该设计是可行的。
京ICP证080169号京ICP备09003304号-2京公网安备11010502034458号电子公告服务专项备案
网络文化经营许可证 [2019] 5229-579号广播电视节目制作经营许可证 (京) 字第13229号出版物经营许可证新出发京批字第直200384号人力资源服务许可证1101052014340号
Copyright © 2022 Bjx.com.cn All Rights Reserved. 北京火山动力网络技术有限公司 版权所有