Typically, an electrical system includes a number of different components that communicate with one another to perform system functions. The different components may be situated on the same integrated circuit chip or on different integrated circuit chips. Usually, an electrical system, such as the electrical system in an automobile, includes one or more controllers, memory chips, sensor circuits, and actor circuits. The controller digitally communicates with the memory chips, sensors, and actors to control operations in the automobile.
In digital communications a common time base is used to transmit and receive data. The common time base needs to be provided to each of the components and can be provided to each of the components via an explicit clock signal or by combining the time base with the transmitted data. A transmitter transmits data via the common time base and a receiver receives and decodes the data via the common time base. The received data cannot be properly decoded without the common time base.
Another aspect of digital communications includes the start time of a data transmission. If the transmission start time is not coded on the common time base signal or in the data, another signal line is used to indicate the start of a data transmission. Many embedded systems include a common system clock and selection signals that select system components and indicate the start of data transmissions.
Often, in decentralized systems, a multi-wire communication system, such as a serial peripheral interface (SPI), is used. Typically, a master provides a clock signal and a slave select signal to each component via separate signal lines. The master toggles the clock signal coincident with transmitted data and the slave select signals select components and indicate the beginning and/or end of a data transmission. In operation of an SPI system, the master configures the clock signal to a frequency that is less than or equal to the maximum frequency of a slave and pulls the slave's select line low. The master selects one slave at a time. If a waiting period is required, the master waits for the waiting period before issuing clock cycles. During each clock cycle a full duplex data transmission occurs, where the master sends a bit on one line and the slave reads the bit from the one line and the slave sends a bit on another line and the master reads the bit from the other line. Transmissions include any number of clock cycles and when there are no more data to be transmitted, the master deselects the slave and stops toggling the clock signal.
Separate clock and select signal lines to each of the components can be used to provide bus ability. In addition, in these systems the masters can send data to the slaves. However, separate signal lines increase costs and manufacturers want to reduce costs.
To avoid using a separate clock line, the time base can be encoded into the data. For example, Manchester encoding is a bit-synchronous transmission method where data is transmitted bit by bit using a given bit rate. In Manchester encoding, each bit is represented by either a rising edge or a falling edge of an electrical signal, where the rising edge represents one of a logical one or a logical zero and the falling edge represents the other one of a logical one or a logical zero. Between bits the electrical signal may need to transition to transfer the next bit and it is necessary to distinguish between edges that represent bits and edges that are signal changes between bits. This is achieved by starting the transmission with a known bit sequence, referred to as a preamble. However, the preamble mechanism is for only a one-way transmission and the receiver is not able to control the start time of the transmission. Also, the transmission requires twice the frequency of the bit rate and high frequencies introduce electromagnetic interference (EMI) problems. In addition, dedicated circuits are needed, since it is difficult to encode and decode the data using typical peripheral elements found on embedded controllers.
For these and other reasons there is a need for the present invention.