CN112835821A - 单片机gpio口模拟ps2接口的方法、单片机及系统 - Google Patents
单片机gpio口模拟ps2接口的方法、单片机及系统 Download PDFInfo
- Publication number
- CN112835821A CN112835821A CN202011331312.2A CN202011331312A CN112835821A CN 112835821 A CN112835821 A CN 112835821A CN 202011331312 A CN202011331312 A CN 202011331312A CN 112835821 A CN112835821 A CN 112835821A
- Authority
- CN
- China
- Prior art keywords
- data
- pin
- chip microcomputer
- single chip
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/24—Interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Microcomputers (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种单片机GPIO口模拟PS2接口的方法、单片机及系统,属于通信领域。本发明单片机GPIO口模拟PS2接口的方法包括如下步骤:选择并配置用于配置模拟PS2接口的两个GPIO口;单片机的中断处理模块判断所述PS2 CLK脚是否有中断,如果否,继续监测,如果是,执行下一步,进入中断服务程序;中断服务程序清除中断标志位,然后调用接收解析程序接收PS2 DATA脚数据并解析;一个完整的数据接收完成,退出中断服务程序,继续监测。本发明还提供一种实现所述方法的单片机及系统。本发明的有益效果为:用纯软件的方法来实现硬件PS2接口的功能,成本低。
Description
技术领域
本发明涉及通信领域,尤其涉及一种单片机GPIO口模拟PS2接口的方法,还涉及一种 实现所述方法的单片机及包含该单片机的系统。
背景技术
随着国产化的呼声越来越高,国内计划将在3年内用国产电脑替换机关事业单位的国 外电脑。要国产化就必须实现办公电脑里面的关键芯片国产化,目前国内通用桌面CPU和 嵌入式芯片都已布局,像龙芯和飞腾等芯片的性能和intel的芯片的差距越来越小,满足 日常办公没有什么问题。另外像笔记本里面的EC芯片现在主要都是ITE(联阳)、Holtek(合 泰)等厂家控制,所以要用国产的单片机替代这些单片机,但是目前笔记本上的外设PS2 接口用的比较多(比如键盘、触摸板等),国产单片机普遍都没有PS2接口,所以就急需要 一种用普通单片机的IO口能够来模拟PS2接口的解决方案。
发明内容
为解决现有技术中的问题,本发明提供一种单片机GPIO口模拟PS2接口的方法,还提 供一种实现所述方法的单片机及包含该单片机的系统。
本发明单片机GPIO口模拟PS2接口的方法包括如下步骤:
S1:选择并配置用于配置模拟PS2接口的两个GPIO口,一个模拟时钟引脚PS2 CLK脚,另一个模拟收发数据引脚PS2 DATA脚;
S2:单片机的中断处理模块判断所述PS2 CLK脚是否有中断,如果否,继续监测,如果是,执行下一步,进入中断服务程序;
S3:中断服务程序清除中断标志位,然后调用接收解析程序接收PS2 DATA脚数据并解 析;
S4:一个完整的数据接收完成,退出中断服务程序,继续监测。
本发明作进一步改进,步骤S1中,所述单片机的时钟引脚PS2 CLK脚配置如下:
使能PS2 CLK脚所在的GPIOB时钟;
设置为复用功能,除了做接收数据时钟功能外,还要作为接收中断输入脚;
使能PS2接口功能的中断回调函数;
将中断回调函数映射到对应的PS2 CLK脚;
设置为下降沿中断触发类型。
本发明作进一步改进,步骤S2中,所述CLK脚的中断信号为下降沿信号。
本发明作进一步改进,步骤S3中,所述接收解析程序的处理过程为:
(1)空闲状态下第一次进入中断后,将计数、奇偶校验数置为0;
(2)所述PS2 CLK脚每次一个下降沿进入中断,PS2 DATA脚接收一个bit数据;
(3)当PS2 DATA脚接收到有效数据部分8bits数据后,代表接收完成;
(4)进行奇偶校验,如果校验正确,则代表一次完整byte数据接收完成。
本发明还提供一种实现所述方法的单片机,包括
配置模块:用于配置模拟PS2接口的两个GPIO口,一个模拟时钟引脚PS2 CLK脚,另一个模拟收发数据引脚PS2 DATA脚;
中断处理模块:用于判断所述PS2 CLK脚是否有中断,如果否,继续监测,如果是,执行中断服务模块;
中断服务模块:用于清除中断标志位,然后调用接收解析模块;
接收解析模块:用于接收PS2 DATA脚数据并解析。
本发明还提供一种包含所述单片机的系统,还包括触摸板模块和触摸板通信模块,其 中,所述触摸板模块通过所述触摸板通信模块与单片机相连,所述触摸板模块在发送数据 前,发送通知给单片机的PS2 CLK脚,通知单片机开始接收数据,并发送数据给单片机的 PS2 DATA脚。
本发明作进一步改进,所述单片机为下降沿中断触发,所述触摸板模块每次给单片机 发送数据之前会将PS2 CLK脚拉低给一个下降沿脉冲信号通知MCU开始接收数据,单片机 根据该下降沿触发单片机中断处理程序开始解析来自触摸板的数据。
与现有技术相比,本发明的有益效果是:用纯软件的方法来实现硬件PS2接口的功能, 工作量主要在软件这块,不需要对硬件进行改动,成本较低,选用普通的GPIO口即可实现, 兼容性好,具有通用性。
附图说明
图1为本发明结构示意图;
图2为PS2协议数据格式示意图;
图3为本发明一实施例电路原理图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
如图1所示,本发明以外设触摸板为例,对本发明进行说明,当然,本例也可以为键盘等其他通过PS2接口通信的外设。
本例的单片机包括:
配置模块:用于配置模拟PS2接口的两个GPIO口,一个模拟时钟引脚PS2 CLK脚,另一个模拟收发数据引脚PS2 DATA脚;
中断处理模块:用于判断所述PS2 CLK脚是否有中断,如果否,继续监测,如果是,执行中断服务模块;
中断服务模块:用于清除中断标志位,然后调用接收解析模块;
接收解析模块:用于接收PS2 DATA脚数据并解析。
本发明还提供一种包含所述单片机的系统,还包括触摸板模块和触摸板通信模块,其 中,所述触摸板模块通过所述触摸板通信模块与单片机相连,所述触摸板模块在发送数据 前,所述触摸板模块每次给单片机发送数据之前会将PS2 CLK脚拉低给一个下降沿脉冲信 号通知MCU开始接收数据,单片机根据该下降沿触发单片机中断处理程序开始解析来自触 摸板的数据。本例也可以采用其他中断方式进行通知处理。
如图2所示,PS2接口数据通信一般为双向方式,触摸板可以向单片机发送数据,单片机也可以向触摸板发送数据。协议是标准的串行异步方式,具体为1个起始位,8个数 据位(顺序是LSB在前),1个奇偶校验位,1个停止位。也就是说触摸板每发送一个完整的 byte数据,由11个脉冲信号组成,本例单片机就根据此协议来对数据进行处理。
本例的工作原理为:
两个单片机的GPIO口是上拉至3.3v,空闲状态下两个IO口都为高电平,当用户的手 在触摸板上移动或者按下按键时,触摸板会将感应到的位移或者按键数据通过这两个IO 口传给单片机,首先会将CLK脚拉低一个脉冲来通知单片机开始接收数据,后面接着有8个CLK脉冲信号通过DATA这个引脚将一个byte的数据发送给单片机,然后有1个脉冲信 号通过DATA这个引脚将一个bit的奇偶校验位传送给单片机,作为单片机对接收的数据进 行校验是否有误。
本例所用的国产单片机为兆易创新的GD32F305系列,触摸板和MCU之间的连线如图2 所示,单片机的两个GPIO口PB11和PB10分别用来模拟PS2的CLK和DATA两个引脚。
如图1所述,本例的详细处理方法为:
(1)配置PS2 CLK脚
所述单片机的时钟引脚PS2 CLK脚配置如下:
使能时钟引脚GPIOB11所在的GPIOB时钟;
将GPIOB设置为复用功能,因为PS2 CLK脚除了做接收数据时钟功能外,还要作为接 收中断输入脚;
使能PS2接口功能的中断回调函数;
将中断回调函数映射到对应的GPIOB11脚;
同时要将GPIOB11设置为下降沿中断触发类型。
(2)单片机的中断处理模块检测PS2 CLK脚是否有下降沿,如果没有则中断处理机制 不做处理,继续监测,如果有监测到下降沿,则会进入中断服务程序。
(3)进入中断服务程序首先清除中断标志位,然后调用接收解析程序解析PS2DATA 脚的数据。
(4)一个byte的数据接收完了之后系统退出中断服务程序,继续监测。
本例根据CLK脉冲信号解析一个最基本的byte数据处理过程如下:
(a)空闲状态下第一次进入中断后,首先将计数、奇偶校验数置为0;
(b)后面PS2 CLK脚每次一个下降沿进入中断,PS2 DATA脚接收一个bit数据;
(c)当PS2 DATA脚完成8bits(也就是1个byte)的数据接收后,代表有效数据部分接收完成;
(d)进行奇偶校验,如果校验正确,则代表一次完整byte数据接收完成。
本发明用纯软件的方法来实现硬件PS2接口的功能,工作量主要在软件这块,不需要 对硬件进行改动,成本较低,选用普通的GPIO口即可实现,兼容性好,具有通用性。本 发明可以使存储方案成本降低,从而降低方案商整机出货成本,增强性价比优势。
以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施 范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本 发明的保护范围内。
Claims (7)
1.单片机GPIO口模拟PS2接口的方法,其特征在于,包括如下步骤:
S1:选择并配置用于配置模拟PS2接口的两个GPIO口,一个模拟时钟引脚PS2 CLK脚,另一个模拟收发数据引脚PS2 DATA脚;
S2:单片机的中断处理模块判断所述PS2 CLK脚是否有中断,如果否,继续监测,如果是,执行下一步,进入中断服务程序;
S3:中断服务程序清除中断标志位,然后调用接收解析程序接收PS2 DATA脚数据并解析;
S4:一个完整的数据接收完成,退出中断服务程序,继续监测。
2.根据权利要求1所述的单片机GPIO口模拟PS2接口的方法,其特征在于:步骤S1中,所述单片机的时钟引脚PS2 CLK脚配置如下:
使能PS2 CLK脚所在的GPIOB时钟;
设置为复用功能,除了做接收数据时钟功能外,还要作为接收中断输入脚;
使能PS2接口功能的中断回调函数;
将中断回调函数映射到对应的PS2 CLK脚;
设置为下降沿中断触发类型。
3.根据权利要求2所述的单片机GPIO口模拟PS2接口的方法,其特征在于:步骤S2中,所述CLK脚的中断信号为下降沿信号。
4.根据权利要求3所述的单片机GPIO口模拟PS2接口的方法,其特征在于:步骤S3中,所述接收解析程序的处理过程为:
(1)空闲状态下第一次进入中断后,将计数、奇偶校验数置为0;
(2)所述PS2 CLK脚每次一个下降沿进入中断,PS2 DATA脚接收一个bit数据;
(3)当PS2 DATA脚接收到有效数据部分8bits数据后,代表接收完成;
(4)进行奇偶校验,如果校验正确,则代表一次完整byte数据接收完成。
5.实现权利要求1-4任一项所述的单片机GPIO口模拟PS2接口的方法的单片机,其特征在于:包括
配置模块:用于配置模拟PS2接口的两个GPIO口,一个模拟时钟引脚PS2 CLK脚,另一个模拟收发数据引脚PS2 DATA脚;
中断处理模块:用于判断所述PS2 CLK脚是否有中断,如果否,继续监测,如果是,执行中断服务模块;
中断服务模块:用于清除中断标志位,然后调用接收解析模块;
接收解析模块:用于接收PS2 DATA脚数据并解析。
6.包括权利要求5所述的单片机的系统,其特征在于:还包括触摸板模块和触摸板通信模块,其中,所述触摸板模块通过所述触摸板通信模块与单片机相连,所述触摸板模块在发送数据前,发送通知给单片机的PS2 CLK脚,通知单片机开始接收数据,并发送数据给单片机的PS2 DATA脚。
7.根据权利要求6所述的系统,其特征在于:所述单片机为下降沿中断触发,所述触摸板模块每次给单片机发送数据之前会将PS2 CLK脚拉低给一个下降沿脉冲信号通知MCU开始接收数据,单片机根据该下降沿触发单片机中断处理程序开始解析来自触摸板的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011331312.2A CN112835821B (zh) | 2020-11-24 | 2020-11-24 | 单片机gpio口模拟ps2接口的方法、单片机及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011331312.2A CN112835821B (zh) | 2020-11-24 | 2020-11-24 | 单片机gpio口模拟ps2接口的方法、单片机及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112835821A true CN112835821A (zh) | 2021-05-25 |
CN112835821B CN112835821B (zh) | 2024-04-09 |
Family
ID=75923342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011331312.2A Active CN112835821B (zh) | 2020-11-24 | 2020-11-24 | 单片机gpio口模拟ps2接口的方法、单片机及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112835821B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448448A (zh) * | 2021-06-29 | 2021-09-28 | 中国兵器装备集团自动化研究所有限公司 | 一种kvm控制方法、切换控制方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955561A (zh) * | 2011-08-30 | 2013-03-06 | 安凯(广州)微电子技术有限公司 | 基于嵌入式处理器的模拟ps/2接口实现系统及实现方法 |
CN103207845A (zh) * | 2012-01-16 | 2013-07-17 | 广州三星通信技术研究有限公司 | 将ps/2键盘连接到便携式终端的方法和便携式终端 |
CN204242168U (zh) * | 2014-10-13 | 2015-04-01 | 长城信息产业股份有限公司 | 一种基于rs485总线的计算刀片管理模块 |
US20160091941A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Adapting Operating Parameters Of An Input/Output (IO) Interface Circuit Of A Processor |
CN205247378U (zh) * | 2015-12-24 | 2016-05-18 | 山东超越数控电子有限公司 | 一种基于单片机的ps2接口转usb接口转换器 |
CN205563550U (zh) * | 2016-04-19 | 2016-09-07 | 浪潮集团有限公司 | 一种基于Microblaze软核的PS2接口的KVM模块 |
-
2020
- 2020-11-24 CN CN202011331312.2A patent/CN112835821B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955561A (zh) * | 2011-08-30 | 2013-03-06 | 安凯(广州)微电子技术有限公司 | 基于嵌入式处理器的模拟ps/2接口实现系统及实现方法 |
CN103207845A (zh) * | 2012-01-16 | 2013-07-17 | 广州三星通信技术研究有限公司 | 将ps/2键盘连接到便携式终端的方法和便携式终端 |
US20160091941A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Adapting Operating Parameters Of An Input/Output (IO) Interface Circuit Of A Processor |
CN204242168U (zh) * | 2014-10-13 | 2015-04-01 | 长城信息产业股份有限公司 | 一种基于rs485总线的计算刀片管理模块 |
CN205247378U (zh) * | 2015-12-24 | 2016-05-18 | 山东超越数控电子有限公司 | 一种基于单片机的ps2接口转usb接口转换器 |
CN205563550U (zh) * | 2016-04-19 | 2016-09-07 | 浪潮集团有限公司 | 一种基于Microblaze软核的PS2接口的KVM模块 |
Non-Patent Citations (2)
Title |
---|
LONETHY: "linux GPIO模拟PS2 键盘驱动", Retrieved from the Internet <URL:https://blog.csdn.net/meng_xing_/article/details/80761787> * |
陆一鸣;闫华;钟锐;: "基于FPGA的嵌入式系统PS/2接口的实现", 电子器件, no. 03, 15 June 2007 (2007-06-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448448A (zh) * | 2021-06-29 | 2021-09-28 | 中国兵器装备集团自动化研究所有限公司 | 一种kvm控制方法、切换控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112835821B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5898861A (en) | Transparent keyboard hot plug | |
US20090210608A1 (en) | KVM switch and operation method thereof | |
EP1299794B8 (en) | System and method for establishing wireless connection | |
CN101089835A (zh) | 单串口多cpu的控制方法、系统及设备 | |
CN112835821B (zh) | 单片机gpio口模拟ps2接口的方法、单片机及系统 | |
CN102467409B (zh) | 一键调用应用程序的方法 | |
US20090259888A1 (en) | Apparatus for displaying bios post code and method thereof | |
JPH06214762A (ja) | コンピュータ入力装置用のホット・プラグ・サポート | |
CN112347017A (zh) | Lpc总线接口的ps/2键盘双机外挂系统和切换方法 | |
US7447819B2 (en) | Information processing apparatus and SMI processing method thereof | |
CN203117961U (zh) | 死机监测和复位装置 | |
CN110750475A (zh) | 多cpu共用一物理串口方法及装置、嵌入式设备、介质 | |
CN101136756A (zh) | 网络远程控制主机上电自检的方法、系统和bmc芯片 | |
CN115904844A (zh) | 一种用于打印boot信息的uart仿真模型及其工作方法 | |
CN201749455U (zh) | 中英文电脑主板故障诊断卡 | |
CN107402898B (zh) | 一种信息处理的方法及电子设备 | |
CN210323989U (zh) | 一种便携式计算机主板 | |
CN112968332A (zh) | 平板电脑主板type-c接口转接uart串口通信的兼容装置及方法 | |
CN207249662U (zh) | 自适应usb同步器 | |
CN116483760B (zh) | 交互方法、装置、芯片、键盘、电子设备及介质 | |
CN219143386U (zh) | 一种金融密码机主板 | |
CN217037336U (zh) | 一种视频编解码核心板 | |
CN100362491C (zh) | 检测系统及方法 | |
US11609876B1 (en) | USB multiplexing single-wire interface unit, chip and communication system | |
WO2015035609A1 (zh) | 一种键盘按键编码同时上传的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |