微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 小梅哥和你一起深入学习FPGA之PS2键盘驱动

小梅哥和你一起深入学习FPGA之PS2键盘驱动

时间:01-28 来源:互联网 点击:
三、 硬件设计
  PS2电路结构简单,因此这里就略去。
  四、 架构设计
  本实验我们进行PS2键盘的解码实验,并将解码到的结果显示在数码管上,同时,为了使我们更加直观的感受到按键被按下和释放,小梅哥在这里增加了一个蜂鸣器,当有按键按下或释放(包括长按时每接收到一个通码)时,蜂鸣器发出一个短暂的响声,来反馈给操作者,让我们知道我们的解码模块解码到了按键信息。设计结构如下图所示:
  


  图4-1 led实验模块组织结构图
  详细端口名及其意义如下
  


  表4-1 独立按键检测实验端口说明
  因为存在模块间的连接,因此有部分内部信号,下表为内部信号的名称和功能说明
  


  表4-2 独立按键检测实验内部信号说明
                               
                  五、 代码分析
  这里,解码的关键是PS2接口的时钟信号,该时钟为异步时钟,我们需要通过边沿检测的方式来检测其下降沿,以便根据下降沿的个数来确定每个时钟我们因该做什么,边沿检测的电路,前面几个实验已经讲过很多次了,这里便不再做过多的解释,贴上代码即可:
  以下是代码片段:
  reg PS2_Clk_Tmp0,PS2_Clk_Tmp1,PS2_Clk_Tmp2,PS2_Clk_Tmp3;
  wire nedge_PS2_Clk; /*PS2从机时钟下降沿检测标志信号*/
  always @ (posedge Clk or negedge Rst_n)
  if(!Rst_n) begin
  PS2_Clk_Tmp0


  七、 下板验证
  这里,小梅哥在至芯科技ZX2的板子上验证通过,如下图:
  其中,第三个数码管,为0表示普通按键通码,为2表示普通按键断码,为1表示扩展按键通码,为3表示扩展按键断码。
  


  


  

                               
               

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

网站地图

Top