CN102799548A - 控制器及其相关控制方法 - Google Patents
控制器及其相关控制方法 Download PDFInfo
- Publication number
- CN102799548A CN102799548A CN2011101523050A CN201110152305A CN102799548A CN 102799548 A CN102799548 A CN 102799548A CN 2011101523050 A CN2011101523050 A CN 2011101523050A CN 201110152305 A CN201110152305 A CN 201110152305A CN 102799548 A CN102799548 A CN 102799548A
- Authority
- CN
- China
- Prior art keywords
- byte
- setting
- time
- buffer cell
- bus
- 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.)
- Pending
Links
Images
Abstract
本发明为一种控制器及其相关控制方法。此控制器包括:一第一输入端,连接至一第一装置。一第一缓冲单元,连接至该第一输入端,以接收该第一装置产生的一第一字节。一定时器,连接至该第一输入端,当该第一缓冲单元收到该第一字节时,该定时器启动一设定时间开始计时,若该设定时间内第一缓冲单元收到一第二字节,则重新启动该设定时间;若该设定时间内第一缓冲单元没收到该第二字节,则送出一超时信号。以及一封包处理电路,根据该超时信号,将该第一缓冲单元中的所述字节组合成一第一封包,并产生一中断要求信。
Description
【技术领域】
本发明是有关于一种控制器及其相关控制方法,且特别是有关于一种PS/2控制器及其相关控制方法。
【背景技术】
请参照图1,其所绘示为现有计算机系统的示意图。现有计算机系统100包括:中央处理器110、控制芯片组120、内存130、硬盘140、PS/2控制器150。其中,控制芯片组120中包括:北桥芯片122、与南桥芯片126。
中央处理器1 10利用前端总线(front side bus)连接至北桥芯片122,北桥芯片122利用内存总线(memory bus)连接至内存1 30。南桥芯片126利用私有总线连接至北桥芯片122,并利用低针脚数目总线(Low Pin CountBus,简称LPC Bus)连接至PS/2控制器150。其中,私有总线可为一直接媒体接口(Direct Media Interface,DMI)总线。
一般来说,不同的PS/2装置进行一个动作所产生的数据量并不固定。举例来说,不同类型的鼠标执行相同的按键动作时,所产生的数据量也不同,约在4字节(byte)到8字节。而现有的PS/2控制器150于接收到PS/2装置输出的数据时,即将该数据传送至南桥芯片126。
基本上,PS/2控制器150不需要知道PS/2装置的数据量长度。当PS/2装置产生第一个字节的数据至PS/2控制器150时,PS/2控制器150即产生一个中断要求(interrupt request,简称IRQ)至南桥芯片126,而南桥芯片126即利用LPC Bus读取第一字节的数据。
举例来说,当PS/2装置执行一个动作会产生6个字节时,该PS/2装置会依序传递6个字节的数据至PS/2控制器150。每当PS/2控制器150接收到一个字节时,即产生一个IRQ至南桥芯片126,而南桥芯片126即利用LPCBus读取该字节的数据。亦即,传输一个PS/2装置的一个动作,PS/2控制器150需要产生6次的IRQ,并且南桥芯片126利用LPC Bus依序接收6个字节。
同理,当PS/2装置执行其它的动作会产生n字节的数据量时,PS/2控制器150需要产生n次的IRQ,而南桥芯片126利用LPC Bus依序接收n个字节。
如图1所示,PS/2控制器150相对于主要PS/2输入端(Pri-PS/2 Port)以及辅助PS/2输入端(Aux-PS/2 Port)会有一第一中断要求(IRQ1)以及一第二中断要求(IRQ2)。亦即,当键盘产生一个动作时,键盘的数据利用主要PS/2输入端(Pri-PS/2 Port)传递至PS/2控制器150,而PS/2控制器150利用IRQ1通知南桥芯片126,而南桥芯片126即可得知该数据由键盘所产生。当鼠标产生一个动作时,键盘的数据利用辅助PS/2输入端(Aux-PS/2 Port)传递至PS/2控制器150,而PS/2控制器150利用IRQ2通知南桥芯片126,而南桥芯片126即可得知该数据由鼠标所产生。
基本上,PS/2装置产生1字节数据的速度大约需要2ms。再者,由于现有LPC Bus的速度为33MHz,因此LPC Bus的频宽尚可平顺地传递PS/2装置产生的数据量。然而精简指令集(Advanced RISC Machine,简称ARM)架构或者其它中央处理器架构的计算机系统中并没有LPC Bus,因此,PS/2控制器就需要利用其它总线,以更有效率地来传递PS2装置产生的数据。
【发明内容】
本发明提出一种控制器。此控制器包括:一第一输入端,连接至一第一装置。一第一缓冲单元,连接至该第一输入端,以接收该第一装置产生的一第一字节。一定时器,连接至该第一输入端,当该第一缓冲单元收到该第一字节时,该定时器启动一设定时间开始计时,若该设定时间内第一缓冲单元收到一第二字节,则重新启动该设定时间;若该设定时间内第一缓冲单元没收到该第二字节,则送出一超时信号。以及一封包处理电路,根据该超时信号,将该第一缓冲单元中的所述字节组合成一第一封包,并产生一中断要求信。
本发明更提出一种控制器的控制方法,包括下列步骤:当一第一缓冲单元接收到一第一字节时,启动一设定时间开始计时;于该设定时间内,判断该第一缓冲单元是否收到一第二字节;以及若该第一缓冲单元收到该第二字节,重新启动该设定时间并开始计时;若该设定时间内第一缓冲单元没收到该第二字节,将该第一缓冲器中所有数据组合成为一封包,并发出一中断要求信号至该控制电路。
为了对本发明的上述及其它方面有更佳的了解,下文特举较佳实施例,并配合所附图式,作详细说明如下:
【附图说明】
图1所绘示为现有计算机系统的示意图。
图2所绘示为一实施例的计算机系统示意图。
图3所绘示为一实施例的PS/2控制器示意图。
图4所绘示为PS/2控制器的控制流程。
【主要组件符号说明】
100:计算机系统
110:中央处理器
120:控制芯片组
122:北桥芯片
126:南桥芯片
130:内存
140:硬盘
150:PS/2控制器
200:计算机系统
220:控制电路
250:PS/2控制器
252:第一缓冲单元
254:第二缓冲单元
256:定时器
258:封包处理电路
【具体实施方式】
请参照图2,其所绘示为一实施例的计算机系统示意图。计算机系统200,其包括:控制电路220、PS/2控制器250。其中,PS2控制器250系利用一内部整合电路总线(Inter-Integrated Circuit Bus,以下简称I2C Bus)或者系统管理总线(System Management Bus,以下简称SM Bus)连接至控制电路220。
由于I2C Bus或者SM Bus的速度为100KHz,远低于LPC Bus的33MHz速度。如果PS/2控制器250依照现有LPC Bus的控制方式每次仅传递一字节的数据,必定会占据I2C Bus或者SM Bus的频宽,而使得PS/2装置产生的数据无法有效地传递至控制电路220。
根据本发明的实施例,为了有效利用I2C Bus或者SM Bus的频宽,本发明的PS/2控制器250会将PS/2装置一次动作所产生的全部数据组成I2CBus或者SM Bus规格的封包(package)后,再传递至控制电路220。如此将更有效率的使用I2C Bus或者SM Bus的频宽。
请参照图3,其所绘示为一实施例的PS/2控制器示意图。PS/2控制器250包括一第一缓冲单元(buffering unit)252、一第二缓冲单元254、一定时器(timer)256、以及一封包处理电路(package processing unit)258。
第一缓冲单元252连接至主要PS/2输入端以接收第一PS/2装置,例如键盘产生的数据;第二缓冲单元254连接至辅助PS/2输入端以接收第二PS/2装置,例如鼠标产生的数据。再者,定时器256具有一设定时间可进行一计时动作,当第一个字节的数据进入第一缓冲器252或者进入第二缓冲器254时,计数器256会被重置(reset)以启动设定时间,并重新开始计时。当计时值超过此设定时间后,定时器256会产生一超时信号(time out signal,TO)至封包处理电路258,使得封包处理电路258会将第一缓冲器252或者进入第二缓冲器254中的所有数据组合成为一封包,并利用中断要求信号IRQ通知控制电路220,而控制电路220即利用I2C Bus或者SM Bus来读取该封包。
根据本发明的实施例,由于PS/2装置在进行一动作时,会连续产生多个字节,而每一字节数据产生的速度约为2ms。因此,本发明利用PS/2控制器250中的定时器256来进行计时动作,以判断PS/2装置是否输出所有字节。举例来说,在定时器256中定义一设定时间(例如5ms),每次在设定时间之内收到一字节,则计时器重新启动设定时间来重新计时,如此反复确认到在设定时间之内无法收到另一个字节。当在设定时间之内无法收到一字节,则代表PS/2装置已经传输完所有的字节。
请参照图4,其所绘示为一实施例的PS/2控制器的控制流程。由于第一缓冲单元252以及第二缓冲单元254的判断方法相同,因此图4仅以第一缓冲单元252来作说明。首先,当第一缓冲单元252接收到第一字节时(步骤S410),则定时器256启动一设定时间开始计时(步骤S413)。
接着,判断设定时间之内,第一缓冲单元252是否收到第二字节(步骤S415)。如果于设定时间之内,第一缓冲单元252收到第二字节时,则回到步骤(S413),亦即重新启动设定时间开始计时。
如果于设定时间之内,第一缓冲单元252未收到第二字节时,代表PS/2装置已经将所有的字节传递至第一缓冲单元252,因此定时器256产生超时信号(TO)至封包处理电路258。而封包处理电路258将第一缓冲单元252中的所有数据组合成一封包并发出一中断要求(IRQ)信号至控制电路220(步骤S419)。
由以上的说明可知,本发明利用定时器256来判断PS/2装置是否输出所有字节,于确认所有的字节已经暂存于缓冲单元后,封包处理电路258即可组合所有的位组成为一封包,并且利用此封包将所有的字节传送至控制电路220。因此,本发明可以不会时常占据I2C Bus或者SM Bus的频宽,并且更有效率的使用I2C Bus或者SM Bus的频宽。
再者,本发明的说明中皆以二个PS/2输入端为例来作说明,但并不限于PS/2输入端的数目。也就是说,PS/2输入端的数目可以仅有一个,而也可以是大于2个的复数个。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (8)
1.一种控制器,利用一总线连接至一控制电路,该控制器包括:
一第一输入端,连接至一第一装置;
一第一缓冲单元,连接至该第一输入端,以接收该第一装置产生的一第一字节;
一定时器,连接至该第一输入端,当该第一缓冲单元收到该第一字节时,该定时器启动一设定时间开始计时,若该设定时间内第一缓冲单元收到一第二字节,则重新启动该设定时间;若该设定时间内第一缓冲单元没收到该第二字节,则送出一超时信号;以及
一封包处理电路,根据该超时信号,将该第一缓冲单元中的所述字节组合成一第一封包,并产生一中断要求信。
2.根据权利要求1所述的控制器,其特征在于,该总线为一内部整合电路总线或者一系统管理总线。
3.根据权利要求1所述的控制器,其特征在于,该第一输入端为一主要PS/2输入端,或者一辅助PS/2输入端。
4.根据权利要求1所述的控制器,其特征在于,更包括:
一第二输入端,连接至一第二装置;以及
一第二缓冲单元,连接至该第二输入端,以接收该第二装置所产生的一第三字节;
其中,当该第二缓冲单元收到该第三字节时,该定时器启动该设定时间开始计时,若该设定时间内第二缓冲单元收到一第四字节,则重新启动该设定时间;若该设定时间内第一缓冲单元没收到该第四字节,则送出一超时信号。
5.一种控制器的控制方法,该控制器利用一总线连接至一控制电路,该方法包括下列步骤:
当一第一缓冲单元接收到一第一字节时,启动一设定时间开始计时;
于该设定时间内,判断该第一缓冲单元是否收到一第二字节;以及
若该第一缓冲单元收到该第二字节,重新启动该设定时间并开始计时;若该设定时间内第一缓冲单元没收到该第二字节,将该第一缓冲器中所有数据组合成为一封包,并发出一中断要求信号至该控制电路。
6.根据权利要求5所述的控制器的控制方法,其特征在于,更包括:当发出一中断要求信号至该控制电路后,该控制电路以该总线读取该封包。
7.根据权利要求5所述的控制器的控制方法,其特征在于,该总线为一内部整合电路总线或者一系统管理总线。
8.根据权利要求5所述的控制器的控制方法,其特征在于,该第一输入端为一主要PS/2输入端,或者一辅助PS/2输入端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101523050A CN102799548A (zh) | 2011-05-27 | 2011-05-27 | 控制器及其相关控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101523050A CN102799548A (zh) | 2011-05-27 | 2011-05-27 | 控制器及其相关控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102799548A true CN102799548A (zh) | 2012-11-28 |
Family
ID=47198661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101523050A Pending CN102799548A (zh) | 2011-05-27 | 2011-05-27 | 控制器及其相关控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799548A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372010A (zh) * | 2015-07-24 | 2017-02-01 | 联发科技股份有限公司 | 封包存取方法以及相关封包存取装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934776B2 (en) * | 2002-07-16 | 2005-08-23 | Intel Corporation | Methods and apparatus for determination of packet sizes when transferring packets via a network |
CN1983220B (zh) * | 2005-12-17 | 2010-05-05 | 鸿富锦精密工业(深圳)有限公司 | 多信号源共用信号输入电路 |
CN101957805A (zh) * | 2009-05-29 | 2011-01-26 | 宏正自动科技股份有限公司 | 支持n键同时输入的ps/2转usb键盘转接器 |
-
2011
- 2011-05-27 CN CN2011101523050A patent/CN102799548A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934776B2 (en) * | 2002-07-16 | 2005-08-23 | Intel Corporation | Methods and apparatus for determination of packet sizes when transferring packets via a network |
CN1983220B (zh) * | 2005-12-17 | 2010-05-05 | 鸿富锦精密工业(深圳)有限公司 | 多信号源共用信号输入电路 |
CN101957805A (zh) * | 2009-05-29 | 2011-01-26 | 宏正自动科技股份有限公司 | 支持n键同时输入的ps/2转usb键盘转接器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372010A (zh) * | 2015-07-24 | 2017-02-01 | 联发科技股份有限公司 | 封包存取方法以及相关封包存取装置 |
CN106372010B (zh) * | 2015-07-24 | 2019-01-08 | 联发科技股份有限公司 | 封包存取方法以及相关封包存取装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI382315B (zh) | 通用串列匯流排矩陣切換系統 | |
US9330049B2 (en) | Method and apparatuses for monitoring system bus | |
US10275373B2 (en) | Hot swappable device and method | |
CN103914424A (zh) | 基于gpio接口的lpc外设扩展方法及装置 | |
CN102033840B (zh) | 总线协议转换装置和总线协议转换方法 | |
CN102722462A (zh) | 一种同步通信装置及其控制方法 | |
CN101763324B (zh) | 设备模拟的实现方法和装置 | |
CN103077142A (zh) | 一种简易的总线传输协议的通信方法 | |
KR101883522B1 (ko) | 듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치 | |
CN102799548A (zh) | 控制器及其相关控制方法 | |
CN102890661A (zh) | 一种主从机通讯协议 | |
CN112347017A (zh) | Lpc总线接口的ps/2键盘双机外挂系统和切换方法 | |
CN102467218A (zh) | 电源关闭处理方法 | |
CN102736908A (zh) | 远程设置cmos参数的系统、装置及方法 | |
CN203606818U (zh) | 电容和电磁双模触控系统 | |
CN107402898B (zh) | 一种信息处理的方法及电子设备 | |
EP3207459B1 (en) | Side channel access through usb streams | |
US11816049B2 (en) | Interrupt request signal conversion system and method, and computing device | |
TWI434180B (zh) | 控制器及其相關控制方法 | |
CN103744814B (zh) | 一种通过两线实现高速通信方法 | |
CN104049997B (zh) | 基于复用技术的卫星接收机在线加载方法 | |
CN100498673C (zh) | 指标器数据处理系统及其方法 | |
CN203217562U (zh) | 外接设备与异质设备的传输系统 | |
Luan | Design of Multi-function and Programmable Man-Machine Interface | |
CN102508801B (zh) | 主机驱动装置和方法及传输控制装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121128 |