将ps/2键盘连接到便携式终端的方法和便携式终端的制作方法

文档序号:6363735阅读:113来源:国知局
专利名称:将ps/2键盘连接到便携式终端的方法和便携式终端的制作方法
技术领域
本发明涉及一种将PS/2键盘连接到便携式终端的方法便携式终端,更具体地讲,涉及一种通过复用能够连接PS/2键盘的方法及使用该方法的便携式终端。
背景技术
一般来讲,“便携式终端”是指可被用户随身携带的、能够向用户提供通话、消息收发、日程管理、游戏、音频/视频再现等各种功能的装置,例如,手机,平板电脑、个人数字助理(PDA)、数字多媒体播放器等。随着电子、通信技术的发展,人们希望便携式终端能够兼容键盘,以便于用户进行文字输入及其它操作,例如,游戏操作。目前,常用的与便携式终端连接的键盘有通用串行总线(USB)的键盘(以下简称“USB键盘”)和蓝牙键盘。对于USB键盘和蓝牙键盘的支持,对便携式终端软硬件系统和研发人员的要求都比较高,研发周期较长,成本也比较大。另外,受到便携式终端尺寸的限制,便携式终端上只有一个USB接口,资源非常有限。如果增加一个USB接口,则在便携式终端的软硬件的实现上将变得复杂许多,增加非常大的开销。主要表现在以下两方面:1)如果便携式终端有两个USB控制器,则在软件方面,需要实现对两个USB控制器的控制,相比简单的通用串行异步发送接收(UART)应用,实现USB应用要复杂许多,另外增加了硬件成本;2)如果便携式终端只有一个USB控制器,则需要通过软件实现与USB HUB相似的的功能,软件上的实现将变得非常复杂。因此,如上所述,当前的便携式终端不能支持传统的PS/2键盘。另外,对于简单的键盘应用,无论是使用USB键盘还是蓝牙键盘,所带来的硬件和软件的开销都显得比较大。

发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种便携式终端及便携式终端连接PS/2键盘的方法。根据本发明实施例的一种将PS/2键盘连接到便携式终端的方法,包括如下步骤:所述便携式终端的处理器对所述PS/2键盘进行初始化;所述便携式终端的通用异步发送接收(UART)接口通过其接收(URX)端子接收所述PS/2键盘发送的键盘数据,其中,所述便携式终端的UART接口连接到PS/2键盘的PS/2接口,其中,UTX端子和发送(URX)端子分别连接到PS/2接口的时钟信号端子和数据收发端子。另外,所述方法还包括步骤:在初始化成功之后,所述处理器基于所述PS/2键盘的时钟信号计算所述UART接口的UART控制器用于从所述PS/2键盘接收数据的波特率。另外,所述方法还包括步骤:所述处理器将所述UART接口的UTX端子和URX端子复用为通用输入输出GPIO端子,在初始化完成之后,所述处理器将复用为GPIO端子的UTX端子和URX端子恢复为所述UART接口的UTX端子和URX端子。
另外,所述初始化的步骤包括:所述处理器通过所述复用为GPIO端子的UTX端子接收PS/2键盘的时钟信号并通过所述复用为GPIO端子的URX端子向所述PS/2键盘发送初始化开始消息;所述处理器通过所述复用为GPIO端子的URX端子接收所述PS/2键盘发送的响应消息;处理器基于接收的响应消息判断所述PS/2键盘的初始化是否成功。另外,所述初始化的步骤还包括:当所述处理器判断所述PS/2键盘的初始化成功之后,所述处理器基于接收所述PS/2键盘的响应消息的时间,计算所述PS/2键盘的时钟信号的频率。另外,所述处理器基于计算的PS/2键盘的时钟信号的频率,匹配所述UART控制器的波特率。另外,所述初始化的步骤还包括:当接收的响应消息不是所述PS/2键盘的特定响应消息时,所述处理器向用户提供关于初始化失败的消息;当接收的响应消息是特定的响应消息时,判断为初始化成功。另外,在处理器向用户提供关于初始化失败的消息之后,所述处理器基于用户的响应确定结束所述PS/2键盘的初始化还是继续向所述PS/2键盘发送所述初始化开始消
肩、O另外,所述方法还包括步骤:所述UART控制器通过所述URX端子从所述PS/2键盘接收键盘数据之后,产生UART中断并将该键盘数据提供给所述处理器,以通知所述处理器处理所述键盘数据。另外,所述UART接口与所述PS/2键盘通过UART转PS/2转换器相连。根据本发明另一实施例的一种便携式终端,包括:UART接口,具有UART控制器、用于连接到PS/2端子的时钟信号端子的UTX端子和用于连接到PS/2端子的数据收发端子的URX端子,处理器,基于从用户接收的用于连接PS/2键盘的命令将所述UTX端子和URX端子复用为通用输入输出GPIO端子以初始化所述PS/2键盘,基于所述PS/2键盘的时钟信号计算所述UART控制器用于从所述PS/2键盘接收数据的波特率,并将复用为GPIO端子的UTX端子和URX端子恢复为所述UART接口的UTX端子和URX端子,其中,在所述处理器恢复UTX端子和URX端子之后,所述UART控制器通过URX端子接收PS/2键盘发送的键盘数据。另外,所述UART接口与所述PS/2键盘通过UART转PS/2转换器相连。根据本发明,在没有设置PS/2接口的情况下,便携式终端可连接PS/2键盘,从而给用户提供了方便。此外,根据本发明的连接PS/2键盘的方法,由于在连接PS/2键盘时,由UART控制器接收键盘数据,而不是便携式终端的处理器接收键盘数据,因此,可节省便携式终端的处理器的消耗。


图1是根据本发明实施例的能够连接PS/2键盘的便携式终端的示意图。图2是示出根据本发明实施例的便携式终端连接PS/2键盘的方法的流程图。图3示出了根据本发明实施例的用于初始化键盘的方法的流程图。图4示出了便携式终端到PS/2键盘的通信时序图。图5示出了 PS/2键盘到便携式终端的通信时序图。
图6的(a)和(b)分别示出了处理器和UART控制器接收键盘数据时所占用的时间的示意图。
具体实施例方式现在对本发明实施例进行详细的描述,其示例表示在附图中,其中,相同的标号始终表示相同部件。下面通过参照附图对实施例进行描述以解释本发明。图1是根据本发明实施例的能够连接PS/2键盘的便携式终端的示意图。如图1所示,根据本发明实施例的便携式终端100包括处理器110和UART接口 120。如本领域所共知的,所述UART接口 120包括UART控制器121以及其它端子,例如,发送(UTX)端子和接收(URX)端子。此外,UART接口 120还可包括电源端子和接地端子。以下的描述中,除非另有指出,键盘指的是“通过PS/2接口与设备连接的键盘(即,通常所指的PS/2键盘)”。如本领域公知的,PS/2接口有6个端子,分别是时钟信号(CLK)端子、数据收发(DATA)端子、电源(VCC)端子、接地(GND)端子以及2个保留端子(即,不使用的端子)。如图1所示,根据本发明的实施例的便携式终端100连接有PS/2键盘。其中,键盘的CLK端子与便携式终端100的UTX端子相连,键盘的DATA端子与URX端子相连。此外,键盘的VCC端子和GND端子可分别连接到UART接口 120的电源端子和接地端子。在以下的描述中,假设键盘的VCC端子和GND端子分别连接到便携式终端100的VCC端子和GND端子。这里,键盘的PS/2接口可直接连接到便携式终端100的UART接口 120。可选择地,考虑到PS/2接口和便携式终端的尺寸大小,键盘的PS/2接口可通过PS/2接口转UART接口的转换器(未示出)连接到便携式终端100。这里,所述转化器指的在便携式终端的插口上的设计方式,可以直接在终端设置PS/2接口形状,或者也可以设计成具有诸如USB接口的其它形状。如本领域技术人员所公知的,这里的转换器只是一个形状的改变,内部电气标准还是一样的。以下,将结合图1和图2来详细描述根据本发明实施例的便携式终端连接PS/2键盘的方法,其中,图2是示出根据本发明实施例的便携式终端连接PS/2键盘的方法的流程图。在步骤S210,接收用于初始化键盘的命令。这里,在将键盘200连接到便携式终端100之后,用户可向便携式终端100输入用于初始化键盘200的命令。可选择地,由于键盘200没有被初始化,因此当键盘200被连接到便携式终端100时,虽然便携式终端100的UART控制器121无法识别键盘,但是UART控制器121能够检测到UART接口 120上连接了新的装置(或,无法识别的装置)。此时,UART控制器121可向用户提供关于检测到新的装置的信息,接收到该信息的用户可向便携式终端100输入用于初始化键盘的命令。或者,当所述便携式终端100的UART接口 120为专用于连接键盘的接口时,检测到新的装置的UART控制器121可向便携式终端的处理器110提供关于检测到新的装置的信息以及用于初始化键盘的命令。此时,由于便携式终端100连接有键盘,因此,如图1所示,UTX端子与键盘的CLK端子相连,URX端子与键盘的DATA端子相连。在步骤S220,处理器110将UTX端子和URX端子复用为通用输入输出(GPIO)端子并初始化键盘200。在UTX端子和URX端子复用为GPIO端子之后,其不再受UART控制器121的控制,而是受处理器110的控制。稍后,将参照图3详细描述步骤S220。这里,由于UART接口的UTX端子只能用于发送数据,而URX端子只能用于接收数据,因此为了在初始化过程中与键盘收发数据,即,接收键盘的时钟信号以及与键盘进行数据的收发,将UTX端子和URX端子复用为GPIO端子。在对键盘的初始化成功之后,在步骤S230,处理器110基于键盘的时钟信号匹配UART控制器120用于从所述键盘接收数据的波特率。这里,计算精确的波特率是关键。由于PS/2键盘的时钟信号的频率是由键盘的生产商配置的,所以不同的厂商、不同型号的PS/2键盘的时钟可能不同。因此,如果波特率匹配不准确,将导致UART无法接收数据。这里,如本领域所公知的,由于复用为GPIO端子的URX端子接收键盘的时钟信号,所以处理器110可通过在预定时间内接收的键盘的时钟信号的数量来计算键盘的时钟信号的频率。此外,处理器110可基于接收所述响应消息的时间来计算键盘的时钟信号的周期。对于基于接收所述响应消息的时间来计算键盘的时钟信号的频率,将在稍后进行详细描述。假设键盘的时钟信号的频率为12.5KHz,则UART控制120的波特率将被匹配到12.5kbit/s。在步骤S240,处理器110将复用为GPIO端子的UTX端子和URX端子恢复为UART控制器121的UTX端子(即,发送端子)和URX端子(即,接收端子)。这里,在UTX端子和URX端子被恢复之后,其不再受处理器110的控制,而是受UART控制器121的控制。在步骤S250,UART控制器121通过URX端子接收所述键盘200发送的键盘数据。这里,由于UTX端子被恢复为UART控制器的接收端子,因此其不再接收键盘的时钟信号。UART控制器121通过URX端子接收到键盘200发送的键盘数据时,UART控制器121将触发UART中断以通知处理器110处理该键盘数据。以下,参照图3来描述根据本发明实施例的用于初始化键盘的方法。图3示出了根据本发明实施例的用于初始化键盘的方法的流程图。在步骤S310,处理器110接收键盘的时钟信号,并向键盘发送初始化开始消息。这里,由于UTX端子与键盘的CLK端子相连,因此,处理器110通过复用为GPIO的UTX端子接收键盘的时钟信号。同时,处理器110通过复用为GPIO的URX端子向键盘发送初始化开始消息。在步骤S320,处理器110接收键盘发送的响应消息。这里,处理器110通过所述复用为GPIO端子的URX端子接收所述键盘响应于所述初始化开始消息而发送的响应消息。在步骤S330,所述处理器110基于接收的响应消息判断初始化是否成功。这里,如本领域所公知的,处理器110在步骤S310中发送给键盘的初始化开始消息为“0xF4”,此时如果接收的响应消息为“OxFA”,则表示初始化成功,否则表示初始化失败。
如果在步骤S330中判断初始化成功,则进行稍后描述的步骤S230。此外,在判断初始化成功之后,处理器向用户提供关于初始化成功的消息。如果在步骤S330中判断初始化失败,则在步骤S340,处理器110向用户提供初始化失败的消息。此时,处理器110还可向用户提供关于初始化失败的次数的消息。在步骤S350,用户基于接收的消息确认继续进行初始化还是终止初始化。如果在步骤S350用户确认继续进行初始化,则返回到步骤S310,处理器110向键盘发送初始化开始消息。如果在步骤S350用户确认终止初始化,则结束对键盘的初始化。此外,虽没有进行描述,但是键盘的初始化还包括键盘的复位、读取键盘的ID、设置键盘的响应速率以及使能键盘数据的发送。由于这些初始化过程是本领域的公知常识,因此,在此不再进行描述。以下将结合图4和图5来描述便携式终端与PS/2键盘通信的时序图。其中,图4示出了便携式终端到PS/2键盘的通信时序图,图5示出了 PS/2键盘到便携式终端的通信时序图。如图4所示,便携式终端发送的数据格式与UART数据格式相同,即,都是从start位开始,stop位结束。但是与通用的UART不同的是,在stop位之后,便携式终端需要等待PS/2键盘回应的ack信号。因此,在使用UART接口接收PS/2键盘数据时,UART接口将无法向键盘发送数据。然而,如上所述的,便携式终端只需要在键盘初始化的时候给键盘发送数据,一旦初始化完成,便携式终端只需要接收数据。如图5所示,PS/2键盘发送的数据格式与UART的数据格式相同,即,都是从start位开始,stop位结束。但是不需要将时钟信号提供给UART,同步控制由UART控制器内部的波特率来保证,而PS/2通信需要时钟信号。因此,在利用UART接口从PS/2接口数据时,需要进行时钟信号的匹配来计算出波特率。根据本发明的实施例,在PS/2键盘初始化过程中,便携式终端利用GPIO来模拟PS/2通信。在便携式终端接收键盘数据前,便携式终端的时钟信号线默认是高电平,因此可设置时钟信号为低电平时触发中断,在中断处理函数内,便携式终端的处理器110将从URX端子上读出从start位开始到stop位结束的一巾贞键盘数据。在这期间,处理器110将读取start位时刻tl和读取stop位时刻t2,tl到t2之间正好是10个键盘的时钟信号周期,因此,键盘的时钟信号的周期T= (t2-tl)/10。然后,处理器110根据键盘的时钟频率(即,1/T)来匹配波特率。PS/2键盘的时钟信号的频率一般在10 20KHz,假设为时钟信号的频率为
12.5KHz,则T = 80ns。参照图5可知,在基于GPIO读取一帧键盘数据时,至少需要10个周期的键盘的时间信号,即,800ns,而这800ns又是在中断中,即,占用了便携式终端的处理器 110。如果键盘数据很频繁,将有非常多的中断,每个中断都要至少耗时800ns,这严重浪费了便携式终端的控制器资源。如果键盘数据由UART控制器120接收,则便携式终端的处理器110可以在这800ns的时间内做其它工作,只有在键盘的数据被接收完之后,UART控制器120才通知处理器110处理键盘的数据,充分利用了处理器110资源。可通过图6的
(a)和图6的(b)比较上述过程。
根据本发明,参照步骤S350,由于在初始化之后,由UART控制器接收键盘数据,而不是便携式终端的处理器接收键盘数据,因此,可节省便携式终端的处理器的消耗。根据本发明,在没有设置PS/2接口的情况下,便携式终端可连接PS/2键盘,从而给用户提供了方便。此外,根据本发明的连接PS/2键盘的方法,由于在连接PS/2键盘时,由UART控制器接收键盘数据,而不是便携式终端的处理器接收键盘数据,因此,可节省便携式终端的处理器的消耗。虽然已表示和描述了本发明的一些实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改。
权利要求
1.一种将PS/2键盘连接到便携式终端的方法,其特征在于,包括如下步骤: 所述便携式终端的处理器对所述PS/2键盘进行初始化; 所述便携式终端的通用异步发送接收UART接口通过其接收URX端子接收所述PS/2键盘发送的键盘数据, 其中,所述便携式终端的UART接口连接到PS/2键盘的PS/2接口,其中,UTX端子和URX端子分别连接到PS/2接口的时钟信号端子和数据收发端子。
2.根据权 利要求1所述的方法,其特征在于,还包括步骤:在初始化成功之后,所述处理器基于所述PS/2键盘的时钟信号计算所述UART接口的UART控制器用于从所述PS/2键盘接收数据的波特率。
3.根据权利要求2所述的方法,其特征在于,还包括步骤:所述处理器将所述UART接口的发送UTX端子和URX端子复用为通用输入输出GPIO端子, 在初始化完成之后,所述处理器将复用为GPIO端子的UTX端子和URX端子恢复为所述UART接口的UTX端子和URX端子。
4.根据权利要求3所述的方法,其特征在于,所述初始化的步骤包括: 所述处理器通过所述复用为GPIO端子的UTX端子接收PS/2键盘的时钟信号并通过所述复用为GPIO端子的URX端子向所述PS/2键盘发送初始化开始消息; 所述处理器通过所述复用为GPIO端子的URX端子接收所述PS/2键盘发送的响应消息; 处理器基于接收的响应消息判断所述PS/2键盘的初始化是否成功。
5.根据权利要求4所述的方法,其特征在于,当所述处理器判断所述PS/2键盘的初始化成功之后,所述处理器基于接收所述PS/2键盘的响应消息的时间,计算所述PS/2键盘的时钟信号的频率。
6.根据权利要求5所述的方法,其特征在于,所述处理器基于计算的PS/2键盘的时钟信号的频率,匹配所述UART控制器的波特率。
7.根据权利要求4所述的方法,其特征在于,所述初始化的步骤还包括:当接收的响应消息不是所述PS/2键盘的特定响应消息时,所述处理器向用户提供关于初始化失败的消息;当接收的响应消息是特定的响应消息时,判断为初始化成功。
8.根据权利要求7所述的方法,其特征在于,在处理器向用户提供关于初始化失败的消息之后,所述处理器基于用户的响应确定结束所述PS/2键盘的初始化还是继续向所述PS/2键盘发送所述初始化开始消息。
9.根据权利要求1所述的方法,其特征在于,还包括步骤:所述UART控制器通过所述URX端子从所述PS/2键盘接收键盘数据之后,产生UART中断并将该键盘数据提供给所述处理器,以通知所述处理器处理所述键盘数据。
10.根据权利要求1所述的方法,其特征在于,还包括步骤:从用户接收用于开始初始化键盘的命令以通知所述处理器有PS/2键盘插入。
11.一种便携式终端,其特征在于,包括: UART接口,具有UART控制器、用于连接到PS/2端子的时钟信号端子的UTX端子和用于连接到PS/2端子的数据收发端子的URX端子, 处理器,基于从用户接收的用于连接PS/2键盘的命令将所述UTX端子和URX端子复用为通用输入输出GPIO端子以初始化所述PS/2键盘,基于所述PS/2键盘的时钟信号计算所述UART控制器用于从所述PS/2键盘接收数据的波特率,并将复用为GPIO端子的UTX端子和URX端子恢复为所述UART接口的UTX端子和URX端子, 其中,在所述处理器恢复UTX端子和URX端子之后,所述UART控制器通过URX端子接收PS/2键盘发送的键盘数据。
12.根据权利要求11所述的便携式终端, 其特征在于,所述UART接口与所述PS/2键盘通过UART转PS/2转换器相连。
全文摘要
公开了一种将PS/2键盘连接到便携式终端的方法。所述方法包括如下步骤所述便携式终端的处理器对所述PS/2键盘进行初始化;所述便携式终端的通用异步发送接收UART接口通过其接收URX端子接收所述PS/2键盘发送的键盘数据,其中,所述便携式终端的UART接口连接到PS/2键盘的PS/2接口,其中,UTX端子和URX端子分别连接到PS/2接口的时钟信号端子和数据收发端子。
文档编号G06F13/10GK103207845SQ201210019830
公开日2013年7月17日 申请日期2012年1月16日 优先权日2012年1月16日
发明者黄歆 申请人:广州三星通信技术研究有限公司, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1