基于FPGA的KVM切换器的设计与实现
- 格式:pdf
- 大小:1.43 MB
- 文档页数:3
应用实践
文章编号:16744578(2018)02002403
基于 FPGA的 KVM切换器的设计与实现
郭栋梁,柏淑红,杨 伟,李晓飞
(山西大众电子信息产业集团有限公司 军用信息设备事业部,山西 太原 030024) 摘 要:针对狭小空间内多主机的应用场景,以及原有 KVM切换器占用空间大、响应速度慢、电 路复杂程度高等缺点,设计并实现了基于 FPGA的 KVM切换器,该 KVM切换器基于可编程逻辑器 件,实现了键盘、鼠标、VGA信号的 1路转多路切换。实验证明,该切换器能够完成 PS/2键盘鼠标信 号及 VGA信号的 1路转多路切换,具有占用空间小、电路结构简单、响应速度快、实时性高等优点。 关键词:FPGA;KVM切换器;PS/2键鼠 中图分类号:TP334 文献标识码:A
1 KVM 切换器工作原理
KVM切换器也称“KVM 多电脑切换器”,它是 Keyboard(键盘)、Video(显示器)和 Mouse(鼠标)三 个单词的第一个字母,即能够实现用一套显示器、键 盘、鼠标来控制多台主机设备[1]。随着各种场所的 信息化及装备的复杂化发展,为有效减少人员的配 置、节约占用面积,须在这些场所引入 KVM 模块, 以提高系统的合理性及管理人员的工作效率,节约 有限的工作面积,降低网络及系统的总体设备成本。 如图 1所示为 KVM切换器原理框图。
收稿日期:2018-02-08 修回日期:2018-03-22 作者简介:郭栋梁(1987),男,江苏徐州人,硕士研究生,研究方向:通信与信息系统。
第 2期 郭栋梁,等:基于 FPGA的 KVM切换器的设计与实现
25
个时钟的下降沿读入数据,并在读取 8bit的 DATA 后校验设备发来的奇偶校验位,最后产生一个 STOP 停止信号完成本次设备到主机的通信。 2.1.2 PS/2主机到设备通讯协议分析
从键盘 /鼠标发送到主机的数据在时钟信号的 下降沿,即 当 时 钟 从 高 变 到 低 的 时 候 被 主 机 读 取[4]。PS/2设备到主机通讯过程如图 2所示。
图 1 KVM切换器原理框图
系统由外围控制设备、FPGA、显示切换开关以及 PC机群组成。PS/2键盘鼠标与主机的通信完全由 FPGA编程完成,VGA与串口信号由 FPGA控制模拟 开关完成信号的传输与切换。整个 KVM切换器具有 结构简单、电路复杂程度低、响应速度快等优点。
图 3 PS/2主机到设备通讯过程
主机要向 PS/2设备发送数据时,首先将时钟信 号拉 低 100us以 上,然 后 拉 低 时 钟 线 产 生 一 个 START起始信号。当设备检测到这个状态后,将开 始产生时钟信号,并且时钟脉冲标记下输入八个数 据位、一个奇偶校验位和一个停止位。之后拉低数 据线产生一个 ACK回应位,以应答主机,表明数据 已收到。最后拉高数据线完成本次主机到设备的 通信。
ቤተ መጻሕፍቲ ባይዱ
是由 IBM开发并且最初出现在 IBM 技术参考手册 里[2]。现在的 PS/2设备接口仍广泛应用于对连接 稳定性要求较高的场景下。
PS/2鼠标和键盘是一种双向同步串行协议,键 盘 /鼠标可以发送数据到主机,而主机也可以发送数 据到设备。但主机总是在总线上有优先权,它可以 在任何时候抑制来自于键盘 /鼠标的通讯,主机只要 把时钟拉低即可[3]。由于 PS/2接口协议并不是一 个十分标准的协议,这里我们按照一般的设备设置, 将时钟频率设置为 15MHz。这里需要主机,不管通 信方向是从主机到设备还是从设备到主机,时钟都 是由设备产生。 2.1.1 PS/2设备到主机通讯协议分析
参考文献
[1] 马光华,郑建立.基于 FPGA和 ARM9微控制
器的 KVM 交 换 机 设 计 [J].仪 表 技 术,2013
3 KVM 切换器工作流程
3.1 FPGA工作模块框图 由于该 KVM切换器中只是用了一个 FPGA芯
片,虽然电路设计上大大简化,但需要使用 FPGA通 过内部逻辑实现模拟 PS/2外设与主机初始化模块、 模拟主机与 PS/2外设初始化模块,键鼠工作模块、 键盘点电灯记忆模块、切换指示模块、状态打印模块 等模块,以此来完成 KVM 切换器的正常工作。FP GA工作模块框图如图 4所示。
图 5 KVM切换器工作流程
3.3 测试结果及性能分析 在电路板 调 试 以 及 程 序 调 试 完 成 后,在 KVM
切换器上外接 PS/2键盘、鼠标、显示器、一路 Win dow7系统主机、一路 Linux系统主机。实验证明, KVM切换 器 能 快 速 稳 定 的 完 成 一 路 键 盘、鼠 标、 VGA及串口向两路键盘、鼠标、VGA及串口的转换。 其中 PS/2键盘、鼠标实时采集数据以及电路板实物 图分别如图 6、图 7所示。
从主机发送到设备的数据在时钟信号的上升 沿,即当时钟从低变到高的时候被设备读取。PS/2 主机到设备通讯过程如图 3所示。
拟主机与设备进行初始化。在初始化完成后,进入 键盘鼠标工作模块,在这期间,切换器会持续检测主 机是否重启、切换开关是否动作,如果切换开关有动 作或者主机重启,则重新进入初始化流程。KVM 切 换器工作流程如图 5所示。
2 KVM 切换器程序设计
2.1 PS/2接口协议分析 PS/2设备接口用于许多现代的鼠标和键盘,它
图 2 PS/2设备到主机通讯过程
PS/2设备要向主机发送数据时,首先检测 时 钟、数据线是否都是高电平,以此来判断主机是否需 要对外设进行通信,如果时钟数据都为高,PS/2设 备先将数据拉低,之后产生时钟下降沿以产生一个 START信号,通知主机数据发送开始[5]。主机在每
图 4 FPGA工作模块框图
3.2 KVM 切换器工作流程 当 KVM 切换器上电自检完成后,程序中会持
续检测主机是否上电,如果主机上电,FPGA初始化 模块开始工作,分别模拟设备与主机进行初始化、模
图 6 PS/2键盘、鼠标实时采集数据
26
山 西 电 子 技 术 2018年