当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]Verilog模拟PS2协议的方法

PS2协议读键盘值相当简单嘛,比模拟SPI、I2C简单多了...下面介绍一下具体过程.

1.明确接线关系,只需接4根线,VCC要+5V,3.3我测试过不能用,时钟和数据线要用bidir双向口线,FPGA可以不用外接上拉电阻。另外,USB键盘也可以用,只要用一个转接头转成PS2即可。
 
2.读取基本的键盘数据,不需要FPGA发送任何数据,只需读取键盘发回来的数据即可
如下面的时序图,每次键盘发送11个clock信号,我们需要做的事情就是在时钟的下降沿读取数据
 
3.如何来采样CLK低电平?
这里可以用一个FIFO来储存数据,如下面的程序,当ps2_clk信号处于下降沿时,ps2_clk_fallingedge值将被置高

reg [2:0] ps2_clkr;//用一个fifo来采样ps2_clk信号;
always @(posedge clk)
ps2_clkr <= {ps2_clkr[1:0], ps2_clk};

wire ps2_clk_risingedge = (ps2_clkr[2:1]==2‘b01); // now we can detect ps2_clk rising edges
wire ps2_clk_fallingedge = (ps2_clkr[2:1]==2‘b10); // and falling edges

4.当检测到第一个低电平时,我们只需要连续读取11个周期值就可以了,这里用一个变量i来控制

always @(posedge clk)
if(rst)
i <= 0;
else
begin
if(ps2_clk_fallingedge)
begin
data2[i] <= data[i];
data[i] <= ps2_data;
if(i<10) i <= i+1;
else i <= 0;
end
end

最后来解释下这11个数据的功能,如下表
 
5.如果想进一步区分键值,就需要查表了,如下表[!--empirenews.page--]

 
基本按键,键盘会发送&ldquo;F0”+“键码”
扩展按键,则发送“E0”+“F0”+&ldquo;键码”
大家都来试一下吧,一个下午就能搞定!

附程序,晶振频率降至1MHz,用LED输出键值
//==============================================================
module ps2(clk, rst, ps2_clk, ps2_data, data ,data2);

input clk, rst, ps2_clk , ps2_data;
output [10:0] data;
output [10:0] data2;

reg [3:0] i;
reg [10:0] data;//another fifo
reg [10:0] data2;

reg [2:0] ps2_clkr;//用一个fifo来采样ps2_clk信号;
always @(posedge clk)
ps2_clkr <= {ps2_clkr[1:0], ps2_clk};

wire ps2_clk_risingedge = (ps2_clkr[2:1]==2‘b01); // now we can detect ps2_clk rising edges
wire ps2_clk_fallingedge = (ps2_clkr[2:1]==2‘b10); // and falling edges

always @(posedge clk)
if(rst)
i <= 0;
else
begin
if(ps2_clk_fallingedge)
begin
data2[i] <= data[i];
data[i] <= ps2_data;
if(i<10) i <= i+1;
else i <= 0;
end
end

endmodule

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

本届年会将在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)举行,面向嵌入式设计工程师推出25门技术课程

关键字: 嵌入式 MCU 模拟

苏州2025年8月21日 /美通社/ -- 2025年7月,由博瑞医药联合AI药物设计平台予路乾行共同开发的候选药物BGM1812,正式发表于国际药物化学权威期刊《Journal of Medicinal Chemist...

关键字: AI技术 动力学 模拟 BSP

医药行业的变革从未如此剧烈 上海 2025年7月8日 /美通社/ -- 当AI重构患者旅程,当消费医疗升级推动医疗需求多元化,当合规要求重塑行业游戏规则——我们正站在医疗市场新旧动能转换的关键节点,医药人面临着前所未...

关键字: AI 小红书 互联网 模拟

爱立信(Ericsson)与超微(Supermicro)探索创新5G解决方案合作,加速多种AI边缘应用的快速部署 加州圣何塞和法国巴黎 2025年6月11日 /美通社/...

关键字: EDGE MICRO SUPER 人工智能

香港 2025年5月30日 /美通社/ -- 建造业议会“未来建造中心”昨日正式开幕,标志着香港建造业写下数码化发展的重要里程碑。开幕典礼假香港建造学院-九龙湾院校举行,由发展局项目策略及管控处处长罗国权工程师、建造业...

关键字: 工程师 人工智能 数码 模拟

香港 2025年5月30日 /美通社/ -- 建造业议会“未来建造中心”昨日正式开幕,标志着香港建造业写下数码化发展的重要里程碑。开幕典礼今早假香港建造学院-九龙湾院校举行,由发展局项目策略及管控处处长罗国权工程师、建...

关键字: 工程师 人工智能 数码 模拟

模拟芯片是电子系统的神经网络,敏锐感知外界信号、精准调理电能流动、驱动机械的每一次跃动。从将传感器捕捉的微弱信号转化为清晰数据,到稳定电源为芯片提供不间断动力,再到指挥电机完成精确运动,模拟芯片无处不在,却往往隐于幕后。...

关键字: 兆易创新 GD32 模拟 信号链 PMIC

在智能制造席卷工厂、电动汽车重塑出行、数字化浪潮席卷全球的当下,电子技术正成为驱动未来的核心引擎。ADI在2025慕尼黑上海电子展“秀出全身肌肉”,以一系列令人叹为观止的展示,勾勒出从智能工业到软件定义汽车的宏伟蓝图。从...

关键字: ADI wBMS 传感器 模拟 信号链 数字变送器

4月15日,日清纺微电子株式会社(以下简称“日清纺微电子”)携四款当家产品亮相2025年慕尼黑上海电子展,通过高性能低功耗产品矩阵全面展示其在电子行业内的优势成果,为中国及世界工业自动化、汽车电子及其他民用设备等领域创新...

关键字: 模拟 运算放大器

北京2025年3月17日 /美通社/ -- 2025年国家聚焦新质生产力,为我国生物制造产业指明了发展方向。生物制造作为战略性新兴产业,被提升至新高度,肩负着推动产业升级、促进绿色可持续发展、攻克生命科学关键难题的重任。...

关键字: AI 开发平台 动力学 模拟
关闭