# Patent

## Title
Data transfer control device and electronic instrument

## Abstract

A data transfer control device including: a link controller which analyzes a received packet transferred from a host-side data transfer control device through a serial bus; an interface circuit which generates an interface signal and outputs the generated interface signal to an interface bus; and an internal register in which is set timing information for specifying a timing at which a signal level of the interface signal output from the interface circuit changes. The interface circuit generates the interface signal, a signal level of which changes at a timing according to the timing information set in the internal register.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. Ser. No. 11/062,942, filed Feb. 22, 2005, claiming priority to Japanese Patent Application No. 2004-66028, filed on Mar. 9, 2004, both of which are hereby incorporated by reference.


BACKGROUND OF THE INVENTION
The present invention relates to a data transfer control device and an electronic instrument.
In recent years, a high-speed serial transfer interface such as low voltage differential signaling (LVDS) has attracted attention as an interface aiming at reducing EMI noise or the like. In such a high-speed serial transfer, data transfer is implemented by causing a transmitter circuit to transmit serialized data using differential signals and a receiver circuit to differentially amplify the differential signals. The Digital Visual Interface (DVI) or the like has been known as an interface for such a high-speed serial transfer (Japanese Patent Application Laid-open No. 2001-222249).
An ordinary portable telephone includes a first instrument section provided with buttons for inputting a telephone number or a character, a second instrument section provided with a main liquid crystal display (LCD), a sub LCD, or a camera, and a connection section such as a hinge which connects the first and second instrument sections. In this case, the number of interconnects passing through the connection section can be reduced by performing data transfer between a first substrate provided in the first instrument section and a second substrate provided in the second instrument section by serial transfer using differential signals.
However, when performing data transfer through such a connection section by serial transfer, it is desirable to reduce power consumption of a host-side data transfer control device and a target-side data transfer control device which control the serial transfer. It is also desirable to reduce the amount of data transferred through the serial bus. Furthermore, it is desirable to reduce the processing load imposed on a system device (CPU, display controller, or the like) which accesses the host-side data transfer control device and performs various settings.
BRIEF SUMMARY OF THE INVENTION
According to a first aspect of the present invention, there is provided a data transfer control device which controls data transfer, the data transfer control device comprising:
a link controller which analyzes a received packet transferred from a host-side data transfer control device through a serial bus;
an interface circuit which generates an interface signal and outputs the generated interface signal to an interface bus; and
an internal register in which is set timing information for specifying a timing at which a signal level of the interface signal output from the interface circuit changes,
wherein the interface circuit generates the interface signal, a signal level of which changes at a timing according to the timing information set in the internal register.
According to a second aspect of the present invention, there is provided a data transfer control device which controls data transfer, the data transfer control device comprising:
an interface circuit which performs interface processing between the data transfer control device and a system device;
a link controller which generates a packet to be transmitted to a target-side data transfer control device through a serial bus; and
an internal register accessed by the system device through the interface circuit;
wherein the system device set timing information in the internal register, the timing information being used for specifying a timing at which a signal level of an interface signal output from an interface circuit of the target-side data transfer control device changes; and
wherein the link controller generates a packet including the timing information set in the internal register, and transmits the generated packet to the target-side data transfer control device through the serial bus.
According to a third aspect of the present invention, there is provided an electronic instrument, comprising:
the above-described target-side data transfer control device;
a host-side data transfer control device connected to the target-side data transfer control device through the serial bus; and
one or more devices connected to the target-side data transfer control device through the interface bus.
According to a fourth aspect of the present invention, there is provided an electronic instrument, comprising:
the above-described host-side data transfer control device;
a target-side data transfer control device connected to the host-side data transfer control device through the serial bus; and
one or more devices connected to the target-side data transfer control device through the interface bus.



BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING
FIG. 1 shows host-side and target-side data transfer control devices.
FIG. 2 is illustrative of RGB interface signals.
FIGS. 3A and 3B are signal waveform examples of RGB interface signals.
FIG. 4 is illustrative of timing information.
FIGS. 5A and 5B are signal waveform examples of MPU interface signals.
FIGS. 6A and 6B are signal waveform examples of serial interface signals.
FIGS. 7A and 7B are format examples of packets.
FIG. 8 is illustrative of a port number.
FIG. 9 is illustrative of a synchronization signal code.
FIG. 10 is illustrative of a method of generating a synchronization signal by using a synchronization signal code.
FIG. 11 shows an internal register.
FIGS. 12A, 12B, and 12C show a port access register and others.
FIGS. 13A, 13B, and 13C show an LCD1 setting register and others.
FIG. 14 is a flowchart showing the processing according to one embodiment of the present invention in detail.
FIG. 15 shows host-side and target-side transceivers.
FIG. 16 shows a host-side link controller and interface circuit.
FIG. 17 shows a target-side link controller and interface circuit.
FIGS. 18A and 18B shows host side and target-side RGB interface circuits.
FIG. 19 shows an electronic instrument.



DETAILED DESCRIPTION OF THE EMBODIMENTS
The present invention has been achieved in view of the above-described technical problem, and may provide a data transfer control device which can efficiently generate an interface signal, and an electronic instrument including the same.
According to one embodiment of the present invention, there is provided a data transfer control device which controls data transfer, the data transfer control device comprising:
a link controller which analyzes a received packet transferred from a host-side data transfer control device through a serial bus;
an interface circuit which generates an interface signal and outputs the generated interface signal to an interface bus; and
an internal register in which is set timing information for specifying a timing at which a signal level of the interface signal output from the interface circuit changes,
wherein the interface circuit generates the interface signal, a signal level of which changes at a timing according to the timing information set in the internal register.
In this embodiment, the timing information on the interface signal is set in the internal register. An interface signal whose signal level changes at a timing according to the timing information set in the internal register is generated, and is output to the interface bus. This enables an interface signal whose signal level changes at a proper timing to be generated based on the timing information without successively receiving detailed information on the interface signal from the host-side data transfer control device through the serial bus. Therefore, an interface signal can be efficiently generated.
In this data transfer control device, the timing information may be set in the internal register based on a packet transferred from the host-side data transfer control device through the serial bus.
This enables the timing information which specifies the change in the signal level of the interface signals in detail to be efficiently received from the host-side data transfer control device through the serial bus.
In this data transfer control device, a packet having data in a data field may be transferred from the host-side data transfer control device through the serial bus after the timing information has been set in the internal register; and
the interface circuit may output an interface signal including a signal of the data set in the packet at a timing according to the timing information set in the internal register.
According to this feature, the timing information is transferred before data transfer, and a packet in which data is set in the data field is then transferred. Therefore, the amount of transfer data can be reduced when transferring a packet in which data is set in the data field, whereby the efficiency of data transfer through the serial bus can be improved.
In this data transfer control device, the interface circuit may output an interface signal including a vertical synchronization signal, a horizontal synchronization signal, and a data signal; and
at least one of a length of a horizontal synchronization period, a length of a display period in the horizontal synchronization period, a start position of the display period in the horizontal synchronization period, a pulse width of the horizontal synchronization signal, a length of a vertical synchronization period, a length of a display period in the vertical synchronization period, a start position of the display period in the vertical synchronization period, and a pulse width of the vertical synchronization signal may be set in the internal register as the timing information.
The information set as the timing information is not limited to the above information.
In this data transfer control device, the interface circuit may generate an interface signal for an RGB interface based on the timing information set in the internal register.
This enables an RGB interface signal (interface signal including the vertical synchronization signal, horizontal synchronization signal, RGB data signal, and the like) to be efficiently generated. The interface signal generated in this embodiment is not limited to the RGB interface signal.
In this data transfer control device, a packet transferred from the host-side data transfer control device through the serial bus may include a synchronization signal code field for setting a synchronization signal code; and
the interface circuit may generate a synchronization signal which is the interface signal based on the synchronization signal code set in the packet and the timing information set in the internal register.
This enables the interface circuit to determine the generation target synchronization signal based on the synchronization signal code included in the packet. The change timing of the signal level of the synchronization signal may be determined based on the timing information set in the internal register. Therefore, the interface circuit can efficiently generate the synchronization signal which is an interface signal.
In this data transfer control device, the link controller may receive a display period packet in which data is set in a data field from the host-side data transfer control device in a display period, and receive a non-display period packet in which no data is set in the data field from the host-side data transfer control device in a non-display period.
This allows a packet containing a small amount of data, in which data is not set in the data field, to be transferred through the serial bus in the non-display period, whereby the efficiency of data transfer can be improved.
In this data transfer control device, when the link controller has received a display period packet in which data is set in a data field from the host-side data transfer control device, the link controller may output a header including the synchronization signal code set in the packet and the data set in the packet to the interface circuit; and
when the link controller has received a non-display period packet in which no data is set in the data field from the host-side data transfer control device, the link controller may output a header including the synchronization signal code set in the packet to the interface circuit.
According to one embodiment of the present invention, there is provided a data transfer control device which controls data transfer, the data transfer control device comprising:
an interface circuit which performs interface processing between the data transfer control device and a system device;
a link controller which generates a packet to be transmitted to a target-side data transfer control device through a serial bus; and
an internal register accessed by the system device through the interface circuit,
wherein the system device set timing information in the internal register, the timing information being used for specifying a timing at which a signal level of an interface signal output from an interface circuit of the target-side data transfer control device changes; and
wherein the link controller generates a packet including the timing information set in the internal register, and transmits the generated packet to the target-side data transfer control device through the serial bus.
According to this embodiment, the timing information on the interface signal generated by the target is set in the internal register of the host-side data transfer control device by the system device. The set timing information is transmitted to the target-side data transfer control device through the serial bus. This enables the interface circuit of the target-side data transfer control device to generate an interface signal whose signal level changes according to the transmitted timing information, whereby an interface signal can be efficiently generated.
In this data transfer control device, the internal register may include a register transfer start register; and
the link controller may generate the packet including the timing information set in the internal register when the system device has instructed start of transfer by using the register transfer start register, and transmit the generated packet to the target-side data transfer control device through the serial bus.
According to this feature, the timing information set in the host-side internal register is automatically transmitted to the target through the serial bus merely by causing the system device to direct the register transfer start register to start transfer. This enables the processing load imposed on the system device to be reduced.
In this data transfer control device, the link controller may generate a packet having data in a data field and transmit the generated packet to the target-side data transfer control device after transmitting the packet including the timing information to the target-side data transfer control device.
According to this feature, the timing information is transferred before data transfer, and a packet in which data is set in the data field is then transferred. Therefore, the amount of transfer data can be reduced when transferring a packet in which data is set in the data field, whereby the efficiency of data transfer through the serial bus can be improved.
According to one embodiment of the present invention, there is provided an electronic instrument, comprising:
the above-described target-side data transfer control device;
a host-side data transfer control device connected to the target-side data transfer control device through the serial bus; and
one or more devices connected to the target-side data transfer control device through the interface bus.
According to one embodiment of the present invention, there is provided an electronic instrument, comprising:
the above-described host-side data transfer control device;
a target-side data transfer control device connected to the host-side data transfer control device through the serial bus; and
one or more devices connected to the target-side data transfer control device through the interface bus.
These embodiments of the present invention will be described below in detail. Note that the embodiments described below do not in any way limit the scope of the invention laid out in the claims herein. In addition, not all of the elements of the embodiments described below should be taken as essential requirements of the present invention.
1. Data Transfer Control Device
FIG. 1 shows host-side and target-side data transfer control devices 10 and 30. In this embodiment, a bridge function between a system bus and an interface bus is implemented by using the host-side and target-side data transfer control devices 10 and 30. The data transfer control devices 10 and 30 are not limited to the configurations shown in FIG. 1. Some of the circuit blocks shown in FIG. 1 may be omitted, or the connection between the circuit blocks may be changed, or a circuit block differing from those shown in FIG. 1 may be added. For example, a transceiver 20 may be omitted in the host-side data transfer control device 10, or a transceiver 40 may be omitted in the target-side data transfer control device 30.
The host (TX) side data transfer control device 10 and the target (RX) side data transfer control device 30 transfer packets through a serial bus for differential signals. In more detail, the data transfer control devices 10 and 30 transmit and receive packets by current-driving (or voltage-driving) differential signal lines of the serial bus.
The host-side data transfer control device 10 includes an interface circuit 92 for performing interface processing between the data transfer control device 10 and a system device 5 such as a CPU or a display controller. The system bus which connects the system device 5 with the interface circuit 92 includes signal lines for chip select signals CS1 and CS2. The system bus includes signal lines for signals HSYNC/RD, VSYNC/WR, CLK/A0, and D[17:0]. These signal lines are used as an RGB interface bus or a micro processor unit (MPU) interface bus.
In the case of using these signal lines as the RGB interface bus, the signals HSYNC/RD, VSYNC/WR, CLK/A0, and D[17:0] are respectively used as a horizontal synchronization signal, a vertical synchronization signal, a clock signal, and a data signal. The signals D[5:0], D[11:6], and D[17:12] of the signal D[17:0] are respectively used as R (red), G (green), and B (blue) data signals, for example. In the case of using the signal lines as the MPU interface bus, the signals HSYNC/RD, VSYNC/WR, CLK/A0, and D[17:0] are respectively used as a read signal, a write signal, an address 0 signal (command/parameter identification signal), and a data signal.
The system bus includes signal lines for signals SCS, SR/W, SA0, SIO, and SCK. These signals are used as serial interface signals. In more detail, the signals SCS, SR/W, SA0, SIO, and SCK are respectively used as a chip select signal, a read/write signal, an address 0 signal, a data signal, and a clock signal for the serial interface. In a 5-pin type serial interface, all of the signals SCS, SR/W, SA0, SIO, and SCK are used. In a 4-pin type serial interface, the signal SR/W is not used. In a 3-pin type serial interface, the signals SR/W and SAO are not used.
A signal INT is an interrupt signal from the host-side data transfer control device 10 to the system device 5. A terminal CNF[2:0] is a terminal for deciding the interface type between the system device 5 and the host-side data transfer control device 10. The interface between the system device 5 and the host-side data transfer control device 10 may be set to both the RGB interface and the type 80 MPU interface, may be set to both the RGB interface and the type 68 MPU interface, may be set to only the type 80 MPU interface, may be set to only the type 68 MPU interface, or may be set to only the serial interface by the setting of the terminal CNF[2:0].
The host-side data transfer control device 10 includes a link controller 90 (link layer circuit) which performs link layer processing. The link controller 90 performs processing of generating a packet (request packet, stream packet, or the like) transferred to the target-side data transfer control device 30 through the serial bus (LVDS), and transmitting the generated packet. In more detail, the link controller 200 initiates a transmission transaction and directs a transceiver 20 to transmit the generated packet.
The host-side data transfer control device 10 includes the transceiver 20 (PHY) which performs physical layer processing or the like. The transceiver 20 transmits a packet indicated by the link controller 90 to the target-side data transfer control device 30 through the serial bus. The transceiver 20 also receives a packet from the target-side data transfer control device 30. In this case, the link controller 90 analyzes the received packet and performs the link layer (transaction layer) processing.
The host-side data transfer control device 10 includes an internal register 250. The internal register 250 includes a port access register, a configuration register, an LVDS register, an interrupt control register, a target (RX) register, and the like. The system device 5 writes an address (command) or data (parameter) into the internal register 250 through the system bus, or reads read data, status information, or the like from the internal register 250. The content stored in the target register of the internal register 250 is transferred to an internal register 350 of the target-side data transfer control device 30. Specifically, the target-side internal register 350 is a subset (shadow register) of the host-side internal register 250.
The target-side data transfer control device 30 includes a transceiver 40 (PHY) which performs physical layer processing or the like. The transceiver 40 receives a packet from the host-side data transfer control device 10 through the serial bus. The transceiver 40 also transmits a packet to the host-side data transfer control device 10. In this case, a link controller 100 generates a packet to be transmitted and directs transmission of the generated packet.
The target-side data transfer control device 30 includes the link controller 100 (link layer circuit). The link controller 100 performs link layer (transaction layer) processing of receiving a packet from the host-side data transfer control device 10 and analyzing the received packet. A signal TGINT is an interrupt signal from the target-side data transfer control device 30 to the host-side data transfer control device 10.
The target-side data transfer control device 30 includes an interface circuit 110 which performs interface processing between the data transfer control device 30 and an LCD1, an LCD2, and a general device GD (first to Nth devices in a broad sense). The interface circuit 110 generates various interface signals (first to Nth interface signals), and outputs the generated interface signals to the interface bus. In more detail, the interface circuit 110 includes an RGB interface circuit 310, an MPU interface circuit 320, and a serial interface circuit 330 (first to Nth interface circuits in a broad sense). The RGB interface circuit 310, the MPU interface circuit 320, and the serial interface circuit 330 respectively generate and output RGB, MPU, and serial interface signals. The LCD1 and LCD2 are generic terms for a display panel and a display driver which drives the display panel.
The interface bus includes signal lines for signals such as signals FPCS1, FPCS2, FPCS3, VCIN1, VCIN2, and WAIT, and buses such as buses RGB/MPU, SERIAL, and I2C (Inter Integrated Circuit). The signals FPCS1, FPCS2, and FPCS3 are chip select signals. The signals VCIN1 and VCIN2 are signals which indicate completion of writing of one frame, and the signal WAIT is a wait request signal. The RGB/MPU bus is an RGB or MPU interface bus. The RGB/MPU bus includes signal lines for the horizontal synchronization signal (read signal), the vertical synchronization signal (write signal), the clock signal, the address 0 signal, and the data signal in the same manner as the system bus. The SERIAL bus is a serial interface bus, and includes signal lines for the read/write signal, the address 0 signal, the data signal, and the clock signal for serial transfer. The I2C bus is a bus for performing serial transfer between comparatively close locations using two signal lines (clock signal and data signal).
The target-side data transfer control device 30 includes the internal register 350. The internal register 350 stores interface information for specifying the signal type (output format) of an interface signal output from the interface circuit 110 or the like. In more detail, the internal register 350 stores timing information for specifying the timing at which the signal level of the interface signal changes. In this case, the information stored in the host-side internal register 250 necessary for the target is transferred to the target through the serial bus (differential signal lines) and written into the target-side internal register 350.
The configuration and the operation in which the host-side data transfer control device 10 transmits a packet to the target-side data transfer control device 30 are mainly described below for convenience of description. However, the configuration and the operation in which the target-side data transfer control device 30 transmits a packet to the host-side data transfer control device 10 are the same as described below.
2. Generation of Interface Signal
In this embodiment, the target (RX) side interface circuit 110 automatically generates the interface signals (interface control signal and data signal) based on the timing information set in advance. In more detail, the timing information for specifying the timing at which the signal level of the interface signal changes is set in the target-side internal register 350. The interface circuit 110 reads the timing information from the internal register 350. The interface circuit 110 generates the interface signal of which the signal level changes at the timing according to the timing information based on the read timing information, and outputs the generated interface signal. In more detail, the RGB interface circuit 310 generates the interface signal according to the timing information, for example.
The timing information is set in the internal register 350 based on a packet received from the host-side data transfer control device 10 through the serial bus (LVDS). Specifically, the system device 5 sets the timing information on the interface signal in the host-side internal register 250 as an initial setting before data transfer. The system device 5 directs start of register transfer using a register transfer start register included in the internal register 250. The timing information on the interface signal written into the internal register 250 is packet-transferred from the host-side data transfer control device 10 to the target-side data transfer control device 30 through the serial bus. In more detail, a packet in which the timing information is set in a data field is packet-transferred, for example. The transferred timing information is written into the target-side internal register 350.
After the above-described initial setting, the system device writes data (command or parameter) into a port write register of the internal register 250. A packet in which data is set in the data field is transmitted from the host-side data transfer control device 10 to the target-side data transfer control device 30 through the serial bus. The interface circuit 110 outputs the interface signal including a signal of data set in the packet to the interface bus at the timing according to the timing information set in the internal register 350. In more detail, the interface control signal (vertical synchronization signal, horizontal synchronization signal, or the like) and the data signal which make up the interface signals are output to an RGB port of the LCD1 through the RGB bus. This enables the LCD1 to perform a display operation based on RGB data.
An ordinary portable telephone includes a first instrument section (first shell) provided with buttons for inputting a telephone number or a character, a second instrument section (second shell) provided with a main display, a sub display, or a camera, and a connection section (hinge section) which connects the first and second instrument sections. In this case, the system device 5 is provided in the first instrument section, and the LCD1 which is the main display and the LCD2 which is the sub display are provided in the second instrument section.
In a conventional art, the system device 5 directly outputs a vertical synchronization signal VSYNC, a horizontal synchronization signal HSYNC, and a data signal D[17:0] as shown in FIG. 2 to the LCD1. Therefore, the number of interconnects passing through the connection section between the first and second instrument sections is increased to a large extent, whereby it is difficult to design the connection section. Moreover, EMI noise may occur.
In this embodiment, the timing information and data are transferred from the host to the target through the serial bus. Therefore, according to this embodiment, the number of interconnects passing through the connection section can be significantly reduced by providing the interconnect section of the serial bus in the connection section between the first and second instrument sections, whereby the design of the connection section can be facilitated. Moreover, occurrence of EMI noise can be reduced.
The following method may be employed as a comparative example. Specifically, the host-side data transfer control device 10 samples the interface signals VSYNC, HSYNC, and D[17:0] from the system device 5 as shown in FIG. 2 using a sampling clock signal at a high frequency (frequency twice the frequency of a pixel clock signal, for example), and transmits the sampling result information to the target-side data transfer control device 30 through the serial bus. The interface signals similar to the interface signals VSYNC, HSYNC, and D[17:0] shown in FIG. 2 output from the system device 5 are output to the LCD1 by causing the target-side data transfer control device 30 to reproduce the sampling result information.
However, according to the method of the comparative example, since the frequency of the sampling clock signal is increased in the host-side data transfer control device 10, power consumption is increased. Moreover, since the amount of data (amount of traffic) transferred through the serial bus is increased, efficient data transfer cannot be implemented.
In this embodiment, the timing information is transferred in advance before data transfer, and the interface circuit 110 (RGB interface circuit 310) automatically generates the interface signal based on the timing information. This makes it unnecessary for the host-side data transfer control device 10 to sample the interface signals VSYNC, HSYNC, and D[17:0] from the system device 5 using a sampling clock signal at a high frequency, whereby power consumption can be reduced. Moreover, an interface signal of which the signal level changes at a proper timing can be generated without successively transferring detailed information on the interface signal from the host to the target. Therefore, the amount of data transferred through the serial bus is reduced, whereby efficient data transfer can be implemented.
3. Signal Waveform of Interface Signal
FIGS. 3A and 3B show signal waveform examples of the RGB interface signal generated by the RGB interface circuit 310 of the interface circuit 110. In FIGS. 3A and 3B, a signal FPFRAME is a vertical synchronization signal, a signal FPLINE is a horizontal synchronization signal, a signal FPDAT[17:0] is an RGB data signal, a signal FPDRDY is a data ready signal, and a signal FPSHIFT is a clock signal (pixel clock signal). These signals are used as RGB bus interface signals.
As shown in FIG. 3A, when the signal FPFRAME has become active and the signal FPLINE has become active a given number of times, a non-display period (front porch) is switched to a display period, whereby the data signal FPDAT[17:0] of the first line (first scan line) is output. When the data signals of all the lines have been output, the display period is switched to the non-display period (back porch).
FIG. 3B is an enlarged signal waveform diagram showing the state in which the data signal for one line is transferred. Each bit of the data signal FPDATA[17:0] for one line is output in synchronization with the rising edge of the clock signal FPSHIFT after the signal FPDRDY has become active, for example.
In this embodiment, t1=VT, t2=VPW, t3=VDPS, and t4=VDP shown in FIG. 3A are set in the target-side internal register 350 as the timing information. t2=HT, t3=HPW, t4=HDPS, and t5=HDP shown in FIG. 3B are set in the internal register 350 as the timing information.
As shown in FIG. 4, HT (Horizontal Total) is the length of a horizontal synchronization period. HDP (Horizontal Display Period) is the length of a display period in the horizontal synchronization period. HDPS (Horizontal Display Period Start position) is the start position of the display period in the horizontal synchronization period. HPW (Horizontal Pulse Width) is the pulse width of the horizontal synchronization signal. VT (Vertical Total) is the length of a vertical synchronization period. VDP (Vertical Display Period) is the length of a display period in the vertical synchronization period. VDPS (Vertical Display Period Start position) is the start position of the display period in the vertical synchronization period. VPW (Vertical Pulse Width) is the pulse width of the vertical synchronization signal.
In this embodiment, the above timing information (HT, HDP, HDPS, HPW, VT, VDP, VDPS, and VPW) is written into the host-side internal register 250 by the system device 5 at the time of initialization. The timing information is transmitted to the target through the serial bus, and written into the target-side internal register 350. The RGB interface signals as shown in FIGS. 3A and 3B can be easily automatically generated by using the above timing information. The timing information HT, HDP, HDPS, HPW, VT, VDP, VDPS, and VPW need not be entirely stored in the internal register 350 as the timing information which can be set to an arbitrary value. A part of the timing information HT, HDP, HDPS, HPW, VT, VDP, VDPS, and VPW may be a fixed value. For example, the timing information HPW and VPW may be set to fixed values and may not be stored in the internal register 350 as the timing information.
FIGS. 5A and 5B show waveform examples of the MPU interface signals. FIG. 5A is a waveform example of the type 80 MPU (parallel) interface signals, and FIG. 5B is a waveform example of the type 68 MPU interface signals. These MPU interface signals are generated by the MPU interface circuit 320. In FIGS. 5A and 5B, signals FPCS1 and FPCS2 are chip select signals, a signal FPA0 is an address 0 signal which is an identification signal of a command (address) and a parameter (data), a signal FPFRAME is a write signal, and a signal FPDAT[17:0] is a data signal. The signal FPFRAME is used as the vertical synchronization signal in the RGB interface shown in FIGS. 3A and 3B. In this embodiment, the signal FPLINE is used as the horizontal synchronization signal in the RGB interface and is used as the read signal in the MPU interface. In this embodiment, the signal lines of the interface bus are used (multiplexed) by different types of interface signals in order to reduce the number of signal lines (number of terminals).
FIGS. 6A and 6B show waveform examples of the serial interface signals. FIG. 6A shows a waveform example of the serial interface signals during command/parameter transfer, and FIG. 6B shows a waveform example of the serial interface signals during burst transfer. These serial interface signals are generated by the serial interface circuit 330. In FIGS. 6A and 6B, a signal FPCS is a chip select signal, a signal FPA0 is an address 0 signal, a signal FPR/W is a read/write signal, a signal FPSIO is a data signal, and a signal FPSCK is a serial clock signal. In this embodiment, as shown in FIG. 6A, the data signal FPSIO can be set to “MSB first” or “LSB first”. The phase and polarity of the signal FPSCK can be arbitrarily set. The setting may be performed based on the interface information (information which specifies the signal type of the interface signal) stored in the internal register 350.
In this embodiment, t1 to t6 shown in FIG. 5A, t1 to t6 of FIG. 5B, and t1 to t9 shown in FIGS. 6A and 6B are fixed values. However, some or all of these values may be stored in the internal register 350 as the timing information which can be set to an arbitrary value.
4. Packet Configuration
FIGS. 7A and 7B show format examples of packets transferred through the serial bus (LVDS). The field configuration and the field arrangement of each packet are not limited to the examples shown in FIGS. 7A and 7B. Various modifications and variations may be made.
A write request packet (write request packet or read request packet) shown in FIG. 7A is a packet for requesting writing or reading of data (parameter). The write request packet includes fields of response request, packet type, label, retry, address size, data length, address (command), continuous, address automatic update, number of updates, port number, data (parameter), and cyclic redundancy check (CRC). The read request packet does not include the data field.
The response request field is a field for indicating whether or not to perform handshake using an acknowledge packet. The packet type field is a field for indicating the type of the packet. In this embodiment, a write request packet, a read request packet, a response packet, an acknowledge packet, a stream packet, and the like are included as the packet types. The label field is a field for setting a label for distinguishing the current transaction from other transactions. The retry field is a field for indicating whether or not the current transaction performs a retry. The address size field is a field for indicating the size of an address set in the address field of the packet. The data length field is a field for indicating the length of write data or read data. The address (command) field is a field for indicating the address of the data access destination (write destination or read destination). The address automatic update field is a field for setting an address automatic update mode, and the number-of-updates field is a field for setting the number of automatic updates of the address. The port number field is a field for setting the port number. The data (parameter) field is a field for setting data transferred by the packet. The CRC field is a field for checking an error of the header and data of the packet.
The stream packet shown in FIG. 7B is a packet for performing stream transfer of data (parameter). The stream transfer is data transfer which implements high-speed and continuous transfer while maintaining isochronicity between the transmitter side and the receiver side. The stream packet includes fields of packet type, label, data length, address (command), synchronization signal code, port number, data (parameter), and CRC.
5. Port Number
FIG. 8 shows an example of the port number set in the port number field of a packet. Various ports can be selected as the destination of packet transfer by using the port number. For example, when the port number set in the packet is “01”, a parallel port (RGB/MPU port) of the LCD1 is the destination of packet transfer (data set in the packet or the like). When the port number is “02”, “03”, “04”, “05”, or “06”, a serial port of the LCD1, a parallel port (MPU port) of the LCD2, a serial port of the LCD2, a parallel port of the LCD3 (not shown), or a serial port of the LCD3 is the destination of packet transfer, respectively. When the port number is “10”, “11”, “12”, or “3F”, the general port 1, 2, or 3, or the internal register 350 is the destination of packet transfer, respectively.
In this embodiment, the output destination of the interface signal is set using the port number. In more detail, the interface circuit 110 outputs the interface signal to the port selected based on the port number set in the packet as the destination among the ports of the LCD1, the LCD2, and the general device GD (one or more devices in a broad sense) connected to the interface bus.
For example, when the port number set in the packet is “01”, the interface signal including a signal of data set in the packet is output to the parallel port (RGB/MPU port) of the LCD1 as the destination. Specifically, the LCD1 is selected by the chip select signal FPCS1 shown in FIG. 1, and the interface signal (packet data signal and interface control signal) generated by the RGB interface circuit 310 or the MPU interface circuit 320 is output to the LCD1. When the port number set in the packet is “02”, the LCD1 is selected by the chip select signal FPCS1, and the interface signal generated by the serial interface circuit 330 is output to the LCD1. When the port number set in the packet is “03”, the LCD2 is selected by the chip select signal FPCS2, and the interface signal generated by the MPU interface circuit 320 is output to the LCD2. When the port number set in the packet is “03”, the LCD2 is selected by the chip select signal FPCS2, and the interface signal generated by the serial interface circuit 330 is output to the LCD2.
When the port number is “3F”, the information transferred by the packet is output to the target-side internal register 350. This enables the information stored in the host-side internal register 250 to be transferred to the target-side internal register 350.
6. Synchronization Signal Code
FIG. 9 shows an example of the synchronization signal code set in the synchronization signal code field of a packet. A synchronization signal code of “0” (VS=0, HS=0) means that the packet does not include the synchronization signal. Specifically, since the synchronization signals (vertical synchronization signal and horizontal synchronization signal) have not been detected by the host, it is unnecessary for the target to output the synchronization signal. A synchronization signal code of “1” (VS=1, HS=0) means that the packet includes the vertical synchronization signal. Specifically, since the vertical synchronization signal has been detected by the host, it is necessary for the target to output the vertical synchronization signal. A synchronization signal code of “2” (VS=0, HS=1) means that the packet includes the horizontal synchronization signal. Specifically, since the horizontal synchronization signal has been detected by the host, it is necessary for the target to output the horizontal synchronization signal. A synchronization signal code of “3” (VS=1, HS=1) means that the packet includes the vertical synchronization signal and the horizontal synchronization signal. Specifically, since the vertical synchronization signal and the horizontal synchronization signal have been detected by the host, it is necessary for the target to output the vertical synchronization signal and the horizontal synchronization signal.
As shown in FIG. 7B, in this embodiment, a packet transferred from the host-side data transfer control device 10 through the serial bus (LVDS) includes the synchronization signal code field for setting the synchronization signal code. In this embodiment, the interface circuit 110 (RGB interface circuit 310) generates the synchronization signal (vertical synchronization signal or horizontal synchronization signal) based on the synchronization signal code set in the packet. In more detail, the interface circuit 110 generates the synchronization signal based on the timing information (HT, HDP, HDPS, HPW, VT, VDP, VDPS, and VPW) set in the internal register 350 (timing information register) and the synchronization signal code set in the packet.
Suppose that the system device 5 outputs the RGB interface signals VSYNC, HSYNC, and D[17:0] as shown in FIG. 2 to the host-side data transfer control device 10, for example. In this case, the host-side data transfer control device 10 detects the vertical synchronization signal VSYNC and the horizontal synchronization signal HSYNC input thereto. When the vertical synchronization signal VSYNC has been detected, the host-side data transfer control device 10 generates a packet in which the synchronization signal code is set to VS=1 and HS=0, and transmits the generated packet to the target-side data transfer control device 30. When the horizontal synchronization signal HSYNC has been detected, the host-side data transfer control device 10 generates a packet in which the synchronization signal code is set to VS=0 and HS=1, and transmits the generated packet to the target-side data transfer control device 30. When the vertical synchronization signal VSYNC and horizontal synchronization signal HSYNC have been detected, the host-side data transfer control device 10 generates a packet in which the synchronization signal code is set to VS=1 and HS=1, and transmits the generated packet to the target-side data transfer control device 30.
The link controller 100 of the target-side data transfer control device 30 analyzes the synchronization signal code included in the packet received from the host-side data transfer control device 10. The RGB interface circuit 310 of the interface circuit 110 generates signals FPFRAME and FPLINE as shown in FIG. 10 based on the synchronization signal code included in the packet. The signals FPFRAME and FPLINE correspond to the vertical synchronization signal VSYNC and the horizontal synchronization signal HSYNC shown in FIG. 2.
In more detail, the synchronization signal code included in packets PK1, PK2, PK12, and PK13 received at A1 and A2 shown in FIG. 10 is set to VS=1 and HS=1. Therefore, the signals FPFRAME and FPLINE are output in an active state as indicated by A3 and A4. The synchronization signal code included in packets PK3 to PK11 received at A5 is VS=0 and HS=1. Therefore, only the signal FPLINE is activated and output each time the packet is received as indicated by A6.
In this embodiment, the precise change timings of the signal levels of the signals FPFRAME, FPLINE, and FPDAT are adjusted based on the timing information (HT, HDP, HDPS, HPW, VT, VDP, VDPS, and VPW) set in the internal register 350. Specifically, the target-side data transfer control device 30 receives only information (synchronization signal code) which indicates the synchronization signal which has been changed from the host-side data transfer control device 10, and finely adjusts the actual timing at which the synchronization signal or the data signal is changed based on the timing information transmitted before data transfer.
When the target-side data transfer control device 30 has received the packet PK1 in which VS=1 and HS=1, the target-side data transfer control device 30 sets the signal FPFRAME to active (low level) as indicated by B1 shown in FIG. 10, and sets the signal FPLINE to active (low level) as indicated by B2 after a predetermined period (t1 shown in FIG. 3B) has elapsed. Then, when a period of the timing information HPW (t3 shown in FIG. 3B) has elapsed, the target-side data transfer control device 30 sets the signal FPLINE to inactive (high level) as indicated by B3.
When the packet PK2 in which VS=1 and HS=1 has been received and a period of the timing information HT (t2 shown in FIG. 3B) has elapsed, the target-side data transfer control device 30 sets the signal FPLINE to active as indicated by B4. When a period of the timing information HPW has elapsed, the target-side data transfer control device 30 sets the signal FPLINE to inactive as indicated by B5.
When the packet PK3 in which VS=0 and HS=1 has been received and a period of the timing information VPW (t2 shown in FIG. 3A) has elapsed from the timing at B1, the target-side data transfer control device 30 sets the signal FPFRAME to inactive (high level) as indicated by B6. When a period of the timing information VDPS (t3 shown in FIG. 3A) has elapsed from the timing at B2, the target-side data transfer control device 30 sets the signal FPLINE to active as indicated by B7. When a period of the timing information HPW has elapsed from the timing at B7, the target-side data transfer control device 30 sets the signal FPLINE to inactive as indicated by B8. When a period of the timing information HDPS (t4 shown in FIG. 3B) has elapsed from the timing at B7, the target-side data transfer control device 30 starts outputting the data signal FPDAT for the first line as indicated by B9.
As described above, in this embodiment, the timing information is transferred from the host to the target before data transfer and is set in the internal register 350. The packet including the synchronization signal code is then transferred from the host to the target. As a result, the target-side interface circuit 110 outputs the synchronization signal of which the output is directed by the synchronization signal code to the interface bus while finely adjusting the output timing based on the timing information set in the internal register 350. This makes it unnecessary for the host to sample the interface signal from the system device 5 using a clock signal at a high frequency, whereby power consumption can be reduced. Moreover, since the amount of data transferred from the host to the target through the serial bus can be reduced, efficient data transfer can be achieved.
7. Non-Display Period Packet
In this embodiment, a packet including the synchronization signal code must be transferred from the host to the target even in a non-display period VNDP, as shown in FIG. 10. However, the data signal FPDAT is output only in a display period VDP and is unnecessary in the non-display period VNDP.
In this embodiment, a display period packet (stream packet) in which data is set in the data field is transferred from the host to the target in the display period VDP, and a non-display period packet in which data is not set in the data field is transferred from the host to the target in the non-display period VNDP. In more detail, the link controller 90 of the host-side data transfer control device 10 generates a display period packet in which the synchronization signal code is set in the synchronization signal code field and data is set in the data field in the display period VDP, and outputs the generated packet to the target-side data transfer control device 30. The link controller 90 generates a non-display period packet in which the synchronization signal code is set in the synchronization signal code field and data is not set in the data field in the non-display period VNDP, and outputs the generated packet to the target-side data transfer control device 30.
The link controller 100 of the target-side data transfer control device 30 receives the display period packet in which data is set in the data field from the host-side data transfer control device 10 in the display period VDP. In the non-display period VNDP, the link controller 100 receives the non-display period packet in which data is not set in the data field from the host-side data transfer control device 10 in the non-display period VNDP. In more detail, when the link controller 100 has received the display period packet in which data is set in the data field from the host-side data transfer control device 10, the link controller 100 outputs a header including the synchronization signal code set in the packet and data set in the packet to the interface circuit 110 (RGB interface circuit 310). When the link controller 100 has received the non-display period packet in which data is not set in the data field from the host-side data transfer control device 10, the link controller 100 outputs only a header including the synchronization signal code set in the packet and does not output data.
This enables a packet in which data is not set in the data field to be transferred from the host to the target through the serial bus in the non-display period VNDP. Since the number of bits (number of bytes) of the packet in which data is not set in the data field is small, the data transfer efficiency through the serial bus can be increased in the non-display period VNDP. Therefore, a decrease in data transfer efficiency can be minimized even when using the method of transferring a packet including the synchronization signal code in the non-display period VNDP as shown in FIG. 10.
8. Internal Register
FIG. 11 shows the host-side internal register 250. The host-side internal register 250 includes a port access register, a configuration register, an LVDS register, an interrupt control register, an LCD general setting register, an LCD1 setting register, an LCD2 setting register, a general serial interface setting register, and the like. Of these host-side registers, the LCD general setting register, LCD1 setting register, LCD2 setting register, and general serial interface setting register are also target registers (shadow registers). Specifically, when the system device 5 has set information in these target registers and has directed start of register transfer, the content of the target register is transferred from the host to the target through the serial bus and written into the target-side internal register 350. FIG. 12A shows the port access register. In FIG. 12A, a register transfer start register is a register for the system device 5 to direct transfer of information on the register from the host-side internal register 250 to the target-side internal register 350. A register transfer start pointer register and a register transfer end pointer register are registers for the system device 5 to indicate a start pointer and an end pointer of the register to which the register information is transferred.
A write port command register shown in FIG. 12A is a register for the system device 5 to write a command (address) to be transmitted to a port. A write port parameter register is a register for the system device 5 to write a parameter (data) to be transmitted to a port. The read port parameter register is a register for the system device 5 to read a parameter (data) received from a port.
In this embodiment, the interface information for specifying the signal type of the interface signal output from the interface circuit 110 is set in the target (RX) register. FIG. 12B shows the LCD general setting register which is one of the target registers (interface information registers). The LCD general setting register includes bits for setting the polarity of the signal FPDRDY (see FIGS. 3A and 3B), the data width of the RGB interface bus, the presence or absence of video inversion, display blank, the polarity of the signal FPSHIFT, and the like. The LCD general setting register also includes bits for setting output enable of the control signal of the RGB interface and enable of data transfer of the RGB interface and a bit for selecting the interface.
As shown in FIG. 12C, in a mode 1 in which the interface select register bit value is “00”, the LCD1 and LCD2 interfaces are set to the RGB interface and the MPU interface, respectively. Therefore, when the mode is set to the mode 1, the RGB interface circuit 310 and the MPU interface circuit 320 respectively generate the interface signal transmitted to the LCD1 and the LCD2. In a mode 2 in which the register bit value is “01”, the LCD1 and LCD2 interfaces are set to the RGB interface and the serial interface, respectively. Therefore, when the mode is set to the mode 1, the RGB interface circuit 310 and the MPU interface circuit 320 respectively generate the interface signal transmitted to the LCD1 and the LCD2. The modes 3 and 4 of which the register bit values are respectively “10” and “11” are as shown in FIG. 12C.
FIG. 13A shows the LCD1 setting register which is one of the target registers. The LCD1 setting register includes timing information registers in which the timing information HT, HDP, HDPS, HPW, VT, VDP, VDPS, and VPW shown in FIG. 4 is set. The LCD1 setting register includes an MPU interface setting register and a serial interface setting register. The LCD2 setting register shown in FIG. 13B also includes an MPU interface setting register and a serial interface setting register.
FIG. 13C shows the MPU interface setting register and the serial interface setting register. The MPU interface setting register includes bits for type selection for selecting whether the type is type 80 (FIG. 5A) or type 68 (FIG. 5B), parameter/command polarity (polarity of address A0), data direction, data format (selection of 8, 16, and 18 bits), and the like. The serial interface setting register includes bits for data type (selection of 3, 4, and 5 pins and selection of 8, 9, 16, and 17 bits), data direction, serial clock signal phase, serial clock signal polarity (see FIG. 6A), and the like.
As described above, in this embodiment, the signal type (output format) of the interface signal output from the interface circuit 110 can be set to various signal types by setting the interface information in the target register.
9. Detailed Description of Processing
The processing according to this embodiment is described in detail with a flowchart shown in FIG. 14. The interface between the system device 5 and the host-side data transfer control device 10 is determined using the CNF terminal [2:0] shown in FIG. 1 (step S1). The system device 5 accesses the host-side internal register 250, and sets the signal type (output format) of the interface signal of the target-side interface circuit 110 (step S2). Information set in the host-side internal register 250 necessary for the target (interface information and timing information) is transferred to the target-side internal register 350 through the serial bus (step S3).
The system device 5 accesses the host-side internal register 250 and sets the port number which is the data transmission destination (step S4). The system device 5 writes data into the host-side internal register 250 (step S5). The host-side link controller 90 generates a packet including the data (step S6), and the host transmits the packet to the target through the serial bus (step S7).
The target-side link controller 100 analyzes the received packet (step S8). The target-side interface circuit 110 generates the interface signals (data signal and interface control signal) according to the interface information (timing information) set in the target-side internal register 350, and outputs the interface signals to the port selected by the port number (step S9).
As described above, in this embodiment, the interface information for specifying the signal type of the interface signal output from the target-side interface circuit 110 (timing information for specifying the timing at which the signal level of the interface signal changes in a broad sense) is set in the host-side internal register 250 by the system device 5. The host-side link controller 90 generates a packet including the interface information (timing information) set in the host-side internal register 250, and transmits the generated packet to the target-side data transfer control device 30 through the serial bus using differential signals (may be single-end transfer), for example. In more detail, when the system device 5 has directed the register transfer start register (see FIG. 12A) included in the internal register 250 to start transfer, the link controller 90 generates a packet including the interface information (timing information) and transmits (directs transmission of) the generated packet. The host-side link controller 90 generates a packet in which data is set in the data field after the packet including the interface information (timing information) has been transmitted, and transmits the generated packet to the target-side data transfer control device 30. This enables the interface signal to be efficiently generated using the interface information (timing information).
10. Serial Transfer Method Using Differential Signals
A serial transfer method according to one embodiment of the present invention and the transceivers 20 and 40 are described below with reference to FIG. 15.
In FIG. 15, DTO+ and DTO− indicate data (OUT data) output from the host (data transfer control device 10) to the target (data transfer control device 30). CLK+ and CLK− indicate clock signals supplied from the host to the target. The host outputs the data DTO+/− in synchronization with the edge (rising edge, for example, but may be falling edge) of the clock signals CLK+/−. Therefore, the target can sample and store the data DTO+/− using the clock signals CLK+/−. In FIG. 15, the target operates based on the clock signals CLK+/− supplied from the host. Specifically, the clock signals CLK+/− serve as the system clock signals of the target. Therefore, a phase locked loop (PLL) circuit 12 (clock generation circuit in a broad sense) is provided in the host, and is not provided in the target.
DTI+ and DTI− indicate data (IN data) output from the target to the host. STB+ and STB− indicate strobes (clock signals in a broad sense) supplied from the target to the host. The target generates the strobes STB+/− based on the clock signals CLK+/− supplied from the host, and outputs the generated strobes STB+/−. The target outputs the data DTI+/− in synchronization with the edge (rising edge, for example, but may be falling edge) of the strobes STB+/−. Therefore, the host can sample and capture the data DTI+/− using the strobes STB+/−.
Each of the data DTO+/−, the clock signals CLK+/−, the data DTI+/−, and the strobes STB+/− is transmitted by causing a transmitter circuit (driver circuit) to current-drive the corresponding differential signal line. In order to implement transfer at higher speed, two or more pairs of the DTO+/− differential signal lines and the DTI+/− differential signal lines may be provided.
The host-side transceiver 20 includes OUT transfer (data transfer in a broad sense) and clock transfer transmitter circuits 22 and 24, and IN transfer (data transfer in a broad sense) and strobe transfer (clock transfer in a broad sense) receiver circuits 26 and 28. The target-side transceiver 40 includes OUT transfer and clock transfer receiver circuits 42 and 44, and IN transfer and strobe transfer transmitter circuits 46 and 48. Part of these circuit blocks may be omitted.
The OUT transfer and clock transfer transmitter circuits 22 and 24 respectively transmit the data DTO+/− and the clock signals CLK+/− by current-driving the DTO+/− differential signal lines and the CLK+/− differential signal lines. The OUT transfer and clock transfer receiver circuits 42 and 44 respectively receive the data DTO+/− and the clock signals CLK+/− by performing a current/voltage conversion based on the current which flows through the DTO+/− differential signal lines and the CLK+/− differential signal lines, and performing comparison processing (differential amplification processing) between differential voltage signals (first and second voltage signals) obtained by the current/voltage conversion.
The IN transfer and clock transfer transmitter circuits 46 and 48 respectively transmit the data DTI+/− and the strobes STB+/− by current-driving the DTI+/− differential signal lines and the STB+/− differential signal lines. The IN transfer and strobe transfer receiver circuits 26 and 28 respectively receive the data DTI+/− and the strobes STB+/− by performing a current/voltage conversion based on the current which flows through the DTI+/− differential signal lines and the STB+/− differential signal lines, and performing comparison processing (differential amplification processing) between differential voltage signals (first and second voltage signals) obtained by the current/voltage conversion.
The transceivers 20 and 40 may include a parallel/serial conversion circuit, a serial/parallel conversion circuit, code (8B/10B code, for example) encoder circuit, a decoder circuit, a code addition circuit, an error signal generation circuit, a frequency divider circuit, and the like in addition to the circuit blocks shown in FIG. 15. Some of these circuit may be included in the link controller 90 or 100.
11. Link Controller and Interface Circuit
FIGS. 16 and 17 show the host-side link controller 90 and interface circuit 92 and the target-side link controller 100 and interface circuit 110. The link controller and interface circuit in this embodiment are not limited to the configurations shown in FIGS. 16 and 17. Some of the circuit blocks shown in FIGS. 16 and 17 may be omitted, or the connection between the circuit blocks may be changed, or a circuit block differing from the circuit blocks shown in FIGS. 16 and 17 may be added.
FIG. 16 shows the host-side link controller 90 and interface circuit 92. The link controller 90 includes a transaction controller 200 and a packet generation & analysis circuit 202. Some of these blocks may be omitted.
The transaction controller 200 performs transaction layer processing of data transfer. In more detail, the transaction controller 200 controls transfer of a packet such as a request packet, a stream packet, and an acknowledge packet, and controls transaction made up of a plurality of packets.
A packet generation & analysis circuit 202 performs processing of generating a packet of which the transfer is directed by the transaction controller 200 and processing of analyzing a packet received from the target. In more detail, the packet generation & analysis circuit 202 receives information on the header and data from the interface circuit 92, and assembles a packet by combining the header and the data. The packet generation & analysis circuit 202 separates the packet received from the target into a header and data, and analyzes the received packet.
The packet generation & analysis circuit 202 includes an RGB elastic buffer 204, a packet buffer 206, and a multiplexer 208 (demultiplexer). The information on the RGB interface signal received from the interface circuit 92 is input to the RGB elastic buffer 204 which functions as a FIFO, and is transferred to the transceiver 20 through the multiplexer 208. The packet information (header and data information) received from the interface circuit 92 is input to the packet buffer 206 which functions as a FIFO, and is transferred to the transceiver 20 through the multiplexer 208. The packet information received from the transceiver 20 is transferred to the interface circuit 92 through the multiplexer 208 and the packet buffer 206.
The interface circuit 92 includes an RGB interface circuit 210, an MPU interface circuit 220, a serial interface circuit 230, a multiplexer (demultiplexer) 232, a write & read FIFO 240, and transfer controllers 242 and 244. Some of these blocks may be omitted. The RGB interface circuit 210, the MPU interface circuit 220, and the serial interface circuit 230 are circuits for respectively performing RGB, MPU, and serial interface processing.
When the RGB interface is selected through the terminal CNF[2:0], the operation of the RGB interface circuit 210 is enabled. The RGB interface signals such as the horizontal synchronization signal HSYNC, the vertical synchronization signal VSYNC, the clock signal CLK, and the RGB data signal D[17:0] received from the system device 5 are input to the RGB interface circuit 210 through the multiplexer 232. The RGB data is temporarily stored in an elastic buffer 212 which functions as a FIFO. A signal detector 214 performs edge detection processing of the horizontal synchronization signal or the vertical synchronization signal or sampling processing of the edge detection signal and RGB data signal.
When the MPU interface is selected through the terminal CNF[2:0], the operation of the MPU interface circuit 220 is enabled. The MPU interface signals such as the read signal RD, the write signal WR, the address 0 signal A0, and the data signal D[17:0] received from the system device 5 are input to the MPU interface circuit 220 through the multiplexer 232. During reading, a read data signal from the MPU interface circuit 220 is output to the system bus as the data signal D[17:0] through the multiplexer 232.
When the serial interface is selected through the terminal CNF[2:0], the operation of the serial interface circuit 230 is enabled. The serial interface signals such as the chip select signal SCS, the read/write signal SR/W, the address 0 signal SAO, the data signal SIO, and the clock signal SCK received from the system device 5 are input to the serial interface circuit 230. During reading, a read data signal from the serial interface circuit 230 is output to the system bus as the data signal SIO.
The system device 5 accesses the internal register 250 through the MPU interface circuit 220 or the serial interface circuit 230, and sets various types of information in the internal register 250. The information stored in the write & read FIFO 240 and the internal register 250 is transferred to the link controller 90 through the transfer controllers 242 and 244. For example, the interface information (timing information) stored in the host-side internal register 250 is transferred to the link controller 90 through the transfer controller 244, and is transmitted to the target. The information received from the link controller 90 is written into the write & read FIFO 240 and the internal register 250 through the transfer controllers 242 and 244.
FIG. 17 shows the target-side link controller 100 and interface circuit 110. The link controller 100 includes a transaction controller 300 and a packet generation & analysis circuit 302. Some of these blocks may be omitted.
The transaction controller 300 performs transaction layer processing of data transfer. The packet generation & analysis circuit 302 performs processing of generating a packet of which the transfer is directed by the transaction controller 300 and processing of analyzing a packet received from the host. In more detail, the packet generation & analysis circuit 302 receives information on the header and data from the interface circuit 110, and assembles a packet by combining the header and the data. The packet generation & analysis circuit 302 separates the packet received from the host into a header and data, and analyzes the received packet.
The packet generation & analysis circuit 302 includes an RGB elastic buffer 304, a reception packet buffer 306, a transmission packet buffer 307, and a multiplexer 308 (demultiplexer). The information on the RGB interface signal among the packet information received from the transceiver 40 through the multiplexer 308 is input to the RGB elastic buffer 304 which functions as a FIFO, and is transferred to the interface circuit 110 (RGB interface circuit 310). The packet information received from the transceiver 40 through the multiplexer 308 is input to the packet buffer 306 which functions as a FIFO, and is transferred to the interface circuit 110. The packet information received from the interface circuit 110 is input to the packet buffer 307, and is transferred to the transceiver 40 through the multiplexer 308.
The interface circuit 110 includes the RGB interface circuit 310, the MPU interface circuit 320, the serial interface circuit 330, an internal register interface circuit 340, and multiplexers 342 and 344 (demultiplexers). Some of these blocks may be omitted.
The RGB interface circuit 310, the MPU interface circuit 320, and the serial interface circuit 330 are circuits for respectively performing RGB, MPU, and serial interface processing with the devices such as the LCD1, LCD2, and GD connected to the interface bus. The internal register interface circuit 340 is a circuit for performing processing of writing information (interface information and timing information) transferred from the host in the internal register 350.
The information on the RGB interface signal received from the link controller 100 (RGB data and synchronization signal code) is input to the RGB interface circuit 310. The RGB data is temporarily stored in an elastic buffer 312 which functions as a FIFO. The RGB interface signals such as the vertical synchronization signal, the horizontal synchronization signal, the ready signal, the clock signal, and data signal are generated by a signal generator 314, and output as the signals FPFRAME, FPLINE, FPDRDY, FPSHIFT, and FPDAT[17:0] through the multiplexer 342.
The information on the MPU interface signal (MPU data) received from the link controller 100 is input to the MPU interface circuit 320. The MPU interface signals such as the write (read) signal, the data signal, and the address 0 signal are generated by a signal generator 322, and output as the signals FPFRAMe (FPLINE), FPDAT[17:0], and FPA0 through the multiplexer 342. The chip select signal FPCS and the like are generated by a CS generator 324. The read data signal from the device connected to the interface bus is transferred to the link controller 100 through the multiplexer 342 and the MPU interface circuit 320.
The information on the serial interface signal (serial data) received from the link controller 100 is input to the serial interface circuit 330. The serial interface signals such as the read signal, the data signal, the address 0 signal, and the write/clock signal are generated by a signal generator 332, and output as the signals FPA0, FPR/W, FPSIO, and FPSCK through the multiplexers 344 and 342. An I2C interface circuit 334 generates and outputs an I2C interface signal. SERIAL bus signals (through) from the host are output to the interface bus as the signals FPA0, FPR/W, FPSIO, and FPSCK through the multiplexers 344 and 342.
The information on the target register (interface information and timing information) from the link controller 100 is transferred to and written into the internal register 350 through the internal register interface circuit 340.
As shown in FIG. 17, the target-side interface circuit 110 includes the multiplexer 342(344) which is connected with the outputs from the RGB interface circuit 310, the MPU interface circuit 320, and the serial interface circuit 330 (first to Nth interface circuits in a broad sense) at its input and is connected with the interface bus at its output. The multiplexer 342 selects the output from one of the RGB interface circuit 310, the MPU interface circuit 320, and the serial interface circuit 330, and outputs the interface signals generated by the selected interface circuit to the interface bus. In this case, the output from one of the interface circuits 310, 320, and 330 may be selected using the port number set in the packet, for example.
12. Host-Side and Target-Side RGB Interface Circuits
A configuration example of the host-side RGB interface circuit 210 (signal detector 214) shown in FIG. 16 is described below using FIG. 18A. As shown in FIG. 18A, the RGB interface circuit 210 includes edge detectors 400 and 410 and a sampling circuit 420.
The edge detector 400 detects the edge of the horizontal synchronization signal HSYNC from the system device 5 and outputs an edge detection signal HDET. The edge detector 410 detects the edge of the vertical synchronization signal VSYNC from the system device 5 and outputs an edge detection signal VDET. In this case, whether to detect the rising edge or the falling edge is determined based on the setting in the internal register 250.
The sampling circuit 420 performs sampling processing of the edge detection signals HDET and VDET and the data signal D[17:0] based on the clock signal CLK. The clock signal CLK, which is a clock signal transferred from the system device 5, is a pixel clock signal for sampling pixel data of the RGB data. In this embodiment, since the sampling processing is performed based on the pixel clock signal CLK at a moderate frequency, power consumption of the host-side data transfer control device 10 can be reduced.
The sampling circuit 420 determines the synchronization signal code (see FIG. 9) set in the packet by performing the processing of sampling the edge detection signals HDET and VDET. When the edge detection signal VDET of the vertical synchronization signal has been detected, the synchronization signal code is set to “1” (VS=1, HS=0). When the edge detection signal HDET of the horizontal synchronization signal has been detected, the synchronization signal code is set to “2” (VS=0, HS=1). When the edge detection signal VDET of the vertical synchronization signal and the edge detection signal HDET of the horizontal synchronization signal have been detected, the synchronization signal code is set to “3” (VS=1, HS=1). This enables the synchronization signal code to be set in the synchronization signal code field of the packet transmitted to the target.
The sampling circuit 420 includes a VDP/VNDP detection counter 422 which performs count processing based on the edge detection signals HDET and VDET. The sampling circuit 420 performs judgment (discrimination) processing of the display period VDP and the non-display period VNDP based on the count result from the counter 422.
For example, information for discriminating the display period VDP from the non-display period VNDP is set in the internal register 250. In more detail, start point information of the display period VDP, length information of the display period VDP, length information of the horizontal scan period, and the like are set in the internal register 250. Taking FIG. 2 as an example, the start point information of the display period VDP is set to “3”, the length information of the display period VDP is set to “6”, and the length information of the horizontal scan period is set to “11”. The counter 422 is cleared when the edge detection signal VDET has become active upon detection of the vertical synchronization signal VSYNC, and counts the number of occurrences of the edge detection signal HDET. When the number of occurrences of the edge detection signal HDET counted by the counter 422 has become “3” (start point information of the display period VDP), the sampling circuit 420 judges that the non-display period VNDP has changed to the display period VDP. When the number of occurrences of the edge detection signal HDET has become “9” which is the sum of “3” (start point information of the display period VDP) and “6” (length information of the display period VDP), the sampling circuit 420 judges that the display period VDP has changed to the non-display period VNDP.
The link controller 90 receives the VDP/VNDP judgment information from the sampling circuit 420. When it is judged that the period is the non-display period VNDP, the link controller 90 generates a non-display period packet, in which the synchronization signal code is set in the synchronization signal code field and data is not set in the data field, and outputs the generated packet to the target, as described with reference to FIG. 10. When it is judged that the period is the display period VDP, the link controller 90 generates a display period packet in which the synchronization signal code is set in the synchronization signal code field and data is set in the data field, and outputs the generated packet to the target. This enables the efficiency of serial transfer between the host and the target to be improved.
A configuration example of the target-side RGB interface circuit 310 (signal detector 314) shown in FIG. 17 is described below using FIG. 18B. As shown in FIG. 18B, the RGB interface circuit 310 includes timing generators 430 and 440. The timing generator 430 includes a pixel counter 432, and the timing generator 440 includes a pixel counter 442 and a horizontal (line) counter 444.
The timing generator 430 receives the information on the RGB data from the link controller 100, and receives the timing information (HDPS, HDP, and the like) from the internal register 350. The timing generator 430 generates and outputs the data signal FPDAT[17:0] which synchronizes with the pixel clock signal FPSHIFT as shown in FIG. 3B based on the count value from the pixel counter 432.
The timing generator 440 receives the header information including the synchronization signal code from the link controller 100, and receives the timing information (VT, VPW, VDPS, VDP, HT, HPW, and the like) from the internal register 350. The timing generator 440 generates and outputs the vertical synchronization signal FPFRAME and the horizontal synchronization signal FPLINE at the timings shown in FIGS. 3A and 3B based on the count value from the pixel counter 442 and the count value from the horizontal (line) counter 444.
As described above, in this embodiment, since the timing of the RGB interface signal is finely adjusted based on the timing information set in the internal register 350, power consumption can be reduced and the efficiency of data transfer can be improved.
13. Electronic Instrument
FIG. 19 shows an electronic instrument according to one embodiment of the present invention. The electronic instrument includes data transfer control devices 502, 512, 514, 520, and 530 described in this embodiment. The electronic instrument includes a baseband engine 500 (communication device in a broad sense), an application engine 510 (processor in a broad sense), a camera 540 (sensing device in a broad sense), and an LCD 550 (display device in a broad sense). In other words, the electronic instrument shown in FIG. 19 includes the target-side data transfer control devices 520 and 530, the host-side data transfer control device 514 connected with the target-side data transfer control devices 520 and 530 through a serial bus, and one or more devices 540 and 550 connected with the target-side data transfer control devices 520 and 530 through an interface bus. The electronic instrument may have a configuration in which some of these blocks are omitted. According to this embodiment, a portable telephone or the like having a camera function and a display function of a liquid crystal display (LCD) can be implemented. However, the electronic instrument in this embodiment is not limited to the portable telephone, and may be applied to various electronic instruments such as a digital camera, PDA, electronic notebook, electronic dictionary, or portable information terminal.
As shown in FIG. 19, the serial transfer described in this embodiment is performed between the host-side data transfer control device 502 provided to the baseband engine 500 and the target-side data transfer control device 512 provided to the application engine 510 (graphic engine). The serial transfer described in this embodiment is also performed between the host-side data transfer control device 514 provided to the application engine 510 and the data transfer control device 520 including a camera interface circuit 522 or the data transfer control device 530 including an LCD interface circuit 532.
According to this embodiment shown in FIG. 19, EMI noise can be reduced in comparison with a conventional electronic instrument. Moreover, power consumption of the electronic instrument can be further reduced by implementing a reduction of the scale and power consumption of the data transfer control device. In the case where the electronic instrument is a portable telephone, a serial signal line can be used as a signal line which passes through a connection section (hinge section) of the portable telephone, whereby mounting can be facilitated.
Although only some embodiments of the present invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the embodiments without departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention. For example, any term (such as LCD1, LCD2, and GD, RGB, MPU and serial interface circuits, or timing information) cited with a different term having broader or the same meaning (such as one or more devices, first to Nth interface circuits, or interface information) at least once in this specification or drawings can be replaced by the different term in any place in this specification and the drawings.
The configurations and the operations of the data transfer control device and the electronic instrument are not limited to those described in the above embodiments, and various modifications can be made. Although the above embodiments describe the case where the interface circuit includes the RGB interface circuit, the MPU interface circuit, and the serial interface circuit, the interface circuit may include none of the MPU interface circuit or the serial interface circuit. Part or the entirety of the target-side data transfer control device may be incorporated into the device (LCD1, LCD2, or the like) connected to the interface bus, or part or the entirety of the host-side data transfer control device may be incorporated into the system device may also be employed.

## Claims

1. A data transfer control device which controls data transfer, the data transfer control device being configured such that:
the data transfer control device analyzes a first packet transferred from a host-side data transfer control device to the data transfer control device through a serial bus;
the data transfer control device generates signals and outputs the interface signal to an interface bus; and
the data transfer control device includes an internal register that stores timing information according to the first packet for specifying a timing at which a signal level of a signal the signals changes, the timing information being set based on the first packet.

2. The data transfer control device as defined in claim 1,
a second packet having data in a data field being transferred from the host-side data transfer device to the data transfer control device through the serial bus after the data transfer control device receives the first packet, and
the data transfer control device outputting the signals including a data signal included in the second packet.

3. The data transfer control device as defined in claim 1,
the data transfer control device outputs the signals including a vertical synchronization signal and a horizontal synchronization signal; and
at least one of a length of a horizontal synchronization period, a length of a display period in a horizontal synchronization period, a start position of the display period in the horizontal synchronization period, a pulse width of the horizontal synchronization signal, a length of a vertical synchronization period, a length of a display period in the vertical synchronization period, and a pulse width of the vertical synchronization signal being stored in the internal register as the timing information.

4. The data transfer control device as defined in claim 1,
the signals including a signal for an RGB of which level changes at a timing according to the timing information stored in the internal register.

5. The data transfer control device as defined in claim 2,
the second packet including a synchronization signal code field for setting a synchronization signal code; and
the signals including a synchronization signal on the synchronization signal code set.

6. The data transfer control device as defined in claim 5,
the data transfer control device receives a display period packet in which data is set in a data field from the host-side data transfer control device in a display period, and receives a non-display period packet in which no data is set in the data field from the host-side data transfer control device in a non-display period.

7. The data transfer control device as defined in claim 5,
when the data transfer control device has received a display period packet in which data is set in a data field from the host-side data transfer control device, the link controller outputs a header including the synchronization signal code set in the packet and the data set in the packet to the interface circuit; and
when the data transfer control device has received a non-display period packet in which no data is set in the data field from the host-side data transfer control device, the link controller outputs a header including the synchronization signal code set in the packet to the interface circuit.

8. A host-side data transfer control device which controls data transfer to a target-side data transfer control device, the host-side data transfer control device being configured such that:
the host-side data transfer control device performs interfacing to a host system device;
the host-side data transfer control device generates a packet to be transmitted to a target-side data transfer control device through a serial bus;
the host-side data transfer control device including an internal register accessed by the host system, the internal register stores timing information for specifying a timing at which a signal level of an interface signal changes, the interface signal being outputted from the target-side data transfer control device; and
the host-side data transfer control device generates the packet including the timing information set in the internal register, and transmits the generated packet to the target-side data transfer control device through the serial bus.

9. A host-side data transfer control device as defined in claim 8,
the internal register includes a register transfer start register; and
the host-side data transfer control device generates the packet including the timing information set in the internal register when the system device has instructed start of transfer by using the register transfer start register, and transmits the generated packet to the target-side data transfer control device through the serial bus.

10. The host-side data transfer control device as defined in claim 8,
wherein the host-side data transfer control device generates a packet having data in a data field and transmits the generated packet to the target-side data transfer control device after transmitting the packet including the timing information to the target-side data transfer control device.

11. An electronic instrument, comprising:
a target side data transfer control device being configured such that:
the data transfer control device analyzes a first packet transferred from a host-side data transfer control device to the data transfer control device through a serial bus;
the data transfer control device generates signals and outputs the interface signal to an interface bus; and
the data transfer control device including an internal register that stores timing information according to the first packet for specifying a timing at which a signal level of a signal the signals changes, the timing information being set based on the first packet;

a host-side data transfer control device connected with the target-side data transfer control device through the serial bus, the host-side data transfer control device being configured such that:
the host-side data transfer control device performs interfacing to a host system device;
the host-side data transfer control device generates a packet to be transmitted to a target-side data transfer control device through a serial bus;
the host-side data transfer control device including an internal register accessed by the host system, the internal register stores timing information for specifying a timing at which a signal level of an interface signal changes, the interface signal being outputted from the target-side data transfer control device; and
the host-side data transfer control device generates the packet including the timing information set in the internal register, and transmits the generated packet to the target-side data transfer control device through the serial bus; and

at least one device connected to the target-side data transfer control device through the interface bus.