TWI434180B - 控制器及其相關控制方法 - Google Patents
控制器及其相關控制方法 Download PDFInfo
- 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
Links
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information 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
-
- 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/0016—Inter-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)
- 一種PS/2控制器,利用一匯流排連接至一控制電路,該PS/2控制器包括:一第一輸入埠,連接至一第一裝置;一第一緩衝單元,連接至該第一輸入埠,以接收該第一裝置產生的一第一位元組;一計時器,連接至該第一輸入埠,當該第一緩衝單元收到該第一位元組時,該計時器啟動一設定時間開始計時,若該設定時間內第一緩衝單元收到一第二位元組,則重新啟動該設定時間;若該設定時間內第一緩衝單元沒收到該第二位元組,則送出一超時信號;以及一封包處理電路,根據該超時信號,將該第一緩衝單元中的該些位元組組合成一第一封包,並產生一中斷要求信號。
- 如申請專利範圍第1項所述之PS/2控制器,其中該匯流排係為一內部整合電路匯流排或者一系統管理匯流排。
- 如申請專利範圍第1項所述之PS/2控制器,其中該第一輸入埠係為一主要PS/2輸入埠,或者一輔助PS/2輸入埠。
- 如申請專利範圍第1項所述之PS/2控制器,更包括: 一第二輸入埠,連接至一第二裝置;以及一第二緩衝單元,連接至該第二輸入埠,以接收該第二裝置所產生的一第三位元組;其中,當該第二緩衝單元收到該第三位元組時,該計時器啟動該設定時間開始計時,若該設定時間內第二緩衝單元收到一第四位元組,則重新啟動該設定時間;若該設定時間內第一緩衝單元沒收到該第四位元組,則送出一超時信號。
- 一種PS/2控制器的控制方法,該PS/2控制器利用一匯流排連接至一控制電路,該方法包括下列步驟:當一第一緩衝單元接收到一第一位元組時,啟動一設定時間開始計時;於該設定時間內,判斷該第一緩衝單元是否收到一第二位元組;以及若該第一緩衝單元收到該第二位元組,重新啟動該設定時間並開始計時;若該設定時間內第一緩衝單元沒收到該第二位元組,將該第一緩衝器中所有資料組合成為一封包,並發出一中斷要求信號至該控制電路。
- 如申請專利範圍第5項所述之PS/2控制器的控制方法,其中更包括:當發出一中斷要求信號至該控制電路後,該控制電路以該匯流排讀取該封包。
- 如申請專利範圍第5項所述之PS/2控制器的控制 方法,其中該匯流排係為一內部整合電路匯流排或者一系統管理匯流排。
- 如申請專利範圍第5項所述之PS/2控制器的控制方法,其中該第一輸入埠係為一主要PS/2輸入埠,或者一輔助PS/2輸入埠。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457005B (zh) * | 2019-08-16 | 2023-06-20 | 歌尔股份有限公司 | 一种设备信号过滤方法、装置、系统和介质 |
Family Cites Families (2)
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 |
-
2011
- 2011-05-27 TW TW100118707A patent/TWI434180B/zh active
-
2012
- 2012-05-07 US US13/465,151 patent/US20120303844A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
TW201248410A (en) | 2012-12-01 |
US20120303844A1 (en) | 2012-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5963282B2 (ja) | 割り込み分配スキーム | |
US20090113082A1 (en) | Device, System, and Method of Speculative Packet Transmission | |
US9881680B2 (en) | Multi-host power controller (MHPC) of a flash-memory-based storage device | |
US9684613B2 (en) | Methods and systems for reducing spurious interrupts in a data storage system | |
JP2008502976A (ja) | 分割トランザクションを処理するためのバス・コントローラ | |
WO2022161244A1 (zh) | 多主机仲裁方法、装置和可读存储介质 | |
TWI607316B (zh) | 高效率輸入輸出操作 | |
JP2007058716A (ja) | データ転送バスシステム | |
JP2009059122A (ja) | データ処理システム | |
TW409204B (en) | Expansion interface conversion device and conversion method therefor | |
TWI434180B (zh) | 控制器及其相關控制方法 | |
US8539131B2 (en) | Root hub virtual transaction translator | |
TW201224764A (en) | Apparatus for managing interrupt cause and system for processing interrupt | |
TW201608367A (zh) | 晶片裝置及其電子系統 | |
TWI703446B (zh) | 介面轉接電路 | |
WO2012124431A1 (ja) | 半導体装置 | |
WO2018107394A1 (en) | I/o emulation abortion in virtualized environments | |
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) | 半導体集積回路装置 |