999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

艦用PS/2鍵鼠切換模塊設計與實現中FPGA和ARM的應用

2021-11-03 06:41:56海軍裝備部駐連云港地區軍事代表室張志華
電子世界 2021年19期
關鍵詞:設備

海軍裝備部駐連云港地區軍事代表室 張志華

江蘇自動化研究所 蔡欣榮 劉青春

基于FPGA和ARM的艦用PS/2接口協議鍵盤、鼠標切換模塊,采用FPGA作為PS/2接口協議編解碼及PS主機和PS/2設備數據傳輸芯片。ARM作為主控芯片,接收按鍵或者遠程軟件切換操作命令,控制FPGA切換相應的主機和設備連接。模塊實現1至2路PS/2鍵鼠,1至4路主機的任意切換。通過測試和應用,模塊能夠實現2路PS/2鍵盤、4路PS/2主機的任意切換。

艦用顯控臺環境下,很多鍵盤、軌跡球(鼠標的一種)模塊仍使用PS/2接口協議,為了滿足一套鍵盤、軌跡球能夠操控顯控臺的所有計算機,一般在臺體上安裝鍵盤、鼠標及顯示器切換模塊,俗稱基于PS/2協議的KVM切換器。傳統的PS/2協議KVM切換器有多種實現方案,有采用機械開關或電子開關實現物理通道切換或連接,有采用FPGA或專用切換芯片。采用電子開關芯片或機械開關,設備加電后,通過開關連接實現計算機和鍵盤、鼠標通信。如果要切換到另外一路主機,只需要控制電子切換開關或者撥動機械開關,顯控臺上電時,首先要確定加電的計算機和PS/2設備邏輯或物理通道要連接上,如果某路計算機上電時,沒有識別到PS/2鍵盤鼠標設備時,那么系統在運行過程中,即使再接入PS/2鍵盤鼠標也不能被識別。同時機械開關或電子開關切換過程存在抖動,造成信號干擾或誤觸發。另外一個問題是傳統的PS/2切換模塊只能接入1路PS/2鍵盤鼠標,如果用戶需要擴展一路備用商用調試鍵鼠,傳統的PS/2協議切換器也不支持。

艦用環境下,須要設計一種艦用PS/2協議鍵鼠切換矩陣,支持兩套鍵鼠設備的接入,即支持主鍵鼠、備用鍵鼠,備用鍵鼠主要是調試或診斷時接入使用;同時支持最少4路計算機,主鍵鼠、備用鍵鼠通過按鍵或者軟件協議可以任意切換至某路計算機,當周圍存在電磁干擾時,電路能夠濾除干擾信號,提取有效信號。設備加電后,模塊能夠自動實現下行PS/2鍵盤鼠標的識別、上行PS/2主機控制器命令解釋,PS/2鍵鼠設備和主機之間的通路連接。

1 PS/2協議鍵鼠切換模塊整體結構

艦用顯控臺一般有時安裝多至4路計算機主板,顯控臺面安裝一套PS/2鍵盤、軌跡球模塊。軌跡球是一種特殊的鼠標設備,依靠球體轉動實現操作系統桌面定位的裝置,接口通訊協議同鼠標。其使用靈活性沒有鼠標高,但是適用于艦船、戰車等顛簸環境下。為提高系統的可靠性和靈活性,支持主鍵鼠、備用鍵鼠兩套PS/2接口,主、備鍵鼠均為PS2接口,初始時主鍵鼠、備用鍵鼠都呈“斷開”狀態,待切換后與設備連接,任一設備同一時間可以使用一套鍵鼠或者兩套同時使用(主鍵鼠或者備用鍵鼠),由外部按鍵或者軟件通信進行切換。主鍵鼠通常就是臺面安裝的PS/2鍵盤、軌跡球。臺面留有備用鍵鼠PS/2接口,便于接入通用PS/2接口鍵盤或者鼠標。圖1是本文實現的PS/2接口協議鍵盤、鼠標切換模塊組成框圖。

圖1 基FPGA和ARM的PS/2接口協議鍵盤、鼠標切換模塊結構框圖

2 硬件實現

硬件部分主要由四大部分組成:(1)PS/2接口信號轉換電路;(2)FPGA邏輯電路;(3)ARM主控、按鍵控制電路;(4)外圍輔助電路,包含電源電路、信號指示電路、JTAG下載電路等。下面敘述了前三部分電路。

2.1 PS/2接口信號轉換電路設計

PS/2鍵鼠切換電路包含4路主機和2路設備接口。每路主機或設備各包含1路PS/2協議鍵盤、PS/2協議鼠標接口。PS/2鍵盤鼠標接口是開漏(集)輸出,需要上拉1kΩ~10kΩ電阻,輸入輸出接口首先要經過ESD防護芯片,保護板卡后端電路不被靜電損壞。IDTQS3861QG是雙向電壓轉換芯片,該芯片的VCC是通過5V串接一個二極管供電的,二極管1N4148正常壓降在0.7V左右,VCC在4.3V左右,當兩邊數據管腳的電壓小于VCC-1.0V(3.3Vdc)時,左右電壓一致,當任何一邊的電壓高于VCC-1.0V時,對應輸出邊的電壓維持在VCC-1.0V,當然每邊的管腳最高輸入電壓都不能超過7.0V。2路主機PS/2接口電路見圖2,另主鍵鼠、備用鍵鼠設備端PS/2接口電路相似。經過電壓轉換芯片的PS/2接口信號直接進入FPGA芯片,PS/2接口信號是雙向信號,主機具有高優先級,可以任意時刻發送數據給設備,一般顯控臺上電后主機發送數據給設備,完成設備的初始化。初始化完成后,大部分情況下都是設備上傳鍵鼠數據給主機,少部分情況主機發送點燈數據給鍵盤。

圖2 2路主機PS/2接口電路

2.2 FPGA邏輯電路

如圖3所示,FPGA芯片選用Altera公司的EP4CE15E22I7芯片,該芯片是144個管腳EQFP表貼芯片,最大有81個IO管腳供用戶使用。該芯片含有15408個LE邏輯單元,每個LE邏輯單元包含一個四口輸入LUT查找表和一個可編程的寄存器。選用這個芯片的依據是邏輯資源的用量,考慮到四路主機,每路主機包含2個PS/2接口,每路接口要識別相應的上行主機接口命令并響應。兩套鍵鼠,每套鍵鼠包含2個PS/2接口,共4個PS/2接口,每路PS/2接口需要和對應的下行設備通訊,完成相應接口鍵鼠的識別和數據收發。FPGA芯片內部還有相應的FIFO電路,實行對應數據的存儲轉發,還有鍵盤Lock燈的存儲和轉發邏輯。實際使用中,經過編譯只用了70%左右資源,為后期功能擴展提供了很大的便利性。FPGA外接一路Uart接口,可以根據ARM的指令,實時監控PS/2主機端某路或設備端某路的收發數據。

圖3 FPGA邏輯電路框圖

2.3 ARM主控、按鍵控制電路

如圖4所示,ARM主控芯片選用ST公司的STM32F103VCT6芯片,這是Cortex-M3架構芯片,是目前最通用的ARM處理器之一,片內集成大量的通用外設,不需要用戶再擴展外部芯片,國內多個廠家提供了大量的參考程序,主要有庫函數版本、寄存器版本等。

圖4 ARM主控、按鍵及指示電路

按鍵部分一端接信號地,另一端接入ARM芯片,ARM芯片內部上拉信號使能,并打開相應的中斷線,當按鍵接觸后,ARM輸入端采集到低電平信號中斷響應,并根據FPGA和ARM之間的邏輯判斷,點亮相應的指示燈。ARM外接一個Uart端口,與外部設備擴展通信使用。

四路主鍵鼠按鍵,按下某路按鍵后,如果該路主機、該路設備均可滿足切換要求,原先主鍵鼠和主機的連接關系切斷,熄滅該路指示燈。切換至新的主鍵鼠和主機連接,同時點亮按鍵指示燈。滿足切換要求指的是要切換到的主機上電且已完成初始化,同時主鍵鼠或備用鍵鼠也完成初始化。如1、2、4路主機已上電并系統啟動完成,主鍵鼠接入,備用鍵鼠未接入。此時按第3路主鍵鼠按鍵,第3路主鍵鼠按鍵指示燈點亮,同時主鍵鼠可以操控第3路主機,如果此時按下第4路的備用鍵鼠按鍵,沒有任何相應,因為備用鍵鼠未接入,一般要求主鍵鼠或備用鍵鼠接入時鍵盤、軌跡球都要接入。

3 軟件設計

3.1 PS/2接口協議分析

PS/2鼠標和鍵盤是一種雙向同步串行協議,鍵盤/鼠標可以發送數據到主機,而主機也可以發送數據到設備。但主機總是在總線上有優先權,它可以在任何時候抑制來自于鍵盤/鼠標的通訊,主機只要把時鐘拉低即可。由于PS/2接口協議并不是一個十分標準的協議,這里我們按照一般的設備設置,將時鐘頻率設置為12.5MHz。這里需要主機,不管通信方向是從主機到設備還是從設備到主機,時鐘都是由設備產生。

(1)PS/2設備到主機通訊協議分析

從鍵盤/鼠標發送到主機的數據在時鐘信號的下降沿,即當時鐘從高變到低的時候被主機讀取。PS/2設備到主機通訊過程如圖5所示。

圖5 PS/2設備到主機通訊過程

PS/2設備要向主機發送數據時,首先檢測時鐘、數據線是否都是高電平,以此來判斷主機是否需要對設備進行通信。如果時鐘數據線都為高,PS/2設備先將數據線拉低,之后產生時鐘下降沿以產生一個Start信號,通知主機數據發送開始。主機在每個時鐘的下降沿讀入數據,并在讀取8 bit的data后校驗設備發來的奇偶校驗位,最后產生一個Stop停止信號完成本次設備到主機的通信。PS/2接口協議鍵盤輸入y按鍵,y按鍵第二套鍵盤掃描碼按下通碼是0x35,斷碼前面加一個0xf0。主鼠標在上電后,FPGA首先要初始化鼠標,之后鼠標才能正常發送數據給FPGA。

(2)PS/2主機到設備通訊協議分析

從主機發送到設備的數據在時鐘信號的上升沿,即當時鐘從低變到高的時候被設備讀取。PS /2主機到設備通訊過程如圖6所示。圖6是PS/2主機到設備通訊過程主機要向PS/2設備發送數據時,首先將時鐘信號拉低100us以上,然后拉低數據線產生一個Start起始信號。當設備檢測到這個狀態后,將開始產生時鐘信號,并且時鐘脈沖標記下輸入八個數據位、一個奇偶校驗位和一個停止位。之后拉低數據線產生一個Ack回應位,以應答主機,表明數據已收到。最后拉高數據線完成本次主機到設備的通信。PS/2主機到設備通訊各時間參數可以參考PS/2接口協議。

圖6 PS/2主機到設備通訊過程

3.2 PS/2設備側初始化流程

PS/2設備鍵盤、鼠標必須初始化才能正確工作,PS/2鍵盤有默認工作狀態:默認的機打延時、默認的機打速率、默認的Lock指示燈點亮狀態。一般默認的機打延時和機打速率都需要重新設置。如果不設置,PS/2鍵盤可以按照默認參數上傳按鍵數據并和主機交互點亮Lock指示燈。PS/2鼠標必須初始化相關的參數,才能正確工作,不然不會發送數據給主機。

(1)PS/2鍵盤設備初始化流程

這是常用的PS/2鍵盤上電后初始化時間序列,主要初始化鍵盤的機打速率、機打延時、Lock燈的點滅設置。可以設置點亮也可以設置點滅Num Lock燈,設置完成后,鍵盤即可按照第二套鍵盤掃描碼發送和接收數據。特別注意引導鍵盤進入reset模式后,需要至少等待500ms,才能發送下一條設置語句,不然很容易收到鍵盤的錯誤反饋碼。

(2)PS/2鼠標設備初始化流程

PS/2鼠標和PS/2鍵盤在初始化方面有區別,PS/2鍵盤不初始化也能發送按鍵值給上位機,但是PS/2鼠標不行,必須經過初始化才能將鼠標位移數據、左中右按鍵狀態發送給主機。PS/2鼠標的初始化時間序列,按照此時間序列進行,才能正確識別帶有滾輪的鼠標。

3.3 PS/2主機側初始化流程

PS/2主機初始化流程包含PS/2鍵盤接口、PS/2鼠標接口的初始化。FPGA被動分別接收主機發送過來的指令并響應,將響應數據發送給主機。

(1)PS/2鍵盤主機接口初始化流程

艦用計算機主板上電后,FPGA邏輯芯片狀態機按照上位機發送的不同指令分別響應。

(2)PS/2鼠標主機接口初始化流程

艦用計算機主板上電后PS/2鼠標接口的發送序列,FPGA邏輯芯片狀態機按照上位機發送的不同指令分別響應。一般情況下,上電POST自檢密碼或者BIOS密碼敲入之前沒有任何命令交互。

3.4 模塊工作流程

基于FPGA的艦用PS/2鍵盤鼠標切換模塊上電后,ARM程序為切換指令主動發起者,實施相應的切換操作并點亮指示燈。只有完成上電并且枚舉識別的主機、完成枚舉識別的設備才可以切換。如果某路主機沒有上電或者枚舉失敗,發送切換指令,不能成功切換至該路主機。如果鍵鼠設備某路不能識別,該設備也不能切換,不能切換成功的指令仍維持上次的狀態結果,若成功切換后點亮該路指示燈。設備上電前,要求鍵盤鼠標都要連接上。ARM切換功能子函數見下述流程圖7(a)。

FPGA程序功能:(1)識別主機接口鍵盤、鼠標的指令,完成主機的枚舉識別;(2)識別設備接口鍵盤、鼠標的指令,完成兩路鍵盤、鼠標的枚舉識別;(3)響應ARM切換操作指令,完成切換數據流的連接;(4)響應ARM切換狀態查詢,能夠實施監控切換過程中的各狀態量。FPGA主機鍵盤、鼠標各子程序見下述流程圖7(b)、(c)。FPGA程序持續檢測主機是否上電,如果主機上電,FPGA初始化模塊開始工作,分別模擬設備與主機側進行初始化、模擬主機與設備側進行初始化。FPGA主機鍵盤、鼠標功能函數有區別,鍵盤數據有上行、下行,枚舉完成后下行通訊主要是主機發送點燈碼數據給設備。而主機鼠標接口完成枚舉后,一般不再發送數據給設備,只有設備發送位移和按鍵碼數據給主機,如果有特殊指令如初始化指令,由FPGA的IP核應答主機。PS/2設備端鍵盤接口功能主要完成鍵盤設備的枚舉,響應鍵盤的點燈指令,發送鍵盤數據至連接的主機鍵盤接收FIFO隊列中。PS/2設備端鼠標接口功能主要完成鼠標設備的枚舉,完成枚舉后,使能鼠標設備,即時將鼠標位移數據、左中右按鍵數據發送至連接的主機鼠標接收FIFO隊列中。因功能不復雜,這里不再給出流程圖。

圖7 基于FPGA和ARM的艦用PS/2鍵鼠切換模塊工作流程圖

4 模塊測試及應用

基于FPGA和ARM的艦用PS/2鍵鼠切換模塊電路,實際使用時主鍵鼠、備用鍵鼠至少連接1路,4路主機至少連接1路。測試時,2路設備端(各包含鍵盤、鼠標)全部連接,4路主機端(各包含鍵盤、鼠標接口)全部連接。設備端鍵盤、鼠標要求都必須連接。4路主機分別為服務器1、服務器2、外接設備1、外界設備2。

模塊的測試項包括:(1)主機開機后能否切換;(2)主機不加電能否切換;(3)設備未連接能否切換;(4)鍵盤切換后指示燈狀態是否隨即更新;(5)鼠標、鍵盤按鍵動作過程時切換是否出現故障等現象。

計算機通過串口和模塊控制板連接,點擊應用軟件的按鈕,可以將主鍵鼠或備用鍵鼠切換至任意某一主機,需要注意的是某路主機沒有開機或枚舉失敗,主鍵鼠或備用鍵鼠不能切換至該路主機。某路設備沒有接入時,設備也不能參與切換。切換不成功時,維持上一個狀態。系統應用時,需要注意的是切換過程中盡量避免按鍵、鼠標有動作,容易丟失數據。

總結:本文實現了基于FPGA和ARM的艦用PS/2鍵鼠切換模塊,通過按鍵或者遠程軟件操作,實現2路PS/2鍵鼠,4路主機的任意切換。模塊支持2路或1路鍵鼠,1路至4路主機的任意裁剪使用。經過一段時間的艦用環境下運行和操作,該模塊運行可靠穩定。基于PS/2接口協議的鍵鼠切換模塊設計與實現推進了艦用裝備PS/2接口協議操控部件的改造、加裝及共享。

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 国产内射一区亚洲| 国产亚洲视频在线观看| 白浆免费视频国产精品视频| 色婷婷色丁香| 超清无码一区二区三区| 91精品国产福利| 天堂成人在线| 国产黄色爱视频| 国产黄网站在线观看| yy6080理论大片一级久久| 国产一区二区三区精品久久呦| 欧美激情二区三区| 亚洲精品无码av中文字幕| 国产成人狂喷潮在线观看2345| 国产激爽大片高清在线观看| 国产激情在线视频| 国产日韩欧美精品区性色| 欧美啪啪一区| 2048国产精品原创综合在线| 丰满的熟女一区二区三区l| 无码国内精品人妻少妇蜜桃视频| 欧美精品综合视频一区二区| 福利在线不卡一区| 福利小视频在线播放| 日韩 欧美 小说 综合网 另类| 国产亚洲一区二区三区在线| 成人伊人色一区二区三区| 91成人在线观看视频| 久久精品中文字幕免费| 2021国产精品自拍| 国产综合精品一区二区| 中文毛片无遮挡播放免费| 免费高清毛片| 国产免费久久精品44| 88av在线| 中文字幕资源站| 亚洲三级色| 91亚洲精品国产自在现线| 日韩在线2020专区| 国产福利拍拍拍| 久一在线视频| 国产网站一区二区三区| 中文一级毛片| a级毛片免费在线观看| 丁香六月综合网| 一本大道无码日韩精品影视 | 在线国产综合一区二区三区 | 国产精品理论片| 蜜臀av性久久久久蜜臀aⅴ麻豆| 996免费视频国产在线播放| 亚洲男人在线| 亚洲精品片911| 欧美色视频日本| 亚洲欧美日韩中文字幕一区二区三区| 亚洲国产成人超福利久久精品| 国产福利一区视频| 亚洲国产日韩在线成人蜜芽| 手机精品福利在线观看| 一本无码在线观看| 超碰免费91| 99视频免费观看| 成人福利在线免费观看| 国产va欧美va在线观看| 九月婷婷亚洲综合在线| 国产喷水视频| 日韩精品亚洲一区中文字幕| 国产精品污视频| 国产精品女熟高潮视频| 国产午夜福利片在线观看| 99视频在线观看免费| 亚洲aⅴ天堂| 国产综合在线观看视频| 99热这里只有成人精品国产| 国产综合在线观看视频| 久久99国产综合精品1| 日本午夜影院| 91年精品国产福利线观看久久| 91毛片网| 人人91人人澡人人妻人人爽| 99re视频在线| 久久久91人妻无码精品蜜桃HD| 亚洲色图欧美激情|