www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]Verilog模擬PS2協(xié)議的方法

PS2協(xié)議讀鍵盤值相當(dāng)簡單嘛,比模擬SPI、I2C簡單多了...下面介紹一下具體過程.

1.明確接線關(guān)系,只需接4根線,VCC要+5V,3.3我測試過不能用,時鐘和數(shù)據(jù)線要用bidir雙向口線,F(xiàn)PGA可以不用外接上拉電阻。另外,USB鍵盤也可以用,只要用一個轉(zhuǎn)接頭轉(zhuǎn)成PS2即可。
 
2.讀取基本的鍵盤數(shù)據(jù),不需要FPGA發(fā)送任何數(shù)據(jù),只需讀取鍵盤發(fā)回來的數(shù)據(jù)即可
如下面的時序圖,每次鍵盤發(fā)送11個clock信號,我們需要做的事情就是在時鐘的下降沿讀取數(shù)據(jù)
 
3.如何來采樣CLK低電平?
這里可以用一個FIFO來儲存數(shù)據(jù),如下面的程序,當(dāng)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.當(dāng)檢測到第一個低電平時,我們只需要連續(xù)讀取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個數(shù)據(jù)的功能,如下表
 
5.如果想進一步區(qū)分鍵值,就需要查表了,如下表[!--empirenews.page--]

 
基本按鍵,鍵盤會發(fā)送&ldquo;F0”+“鍵碼”
擴展按鍵,則發(fā)送“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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

本屆年會將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設(shè)計工程師推出25門技術(shù)課程

關(guān)鍵字: 嵌入式 MCU 模擬

蘇州2025年8月21日 /美通社/ -- 2025年7月,由博瑞醫(yī)藥聯(lián)合AI藥物設(shè)計平臺予路乾行共同開發(fā)的候選藥物BGM1812,正式發(fā)表于國際藥物化學(xué)權(quán)威期刊《Journal of Medicinal Chemist...

關(guān)鍵字: AI技術(shù) 動力學(xué) 模擬 BSP

醫(yī)藥行業(yè)的變革從未如此劇烈 上海 2025年7月8日 /美通社/ -- 當(dāng)AI重構(gòu)患者旅程,當(dāng)消費醫(yī)療升級推動醫(yī)療需求多元化,當(dāng)合規(guī)要求重塑行業(yè)游戲規(guī)則——我們正站在醫(yī)療市場新舊動能轉(zhuǎn)換的關(guān)鍵節(jié)點,醫(yī)藥人面臨著前所未...

關(guān)鍵字: AI 小紅書 互聯(lián)網(wǎng) 模擬

愛立信(Ericsson)與超微(Supermicro)探索創(chuàng)新5G解決方案合作,加速多種AI邊緣應(yīng)用的快速部署 加州圣何塞和法國巴黎 2025年6月11日 /美通社/...

關(guān)鍵字: EDGE MICRO SUPER 人工智能

香港 2025年5月30日 /美通社/ -- 建造業(yè)議會“未來建造中心”昨日正式開幕,標(biāo)志著香港建造業(yè)寫下數(shù)碼化發(fā)展的重要里程碑。開幕典禮假香港建造學(xué)院-九龍灣院校舉行,由發(fā)展局項目策略及管控處處長羅國權(quán)工程師、建造業(yè)...

關(guān)鍵字: 工程師 人工智能 數(shù)碼 模擬

香港 2025年5月30日 /美通社/ -- 建造業(yè)議會“未來建造中心”昨日正式開幕,標(biāo)志著香港建造業(yè)寫下數(shù)碼化發(fā)展的重要里程碑。開幕典禮今早假香港建造學(xué)院-九龍灣院校舉行,由發(fā)展局項目策略及管控處處長羅國權(quán)工程師、建...

關(guān)鍵字: 工程師 人工智能 數(shù)碼 模擬

模擬芯片是電子系統(tǒng)的神經(jīng)網(wǎng)絡(luò),敏銳感知外界信號、精準(zhǔn)調(diào)理電能流動、驅(qū)動機械的每一次躍動。從將傳感器捕捉的微弱信號轉(zhuǎn)化為清晰數(shù)據(jù),到穩(wěn)定電源為芯片提供不間斷動力,再到指揮電機完成精確運動,模擬芯片無處不在,卻往往隱于幕后。...

關(guān)鍵字: 兆易創(chuàng)新 GD32 模擬 信號鏈 PMIC

在智能制造席卷工廠、電動汽車重塑出行、數(shù)字化浪潮席卷全球的當(dāng)下,電子技術(shù)正成為驅(qū)動未來的核心引擎。ADI在2025慕尼黑上海電子展“秀出全身肌肉”,以一系列令人嘆為觀止的展示,勾勒出從智能工業(yè)到軟件定義汽車的宏偉藍圖。從...

關(guān)鍵字: ADI wBMS 傳感器 模擬 信號鏈 數(shù)字變送器

4月15日,日清紡微電子株式會社(以下簡稱“日清紡微電子”)攜四款當(dāng)家產(chǎn)品亮相2025年慕尼黑上海電子展,通過高性能低功耗產(chǎn)品矩陣全面展示其在電子行業(yè)內(nèi)的優(yōu)勢成果,為中國及世界工業(yè)自動化、汽車電子及其他民用設(shè)備等領(lǐng)域創(chuàng)新...

關(guān)鍵字: 模擬 運算放大器

北京2025年3月17日 /美通社/ -- 2025年國家聚焦新質(zhì)生產(chǎn)力,為我國生物制造產(chǎn)業(yè)指明了發(fā)展方向。生物制造作為戰(zhàn)略性新興產(chǎn)業(yè),被提升至新高度,肩負(fù)著推動產(chǎn)業(yè)升級、促進綠色可持續(xù)發(fā)展、攻克生命科學(xué)關(guān)鍵難題的重任。...

關(guān)鍵字: AI 開發(fā)平臺 動力學(xué) 模擬
關(guān)閉