US20120185627A1 - Bus host controller and method thereof - Google Patents

Bus host controller and method thereof Download PDF

Info

Publication number
US20120185627A1
US20120185627A1 US13/352,532 US201213352532A US2012185627A1 US 20120185627 A1 US20120185627 A1 US 20120185627A1 US 201213352532 A US201213352532 A US 201213352532A US 2012185627 A1 US2012185627 A1 US 2012185627A1
Authority
US
United States
Prior art keywords
bus
sof
host controller
data
periodic
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
Application number
US13/352,532
Other versions
US8732367B2 (en
Inventor
Ching-Chih Lin
Pao-Shun TSENG
Wen-Hung Peng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ASMedica Tech Inc
Asmedia Technology Inc
Original Assignee
ASMedica Tech 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 ASMedica Tech Inc filed Critical ASMedica Tech Inc
Assigned to ASMEDIA TECHNOLOGY INC. reassignment ASMEDIA TECHNOLOGY INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIN, CHING-CHIH, PENG, WEN-HUNG, TSENG, PAO-SHUN
Publication of US20120185627A1 publication Critical patent/US20120185627A1/en
Application granted granted Critical
Publication of US8732367B2 publication Critical patent/US8732367B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Definitions

  • the invention relates to a bus host controller and, more particularly, to a bus host controller for electronic devices.
  • USB universal serial bus
  • a bus host controller is disposed at the host electronic device, and other electronic devices can be regarded as terminal devices of the bus.
  • the bus host controller manages the data transferring sequence in unit of a frame interval. Data transferred from the host electronic device to other electronic devices are carried in data packets and the data packets are sent out in the frame interval of the sequence.
  • the terminal devices can be divided into periodic terminal devices and non-periodic terminal devices according to functions and operation features.
  • the periodic terminal devices keep a periodic synchronized transferring with the bus host controller.
  • the periodic terminal devices may be multi-media relating devices (such as music or video players or recorders), and they need to receive media data from the host electronic device periodically to keep smooth play of the multi-media.
  • a bus hub is also a periodic terminal device.
  • Some terminal devices focus on precision of data transferring, and they are the non-periodic terminal devices.
  • Various non-volatile peripher storage aldevices such as an external hardware drive, an optical disk drive, a flash memory or a card reader, are the non-periodic terminal devices.
  • the bus host controller transfers start-of-frame (SOF) packets periodically according to a constant frame period (such as 125 ⁇ s, 1 ⁇ s equals to one millionth of one second), and each of the SOF packets indicates a boundary of a frame interval.
  • the SOF packet can be regarded as a synchronization reference point for the periodic terminal device.
  • the bus host controller uses the SOF packet to detect whether the terminal device is removed and not coupled to the bus. When the bus host controller transfers the SOF packet to the terminal device, if a strong reflection is received, it means the terminal device is removed.
  • the SOF packet also can prevent the terminal device from entering a suspend state.
  • the SOF packet In contrast to the data packet which carries data, the SOF packet is only used for link management of the bus, and it does not carry data. Thus, the SOF packet transferring affects the data packet transferring, and they are exclusive to each other.
  • the bus host controller transfers the SOF packet in priority. That means, when an SOF packet is to be sent at a time point “t”, any data packet transferring which spans the time point “t” is delayed (or canceled), so as to transfer the SOF packet in priority. As a result, efficiency of the data packet transferring is affected and bandwidth utilization rate of the bus is decreased.
  • a bus host controller is coupled to a first terminal device via a bus, and the bus host controller includes a timing module and an arbitration module.
  • the timing module generates an SOF packet transferring request according to a frame period.
  • the arbitration module is coupled to the timing module and receives a data packet transferring request. If the first terminal device is a non-periodic device, the arbitration module places a higher priority on the data packet transferring request than the SOF packet transferring request.
  • a method applied to the bus host controller is provided.
  • the bus host controller is coupled to a plurality of terminal devices via a bus, and the method includes generating an SOF packet transferring request according to a frame period, and placing a higher priority on a data packet transferring request than the SOF packet transferring request if the plurality of terminal devices are non-periodic devices.
  • the arbitration module places a higher prior on the data packet transferring request than the SOF packet transferring request.
  • the arbitration module places a higher prior on the SOF packet transferring request than the data packet transferring request.
  • FIG. 1 is a schematic diagram showing a bus host controller in an embodiment
  • FIG. 2 is a schematic diagram showing operation sequence of the bus host controller in FIG. 1 ;
  • FIG. 3 is a flow chart showing operating process of the bus host controller in FIG. 1 .
  • FIG. 1 is a schematic diagram showing a bus host controller 10 in an embodiment.
  • the bus host controller 10 is coupled to one or more terminal devices (such as terminal devices 22 and 23 in FIG. 1 ) or hubs via a bus 20 .
  • the bus host controller 10 manages data transferring at the bus 20 , and it includes a detecting module 12 , a data module 14 , an arbitration module 16 , a packet module 17 and a timing module 18 .
  • the detecting module 12 , the data module 14 and the timing module 18 are coupled to the arbitration module 16 , respectively.
  • the bus host controller 10 is a USB host controller, and the bus 20 may meet the specification of USB 2.0 or latest version.
  • the modules stated above manage data transferring in high speed or full speed in the USB.
  • the detecting module 12 is used to detect whether a periodic device is coupled to the bus 20 and transfers the detecting result to the arbitration module 16 . For example, if terminal devices 22 or 23 belong to a periodic device, the detecting module 12 checks that the terminal devices 22 and 23 need to keep a periodic synchronized transferring with the bus host controller 10 .
  • the data to be transferred such as temporary data D(a), D(b) and D(c) in FIG. 1
  • the data module 14 generates a data transferring request to the arbitration module 16 to transfer data D(a) to D(c).
  • the packet module 17 encodes data such as D(a), D(b) and D(c) and joins a packet format (such as a header) to form corresponding data packets DP(a) to DP(c).
  • the packet module 17 is also used to generate an SOF packet.
  • the timing module 18 generates an SOF (SOF packet in FIG. 1 ) transferring request periodically according to a constant frame period (such as 125 ⁇ s). After data such as D(a) are transferred in a frame period, if other data such as data D(b) and D(c) waits to be transferred, the timing module 18 can calculate whether the remaining time in the frame period is enough for transferring of data D(b) or D(c) in full packet format and codes. The arbitration module 16 determines whether to transfer the data packet DP(b) or DP(c) corresponding to data D(b) or D(c) according to the calculating result of the timing module 18 .
  • SOF SOF packet in FIG. 1
  • the arbitration module 16 determines to transfer data (such as D(b))
  • the data are transferred to the packet module 17
  • the packet module 17 encodes data, joins a packet format to form a complete packet such as DP(b) and transfers the packet to the bus 20 .
  • the arbitration module delays the data packet DP(b) transferring to transfer the SOF packet in priority before the frame period ends and indicate start of the next frame period.
  • the arbitration module 16 determines whether to transfer the SOF packet in priority according to the detecting result of the detecting module 12 . If the terminal devices 22 and 23 coupled to the bus do not include any periodic devices, the arbitration module 16 ignores the calculating result of the timing module 18 and transfers the data packet DP(b) in priority. After the data packet DP(b) is transferred, the SOF packet is transferred. That means, if the terminal devices (such as the terminal devices 22 and 23 in FIG.
  • the arbitration module 16 places a higher priority on the data transferring request than the SOF transferring request, responds to the data transferring request in priority, and transfers the data packet first.
  • the arbitration module 16 delays the data packet transferring according to the calculation of the timing module 18 , so as to transfer the SOF packet in priority before the frame period ends. That means, if the terminal devices include one or more periodic devices, the arbitration module 16 changes a higher priority on the SOF transferring request than the data transferring request to keep synchronization with the periodic devices.
  • FIG. 2 is a schematic diagram showing operation sequence of the bus host controller 10 in FIG. 1 .
  • the terminal devices such as the terminal devices 22 and 23 in FIG. 1
  • the bus host controller 10 operates according to sequence 24 a.
  • the bus host controller 10 transfers the SOF packets, such as SOF( 1 ), SOF( 2 ) and SOF( 3 ), periodically according to the frame period T.
  • Each of the SOF packet indicates boundary of a frame interval, and the data packets DP, such as DP( 1 ) to DP( 10 ), are transferred in the frame interval.
  • the transferring of the data packet DP is delayed. For example, after the data packet DP( 4 ) is transferred, although a remaining time interval Tr exists in the frame period T, if the next data packet DP( 5 ) is transferred, the SOF packet SOF( 2 ) cannot be transferred at the boundary of the frame period T. In order to transfer the SOF packet SOF( 2 ) on time, the transferring of the data packet DP( 5 ) is delayed to be transferred in the next frame period T. Consequently, no data are transferred in the time interval Tr.
  • the bus host controller 10 operates according to the sequence 24 b. For example, after the SOF packet SOF( 1 ) starts a frame interval, the data packets DP( 1 ) to DP( 4 ) are transferred in sequence. After the data packet DP( 4 ) is transferred, the data packet DP( 5 ) of the data module 14 waits to be transferred, but the SOF packet SOF( 2 ) of the timing module 18 also waits to be transferred, so the two transferring requests collide to each other.
  • the arbitration module 16 transfers the data packet DP( 5 ) in priority, and then transfers the SOF packet SOF( 2 ).
  • the time interval Tr is not wasted in waiting for the transferring of the SOF packet SOF( 2 ), and the bandwidth utilization rate of the bus is improved.
  • the time interval between the SOF packets SOF( 1 ) and SOF( 2 ) may not equal to the frame period T.
  • the SOF packet SOF(n+1) is transferred after the frame period T. That is, the time interval between the SOF packets SOF(n) and SOF(n+1) may equal to the frame period T.
  • the sequence 24 b Comparing the transferring of the data packets DP( 1 ) to DP( 10 ) in the sequence 24 a and that in the sequence 24 b, the sequence 24 b shortens the data transferring time effectively and improves the bandwidth utilization rate of the bus.
  • FIG. 3 is a flow chart 100 showing operating process of the bus host controller 10 in FIG. 1 .
  • Main steps in the flow chart 100 are as follows:
  • Step 102 detecting whether the terminal devices (the terminal devices 22 and 23 in FIG. 1 ) coupled to the bus 20 include any periodic devices. For example, when the terminal device 22 is coupled to the bus 20 via a connector (not shown), Step 102 is executed.
  • Step 104 if the terminal devices (the terminal devices 22 and 23 in FIG. 1 ) include any periodic devices, Step 106 is executed. Otherwise, Step 108 is executed.
  • Step 106 in order to keep the periodic synchronization between the periodic device and the bus host controller, the SOF packet transferring is prior to the data packet transferring.
  • Step 108 since the terminal devices (the terminal devices 22 and 23 in FIG. 1 ) are non-periodic devices, the data packet transferring is prior to the SOF packet transferring to improve the bandwidth utilization rate.
  • adaptive operations are executed according to whether the terminal devices coupled to the bus include any periodic devices.
  • the periodic device the periodic synchronization is kept, and for the non-periodic device, the bandwidth utilization rate and efficiency of data transferring are improved.
  • the time interval between the two SOF packets may not equal to the frame period, but the SOF packet transferring goes on.
  • the bus host controller can detect whether the terminal device is removed via the SOF packet and prevent the terminal device from entering a suspend state.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

A bus host controller and a method thereof are provided. If a terminal device coupled to the bus is a non-periodic device, the bus host controller places a higher priority on data packet transferring request than start-of-frame (SOF) packet transferring request.

Description

  • This application claims the benefit of Taiwan application Serial No. 100101832, filed Jan. 18, 2011, the subject matter of which is incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The invention relates to a bus host controller and, more particularly, to a bus host controller for electronic devices.
  • 2. Description of the Related Art
  • Electronic systems, such as computer systems, are very important in modern information society. Various electronic devices are integrated into the electronic system, and different electronic devices are coupled together via buses to transfer data and cooperate with each other. For example, a host and peripheral devices in the computer system are different devices and they may be coupled to each other via buses of universal serial bus (USB) specification.
  • In order to manage data transferring at the bus, a bus host controller is disposed at the host electronic device, and other electronic devices can be regarded as terminal devices of the bus. The bus host controller manages the data transferring sequence in unit of a frame interval. Data transferred from the host electronic device to other electronic devices are carried in data packets and the data packets are sent out in the frame interval of the sequence.
  • The terminal devices can be divided into periodic terminal devices and non-periodic terminal devices according to functions and operation features. The periodic terminal devices keep a periodic synchronized transferring with the bus host controller. For example, the periodic terminal devices may be multi-media relating devices (such as music or video players or recorders), and they need to receive media data from the host electronic device periodically to keep smooth play of the multi-media. Moreover, a bus hub is also a periodic terminal device. Some terminal devices focus on precision of data transferring, and they are the non-periodic terminal devices. Various non-volatile peripher storage aldevices, such as an external hardware drive, an optical disk drive, a flash memory or a card reader, are the non-periodic terminal devices.
  • Conventionally, the bus host controller transfers start-of-frame (SOF) packets periodically according to a constant frame period (such as 125 μs, 1 μs equals to one millionth of one second), and each of the SOF packets indicates a boundary of a frame interval. The SOF packet can be regarded as a synchronization reference point for the periodic terminal device. Furthermore, the bus host controller uses the SOF packet to detect whether the terminal device is removed and not coupled to the bus. When the bus host controller transfers the SOF packet to the terminal device, if a strong reflection is received, it means the terminal device is removed. The SOF packet also can prevent the terminal device from entering a suspend state.
  • In contrast to the data packet which carries data, the SOF packet is only used for link management of the bus, and it does not carry data. Thus, the SOF packet transferring affects the data packet transferring, and they are exclusive to each other. In conventional technology, no matter the terminal device is a periodic device or not, when the SOF packet transferring has collision with the data packet transferring, the bus host controller transfers the SOF packet in priority. That means, when an SOF packet is to be sent at a time point “t”, any data packet transferring which spans the time point “t” is delayed (or canceled), so as to transfer the SOF packet in priority. As a result, efficiency of the data packet transferring is affected and bandwidth utilization rate of the bus is decreased.
  • BRIEF SUMMARY OF THE INVENTION
  • A bus host controller is coupled to a first terminal device via a bus, and the bus host controller includes a timing module and an arbitration module. The timing module generates an SOF packet transferring request according to a frame period. The arbitration module is coupled to the timing module and receives a data packet transferring request. If the first terminal device is a non-periodic device, the arbitration module places a higher priority on the data packet transferring request than the SOF packet transferring request.
  • A method applied to the bus host controller is provided. The bus host controller is coupled to a plurality of terminal devices via a bus, and the method includes generating an SOF packet transferring request according to a frame period, and placing a higher priority on a data packet transferring request than the SOF packet transferring request if the plurality of terminal devices are non-periodic devices.
  • If the terminal devices coupled to the bus do not include any periodic devices, the arbitration module places a higher prior on the data packet transferring request than the SOF packet transferring request. On the contrary, if the terminal devices include a periodic device, the arbitration module places a higher prior on the SOF packet transferring request than the data packet transferring request. Thus, speed of data transferring can be increased.
  • These and other features, aspects and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram showing a bus host controller in an embodiment;
  • FIG. 2 is a schematic diagram showing operation sequence of the bus host controller in FIG. 1; and
  • FIG. 3 is a flow chart showing operating process of the bus host controller in FIG. 1.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • FIG. 1 is a schematic diagram showing a bus host controller 10 in an embodiment. The bus host controller 10 is coupled to one or more terminal devices (such as terminal devices 22 and 23 in FIG. 1) or hubs via a bus 20. The bus host controller 10 manages data transferring at the bus 20, and it includes a detecting module 12, a data module 14, an arbitration module 16, a packet module 17 and a timing module 18. The detecting module 12, the data module 14 and the timing module 18 are coupled to the arbitration module 16, respectively. The bus host controller 10 is a USB host controller, and the bus 20 may meet the specification of USB 2.0 or latest version. The modules stated above manage data transferring in high speed or full speed in the USB.
  • In the bus host controller 10, the detecting module 12 is used to detect whether a periodic device is coupled to the bus 20 and transfers the detecting result to the arbitration module 16. For example, if terminal devices 22 or 23 belong to a periodic device, the detecting module 12 checks that the terminal devices 22 and 23 need to keep a periodic synchronized transferring with the bus host controller 10.
  • When the bus host controller 10 transfers data to the terminal device 22, the data to be transferred, such as temporary data D(a), D(b) and D(c) in FIG. 1, are retrieved from the system and temporarily stored in a data register. The data module 14 generates a data transferring request to the arbitration module 16 to transfer data D(a) to D(c). The packet module 17 encodes data such as D(a), D(b) and D(c) and joins a packet format (such as a header) to form corresponding data packets DP(a) to DP(c). The packet module 17 is also used to generate an SOF packet.
  • The timing module 18 generates an SOF (SOF packet in FIG. 1) transferring request periodically according to a constant frame period (such as 125 μs). After data such as D(a) are transferred in a frame period, if other data such as data D(b) and D(c) waits to be transferred, the timing module 18 can calculate whether the remaining time in the frame period is enough for transferring of data D(b) or D(c) in full packet format and codes. The arbitration module 16 determines whether to transfer the data packet DP(b) or DP(c) corresponding to data D(b) or D(c) according to the calculating result of the timing module 18. When the arbitration module 16 determines to transfer data (such as D(b)), the data are transferred to the packet module 17, the packet module 17 encodes data, joins a packet format to form a complete packet such as DP(b) and transfers the packet to the bus 20.
  • Conventionally, if the timing module 18 calculates and gets that the remaining time in the frame period is not enough for transferring the data packet DP(b), the arbitration module delays the data packet DP(b) transferring to transfer the SOF packet in priority before the frame period ends and indicate start of the next frame period.
  • However, in the embodiment, the arbitration module 16 determines whether to transfer the SOF packet in priority according to the detecting result of the detecting module 12. If the terminal devices 22 and 23 coupled to the bus do not include any periodic devices, the arbitration module 16 ignores the calculating result of the timing module 18 and transfers the data packet DP(b) in priority. After the data packet DP(b) is transferred, the SOF packet is transferred. That means, if the terminal devices (such as the terminal devices 22 and 23 in FIG. 1) coupled to the bus 20 do not include any periodic devices, when the data packet transferring request has collision with the SOF packet transferring request, the arbitration module 16 places a higher priority on the data transferring request than the SOF transferring request, responds to the data transferring request in priority, and transfers the data packet first.
  • If the terminal devices (such as the terminal devices 22 and 23 in FIG. 1) include any periodic devices, when the timing module 18 calculates and gets that the remaining time in the frame period is not enough to transfer a data packet, the arbitration module 16 delays the data packet transferring according to the calculation of the timing module 18, so as to transfer the SOF packet in priority before the frame period ends. That means, if the terminal devices include one or more periodic devices, the arbitration module 16 changes a higher priority on the SOF transferring request than the data transferring request to keep synchronization with the periodic devices.
  • FIG. 2 is a schematic diagram showing operation sequence of the bus host controller 10 in FIG. 1. If the terminal devices (such as the terminal devices 22 and 23 in FIG. 1) include one or more periodic devices, the bus host controller 10 operates according to sequence 24 a. In the sequence 24 a, the bus host controller 10 transfers the SOF packets, such as SOF(1), SOF(2) and SOF(3), periodically according to the frame period T. Each of the SOF packet indicates boundary of a frame interval, and the data packets DP, such as DP(1) to DP(10), are transferred in the frame interval. When transferring of a data packet DP occupies time point of a periodic transferring of the SOF packet , the transferring of the data packet DP is delayed. For example, after the data packet DP(4) is transferred, although a remaining time interval Tr exists in the frame period T, if the next data packet DP(5) is transferred, the SOF packet SOF(2) cannot be transferred at the boundary of the frame period T. In order to transfer the SOF packet SOF(2) on time, the transferring of the data packet DP(5) is delayed to be transferred in the next frame period T. Consequently, no data are transferred in the time interval Tr.
  • In contrast to the sequence 24 a, if the terminal device 22 is a non-periodic device, the bus host controller 10 operates according to the sequence 24 b. For example, after the SOF packet SOF(1) starts a frame interval, the data packets DP(1) to DP(4) are transferred in sequence. After the data packet DP(4) is transferred, the data packet DP(5) of the data module 14 waits to be transferred, but the SOF packet SOF(2) of the timing module 18 also waits to be transferred, so the two transferring requests collide to each other. However, since the terminal device 22 is a non-periodic device, the arbitration module 16 transfers the data packet DP(5) in priority, and then transfers the SOF packet SOF(2). Thus, the time interval Tr is not wasted in waiting for the transferring of the SOF packet SOF(2), and the bandwidth utilization rate of the bus is improved. The time interval between the SOF packets SOF(1) and SOF(2) may not equal to the frame period T.
  • In the sequence 24 b, if after an SOF packet SOF(n) is transferred, no data packet transferring has collision with the next SOF packet SOF(n+1) after the frame period T, the SOF packet SOF(n+1) is transferred after the frame period T. That is, the time interval between the SOF packets SOF(n) and SOF(n+1) may equal to the frame period T.
  • Comparing the transferring of the data packets DP(1) to DP(10) in the sequence 24 a and that in the sequence 24 b, the sequence 24 b shortens the data transferring time effectively and improves the bandwidth utilization rate of the bus.
  • FIG. 3 is a flow chart 100 showing operating process of the bus host controller 10 in FIG. 1. Main steps in the flow chart 100 are as follows:
  • Step 102: detecting whether the terminal devices (the terminal devices 22 and 23 in FIG. 1) coupled to the bus 20 include any periodic devices. For example, when the terminal device 22 is coupled to the bus 20 via a connector (not shown), Step 102 is executed.
  • Step 104: if the terminal devices (the terminal devices 22 and 23 in FIG. 1) include any periodic devices, Step 106 is executed. Otherwise, Step 108 is executed.
  • Step 106: in order to keep the periodic synchronization between the periodic device and the bus host controller, the SOF packet transferring is prior to the data packet transferring.
  • Step 108: since the terminal devices (the terminal devices 22 and 23 in FIG. 1) are non-periodic devices, the data packet transferring is prior to the SOF packet transferring to improve the bandwidth utilization rate.
  • In sum, adaptive operations are executed according to whether the terminal devices coupled to the bus include any periodic devices. For the periodic device, the periodic synchronization is kept, and for the non-periodic device, the bandwidth utilization rate and efficiency of data transferring are improved. The time interval between the two SOF packets may not equal to the frame period, but the SOF packet transferring goes on. Thus, the bus host controller can detect whether the terminal device is removed via the SOF packet and prevent the terminal device from entering a suspend state.
  • Although the present invention has been described in considerable detail with reference to certain preferred embodiments thereof, the disclosure is not for limiting the scope. Persons having ordinary skill in the art may make various modifications and changes without departing from the scope. Therefore, the scope of the appended claims should not be limited to the description of the preferred embodiments described above.

Claims (8)

1. A bus host controller coupled to a first terminal device via a bus, the bus host controller comprising:
a timing module generating a start-of-frame (SOF) packet transferring request according to a frame period; and
an arbitration module coupled to the timing module and receiving a data packet transferring request, wherein if the first terminal device is a non-periodic device, the arbitration module places a higher priority on the data packet transferring request than the SOF packet transferring request.
2. The bus host controller according to claim 1, wherein the bus host controller further includes a second terminal device coupled to the bus, and if the second terminal device is a periodic device, the arbitration module changes the higher priority on the SOF packet transferring request than the data packet transferring request.
3. The bus host controller according to claim 1, wherein the bus host controller further includes:
a data module coupled to the arbitration module and generating the data packet transferring request to the arbitration module.
4. The bus host controller according to claim 1, wherein the bus host controller further includes:
a detecting module coupled to the arbitration module and detecting whether the terminal device is a periodic device.
5. The bus host controller according to claim 1, wherein the bus is a universal serial bus (USB).
6. A method applied to a bus host controller which is coupled to a plurality of terminal devices via a bus, and the method comprising:
generating an SOF packet transferring request according to a frame period; and
placing a higher priority on a data packet transferring request than the SOF packet transferring request if the plurality of terminal devices are non-periodic devices.
7. The method according to claim 6, wherein the method further includes:
changing the higher priority on the SOF packet transferring request than the data packet transferring request if one of the plurality of terminal devices is a periodic device.
8. The method according to claim 6, wherein after the SOF packet transferring request is generated according to the frame period, the method further includes:
detecting whether the terminal devices include the periodic device.
US13/352,532 2011-01-18 2012-01-18 Bus host controller and method thereof Active 2032-03-30 US8732367B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW100101832 2011-01-18
TW100101832A TWI512478B (en) 2011-01-18 2011-01-18 Bus host controller and associated method
TW100101832A 2011-01-18

Publications (2)

Publication Number Publication Date
US20120185627A1 true US20120185627A1 (en) 2012-07-19
US8732367B2 US8732367B2 (en) 2014-05-20

Family

ID=46491624

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/352,532 Active 2032-03-30 US8732367B2 (en) 2011-01-18 2012-01-18 Bus host controller and method thereof

Country Status (2)

Country Link
US (1) US8732367B2 (en)
TW (1) TWI512478B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245985B2 (en) * 2019-03-27 2022-02-08 Microsoft Technology Licensing, Llc Architecture for USB-synchronized array of speakers
CN114968889A (en) * 2022-03-31 2022-08-30 珠海泰芯半导体有限公司 High-speed USB sampling method and system

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092142A (en) * 1998-02-26 2000-07-18 Intel Corporation Method and apparatus to introduce programmable delays when replaying isochronous data packets
US6199132B1 (en) * 1998-06-17 2001-03-06 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes
US20010018730A1 (en) * 2000-02-28 2001-08-30 Yamaha Corporation Synchronization control apparatus and method
KR100304949B1 (en) * 1997-11-24 2001-09-24 김영환 Bulk interface of universal serial bus controller
US6542947B1 (en) * 1998-09-24 2003-04-01 Koninklijke Philips Electronics N.V. Data bus for serial data transmission
US6801959B1 (en) * 2001-05-16 2004-10-05 Lexmark International, Inc. Relaxed-timing universal serial bus with a start of frame packet generator
JP2004328262A (en) * 2003-04-23 2004-11-18 Nec Corp Usb hub device, usb peripheral device, and data transmission and reception method
US20050080935A1 (en) * 2003-09-29 2005-04-14 Fumihiro Fukae Device-side controller, host-side controller, communication controller, USB system, and packet communications method
US20050169356A1 (en) * 2004-01-30 2005-08-04 Fujitsu Limited Serial type interface circuit, power saving method thereof, and device having serial interface
US20060156348A1 (en) * 2004-12-28 2006-07-13 Canon Kabushiki Kaisha Control apparatus and method
US20070081453A1 (en) * 2005-10-11 2007-04-12 Via Technologies, Inc. Method and apparatus for data transmission in a wireless communication system
AU2008251024A1 (en) * 2007-05-15 2008-11-20 Chronologic Pty Ltd USB based synchronization and timing system
US20100077061A1 (en) * 2008-09-25 2010-03-25 Aten International Co., Ltd. Remote desktop control system using usb interface and method thereof
CN101711051A (en) * 2009-11-20 2010-05-19 深圳市中兴移动通信有限公司 Mobile terminal and method for reducing standby power consumption of mobile terminal
US7725610B2 (en) * 2004-05-13 2010-05-25 Canon Kabushiki Kaisha Data processing apparatus that transmits and receives moving image data to and from an external device through a transmission path
CN101968779A (en) * 2010-09-30 2011-02-09 威盛电子股份有限公司 Universal serial bus transmission transaction translator and microframe synchronous method
CN102063402A (en) * 2009-11-12 2011-05-18 义隆电子股份有限公司 Method and circuit for correcting frequency of universal serial bus (USB) device
CN202904429U (en) * 2012-11-19 2013-04-24 四川和芯微电子股份有限公司 Circuit for producing universal serial bus (USB) peripheral clock

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174552B2 (en) * 2002-01-12 2007-02-06 Intel Corporation Method of accessing a resource by a process based on a semaphore of another process
JP3726898B2 (en) * 2002-04-26 2005-12-14 セイコーエプソン株式会社 Data transfer control device, electronic device, and data transfer control method
US20080162974A1 (en) 2006-12-29 2008-07-03 Keys John S Universal serial bus host controller

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100304949B1 (en) * 1997-11-24 2001-09-24 김영환 Bulk interface of universal serial bus controller
US6092142A (en) * 1998-02-26 2000-07-18 Intel Corporation Method and apparatus to introduce programmable delays when replaying isochronous data packets
US6199132B1 (en) * 1998-06-17 2001-03-06 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes
US6542947B1 (en) * 1998-09-24 2003-04-01 Koninklijke Philips Electronics N.V. Data bus for serial data transmission
US20010018730A1 (en) * 2000-02-28 2001-08-30 Yamaha Corporation Synchronization control apparatus and method
US6801959B1 (en) * 2001-05-16 2004-10-05 Lexmark International, Inc. Relaxed-timing universal serial bus with a start of frame packet generator
JP2004328262A (en) * 2003-04-23 2004-11-18 Nec Corp Usb hub device, usb peripheral device, and data transmission and reception method
US20050080935A1 (en) * 2003-09-29 2005-04-14 Fumihiro Fukae Device-side controller, host-side controller, communication controller, USB system, and packet communications method
US20050169356A1 (en) * 2004-01-30 2005-08-04 Fujitsu Limited Serial type interface circuit, power saving method thereof, and device having serial interface
US7725610B2 (en) * 2004-05-13 2010-05-25 Canon Kabushiki Kaisha Data processing apparatus that transmits and receives moving image data to and from an external device through a transmission path
US20060156348A1 (en) * 2004-12-28 2006-07-13 Canon Kabushiki Kaisha Control apparatus and method
US20070081453A1 (en) * 2005-10-11 2007-04-12 Via Technologies, Inc. Method and apparatus for data transmission in a wireless communication system
AU2008251024A1 (en) * 2007-05-15 2008-11-20 Chronologic Pty Ltd USB based synchronization and timing system
US20100077061A1 (en) * 2008-09-25 2010-03-25 Aten International Co., Ltd. Remote desktop control system using usb interface and method thereof
CN102063402A (en) * 2009-11-12 2011-05-18 义隆电子股份有限公司 Method and circuit for correcting frequency of universal serial bus (USB) device
CN101711051A (en) * 2009-11-20 2010-05-19 深圳市中兴移动通信有限公司 Mobile terminal and method for reducing standby power consumption of mobile terminal
CN101968779A (en) * 2010-09-30 2011-02-09 威盛电子股份有限公司 Universal serial bus transmission transaction translator and microframe synchronous method
CN202904429U (en) * 2012-11-19 2013-04-24 四川和芯微电子股份有限公司 Circuit for producing universal serial bus (USB) peripheral clock

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DongSan Jun; HyunWook Park, "An Efficient Priority-Based Reference Frame Selection Method for Fast Motion Estimation in H.264/AVC," Circuits and Systems for Video Technology, IEEE Transactions on , vol.20, no.8, pp.1156,1161, Aug. 2010 *
Kaye, A.R.; Zhang, S., "Congestion control in integrated voice-data frame relay networks and the case for embedded coding," Global Telecommunications Conference, 1994. GLOBECOM '94. Communications: The Global Bridge., IEEE , vol.3, pp.1565,1570 vol.3, 28 Nov- 2 Dec 1994 *
Saitoh, K.; Inoue, Y.; Iiuka, A.; Morikura, M., "An effective data transfer method by integrating priority control into multirate mechanisms for IEEE 802.11 wireless LANs,"Vehicular Technology Conference, 2002. VTC Spring 2002. IEEE 55th , vol.1, pp.55,59 vol.1, 2002 *
Thanasorravit, A.; Charoenpanitkit, A.; Wuttisittikulkij, Lunchakorn, "Performance of dynamic frame reservation multiple access-dynamic permission (DFRMA-DP) protocol for integrated voice and data service in wireless communication systems," Vehicular Technology Conference, 2001. VTC 2001 Spring. IEEE VTS 53rd , vol.3, pp.2113,2117 vol.3, 2001 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245985B2 (en) * 2019-03-27 2022-02-08 Microsoft Technology Licensing, Llc Architecture for USB-synchronized array of speakers
CN114968889A (en) * 2022-03-31 2022-08-30 珠海泰芯半导体有限公司 High-speed USB sampling method and system

Also Published As

Publication number Publication date
TW201232274A (en) 2012-08-01
TWI512478B (en) 2015-12-11
US8732367B2 (en) 2014-05-20

Similar Documents

Publication Publication Date Title
US8151042B2 (en) Method and system for providing identification tags in a memory system having indeterminate data response times
US6813251B1 (en) Split Transaction protocol for a bus system
US6792495B1 (en) Transaction scheduling for a bus system
US8386908B2 (en) Data transmission methods and universal serial bus host controllers utilizing the same
US20180004446A1 (en) Memory controller, memory buffer chip and memory system
CN105282210B (en) Method and device for reducing network energy consumption
US20100005206A1 (en) Automatic read data flow control in a cascade interconnect memory system
US8046503B2 (en) DMA controller, system on chip comprising such a DMA controller, method of interchanging data via such a DMA controller
US6771664B1 (en) Transaction scheduling for a bus system in a multiple speed environment
US7006533B2 (en) Method and apparatus for hublink read return streaming
US8412891B2 (en) Arbitrated access to memory shared by a processor and a data flow
US8732367B2 (en) Bus host controller and method thereof
US9019975B2 (en) Unified system networking with CEE-PCIE tunneling
US20080288675A1 (en) Host device, information processor, electronic apparatus, program, and method for controlling reading
US7152167B2 (en) Apparatus and method for data bus power control
US6463494B1 (en) Method and system for implementing control signals on a low pin count bus
US8195846B2 (en) Direct memory access controller for improving data transmission efficiency in MMoIP and method therefor
JP2010118020A (en) Request order control system, request order control method, and request order control program
JP2011160018A (en) Communication device, communication method and program
US9025614B2 (en) Unified system networking with PCIE-CEE tunneling
US20240319782A1 (en) Processor for managing power, power management system and method thereof
US20060136635A1 (en) Very little multi master bus
JPH1185406A (en) Time slot generation device
CN117955583A (en) Method, controller and storage device for channel synchronization of interconnection protocol

Legal Events

Date Code Title Description
AS Assignment

Owner name: ASMEDIA TECHNOLOGY INC., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIN, CHING-CHIH;TSENG, PAO-SHUN;PENG, WEN-HUNG;REEL/FRAME:027552/0520

Effective date: 20120117

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8