当前位置:首页 > 电源 > 数字电源
[导读]PS2协议读键盘值相当简单嘛,比模拟SPI、I2C简单多了...下面介绍一下具体过程.1.明确接线关系,只需接4根线,VCC要+5V,3.3我测试过不能用,时钟和数据线要用bidir双向口线,FPGA可以不用外接上拉电阻。另外,USB键盘

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--]
 
基本按键,键盘会发送“F0”+“键码”
扩展按键,则发送“E0”+“F0”+“键码”
大家都来试一下吧,一个下午就能搞定!

附程序,晶振频率降至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

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

上海2022年10月17日 /美通社/ -- 近日,第17届中国研究生电子设计竞赛(下简称:研电赛)全国总决赛评审工作圆满完成。今年,来自全国63个高校的114支参赛队伍报名了TI企业命题,创下历史新高。并且,...

关键字: TI 德州仪器 OS 模拟

芭比娃娃制造商、全球玩具巨头美泰公司(Mattel)宣布入驻元宇宙平台Roblox,正式进军元宇宙市场。该公司已经在沙盒游戏元宇宙Roblox中为芭比娃娃建造了一个虚拟空间,几个月后将在 Livetopia 中举办「芭比...

关键字: POCKET 模拟 TOP TE

可以有很多种,如果我们随机采访10位业内大佬,也许会得到10种不同的答案。举个例子,按照处理信号方式可分为模拟芯片和数字芯片。按照设计理念可分为可分为通用芯片和专用芯片。

关键字: 模拟 芯片 数字芯片

(全球TMT2022年9月22日讯)OneAsia宣布,推出高性能计算解决方案OAsis,并作为香港首个同类解决方案,赋能针对复杂数据的计算能力和模拟计算能力。 OAsis支持客户将按需计费的敏捷性云服...

关键字: ASIA 高性能计算 数据存储 模拟

上海2022年9月19日 /美通社/ -- 近日,由全球领先的数字化整合增值服务商 -- 柯尼卡美能达(中国)投资有限公司发起的"握爪之约,追光未来"导盲犬爱心公益活动暨捐赠仪式于广州导盲犬学校举行。...

关键字: CSR 数字化 机电设备 模拟

SmartEdge渠道合作伙伴大奖得主代表了Lantronix的全球多元化合作伙伴生态系统

关键字: EDGE LAN SMART TE

(全球TMT2022年8月29日讯)近期,爱立信携手中国移动通信集团浙江有限公司及多家合作伙伴,将5G技术运用在专注公共安全的自然灾害管理中。此前,由各方合作研发的5G关键任务合作解决方案 -- 5...

关键字: 中国移动 爱立信 5G 模拟

杭州2022年8月24日 /美通社/ -- 近日,2022年TI杯全国大学生电子设计竞赛模拟电子系统设计专题邀请赛(后文简称"模拟邀请赛")在杭州落下帷幕。本届模拟邀请赛由全国大学生电子设计竞赛组委会...

关键字: 模拟 TI 全国大学生电子设计竞赛 电子工程

满怀初心,奔赴热爱 上海2022年8月15日 /美通社/ -- 8月12日下午,身在天津的贾子熠和屏幕前近七万名星巴克伙伴一起,紧张地等待着一个结果。当听到自己的名字时,她忍不住流下了眼泪 -- 三次参赛,终...

关键字: 大赛 BSP 模拟

砥砺探索二十载发现新功效,新原料新配方技术助力产品创新 上海2022年8月12日 /美通社/ -- 今日,欧莱雅研发和创新中心举办了以"甜蜜抗老,一玻ALL IN"为主题的玻色因(PRO-XYLAN...

关键字: EACUTE OV 模拟 BSP

数字电源

15504 篇文章

关注

发布文章

编辑精选

技术子站

关闭