TWI434180B - 控制器及其相關控制方法 - Google Patents

控制器及其相關控制方法 Download PDF

Info

Publication number
TWI434180B
TWI434180B TW100118707A TW100118707A TWI434180B TW I434180 B TWI434180 B TW I434180B TW 100118707 A TW100118707 A TW 100118707A TW 100118707 A TW100118707 A TW 100118707A TW I434180 B TWI434180 B TW I434180B
Authority
TW
Taiwan
Prior art keywords
buffer unit
controller
byte
set time
input port
Prior art date
Application number
TW100118707A
Other languages
English (en)
Other versions
TW201248410A (en
Inventor
Wae Chih Lin
Original Assignee
Asustek Comp Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Asustek Comp Inc filed Critical Asustek Comp Inc
Priority to TW100118707A priority Critical patent/TWI434180B/zh
Priority to US13/465,151 priority patent/US20120303844A1/en
Publication of TW201248410A publication Critical patent/TW201248410A/zh
Application granted granted Critical
Publication of TWI434180B publication Critical patent/TWI434180B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

控制器及其相關控制方法
本發明是有關於一種控制器及其相關控制方法,且特別是有關於一種PS/2控制器及其相關控制方法。
請參照第1圖,其所繪示為習知電腦系統的示意圖。習知電腦系統100包括:中央處理器110、控制晶片組120、記憶體130、硬碟140、PS/2控制器150。其中,控制晶片組120中包括:北橋晶片122、與南橋晶片126。
中央處理器110利用前端匯流排(front side bus)連接至北橋晶片122,北橋晶片122利用記憶體匯流排(memory bus)連接至記憶體130。南橋晶片126利用私有匯流排連接至北橋晶片122,並利用低針腳數目匯流排(Low Pin Count Bus,簡稱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即利用LPC Bus讀取該位元組的資料。亦即,傳輸一個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裝置產生的資料。
本發明提出一種控制器。此控制器包括:一第一輸入埠,連接至一第一裝置。一第一緩衝單元,連接至該第一輸入埠,以接收該第一裝置產生的一第一位元組。一計時器,連接至該第一輸入埠,當該第一緩衝單元收到該第一位元組時,該計時器啟動一設定時間開始計時,若該設定時間內第一緩衝單元收到一第二位元組,則重新啟動該設定時間;若該設定時間內第一緩衝單元沒收到該第二位元組,則送出一超時信號。以及一封包處理電路,根據該超時信號,將該第一緩衝單元中的該些位元組組合成一第一封包,並產生一中斷要求信號。
本發明更提出一種控制器的控制方法,包括下列步驟:當一第一緩衝單元接收到一第一位元組時,啟動一設定時間開始計時;於該設定時間內,判斷該第一緩衝單元是否收到一第二位元組;以及若該第一緩衝單元收到該第二位元組,重新啟動該設定時間並開始計時;若該設定時間內第一緩衝單元沒收到該第二位元組,將該第一緩衝器中所 有資料組合成為一封包,並發出一中斷要求信號至該控制電路。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
請參照第2圖,其所繪示為一實施例的電腦系統示意圖。電腦系統200,其包括:控制電路220、PS/2控制器250。其中,PS2控制器250係利用一內部整合電路匯流排(Inter-Integrated Circuit Bus,以下簡稱I2 C Bus)或者系統管理匯流排(System Management Bus,以下簡稱SM Bus)連接至控制電路220。
由於I2 C Bus或者SM Bus的速度為100KHz,遠低於LPC Bus的33MHz速度。如果PS/2控制器250依照習知LPC Bus的控制方式每次僅傳遞一位元組的資料,必定會佔據I2 C Bus或者SM Bus的頻寬,而使得PS/2裝置產生的資料無法有效地傳遞至控制電路220。
根據本發明的實施例,為了有效利用I2 C Bus或者SM Bus的頻寬,本發明的PS/2控制器250會將PS/2裝置一次動作所產生的全部資料組成I2 C Bus或者SM Bus規格的封包(package)後,再傳遞至控制電路220。如此將更有效率的使用I2 C 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即利用I2 C 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。因此,本發明可以不會時常佔據I2 C Bus或者SM Bus的頻寬,並且更有效率的使用I2 C Bus或者SM Bus的頻寬。
再者,本發明的說明中皆以二個PS/2輸入埠為例來作說明,但並不限於PS/2輸入埠的數目。也就是說,PS/2輸入埠的數目可以僅有一個,而也可以是大於2個的複數個。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...電腦系統
110...中央處理器
120...控制晶片組
122...北橋晶片
126...南橋晶片
130...記憶體
140...硬碟
150...PS/2控制器
200...電腦系統
220...控制電路
250...PS/2控制器
252...第一緩衝單元
254...第二緩衝單元
256...計時器
258...封包處理電路
第1圖所繪示為習知電腦系統的示意圖。
第2圖所繪示為一實施例的電腦系統示意圖。
第3圖所繪示為一實施例的PS/2控制器示意圖。
第4圖所繪示為PS/2控制器的控制流程。
250‧‧‧PS/2控制器
252‧‧‧第一緩衝單元
254‧‧‧第二緩衝單元
256‧‧‧計時器
258‧‧‧封包處理電路

Claims (8)

  1. 一種PS/2控制器,利用一匯流排連接至一控制電路,該PS/2控制器包括:一第一輸入埠,連接至一第一裝置;一第一緩衝單元,連接至該第一輸入埠,以接收該第一裝置產生的一第一位元組;一計時器,連接至該第一輸入埠,當該第一緩衝單元收到該第一位元組時,該計時器啟動一設定時間開始計時,若該設定時間內第一緩衝單元收到一第二位元組,則重新啟動該設定時間;若該設定時間內第一緩衝單元沒收到該第二位元組,則送出一超時信號;以及一封包處理電路,根據該超時信號,將該第一緩衝單元中的該些位元組組合成一第一封包,並產生一中斷要求信號。
  2. 如申請專利範圍第1項所述之PS/2控制器,其中該匯流排係為一內部整合電路匯流排或者一系統管理匯流排。
  3. 如申請專利範圍第1項所述之PS/2控制器,其中該第一輸入埠係為一主要PS/2輸入埠,或者一輔助PS/2輸入埠。
  4. 如申請專利範圍第1項所述之PS/2控制器,更包括: 一第二輸入埠,連接至一第二裝置;以及一第二緩衝單元,連接至該第二輸入埠,以接收該第二裝置所產生的一第三位元組;其中,當該第二緩衝單元收到該第三位元組時,該計時器啟動該設定時間開始計時,若該設定時間內第二緩衝單元收到一第四位元組,則重新啟動該設定時間;若該設定時間內第一緩衝單元沒收到該第四位元組,則送出一超時信號。
  5. 一種PS/2控制器的控制方法,該PS/2控制器利用一匯流排連接至一控制電路,該方法包括下列步驟:當一第一緩衝單元接收到一第一位元組時,啟動一設定時間開始計時;於該設定時間內,判斷該第一緩衝單元是否收到一第二位元組;以及若該第一緩衝單元收到該第二位元組,重新啟動該設定時間並開始計時;若該設定時間內第一緩衝單元沒收到該第二位元組,將該第一緩衝器中所有資料組合成為一封包,並發出一中斷要求信號至該控制電路。
  6. 如申請專利範圍第5項所述之PS/2控制器的控制方法,其中更包括:當發出一中斷要求信號至該控制電路後,該控制電路以該匯流排讀取該封包。
  7. 如申請專利範圍第5項所述之PS/2控制器的控制 方法,其中該匯流排係為一內部整合電路匯流排或者一系統管理匯流排。
  8. 如申請專利範圍第5項所述之PS/2控制器的控制方法,其中該第一輸入埠係為一主要PS/2輸入埠,或者一輔助PS/2輸入埠。
TW100118707A 2011-05-27 2011-05-27 控制器及其相關控制方法 TWI434180B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW100118707A TWI434180B (zh) 2011-05-27 2011-05-27 控制器及其相關控制方法
US13/465,151 US20120303844A1 (en) 2011-05-27 2012-05-07 Controller and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100118707A TWI434180B (zh) 2011-05-27 2011-05-27 控制器及其相關控制方法

Publications (2)

Publication Number Publication Date
TW201248410A TW201248410A (en) 2012-12-01
TWI434180B true TWI434180B (zh) 2014-04-11

Family

ID=47220031

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100118707A TWI434180B (zh) 2011-05-27 2011-05-27 控制器及其相關控制方法

Country Status (2)

Country Link
US (1) US20120303844A1 (zh)
TW (1) TWI434180B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457005B (zh) * 2019-08-16 2023-06-20 歌尔股份有限公司 一种设备信号过滤方法、装置、系统和介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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
US8260988B2 (en) * 2009-05-29 2012-09-04 Aten International Co., Ltd. PS/2 to USB keyboard adaptor supporting N-key rollover

Also Published As

Publication number Publication date
TW201248410A (en) 2012-12-01
US20120303844A1 (en) 2012-11-29

Similar Documents

Publication Publication Date Title
TWI447650B (zh) 中斷分佈方案
US20090113082A1 (en) Device, System, and Method of Speculative Packet Transmission
US9684613B2 (en) Methods and systems for reducing spurious interrupts in a data storage system
US20150346795A1 (en) Multi-host power controller (mhpc) of a flash-memory-based storage device
JP2008502976A (ja) 分割トランザクションを処理するためのバス・コントローラ
WO2022161244A1 (zh) 多主机仲裁方法、装置和可读存储介质
TWI607316B (zh) 高效率輸入輸出操作
JP2007058716A (ja) データ転送バスシステム
JP2009059122A (ja) データ処理システム
TW409204B (en) Expansion interface conversion device and conversion method therefor
TWI434180B (zh) 控制器及其相關控制方法
TWI515550B (zh) 晶片裝置及其電子系統
US8539131B2 (en) Root hub virtual transaction translator
TW201224764A (en) Apparatus for managing interrupt cause and system for processing interrupt
TWI703446B (zh) 介面轉接電路
WO2012124431A1 (ja) 半導体装置
TWI282057B (en) System bus controller and the method thereof
US10042784B2 (en) Side channel access through USB streams
WO2008027114A2 (en) Computational resource array
TWI427481B (zh) 工業標準構造介面匯流排的橋接系統、裝置與其方法
JP2004355543A (ja) 情報処理装置および割り込み通知方法
US9690727B2 (en) System internal latency measurements in realtime applications
CN102799548A (zh) 控制器及其相关控制方法
JP2007334600A (ja) 半導体集積回路装置
JP2014229190A (ja) データ転送制御システム、及び方法