全功能硬件扫描键盘控制器IP核的实现
3.2 结构的参数化
参数化是IP核设计过程中的重要一步,本设计使用到的参数可分为两类:一类是外在参数,直接由用户根据实际需要指定,包括Fclk、Fs、R、L、C、tJ、tF、tS;另一类是对用户透明的内部参数,由直接参数派生而来,多用于描述设计实体的规模和特性,包括N、Fd、M、P、Q、Ndiv、Nscan、Ndelay、Nkey。内部参数的确定方法及参数间的相互关系如表3所示。
按照图3所描述的结构与信号流向以及表3给出的参数确定方法,借助适当的HDL(本设计采用VHDL)语句,将设计准确地描述出来,便完成了扫描键盘控制器软IP核的初步制作。
3.3 实例化及仿真
在智能多芯电缆检测仪的研制过程中,取扫描键盘参数如下:Fclk=32768Hz(clk信号由MSP430的辅助时钟提供),Fs=256Hz,C=31,R=L=4,tJ=16ms、tF=600ms、tS=200ms。选择MAX EPM7512AETC144作为目标器件,本设计在Altera Quartus II 5.0 sp1集成开发环境中顺利通过了综合、仿真和适配。由于键盘控制器属低速电路,设置综合参数为面积优先(这里指综合器可以适当降低最高实现工作频率,以减小PLD器件的硬件资源消耗),适配结果仅消耗30逻辑宏单元(Macro Cell),clk引脚允许输入的最大时钟频率为68MHz。使用实践表明:所实现的扫描键盘控制器使用方便、工作可靠。
上文实际参数的综合结果在时序仿真时需要耗费很长的时间,图4给出了对应于Fclk=4000Hz、Fs=250Hz、C=3、R=L=4、tJ=4ms、tF=6ms、tS=3ms的示意仿真波形。其中,按键抖动是用宽度为1ms的随机信号模拟的。
经仿真和实践验证设计的正确性之后,编写配套说明书,对设计文件作最后的封装,至此便完成了全功能硬件扫描键盘控制器IP核的全部开发过程。
4 需要特别说明的两个问题
(1)设计中直接使用了组合逻辑电路的输出来异步复位延时计数器 和连击标志寄存器,这有可能因为时序竞争而导致设计失败,在本IP核的实例化过程中,Quartus II软件的设计辅助工具(Design Assistant)会给出严重警告信息。当然,就CPLD/FPGA的开发原则来说,这种情况是应当极力避免的。但在本设计中,非但不会导致设计失败,相反正是巧妙地利用了这一点,既可靠地解决了按键去抖问题,又极大地简化了硬件的设计。首先,相对于硬件电路的反应速度(ns级)而言,可以认为多个按键被同时按下的情况是基本不存在的。显然,当组合逻辑电路的多个输入端每一时刻仅有一个信号发生改变时,不会导致时序竞争。其次,即使出现时序竞争导致延时计数器被复位,由于它多因按键的抖动引起,此时的复位操作正是去抖所需要的,也即本设计对此处的时序竞争是不敏感的。
(2)借助于IP核的使用特点和CPLD/FPGA器件的在系统编程(ISP)特性,在保证硬件扫描键盘控制器使用灵活性和通用性的基础上,避免了在设计中引入可编程的控制寄存器,从而进一步简化了设计,减小了硬件资源消耗。
与基于MPU的传统扫描键盘实现方案相比,硬件扫描键盘控制器工作时无需扫描程序配合,减轻了MPU负担,降低了系统功耗,同时也有效地缓解了I/O引脚短缺的问题。IP核的实现,大大增加了本设计的通用性、可移植性和可重复利用性;巧妙的设计,保证了例化后占用非常少的硬件资源。从而为在不增加硬件成本的基础上,简化大型系统的软硬件设计流程、缩短产品开发时间提供了一条新途径。
此外,更为重要的是,本文以一款结构经参数化的全功能硬件扫描键盘控制器的设计为例,从一般意义上阐述了IP核的设计方法、设计步骤与设计途径。文中给出的参数数据和用到的设计原则、设计方法与设计技巧对同类设计乃至大型设计都有很好的参考和借鉴意义。
- 宋俊德:3G与WIMAX竞争中融合 终端内容趋同(08-23)
- 透过产业链看3G:让汗水化为笑容(08-30)
- 德州仪器 IP 语音解决方案被合勤科技用于新一代接入设备与 IP 电话(09-17)
- 进军VoIP的法宝(09-30)
- 基于IXP421的VoIP网关及其性能测评(10-02)
- VoIP开始向统一通信进化(10-16)