US 7,469,304 B2
Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation
Nobuyuki Saito, Sapporo (Japan); Hiroaki Shimono, Sapporo (Japan); Yoshiyuki Kamihara, Sapporo (Japan); and Hironobu Kazama, Sapporo (Japan)
Assigned to Seiko Epson Corporation, Tokyo (Japan)
Filed on Feb. 21, 2003, as Appl. No. 10/369,630.
Claims priority of application No. 2002-118251 (JP), filed on Apr. 19, 2002.
Prior Publication US 2003/0200360 A1, Oct. 23, 2003
Int. Cl. G06F 3/00 (2006.01)
U.S. Cl. 710—7  [710/5; 710/36; 710/52] 21 Claims
OG exemplary drawing
 
1. A data transfer control device for data transfer through a bus, comprising:
a state controller which controls a plurality of states including a state of a host operation, in which the data transfer control device operates as a role of a host, and a state of a peripheral operation, in which the data transfer control device operates as a role of a peripheral;
a host controller which is connected with a transceiver including a physical layer circuit during the host operation and transfers data as the host;
a peripheral controller which is connected with the transceiver during the peripheral operation and transfers data as the peripheral;
a register section including a common register which is used commonly during the host operation and the peripheral operation; and
a buffer controller which controls access to a packet buffer which stores data transferred by the host controller and the peripheral controller and is used commonly by the host controller and the peripheral controller,
the packet buffer being a local memory of the data transfer control device,
during the host operation, a plurality of pipe regions being allocated in the packet buffer and the host controller transferring data between the plurality of pipe regions and a plurality of endpoints, each of the plurality of pipe regions storing data transferred to and from corresponding each of the plurality of endpoints,
the plurality of the pipe regions including a pipe region for an endpoint of control transfer and other pipe regions, and the plurality of the pipe regions being allocated in the packet buffer simultaneously by an instruction from a processing unit, and region calculation of the plurality of the pipe regions based on the instruction,
during the peripheral operation, a plurality of endpoint regions being allocated in the packet buffer and the peripheral controller transfers data between the plurality of endpoint regions and the host, each of the plurality of endpoint regions storing data transferred to and from the host,
the plurality of the endpoint regions including an endpoint region for control transfer and other endpoint regions, and the plurality of the endpoint regions being allocated in the packet buffer simultaneously by an instruction from the processing unit, and region calculation of the plurality of the endpoint regions being based on the instruction,
an access address of the common register being set to be the same and the same information content being set in the area of the common register specified by the same access address both during the host operation and the peripheral operation,
the processing unit accessing the common register by using the same access address and setting the same information content to the area of the common register specified by the same access address both during the host operation and the peripheral operation.