The present application claims priority from Japanese patent application No. 2005-160901 filed on Jun. 1, 2005, the content of which is hereby incorporated by reference into this application.
The present invention relates to a technology for switching between whether a parallel interface is to be used as a big endian or a little endian. More particularly, the present invention relates to a semiconductor device used as a peripheral device such as a transfer slave, and a data processing system which includes a host device such as a transfer master, and a peripheral device such as a transfer slave.
In the case where a parallel interface is performed between a host device and a peripheral device (that is, between a transfer master and a transfer slave, or between a bus master and a bus slave), when the transfer unit of data to be transferred exceeds the number of parallel bits (bus width) of a data bus, the data must be transferred in a plurality of batches. Transfer modes in this case include a big endian and a little endian. In a big endian mode, high-order bytes and low-order bytes of the data are transferred in that order. In a little endian mode, low-order bytes and high-order bytes of the data are transferred in that order. Therefore, the transfer modes must match between the host device and the peripheral device. If the host device transfers data in the big endian mode and the peripheral device receives it in the little endian mode, high-order bytes and low-order bytes of the data received by the peripheral device would be reversed with the data transferred by the host device.
Conventionally, semiconductor devices such as peripheral devices have enabled switching between a big endian and a little endian by pull-up or pull-down of external terminals. However, this would require an extra mode terminal for endian switching.
A technology for automatic switching of endians is disclosed in Patent Document 1. According to it, an endian conversion information part that holds an address value to be subjected to endian switching, and a determination part that automatically determines whether to perform endian switching by comparing address values are provided to enable automatic execution of endian switching.
However, also in the technology for automatic switching of endians, as a precondition, host devices such as a transfer master and a bus master must recognize in advance the endians of peripheral devices such as a transfer slave and a bus slave. Otherwise, information itself for endian switching cannot be correctly received in the peripheral devices. Accordingly, there occur cases where the host devices must perform a transfer operation in line with the endians of the peripheral devices. This means that the peripheral devices stipulate the operation of the host devices, burdening system design.
An object of the present invention is to provide a semiconductor device that can correctly switch endians on the outside even if the endian of a parallel interface is not recognized on the outside.
Another object of the present invention is to provide a data processing system that can match the endian of a peripheral device to the endian of a host device even if the host device does not recognize the endian of the peripheral device.
The above-mentioned objects and other objects and novel characteristics of the present invention will become apparent from the description of this specification and the accompanying drawings.
Typical inventions disclosed in the present application will be briefly described below.
[1] A semiconductor device 1 relating to the present invention includes a switching circuit 36 and a first register 10. The switching circuit switches between whether a parallel interface with the outside is to be used as a big endian or a little endian. A first register holds control data (CMDDL, CMDDB) of the switching circuit. The switching circuit regards the parallel interface as the little endian when first predetermined control information (CMDDL), that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is supplied to the first register. In contrast to this, the switching circuit regards the parallel interface as the big endian when second predetermined control information (CMDDB), that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is supplied to the first register. Thereby, whatever the endian setting status of the semiconductor device, the control information can be correctly received without being influenced by the endian setting status. Therefore, even if the endian of the parallel interface is not recognized on the outside, the endian can be correctly switched on the outside.
As one concrete configuration of the present invention, the semiconductor device includes a selecting circuit 12 for selecting the first register. When predetermined selection information (CMDAS), that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is supplied, the selecting circuit selects the first register to enable the input of the control data. Like the control information, the selection information can also be correctly received without being influenced by the endian setting status.
As a further concrete configuration of the present invention, the semiconductor device includes a second register 35 for holding the selection information. When predetermined selection information, that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is supplied to the second register, the selecting circuit selects the first register.
As a further concrete configuration of the present invention, information, that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is information the values of high-order bits and low-order bits of which match each other. In the case of 16-bit data, selection information is h0606, first control information is h0101, and second control information is h0000. The symbol h denotes that following digits are hexadecimal.
As a further concrete configuration of the present invention, the semiconductor device includes a plurality of external terminals (DB7-0) used for the parallel interface with the selection information and the control data. The selection information and the control data are inputted in series using predetermined packets from the external terminals.
[2] The semiconductor device according to another aspect includes a first register 10, a second register 35, a selecting circuit 12, and a switching circuit 36. The first register holds control data for controlling whether a parallel interface with the outside is to be used as a big endian or a little endian. The second register holds selection information (CMDAS) for selecting the control register. The selecting circuit selects the first register when predetermined selection information the values of high-order bits and low-order bits of which match each other is supplied to the second register. The switching circuit regards the parallel interface as the little endian when first predetermined selection information (CMDDL) the values of high-order bits and low-order bits of which match each other is supplied to the first register selected by the selecting circuit. In contrast to this, the switching circuit regards the parallel interface as the big endian when second predetermined selection information (CMDDB) the values of high-order bits and low-order bits of which match each other is supplied to the first register selected by the selecting circuit.
Thereby, whatever the endian setting status of the semiconductor device, the control information and the selection information can be correctly received without being influenced by the endian setting status. Therefore, even if the endian of the parallel interface is not recognized on the outside, the endian can be correctly switched on the outside.
As one concrete configuration of the present invention, the semiconductor device includes a plurality of external terminals (DB7-0) used for the parallel interface with the selection information and the control data. The selection information and the control data are inputted in series using predetermined packets from the external terminals.
As a further concrete configuration of the present invention, the selection information is first command address information given from the outside. The first control information is a first command given from the outside along with the first command address information. The second control information is a second command given from the outside along with the first command address information.
As a further concrete configuration of the present invention, the semiconductor device includes a data processing part that performs data processing according to a third command given from the outside along with the second command address information.
The data processing part includes a display memory 14 and driving circuits 20 and 25 for driving display electrodes of a display on the basis of display data stored in the display memory. Such a semiconductor device is a liquid crystal driving control device that is formed on one semiconductor substrate and controls the display and driving of a liquid crystal display.
[3] A data processing system according to the present invention includes host devices 30 and 45, and a peripheral device 1 connected to the host devices via a plurality of signal lines. The peripheral device includes a first register that holds control data for controlling whether a parallel interface by the plurality of signals is to be used as a big endian or a little endian, and a second register that holds selection information for selecting the control register. When selecting the first register, the host devices output selection information the values of high-order bits and low-order bits of which match each other to the second register. Furthermore, when regarding the parallel interface of the peripheral device as the little endian, the host devices output first predetermined information the values of high-order bits and low-order bits of which match each other to the selected first register. Thereby, the host device can match the endian of the peripheral device to its own endian even when not recognizing the endian of the peripheral device.
In another data processing system according to the present invention, when regarding the parallel interface of the peripheral device as the big endian, the host devices output second predetermined control information the values of high-order bits and low-order bits of which match each other to the selected first register. Also in this case, the host device can match the endian of the peripheral device to its own endian even when not recognizing the endian of the peripheral device.
As one concrete configuration of the data processing system, the selection information is first command address information outputted by the host devices. The first control information is a first command outputted by the host devices along with the first command address information. The second control information is a second command outputted by the host devices along with the first command address information.
As a further concrete configuration, the peripheral device includes a data processing part that performs data processing according to a third command outputted by the host devices along with the second command address information.
As a further concrete configuration, when the data processing system includes a display connected to the peripheral device, the data processing part includes a display memory, and a driving circuit that drives display electrodes of the display on the basis of display data stored in the display memory.
As a further concrete configuration, the host devices include a microcomputer 45B that controls the peripheral device.
As a further concrete configuration, when the data processing system includes a high-frequency part connected to the host devices, the host devices include a microcomputer 45A that performs baseband processing of cellular phones.
Effects obtained by typical inventions disclosed in the present application will be briefly described below.
According to the semiconductor device, even if the endian of the parameter interface is not recognized on the outside, endian switching can be correctly performed on the outside.
According to the data processing system, even if the host devices do not recognize the endian of the peripheral device, the endian of the peripheral device can be matched to their own endian.
The host device transfers commands and data to the host interface circuit 2 using a packet of a predetermined format. Although not shown in the drawing, the packet consists of a header part and a body part. The header part includes an address area as well as a data word length of the packet and type information of the packet. The address area holds address information about registers and a memory in the liquid crystal driving control device 1. Data corresponding to the address information and a command are held in a data area of the body part.
When the parallel interface circuit 3 is employed for an interface with the host device, the address information, command, and data are received from a data input-output terminal DB0-7 via the packet.
On receiving a command packet from the host device, the host interface circuit 2 stores the address information in a command address register (CAREG) 10. A command address decoder (CADEC) 12 decodes a command address stored in the command address register 10 to generate a register select signal and the like. Command data received by the packet is supplied to a command data register array (CORED) 11. The command data register array 11 has numerous command data registers mapped into predetermined addresses, respectively. A command data register to store the received command is selected by the register select signal outputted from the command address decoder 12. The command data latched into the command data register is supplied to a corresponding circuit portion as an instruction or control data, and controls internal operations. The command data register array 11 may be directly selected by the register select signal RS to set the command data in the command data register.
On receiving a data packet from the host device, the host interface circuit 2 supplies the address information to an address counter 13. The address counter 13 performs an increment operation and the like according to the contents of the corresponding command data register to perform addressing for a display memory (GRAM) 14. If an access indication by the command data is a write operation on the display memory 14, data of the data packet is supplied to a write data register (WDR) 9 via a bus 15, and stored in the display memory (GRAM) 14 in an appropriate timing. Display data is stored in units of display frames. If an access indication by the command data is a read operation on the display memory 14, data stored in the display memory is read into a read data register (RDR) 16 and becomes ready to be supplied to the host device. When the command data register receives a display command, a read operation synchronous with a display timing is performed for the display memory 14. Timing control of reading and displaying is performed by a timing generator (TGNR) 17. Display data read from the display memory 14 synchronously with the display timing is latched into a latch circuit (LAT) 18. The latched data is given to a source driver (SOCDRV) 20. A liquid crystal display subject to driving control by the liquid crystal driving control device 1 is constructed by a TFT (Thin Film Transistor) liquid crystal panel of dot matrix type, and includes driving terminals with numerous source electrodes as signal electrodes and numerous gate electrodes as scanning electrodes. The source driver (SOCDRV) 20 drives the source electrodes of the liquid crystal display by a driving terminal S1-720. A driving level of the driving terminal S1-720 is determined using a gradation voltage generated in a gradation voltage generating circuit (TWVG) 21. The gradation voltage is subjected to gamma correction in a gamma correction circuit (γMD) 22. A scan data generating circuit (SCNDG) 24 generates scanning data synchronously with scanning timing from the timing generator 17. The scanning data is supplied to a gate driver (GTDRV) 25. The gate driver 25 drives the gate electrodes of the liquid crystal display by a driving terminal G1-320. A driving level of the driving terminal G1-320 is determined using a driving voltage generated in a liquid crystal driving level generating circuit (DRLG) 26.
A clock pulse generator (CPG) 28 inputs a source oscillation clock from terminals OSC1 and OSC2 to generate an internal clock, and supplies it to the timing generator 17 as an operation timing reference clock. An internal reference voltage generating circuit (IVREFG) 29 generates a reference voltage and supplies it to an internal logic power regulator (ILOGVG) 30. The internal logic power regulator 30 generates an internal logic power on the basis of the reference voltage.
The command data register array 11 includes an endian setting register (ESREG) 35 for holding an endian setting command as control data for controlling whether the parallel interface with the outside is to be used as a big endian or a little endian. When the command address register 10 holds command address information for selecting the endian setting register 35, the command address decoder 12 selects the endian setting register (ESREG) 35. When a first endian setting command is loaded into the selected endian setting register 35, a control signal TCREV is set to a logical value 1. When a second endian setting command is loaded into the selected endian setting register 35, the control signal TCREV is set to a logical value 0. The control signal TCREV is supplied to a switching circuit (CHG) 36. The switching circuit generates data fetch pulses (latch pulses) φLPH and φLPL of the data latches 32 and 33. The data latch 32 latches input data synchronously with a change in the high-order latch pulse φLPH. The data latch 33 latches input data synchronously with a change in the low-order latch pulse φLPL. When the control signal TCREV is the logical value 1, the switching circuit 36 changes the low-order latch pulse φLPL synchronously with a pulse change in a first transfer pulse φTPF changed synchronously with transfer of low-order byte data of 16-bit data. Likewise, the switching circuit 36 changes the high-order latchpulse φLPH synchronously with a pulse change in a second transfer pulse φTPS changed synchronously with transfer of high-order byte data of 16-bit data. On the other hand, when the control signal TCREV is the logical value 0, the switching circuit 36 changes the high-order latch pulse φLPH synchronously with a pulse change in the first transfer pulse φTPF changed synchronously with transfer of low-order byte data of 16-bit data. Likewise, the switching circuit 36 changes the low-order latch pulse φLPL synchronously with a pulse change in the second transfer pulse φTPS changed synchronously with transfer of high-order byte data of 16-bit data. A transfer counter (TCUNT) 37 counts cyclically counts 0 or 1 for each write cycle by a write signal in a state in which a chip is selected by the signal CS. At odd-numbered write cycles, the count value 0 is outputted. At even-numbered write cycles, the count value 1 is outputted. A decoder (DEC) 38 decodes the count value, and changes the first transfer pulse φTPF at odd-numbered write cycles and the first transfer pulse φTPF at even-numbered write cycles.
The signal TCREV is a signal indicating a logical product of the value (TV) of the bit IB0 and the value (TV) of the bit IB1. It is verified by the signal TCREV that both the values of the bits IB0 and IB1 are 1 for the endian setting command CMDDL. A logic of verifying whether the value of each bit of the endian setting command is correct may be employed to generate the signal TCREV, but is not used here. The reasons follow. That is, the endian setting register (ESREG) 35 must be specified with a correct address h0606 supplied. An initial status by power-on reset is big endian setting (TCREV=0), and for a command for changing to little endian setting, IB0 and IB1 of the value h0101 can be correctly verified. As long as operations based on the command specifications of
The MCU 45 issues display commands and display data to the liquid crystal driving control device (LCDCNT) 1. In response, the liquid crystal driving control device (LCDCNT) 1 displays an image on a liquid crystal display 50. The MCU 45 includes circuit units such as a central processing unit (CPU) and a digital signal processing processor (DSP). The MCU 45 may be constructed separately to a baseband processor (BBP) exclusively responsible for baseband processing for communications, and an application processor (APP) exclusively responsible for extra function control such as display control and security control. The LCDCNT 1, ASIC 46, and MCU 45 are respectively constructed by specific semiconductor devices although there is no particular limitation. In this embodiment, the MCU 45 is used as a host device of the liquid crystal driving control device 1. As an interface between the MCU 45 and the liquid crystal driving control device 1, a parallel interface by the signal lines 321 is selected.
The MCU 45 performs processings S1 and S2 immediately after the power-on reset is released. In processing S1, the MCU 45 issues a command address h0606. Although the endians of the MCU 45 and the LCDCNT 1 are different from each other, even if the high-order and low-order bit positions of the command address h0606 are transposed, since the value of the command address h0606 is the same, the endian setting command register 35 is normally selected. In processing S2, the MCU 45, to match the endian of the LCDCNT 1 to its own endian, issues a first endian setting command CMDDL of a value h0101 to specify the little endian. Although the endians of the MCU 45 and the LCDCNT 1 are still different from each other, even if the high-order and low-order bit positions of the command data h0101 are transposed, since the value of the command data h0101 is the same, the command data H0101 is normally set in the endian setting command register 35. Thereby, the endian of the LCDCNT 1 is changed from the big endian to the little endian. In processing S3 after that, since both the MCU 45 and the LCDCNT 1 operate in the little endian, any command addresses and any command data can be normally processed.
Although not shown, when the endian of the MCU 45 is the big endian, immediately after the power-on reset, the MCU 45 has only to issue the command address h0606 and a second endian setting command CMDDB of the value h0000.
Hereinbefore, though the invention made by the inventors of the present invention has been described in detail based on the preferred embodiments, it goes without saying that the present invention is not limited to the preferred embodiments, but may be modified in various ways without changing the main purports of the present invention.
For example, in this specification, commands denote not only instructions set in a command register, but also control data to be set in control registers such as a port control register. In short, in the case of a liquid crystal driving control device, data other than display data is commands, and denote instruction data that commands an operation in some sense. A construction which allows a serial interface to be selected as a host interface in one liquid crystal driving control device is not mandatory to the present invention. A host device is not limited to one MCU 45 used for baseband processing and application processing. The host device may be a baseband processor and/or an application processor, or may be other circuits.
Address information endian setting is not limited to h0606. Likewise, endian setting commands are not limited to h0000 and h0101. Even if high-order and low-order bit positions are transposed, there is no problem if the values of specific bit positions are unchanged. The values of high-order bits and low-order bits do not necessarily need to be identical with each other. The high-order bit positions or the low-order bit positions of data are not limited to be byte units. They may be word units or long word units.
The present invention, without being limited to cellular phones, can be widely applied to portable data processing terminals such as PDA (personal digital assistant), and various data processing systems such as storage terminals. Semiconductor devices or peripheral devices are not limited to liquid crystal driving control devices. The present invention can be applied to various circuits and devices such as graphic controllers, memory controllers, bus controllers, direct memory access controllers, and memories.
Number | Date | Country | Kind |
---|---|---|---|
2005-160901 | Jun 2005 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | 13922232 | Jun 2013 | US |
Child | 14198414 | US | |
Parent | 13662516 | Oct 2012 | US |
Child | 13922232 | US | |
Parent | 13327757 | Dec 2011 | US |
Child | 13662516 | US | |
Parent | 13038237 | Mar 2011 | US |
Child | 13327757 | US | |
Parent | 12708805 | Feb 2010 | US |
Child | 13038237 | US | |
Parent | 11443126 | May 2006 | US |
Child | 12708805 | US |